{"version":3,"file":"okta-sign-in.min.js","mappings":"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CJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJp0D,GAAI,MACJq0D,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI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","sources":["webpack://OktaSignIn/webpack/universalModuleDefinition","webpack://OktaSignIn/./node_modules/@sindresorhus/to-milliseconds/index.js","webpack://OktaSignIn/./node_modules/parse-ms/index.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/_commonjsHelpers.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/backbone.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/base.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/block-helper-missing.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/create-new-lookup-object.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/decorators.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/each.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/exception.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/handlebars.runtime.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/helper-missing.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/helpers.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/if.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/inline.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/js.cookie.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/log.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/logger.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/lookup.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/no-conflict.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/proto-access.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/runtime.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/safe-string.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/underscore-min.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/utils.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/with.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/_virtual/wrapHelper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars.runtime.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/base.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/decorators.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/exception.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/each.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/if.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/log.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/helpers/with.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/internal/proto-access.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/logger.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/no-conflict.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/runtime.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/safe-string.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/handlebars/dist/cjs/handlebars/utils.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/lib/underscore/underscore-min.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/CourageForSigninWidget.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/framework/Collection.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/framework/ListView.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/framework/Model.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/framework/View.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/models/BaseCollection.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/models/BaseModel.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/models/BaseSchema.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/models/Model.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/models/SchemaProperty.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/BaseController.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/BaseRouter.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/ButtonFactory.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Class.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Clipboard.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Cookie.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Keys.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Logger.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/SchemaUtil.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/SettingsModel.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/StateMachine.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/StringUtil.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/TemplateUtil.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Time.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/Util.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/ViewUtil.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/handlebars/handle-url.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/handlebars/helper-i18n.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/jquery-wrapper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/util/underscore-wrapper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/vendor/lib/backbone.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/vendor/lib/js.cookie.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/vendor/plugins/chosen.jquery.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/vendor/plugins/jquery.custominput.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/vendor/plugins/jquery.placeholder.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/Backbone.ListView.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/BaseView.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/components/BaseButtonLink.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/components/BaseDropDown.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/components/Callout.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/components/Notification.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/BaseForm.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/BaseInput.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/components/ReadModeBar.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/components/Toolbar.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/EnumTypeHelper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/ErrorBanner.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/ErrorParser.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/FormUtil.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/InputContainer.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/InputFactory.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/InputLabel.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/InputRegistry.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/InputWrapper.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/helpers/SchemaFormFactory.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/BooleanSelect.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/CheckBox.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/DeletableBox.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/InputGroup.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/PasswordBox.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/Radio.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/Select.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/TextBox.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/courage/views/forms/inputs/TextBoxSet.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/empty.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/index.js","webpack://OktaSignIn/./packages/@okta/courage-dist/esm/src/util/scrollParent.js","webpack://OktaSignIn/./packages/vendor/TypingDnaRecorder-JavaScript/typingdna.js","webpack://OktaSignIn/./packages/vendor/duo_web_sdk/index.js","webpack://OktaSignIn/./polyfill/index.js","webpack://OktaSignIn/./src/util/Animations.js","webpack://OktaSignIn/./src/util/ColorsUtil.js","webpack://OktaSignIn/./src/util/CookieUtil.js","webpack://OktaSignIn/./src/util/CountryUtil.js","webpack://OktaSignIn/./src/util/CryptoUtil.js","webpack://OktaSignIn/./src/util/Enums.js","webpack://OktaSignIn/./src/util/ErrorCodes.js","webpack://OktaSignIn/./src/util/FactorUtil.js","webpack://OktaSignIn/./src/util/FidoUtil.js","webpack://OktaSignIn/./src/util/Hooks.js","webpack://OktaSignIn/./src/util/IDP.js","webpack://OktaSignIn/./src/util/LanguageUtil.js","webpack://OktaSignIn/./src/util/Logger.js","webpack://OktaSignIn/./src/util/OAuth2Util.js","webpack://OktaSignIn/./src/util/TimeUtil.js","webpack://OktaSignIn/./src/util/Util.js","webpack://OktaSignIn/./src/util/countryCallingCodes.js","webpack://OktaSignIn/./src/util/webauthn.js","webpack://OktaSignIn/./src/v1/BaseLoginRouter.js","webpack://OktaSignIn/./src/v1/controllers/AccountUnlockedController.js","webpack://OktaSignIn/./src/v1/controllers/ActivateTotpController.js","webpack://OktaSignIn/./src/v1/controllers/AdminConsentRequiredController.js","webpack://OktaSignIn/./src/v1/controllers/BarcodePushController.js","webpack://OktaSignIn/./src/v1/controllers/BarcodeTotpController.js","webpack://OktaSignIn/./src/v1/controllers/ConsentRequiredController.js","webpack://OktaSignIn/./src/v1/controllers/CustomPasswordExpiredController.js","webpack://OktaSignIn/./src/v1/controllers/DeviceActivateController.js","webpack://OktaSignIn/./src/v1/controllers/DeviceActivateTerminalController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollActivateCustomFactorController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollActivateEmailController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollCallAndSmsController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollChoicesController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollCustomFactorController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollDuoController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollEmailController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollHotpController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollOnPremController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollPasswordController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollQuestionController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollSymantecVipController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollTotpController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollU2FController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollUserController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollWebauthnController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollWindowsHelloController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollYubikeyController.js","webpack://OktaSignIn/./src/v1/controllers/EnrollmentLinkSentController.js","webpack://OktaSignIn/./src/v1/controllers/EnterPasscodePushFlowController.js","webpack://OktaSignIn/./src/v1/controllers/ErrorStateController.js","webpack://OktaSignIn/./src/v1/controllers/ForceIDPDiscoveryController.js","webpack://OktaSignIn/./src/v1/controllers/ForgotPasswordController.js","webpack://OktaSignIn/./src/v1/controllers/IDPDiscoveryController.js","webpack://OktaSignIn/./src/v1/controllers/ManualSetupPushController.js","webpack://OktaSignIn/./src/v1/controllers/ManualSetupTotpController.js","webpack://OktaSignIn/./src/v1/controllers/MfaVerifyController.js","webpack://OktaSignIn/./src/v1/controllers/PasswordExpiredController.js","webpack://OktaSignIn/./src/v1/controllers/PasswordResetController.js","webpack://OktaSignIn/./src/v1/controllers/PollController.js","webpack://OktaSignIn/./src/v1/controllers/PrimaryAuthController.js","webpack://OktaSignIn/./src/v1/controllers/PwdResetEmailSentController.js","webpack://OktaSignIn/./src/v1/controllers/RecoveryChallengeController.js","webpack://OktaSignIn/./src/v1/controllers/RecoveryLoadingController.js","webpack://OktaSignIn/./src/v1/controllers/RecoveryQuestionController.js","webpack://OktaSignIn/./src/v1/controllers/RefreshAuthStateController.js","webpack://OktaSignIn/./src/v1/controllers/RegistrationCompleteController.js","webpack://OktaSignIn/./src/v1/controllers/RegistrationController.js","webpack://OktaSignIn/./src/v1/controllers/UnlockAccountController.js","webpack://OktaSignIn/./src/v1/controllers/UnlockEmailSentController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyCustomFactorController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyDuoController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyPIVController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyU2FController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyWebauthnController.js","webpack://OktaSignIn/./src/v1/controllers/VerifyWindowsHelloController.js","webpack://OktaSignIn/./src/v1/models/AppState.js","webpack://OktaSignIn/./src/v1/models/BaseLoginModel.js","webpack://OktaSignIn/./src/v1/models/EnrollUser.js","webpack://OktaSignIn/./src/v1/models/Factor.js","webpack://OktaSignIn/./src/v1/models/IDPDiscovery.js","webpack://OktaSignIn/./src/v1/models/LoginModel.js","webpack://OktaSignIn/./src/v1/models/PrimaryAuth.js","webpack://OktaSignIn/./src/v1/models/ProfileSchema.js","webpack://OktaSignIn/./src/v1/models/RegistrationSchema.js","webpack://OktaSignIn/./src/v1/util/BaseLoginController.js","webpack://OktaSignIn/./src/v1/util/DeviceFingerprint.js","webpack://OktaSignIn/./src/v1/util/FormController.js","webpack://OktaSignIn/./src/v1/util/FormType.js","webpack://OktaSignIn/./src/v1/util/RegistrationFormFactory.js","webpack://OktaSignIn/./src/v1/util/RouterUtil.js","webpack://OktaSignIn/./src/v1/util/StoreLinks.js","webpack://OktaSignIn/./src/v1/util/TypingUtil.js","webpack://OktaSignIn/./src/v1/util/ValidationUtil.js","webpack://OktaSignIn/./src/v1/views/ResendEmailView.js","webpack://OktaSignIn/./src/v1/views/admin-consent/ScopeItem.js","webpack://OktaSignIn/./src/v1/views/admin-consent/ScopeList.js","webpack://OktaSignIn/./src/v1/views/consent/ScopeCheckBox.js","webpack://OktaSignIn/./src/v1/views/consent/ScopeItem.js","webpack://OktaSignIn/./src/v1/views/consent/ScopeList.js","webpack://OktaSignIn/./src/v1/views/enroll-choices/FactorList.js","webpack://OktaSignIn/./src/v1/views/enroll-choices/Footer.js","webpack://OktaSignIn/./src/v1/views/enroll-choices/RequiredFactorList.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/BarcodeView.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/EnterPasscodeForm.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/Footer.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/ManualSetupFooter.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/ManualSetupPushFooter.js","webpack://OktaSignIn/./src/v1/views/enroll-factors/PhoneTextBox.js","webpack://OktaSignIn/./src/v1/views/enrollUser/EnrollUserForm.js","webpack://OktaSignIn/./src/v1/views/expired-password/Footer.js","webpack://OktaSignIn/./src/v1/views/factor-verify/EmailMagicLinkForm.js","webpack://OktaSignIn/./src/v1/views/idp-discovery/IDPDiscoveryForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/HtmlErrorMessageView.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/InlineTOTPForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/NumberChallengeView.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/PassCodeForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/PasswordForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/PushForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/SecurityQuestionForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/SendEmailAndVerifyCodeForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/TOTPForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/YubikeyForm.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/dropdown/FactorsDropDown.js","webpack://OktaSignIn/./src/v1/views/mfa-verify/dropdown/FactorsDropDownOptions.js","webpack://OktaSignIn/./src/v1/views/primary-auth/CustomButtons.js","webpack://OktaSignIn/./src/v1/views/primary-auth/PrimaryAuthForm.js","webpack://OktaSignIn/./src/v1/views/registration/SubSchema.js","webpack://OktaSignIn/./src/v1/views/shared/AuthContainer.js","webpack://OktaSignIn/./src/v1/views/shared/ContactSupport.js","webpack://OktaSignIn/./src/v1/views/shared/FactorBeacon.js","webpack://OktaSignIn/./src/v1/views/shared/Footer.js","webpack://OktaSignIn/./src/v1/views/shared/FooterMFA.js","webpack://OktaSignIn/./src/v1/views/shared/FooterRegistration.js","webpack://OktaSignIn/./src/v1/views/shared/FooterSignout.js","webpack://OktaSignIn/./src/v1/views/shared/FooterWithBackLink.js","webpack://OktaSignIn/./src/v1/views/shared/FooterWithBackLinkOnError.js","webpack://OktaSignIn/./src/v1/views/shared/LoadingBeacon.js","webpack://OktaSignIn/./src/v1/views/shared/PIVBeacon.js","webpack://OktaSignIn/./src/v1/views/shared/PasswordRequirements.js","webpack://OktaSignIn/./src/v1/views/shared/SecurityBeacon.js","webpack://OktaSignIn/./src/v1/views/shared/SkipLink.js","webpack://OktaSignIn/./src/v1/views/shared/Spinner.js","webpack://OktaSignIn/./src/v1/views/shared/TextBox.js","webpack://OktaSignIn/./src/v1/views/shared/templates/consentLogoHeaderTemplate.js","webpack://OktaSignIn/./src/v2/client/constants.js","webpack://OktaSignIn/./src/v2/client/handleConfiguredFlow.js","webpack://OktaSignIn/./src/v2/client/index.js","webpack://OktaSignIn/./src/v2/client/interactionCodeFlow.js","webpack://OktaSignIn/./src/v2/client/sessionStorageHelper.js","webpack://OktaSignIn/./src/v2/ion/IonResponseHelper.js","webpack://OktaSignIn/./src/v2/ion/RemediationConstants.js","webpack://OktaSignIn/./src/v2/ion/ViewClassNamesFactory.js","webpack://OktaSignIn/./src/v2/ion/i18nTransformer.js","webpack://OktaSignIn/./src/v2/ion/i18nUtils.js","webpack://OktaSignIn/./src/v2/ion/payloadTransformer.js","webpack://OktaSignIn/./src/v2/ion/responseTransformer.js","webpack://OktaSignIn/./src/v2/ion/transformIdxResponse.js","webpack://OktaSignIn/./src/v2/ion/ui-schema/ion-boolean-handler.js","webpack://OktaSignIn/./src/v2/ion/ui-schema/ion-object-handler.js","webpack://OktaSignIn/./src/v2/ion/ui-schema/ion-string-handler.js","webpack://OktaSignIn/./src/v2/ion/uiSchemaTransformer.js","webpack://OktaSignIn/./src/v2/view-builder/components/AuthenticatorEnrollOptions.js","webpack://OktaSignIn/./src/v2/view-builder/components/AuthenticatorEnrollOptionsContainer.js","webpack://OktaSignIn/./src/v2/view-builder/components/AuthenticatorFooter.js","webpack://OktaSignIn/./src/v2/view-builder/components/AuthenticatorVerifyOptions.js","webpack://OktaSignIn/./src/v2/view-builder/components/BaseAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/components/ChallengeWebauthnFooter.js","webpack://OktaSignIn/./src/v2/view-builder/components/EmailAuthenticatorHeader.js","webpack://OktaSignIn/./src/v2/view-builder/components/HeaderBeacon.js","webpack://OktaSignIn/./src/v2/view-builder/components/IdentifierFooter.js","webpack://OktaSignIn/./src/v2/view-builder/components/Link.js","webpack://OktaSignIn/./src/v2/view-builder/components/MdmOktaVerifyTerminalView.js","webpack://OktaSignIn/./src/v2/view-builder/components/OdaOktaVerifyTerminalView.js","webpack://OktaSignIn/./src/v2/view-builder/components/OktaVerifyAuthenticatorHeader.js","webpack://OktaSignIn/./src/v2/view-builder/components/RemindMeLaterButton.js","webpack://OktaSignIn/./src/v2/view-builder/components/ScopeCheckBox.js","webpack://OktaSignIn/./src/v2/view-builder/components/SkipOptionalEnrollmentButton.js","webpack://OktaSignIn/./src/v2/view-builder/components/ToggleTextLink.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseFooter.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseFormWithPolling.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseHeader.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseModel.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseOktaVerifyChallengeView.js","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseView.js","webpack://OktaSignIn/./src/v2/view-builder/internals/index.js","webpack://OktaSignIn/./src/v2/view-builder/utils/AuthenticatorUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/AutoRedirectUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/ChallengeViewUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/Constants.js","webpack://OktaSignIn/./src/v2/view-builder/utils/DeviceFingerprinting.js","webpack://OktaSignIn/./src/v2/view-builder/utils/EndUserRemediationMessageViewUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/IdpUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/LinksUtil.js","webpack://OktaSignIn/./src/v2/view-builder/utils/TimeZone.js","webpack://OktaSignIn/./src/v2/view-builder/views/AutoRedirectView.js","webpack://OktaSignIn/./src/v2/view-builder/views/EnrollProfileUpdateView.js","webpack://OktaSignIn/./src/v2/view-builder/views/EnrollProfileView.js","webpack://OktaSignIn/./src/v2/view-builder/views/IdentifierView.js","webpack://OktaSignIn/./src/v2/view-builder/views/IdentifyRecoveryView.js","webpack://OktaSignIn/./src/v2/view-builder/views/PollView.js","webpack://OktaSignIn/./src/v2/view-builder/views/RedirectIdPView.js","webpack://OktaSignIn/./src/v2/view-builder/views/SelectAuthenticatorEnrollView.js","webpack://OktaSignIn/./src/v2/view-builder/views/SelectAuthenticatorVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/TerminalView.js","webpack://OktaSignIn/./src/v2/view-builder/views/activation/RequestActivationEmailView.js","webpack://OktaSignIn/./src/v2/view-builder/views/authenticator/SelectAuthenticatorUnlockAccountView.js","webpack://OktaSignIn/./src/v2/view-builder/views/authenticator/UnlockAccountView.js","webpack://OktaSignIn/./src/v2/view-builder/views/captcha/CaptchaView.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/AdminConsentView.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/AdminConsentViewHeader.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/ConsentViewForm.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EmailMagicLinkOTPTerminalView.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EnduserConsentAgreementText.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EnduserConsentView.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EnduserConsentViewFooter.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EnduserConsentViewHeader.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/EnduserEmailConsentView.js","webpack://OktaSignIn/./src/v2/view-builder/views/consent/GranularConsentView.js","webpack://OktaSignIn/./src/v2/view-builder/views/custom-app/ChallengeCustomAppResendPushView.js","webpack://OktaSignIn/./src/v2/view-builder/views/custom-otp/ChallengeCustomOTPAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/views/custom-password/ReEnrollCustomPasswordExpiryView.js","webpack://OktaSignIn/./src/v2/view-builder/views/custom-password/ReEnrollCustomPasswordExpiryWarningView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device-assurance-grace-period/DeviceAssuranceGracePeriodView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device/DeviceChallengePollView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device/DeviceCodeActivateView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device/DeviceEnrollmentTerminalView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device/SSOExtensionView.js","webpack://OktaSignIn/./src/v2/view-builder/views/device/SignInDeviceView.js","webpack://OktaSignIn/./src/v2/view-builder/views/duo/BaseDuoAuthenticatorForm.js","webpack://OktaSignIn/./src/v2/view-builder/views/duo/ChallengeDuoAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/views/duo/EnrollDuoAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/views/email/AuthenticatorEmailViewUtil.js","webpack://OktaSignIn/./src/v2/view-builder/views/email/BaseAuthenticatorEmailView.js","webpack://OktaSignIn/./src/v2/view-builder/views/email/ChallengeAuthenticatorDataEmailView.js","webpack://OktaSignIn/./src/v2/view-builder/views/email/ChallengeAuthenticatorEmailView.js","webpack://OktaSignIn/./src/v2/view-builder/views/email/EnrollAuthenticatorEmailView.js","webpack://OktaSignIn/./src/v2/view-builder/views/end-user-remediation/EndUserRemediationMessages.js","webpack://OktaSignIn/./src/v2/view-builder/views/enroll-profile/i18nBaseAttributeMappings.js","webpack://OktaSignIn/./src/v2/view-builder/views/google-authenticator/ChallengeGoogleAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/views/google-authenticator/EnrollAuthenticatorGoogleAuthenticatorView.js","webpack://OktaSignIn/./src/v2/view-builder/views/google-authenticator/EnrollAuthenticatorManualSetupView.js","webpack://OktaSignIn/./src/v2/view-builder/views/google-authenticator/EnrollGoogleAuthenticatorBarcodeView.js","webpack://OktaSignIn/./src/v2/view-builder/views/idp/AuthenticatorIdPEnrollView.js","webpack://OktaSignIn/./src/v2/view-builder/views/idp/AuthenticatorIdPVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/idp/BaseIdpAuthenticator.js","webpack://OktaSignIn/./src/v2/view-builder/views/idp/RedirectIdvView.js","webpack://OktaSignIn/./src/v2/view-builder/views/keep-me-signed-in/PostAuthKeepMeSignedInView.js","webpack://OktaSignIn/./src/v2/view-builder/views/on-prem/ChallengeAuthenticatorOnPremView.js","webpack://OktaSignIn/./src/v2/view-builder/views/on-prem/EnrollAuthenticatorOnPremView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ChallengeOktaVerifyFastPassView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ChallengeOktaVerifyResendPushView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ChallengeOktaVerifySSOExtensionView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ChallengeOktaVerifyTotpView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ChallengeOktaVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/EnrollChannelPollDescriptionView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/EnrollPollOktaVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/EnrollementChannelDataOktaVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/NumberChallengePhoneView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/NumberChallengePushView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/OVResendView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/ResendNumberChallengeView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/SameDeviceEnrollLink.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/SelectEnrollmentChannelOktaVerifyView.js","webpack://OktaSignIn/./src/v2/view-builder/views/ov/SwitchEnrollChannelLinkView.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/ChallengeAuthenticatorPasswordView.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/EnrollAuthenticatorPasswordView.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/PasswordPolicyUtil.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/ReEnrollAuthenticatorPasswordView.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/ReEnrollAuthenticatorWarningPasswordView.js","webpack://OktaSignIn/./src/v2/view-builder/views/password/ResetAuthenticatorPasswordView.js","webpack://OktaSignIn/./src/v2/view-builder/views/phone/ChallengeAuthenticatorDataPhoneView.js","webpack://OktaSignIn/./src/v2/view-builder/views/phone/ChallengeAuthenticatorPhoneView.js","webpack://OktaSignIn/./src/v2/view-builder/views/phone/EnrollAuthenticatorDataPhoneView.js","webpack://OktaSignIn/./src/v2/view-builder/views/phone/EnrollAuthenticatorPhoneView.js","webpack://OktaSignIn/./src/v2/view-builder/views/piv/ChallengePIVView.js","webpack://OktaSignIn/./src/v2/view-builder/views/piv/PIVHeader.js","webpack://OktaSignIn/./src/v2/view-builder/views/security-question/ChallengeAuthenticatorSecurityQuestion.js","webpack://OktaSignIn/./src/v2/view-builder/views/security-question/EnrollAuthenticatorSecurityQuestionView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/BaseResendView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/ChallengeOktaVerifyCustomAppDataView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/ChallengeOktaVerifyCustomAppFormView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/ChallengeOktaVerifyCustomAppPushOnlyFormView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/ChallengePushView.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/CustomAccessDeniedErrorMessage.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/email.js","webpack://OktaSignIn/./src/v2/view-builder/views/shared/polling.js","webpack://OktaSignIn/./src/v2/view-builder/views/signin/CustomButtons.js","webpack://OktaSignIn/./src/v2/view-builder/views/signin/SignInWithDeviceOption.js","webpack://OktaSignIn/./src/v2/view-builder/views/signin/SignInWithIdps.js","webpack://OktaSignIn/./src/v2/view-builder/views/signin/SignInWithWebAuthn.js","webpack://OktaSignIn/./src/v2/view-builder/views/symantec/AuthenticatorSymantecView.js","webpack://OktaSignIn/./src/v2/view-builder/views/webauthn/ChallengeWebauthnInfoView.js","webpack://OktaSignIn/./src/v2/view-builder/views/webauthn/ChallengeWebauthnView.js","webpack://OktaSignIn/./src/v2/view-builder/views/webauthn/EnrollWebAuthnResidentkeyLinkView.js","webpack://OktaSignIn/./src/v2/view-builder/views/webauthn/EnrollWebauthnInfoView.js","webpack://OktaSignIn/./src/v2/view-builder/views/webauthn/EnrollWebauthnView.js","webpack://OktaSignIn/./src/v2/view-builder/views/yubikey/AuthenticatorYubiKeyView.js","webpack://OktaSignIn/./src/widget/buildRenderOptions.js","webpack://OktaSignIn/./src/widget/createRouter.js","webpack://OktaSignIn/./src/authClient/default.ts","webpack://OktaSignIn/./src/authClient/oie.ts","webpack://OktaSignIn/./src/exports/cdn/default.ts","webpack://OktaSignIn/./src/exports/default.ts","webpack://OktaSignIn/./src/models/Hooks.ts","webpack://OktaSignIn/./src/models/Settings.ts","webpack://OktaSignIn/./src/router/default.ts","webpack://OktaSignIn/./src/types/index.ts","webpack://OktaSignIn/./src/util/BrowserFeatures.ts","webpack://OktaSignIn/./src/util/Bundles.ts","webpack://OktaSignIn/./src/util/Errors.ts","webpack://OktaSignIn/./src/util/OAuthErrors.ts","webpack://OktaSignIn/./src/util/loc.ts","webpack://OktaSignIn/./src/v1/LoginRouter.ts","webpack://OktaSignIn/./src/v1/views/shared/Header.ts","webpack://OktaSignIn/./src/v2/BaseLoginRouter.ts","webpack://OktaSignIn/./src/v2/WidgetRouter.ts","webpack://OktaSignIn/./src/v2/client/emailVerifyCallback.ts","webpack://OktaSignIn/./src/v2/client/formatError.ts","webpack://OktaSignIn/./src/v2/client/startLoginFlow.ts","webpack://OktaSignIn/./src/v2/client/updateAppState.ts","webpack://OktaSignIn/./src/v2/controllers/FormController.ts","webpack://OktaSignIn/./src/v2/mixins/mixins.ts","webpack://OktaSignIn/./src/v2/models/AppState.ts","webpack://OktaSignIn/./src/v2/view-builder/ViewFactory.ts","webpack://OktaSignIn/./src/v2/view-builder/internals/BaseForm.ts","webpack://OktaSignIn/./src/v2/view-builder/internals/FormInputFactory.ts","webpack://OktaSignIn/./src/widget/OktaSignIn.ts","webpack://OktaSignIn/./src/widget/getAuthClient.ts","webpack://OktaSignIn/OktaAuth/webpack/universalModuleDefinition","webpack://OktaSignIn/OktaAuth/./lib/authn/util/stateToken.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/api.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/util/link2fn.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/util/poll.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/util/flattenEmbedded.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/util/links2fns.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/AuthnTransactionImpl.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/factory.ts","webpack://OktaSignIn/OktaAuth/./lib/authn/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/base/factory.ts","webpack://OktaSignIn/OktaAuth/./lib/base/options.ts","webpack://OktaSignIn/OktaAuth/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://OktaSignIn/OktaAuth/./lib/browser/browserStorage.ts","webpack://OktaSignIn/OktaAuth/./lib/browser/fingerprint.ts","webpack://OktaSignIn/OktaAuth/./lib/constants.ts","webpack://OktaSignIn/OktaAuth/./lib/core/AuthStateManager.ts","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/util.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/methods/native.js","webpack://OktaSignIn/OktaAuth/./node_modules/oblivious-set/dist/es/index.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/options.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/methods/indexed-db.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/methods/localstorage.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/methods/simulate.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/method-chooser.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/broadcast-channel.js","webpack://OktaSignIn/OktaAuth/./node_modules/unload/dist/es/index.js","webpack://OktaSignIn/OktaAuth/./node_modules/unload/dist/es/node.js","webpack://OktaSignIn/OktaAuth/./node_modules/unload/dist/es/browser.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/leader-election-util.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/leader-election-web-lock.js","webpack://OktaSignIn/OktaAuth/./node_modules/broadcast-channel/dist/esbrowser/leader-election.js","webpack://OktaSignIn/OktaAuth/./lib/services/LeaderElectionService.ts","webpack://OktaSignIn/OktaAuth/./lib/services/AutoRenewService.ts","webpack://OktaSignIn/OktaAuth/./lib/services/SyncStorageService.ts","webpack://OktaSignIn/OktaAuth/./lib/services/RenewOnTabActivationService.ts","webpack://OktaSignIn/OktaAuth/./lib/core/ServiceManager/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/core/factory.ts","webpack://OktaSignIn/OktaAuth/./lib/core/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/core/options.ts","webpack://OktaSignIn/OktaAuth/./lib/core/storage.ts","webpack://OktaSignIn/OktaAuth/./lib/crypto/base64.ts","webpack://OktaSignIn/OktaAuth/./lib/crypto/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/crypto/oidcHash.ts","webpack://OktaSignIn/OktaAuth/./lib/crypto/verifyToken.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/AuthApiError.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/AuthPollStopError.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/AuthSdkError.ts","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://OktaSignIn/OktaAuth/./lib/errors/CustomError.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/OAuthError.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/WWWAuthError.ts","webpack://OktaSignIn/OktaAuth/./lib/errors/index.ts","webpack://OktaSignIn/OktaAuth/./lib/features.ts","webpack://OktaSignIn/OktaAuth/./lib/http/OktaUserAgent.ts","webpack://OktaSignIn/OktaAuth/./lib/http/headers.ts","webpack://OktaSignIn/OktaAuth/./lib/http/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/fetch/fetchRequest.ts","webpack://OktaSignIn/OktaAuth/./lib/http/options.ts","webpack://OktaSignIn/OktaAuth/./lib/http/request.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/IdxTransactionManager.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticate.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/Authenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/OktaPassword.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/util.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/cancel.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/emailVerify.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/factory/OktaAuthIdx.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/factory/api.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/flow/AuthenticationFlow.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/flow/PasswordRecoveryFlow.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/flow/RegistrationFlow.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/flow/AccountUnlockFlow.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/flow/FlowSpecification.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/handleInteractionCodeRedirect.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/actionParser.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/generateIdxAction.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/remediationParser.ts","webpack://OktaSignIn/OktaAuth/./lib/util/jsonpath.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/idxResponseParser.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/parsers.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/v1/makeIdxState.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/idxState/index.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/mixinMinimal.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/factory/minimalApi.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/mixin/minimal.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/factory/baseApi.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/factory/MinimalOktaAuthIdx.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/interact.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/introspect.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/options.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/poll.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/proceed.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/recoverPassword.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/register.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/AuthenticatorEnrollmentData.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/AuthenticatorVerificationData.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Base/AuthenticatorData.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Base/Remediator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Base/SelectAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/VerificationCodeAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/OktaVerifyTotp.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/SecurityQuestionEnrollment.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/SecurityQuestionVerification.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/WebauthnEnrollment.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/WebauthnVerification.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Base/VerifyAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/authenticator/getAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/ChallengeAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/ChallengePoll.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/EnrollAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/EnrollPoll.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/EnrollProfile.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/EnrollmentChannelData.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/GenericRemediator/util.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/GenericRemediator/GenericRemediator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Identify.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/ReEnrollAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/ReEnrollAuthenticatorWarning.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/RedirectIdp.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/ResetAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/SelectAuthenticatorAuthenticate.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/SelectAuthenticatorEnroll.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/SelectAuthenticatorUnlockAccount.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/SelectEnrollProfile.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/SelectEnrollmentChannel.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/Skip.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediators/util.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/remediate.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/run.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/startTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/storage.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/transactionMeta.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/types/api.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/types/idx-js.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/unlockAccount.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/util.ts","webpack://OktaSignIn/OktaAuth/./lib/idx/webauthn.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/Base.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/request.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/profileApi.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/emailApi.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/ProfileTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/ProfileSchemaTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/EmailStatusTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/EmailChallengeTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/EmailTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/PhoneTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/phoneApi.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/transactions/PasswordTransaction.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/passwordApi.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/factory.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/myaccount/types.ts","webpack://OktaSignIn/OktaAuth/./lib/clock.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/TokenManager.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/sharedStorage.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/TransactionManager.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/decodeToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/dpop.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/endpoints/authorize.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/endpoints/token.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/endpoints/well-known.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/exchangeCodeForTokens.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/enrollAuthenticator.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/factory/api.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/factory/OktaAuthOAuth.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/getToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/getUserInfo.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/getWithPopup.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/getWithRedirect.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/getWithoutPrompt.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/handleOAuthResponse.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/introspect.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/mixin/index.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/mixin/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/options/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/options/OAuthOptionsConstructor.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/parseFromUrl.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/renewToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/renewTokens.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/renewTokensWithRefresh.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/revokeToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/storage.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/types/Token.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/types/TokenManager.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/types/Transaction.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/defaultEnrollAuthenticatorParams.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/defaultTokenParams.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/enrollAuthenticatorMeta.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/errors.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/loginRedirect.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/oauth.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/oauthMeta.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/pkce.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/prepareEnrollAuthenticatorParams.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/prepareTokenParams.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/refreshToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/urlParams.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/validateClaims.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/util/validateToken.ts","webpack://OktaSignIn/OktaAuth/./lib/oidc/verifyToken.ts","webpack://OktaSignIn/OktaAuth/./lib/session/api.ts","webpack://OktaSignIn/OktaAuth/./lib/session/factory.ts","webpack://OktaSignIn/OktaAuth/./lib/session/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/storage/BaseStorageManager.ts","webpack://OktaSignIn/OktaAuth/./lib/storage/SavedObject.ts","webpack://OktaSignIn/OktaAuth/./lib/storage/mixin.ts","webpack://OktaSignIn/OktaAuth/./lib/storage/options/browser.ts","webpack://OktaSignIn/OktaAuth/./lib/storage/options/StorageOptionsConstructor.ts","webpack://OktaSignIn/OktaAuth/./lib/util/PromiseQueue.ts","webpack://OktaSignIn/OktaAuth/./lib/util/console.ts","webpack://OktaSignIn/OktaAuth/./lib/util/misc.ts","webpack://OktaSignIn/OktaAuth/./lib/util/object.ts","webpack://OktaSignIn/OktaAuth/./lib/util/types.ts","webpack://OktaSignIn/OktaAuth/./lib/util/url.ts","webpack://OktaSignIn/OktaAuth/./node_modules/p-cancelable/index.js","webpack://OktaSignIn/OktaAuth/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://OktaSignIn/OktaAuth/./node_modules/tiny-emitter/index.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/construct.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/createClass.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/inherits.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/typeof.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/regenerator/index.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://OktaSignIn/OktaAuth/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://OktaSignIn/OktaAuth/webpack/bootstrap","webpack://OktaSignIn/OktaAuth/webpack/runtime/compat get default export","webpack://OktaSignIn/OktaAuth/webpack/runtime/define property getters","webpack://OktaSignIn/OktaAuth/webpack/runtime/global","webpack://OktaSignIn/OktaAuth/webpack/runtime/hasOwnProperty shorthand","webpack://OktaSignIn/OktaAuth/webpack/runtime/make namespace object","webpack://OktaSignIn/OktaAuth/./lib/exports/default.ts","webpack://OktaSignIn/./node_modules/clipboard/lib/clipboard-action.js","webpack://OktaSignIn/./node_modules/clipboard/lib/clipboard.js","webpack://OktaSignIn/./node_modules/core-js/actual/array/find-index.js","webpack://OktaSignIn/./node_modules/core-js/actual/array/find.js","webpack://OktaSignIn/./node_modules/core-js/actual/array/from.js","webpack://OktaSignIn/./node_modules/core-js/actual/array/includes.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/assign.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/entries.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/from-entries.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/keys.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/actual/object/values.js","webpack://OktaSignIn/./node_modules/core-js/actual/string/ends-with.js","webpack://OktaSignIn/./node_modules/core-js/actual/string/includes.js","webpack://OktaSignIn/./node_modules/core-js/actual/string/starts-with.js","webpack://OktaSignIn/./node_modules/core-js/actual/symbol/iterator.js","webpack://OktaSignIn/./node_modules/core-js/es/array/find-index.js","webpack://OktaSignIn/./node_modules/core-js/es/array/find.js","webpack://OktaSignIn/./node_modules/core-js/es/array/from.js","webpack://OktaSignIn/./node_modules/core-js/es/array/includes.js","webpack://OktaSignIn/./node_modules/core-js/es/object/assign.js","webpack://OktaSignIn/./node_modules/core-js/es/object/entries.js","webpack://OktaSignIn/./node_modules/core-js/es/object/from-entries.js","webpack://OktaSignIn/./node_modules/core-js/es/object/keys.js","webpack://OktaSignIn/./node_modules/core-js/es/object/set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/es/object/values.js","webpack://OktaSignIn/./node_modules/core-js/es/promise/index.js","webpack://OktaSignIn/./node_modules/core-js/es/set/index.js","webpack://OktaSignIn/./node_modules/core-js/es/string/ends-with.js","webpack://OktaSignIn/./node_modules/core-js/es/string/includes.js","webpack://OktaSignIn/./node_modules/core-js/es/string/starts-with.js","webpack://OktaSignIn/./node_modules/core-js/es/symbol/iterator.js","webpack://OktaSignIn/./node_modules/core-js/es/typed-array/methods.js","webpack://OktaSignIn/./node_modules/core-js/es/typed-array/uint8-array.js","webpack://OktaSignIn/./node_modules/core-js/es/weak-map/index.js","webpack://OktaSignIn/./node_modules/core-js/features/array/find-index.js","webpack://OktaSignIn/./node_modules/core-js/features/array/find.js","webpack://OktaSignIn/./node_modules/core-js/features/array/from.js","webpack://OktaSignIn/./node_modules/core-js/features/array/includes.js","webpack://OktaSignIn/./node_modules/core-js/features/object/assign.js","webpack://OktaSignIn/./node_modules/core-js/features/object/entries.js","webpack://OktaSignIn/./node_modules/core-js/features/object/from-entries.js","webpack://OktaSignIn/./node_modules/core-js/features/object/iterate-entries.js","webpack://OktaSignIn/./node_modules/core-js/features/object/iterate-keys.js","webpack://OktaSignIn/./node_modules/core-js/features/object/iterate-values.js","webpack://OktaSignIn/./node_modules/core-js/features/object/keys.js","webpack://OktaSignIn/./node_modules/core-js/features/object/set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/features/object/values.js","webpack://OktaSignIn/./node_modules/core-js/features/string/ends-with.js","webpack://OktaSignIn/./node_modules/core-js/features/string/includes.js","webpack://OktaSignIn/./node_modules/core-js/features/string/starts-with.js","webpack://OktaSignIn/./node_modules/core-js/features/symbol/iterator.js","webpack://OktaSignIn/./node_modules/core-js/full/array/find-index.js","webpack://OktaSignIn/./node_modules/core-js/full/array/find.js","webpack://OktaSignIn/./node_modules/core-js/full/array/from.js","webpack://OktaSignIn/./node_modules/core-js/full/array/includes.js","webpack://OktaSignIn/./node_modules/core-js/full/object/assign.js","webpack://OktaSignIn/./node_modules/core-js/full/object/entries.js","webpack://OktaSignIn/./node_modules/core-js/full/object/from-entries.js","webpack://OktaSignIn/./node_modules/core-js/full/object/iterate-entries.js","webpack://OktaSignIn/./node_modules/core-js/full/object/iterate-keys.js","webpack://OktaSignIn/./node_modules/core-js/full/object/iterate-values.js","webpack://OktaSignIn/./node_modules/core-js/full/object/keys.js","webpack://OktaSignIn/./node_modules/core-js/full/object/set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/full/object/values.js","webpack://OktaSignIn/./node_modules/core-js/full/string/ends-with.js","webpack://OktaSignIn/./node_modules/core-js/full/string/includes.js","webpack://OktaSignIn/./node_modules/core-js/full/string/starts-with.js","webpack://OktaSignIn/./node_modules/core-js/full/symbol/iterator.js","webpack://OktaSignIn/./node_modules/core-js/internals/a-callable.js","webpack://OktaSignIn/./node_modules/core-js/internals/a-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/a-possible-prototype.js","webpack://OktaSignIn/./node_modules/core-js/internals/add-to-unscopables.js","webpack://OktaSignIn/./node_modules/core-js/internals/an-instance.js","webpack://OktaSignIn/./node_modules/core-js/internals/an-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-buffer.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-copy-within.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-fill.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-from.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-includes.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-iteration-from-last.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-iteration.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-last-index-of.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-method-is-strict.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-reduce.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-slice-simple.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-slice.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-sort.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-species-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/array-species-create.js","webpack://OktaSignIn/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://OktaSignIn/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://OktaSignIn/./node_modules/core-js/internals/classof-raw.js","webpack://OktaSignIn/./node_modules/core-js/internals/classof.js","webpack://OktaSignIn/./node_modules/core-js/internals/collection-strong.js","webpack://OktaSignIn/./node_modules/core-js/internals/collection-weak.js","webpack://OktaSignIn/./node_modules/core-js/internals/collection.js","webpack://OktaSignIn/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://OktaSignIn/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://OktaSignIn/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://OktaSignIn/./node_modules/core-js/internals/create-iter-result-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://OktaSignIn/./node_modules/core-js/internals/create-property-descriptor.js","webpack://OktaSignIn/./node_modules/core-js/internals/create-property.js","webpack://OktaSignIn/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://OktaSignIn/./node_modules/core-js/internals/define-built-in.js","webpack://OktaSignIn/./node_modules/core-js/internals/define-built-ins.js","webpack://OktaSignIn/./node_modules/core-js/internals/define-global-property.js","webpack://OktaSignIn/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://OktaSignIn/./node_modules/core-js/internals/descriptors.js","webpack://OktaSignIn/./node_modules/core-js/internals/document-all.js","webpack://OktaSignIn/./node_modules/core-js/internals/document-create-element.js","webpack://OktaSignIn/./node_modules/core-js/internals/dom-iterables.js","webpack://OktaSignIn/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-ff-version.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-browser.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-deno.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-ios.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-node.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-user-agent.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-v8-version.js","webpack://OktaSignIn/./node_modules/core-js/internals/engine-webkit-version.js","webpack://OktaSignIn/./node_modules/core-js/internals/entry-unbind.js","webpack://OktaSignIn/./node_modules/core-js/internals/enum-bug-keys.js","webpack://OktaSignIn/./node_modules/core-js/internals/error-stack-clear.js","webpack://OktaSignIn/./node_modules/core-js/internals/error-stack-installable.js","webpack://OktaSignIn/./node_modules/core-js/internals/export.js","webpack://OktaSignIn/./node_modules/core-js/internals/fails.js","webpack://OktaSignIn/./node_modules/core-js/internals/freezing.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-apply.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-bind-context.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-bind-native.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-call.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-name.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://OktaSignIn/./node_modules/core-js/internals/function-uncurry-this.js","webpack://OktaSignIn/./node_modules/core-js/internals/get-built-in.js","webpack://OktaSignIn/./node_modules/core-js/internals/get-iterator-method.js","webpack://OktaSignIn/./node_modules/core-js/internals/get-iterator.js","webpack://OktaSignIn/./node_modules/core-js/internals/get-method.js","webpack://OktaSignIn/./node_modules/core-js/internals/global.js","webpack://OktaSignIn/./node_modules/core-js/internals/has-own-property.js","webpack://OktaSignIn/./node_modules/core-js/internals/hidden-keys.js","webpack://OktaSignIn/./node_modules/core-js/internals/host-report-errors.js","webpack://OktaSignIn/./node_modules/core-js/internals/html.js","webpack://OktaSignIn/./node_modules/core-js/internals/ie8-dom-define.js","webpack://OktaSignIn/./node_modules/core-js/internals/ieee754.js","webpack://OktaSignIn/./node_modules/core-js/internals/indexed-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/inherit-if-required.js","webpack://OktaSignIn/./node_modules/core-js/internals/inspect-source.js","webpack://OktaSignIn/./node_modules/core-js/internals/install-error-cause.js","webpack://OktaSignIn/./node_modules/core-js/internals/internal-metadata.js","webpack://OktaSignIn/./node_modules/core-js/internals/internal-state.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-array.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-big-int-array.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-callable.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-forced.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-integral-number.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-pure.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-regexp.js","webpack://OktaSignIn/./node_modules/core-js/internals/is-symbol.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterate.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterator-close.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterator-define.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterators-core.js","webpack://OktaSignIn/./node_modules/core-js/internals/iterators.js","webpack://OktaSignIn/./node_modules/core-js/internals/length-of-array-like.js","webpack://OktaSignIn/./node_modules/core-js/internals/make-built-in.js","webpack://OktaSignIn/./node_modules/core-js/internals/math-trunc.js","webpack://OktaSignIn/./node_modules/core-js/internals/microtask.js","webpack://OktaSignIn/./node_modules/core-js/internals/new-promise-capability.js","webpack://OktaSignIn/./node_modules/core-js/internals/normalize-string-argument.js","webpack://OktaSignIn/./node_modules/core-js/internals/not-a-regexp.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-assign.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-create.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-define-properties.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-define-property.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-is-extensible.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-iterator.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-keys-internal.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-keys.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-to-array.js","webpack://OktaSignIn/./node_modules/core-js/internals/object-to-string.js","webpack://OktaSignIn/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://OktaSignIn/./node_modules/core-js/internals/own-keys.js","webpack://OktaSignIn/./node_modules/core-js/internals/path.js","webpack://OktaSignIn/./node_modules/core-js/internals/perform.js","webpack://OktaSignIn/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://OktaSignIn/./node_modules/core-js/internals/promise-native-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/promise-resolve.js","webpack://OktaSignIn/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://OktaSignIn/./node_modules/core-js/internals/queue.js","webpack://OktaSignIn/./node_modules/core-js/internals/require-object-coercible.js","webpack://OktaSignIn/./node_modules/core-js/internals/set-species.js","webpack://OktaSignIn/./node_modules/core-js/internals/set-to-string-tag.js","webpack://OktaSignIn/./node_modules/core-js/internals/shared-key.js","webpack://OktaSignIn/./node_modules/core-js/internals/shared-store.js","webpack://OktaSignIn/./node_modules/core-js/internals/shared.js","webpack://OktaSignIn/./node_modules/core-js/internals/species-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/string-multibyte.js","webpack://OktaSignIn/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://OktaSignIn/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://OktaSignIn/./node_modules/core-js/internals/task.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-absolute-index.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-big-int.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-index.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-indexed-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-length.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-object.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-offset.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-positive-integer.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-primitive.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-property-key.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-string-tag-support.js","webpack://OktaSignIn/./node_modules/core-js/internals/to-string.js","webpack://OktaSignIn/./node_modules/core-js/internals/try-to-string.js","webpack://OktaSignIn/./node_modules/core-js/internals/typed-array-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://OktaSignIn/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://OktaSignIn/./node_modules/core-js/internals/typed-array-from.js","webpack://OktaSignIn/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://OktaSignIn/./node_modules/core-js/internals/uid.js","webpack://OktaSignIn/./node_modules/core-js/internals/url-constructor-detection.js","webpack://OktaSignIn/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://OktaSignIn/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://OktaSignIn/./node_modules/core-js/internals/validate-arguments-length.js","webpack://OktaSignIn/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://OktaSignIn/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://OktaSignIn/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://OktaSignIn/./node_modules/core-js/internals/well-known-symbol.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.aggregate-error.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.aggregate-error.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array.find-index.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array.find.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array.from.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array.includes.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.array.iterator.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.assign.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.entries.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.from-entries.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.keys.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.to-string.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.object.values.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.all-settled.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.all.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.any.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.catch.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.finally.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.race.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.reject.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.promise.resolve.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.set.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.set.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.string.ends-with.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.string.includes.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.string.iterator.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.string.starts-with.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.at.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.every.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.find-last.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.find.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.from.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.join.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.map.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.of.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.set.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.some.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.weak-map.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/es.weak-map.js","webpack://OktaSignIn/./node_modules/core-js/modules/esnext.object.iterate-entries.js","webpack://OktaSignIn/./node_modules/core-js/modules/esnext.object.iterate-keys.js","webpack://OktaSignIn/./node_modules/core-js/modules/esnext.object.iterate-values.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.url-search-params.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.url.constructor.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.url.js","webpack://OktaSignIn/./node_modules/core-js/modules/web.url.to-json.js","webpack://OktaSignIn/./node_modules/core-js/stable/array/find-index.js","webpack://OktaSignIn/./node_modules/core-js/stable/array/find.js","webpack://OktaSignIn/./node_modules/core-js/stable/array/from.js","webpack://OktaSignIn/./node_modules/core-js/stable/array/includes.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/assign.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/entries.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/from-entries.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/keys.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/set-prototype-of.js","webpack://OktaSignIn/./node_modules/core-js/stable/object/values.js","webpack://OktaSignIn/./node_modules/core-js/stable/set/index.js","webpack://OktaSignIn/./node_modules/core-js/stable/string/ends-with.js","webpack://OktaSignIn/./node_modules/core-js/stable/string/includes.js","webpack://OktaSignIn/./node_modules/core-js/stable/string/starts-with.js","webpack://OktaSignIn/./node_modules/core-js/stable/symbol/iterator.js","webpack://OktaSignIn/./node_modules/core-js/stable/weak-map/index.js","webpack://OktaSignIn/./node_modules/core-js/web/url.js","webpack://OktaSignIn/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://OktaSignIn/./node_modules/delegate/src/closest.js","webpack://OktaSignIn/./node_modules/delegate/src/delegate.js","webpack://OktaSignIn/./node_modules/fast-text-encoding/text.min.js","webpack://OktaSignIn/./node_modules/good-listener/src/is.js","webpack://OktaSignIn/./node_modules/good-listener/src/listen.js","webpack://OktaSignIn/./node_modules/jquery/dist/jquery.js","webpack://OktaSignIn/./node_modules/q/q.js","webpack://OktaSignIn/./node_modules/regenerator-runtime/runtime.js","webpack://OktaSignIn/./node_modules/select/src/select.js","webpack://OktaSignIn/./node_modules/tiny-emitter/index.js","webpack://OktaSignIn/./node_modules/u2f-api-polyfill/u2f-api-polyfill.js","webpack://OktaSignIn/./node_modules/webcrypto-shim/webcrypto-shim.js","webpack://OktaSignIn/./packages/@okta/qtip2/dist/jquery.qtip.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/construct.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/createClass.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/inherits.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/typeof.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://OktaSignIn/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://OktaSignIn/./node_modules/@babel/runtime/regenerator/index.js","webpack://OktaSignIn/./node_modules/underscore/underscore-umd-min.js","webpack://OktaSignIn/webpack/bootstrap","webpack://OktaSignIn/webpack/runtime/compat get default export","webpack://OktaSignIn/webpack/runtime/define property getters","webpack://OktaSignIn/webpack/runtime/hasOwnProperty shorthand","webpack://OktaSignIn/webpack/runtime/make namespace object","webpack://OktaSignIn/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OktaSignIn\"] = factory();\n\telse\n\t\troot[\"OktaSignIn\"] = factory();\n})(self, function() {\nreturn ","'use strict';\n\nconst converters = {\n\tdays: value => value * 864e5,\n\thours: value => value * 36e5,\n\tminutes: value => value * 6e4,\n\tseconds: value => value * 1e3,\n\tmilliseconds: value => value,\n\tmicroseconds: value => value / 1e3,\n\tnanoseconds: value => value / 1e6\n};\n\nconst toMilliseconds = object => Object.entries(object).reduce((milliseconds, [key, value]) => {\n\tif (typeof value !== 'number') {\n\t\tthrow new TypeError(`Expected a \\`number\\` for key \\`${key}\\`, got \\`${value}\\` (${typeof value})`);\n\t}\n\n\tif (!converters[key]) {\n\t\tthrow new Error('Unsupported time key');\n\t}\n\n\treturn milliseconds + converters[key](value);\n}, 0);\n\nmodule.exports = toMilliseconds;\n// TODO: remove this for next major version\nmodule.exports.default = toMilliseconds;\n","'use strict';\nmodule.exports = milliseconds => {\n\tif (typeof milliseconds !== 'number') {\n\t\tthrow new TypeError('Expected a number');\n\t}\n\n\tconst roundTowardsZero = milliseconds > 0 ? Math.floor : Math.ceil;\n\n\treturn {\n\t\tdays: roundTowardsZero(milliseconds / 86400000),\n\t\thours: roundTowardsZero(milliseconds / 3600000) % 24,\n\t\tminutes: roundTowardsZero(milliseconds / 60000) % 60,\n\t\tseconds: roundTowardsZero(milliseconds / 1000) % 60,\n\t\tmilliseconds: roundTowardsZero(milliseconds) % 1000,\n\t\tmicroseconds: roundTowardsZero(milliseconds * 1000) % 1000,\n\t\tnanoseconds: roundTowardsZero(milliseconds * 1e6) % 1000\n\t};\n};\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport { commonjsGlobal, getDefaultExportFromCjs };\n","var backbone = {exports: {}};\n\nexport { backbone as b };\n","var base = {};\n\nexport { base as __exports };\n","var blockHelperMissing = {exports: {}};\n\nexport { blockHelperMissing as b };\n","var createNewLookupObject = {};\n\nexport { createNewLookupObject as __exports };\n","var decorators = {};\n\nexport { decorators as __exports };\n","var each = {exports: {}};\n\nexport { each as e };\n","var exception = {exports: {}};\n\nexport { exception as e };\n","var handlebars_runtime = {exports: {}};\n\nexport { handlebars_runtime as h };\n","var helperMissing = {exports: {}};\n\nexport { helperMissing as h };\n","var helpers = {};\n\nexport { helpers as __exports };\n","var _if = {exports: {}};\n\nexport { _if as _ };\n","var inline = {exports: {}};\n\nexport { inline as i };\n","var js_cookie = {exports: {}};\n\nexport { js_cookie as j };\n","var log = {exports: {}};\n\nexport { log as l };\n","var logger = {exports: {}};\n\nexport { logger as l };\n","var lookup = {exports: {}};\n\nexport { lookup as l };\n","var noConflict = {exports: {}};\n\nexport { noConflict as n };\n","var protoAccess = {};\n\nexport { protoAccess as __exports };\n","var runtime = {};\n\nexport { runtime as __exports };\n","var safeString = {exports: {}};\n\nexport { safeString as s };\n","var underscoreMin = {exports: {}};\n\nexport { underscoreMin as u };\n","var utils = {};\n\nexport { utils as __exports };\n","var _with = {exports: {}};\n\nexport { _with as _ };\n","var wrapHelper = {};\n\nexport { wrapHelper as __exports };\n","import { getDefaultExportFromCjs } from '../../../../_virtual/_commonjsHelpers.js';\nimport { h as handlebars_runtime } from '../../../../_virtual/handlebars.runtime.js';\nimport './handlebars/base.js';\nimport './handlebars/safe-string.js';\nimport './handlebars/exception.js';\nimport './handlebars/utils.js';\nimport './handlebars/runtime.js';\nimport './handlebars/no-conflict.js';\nimport { __exports as base } from '../../../../_virtual/base.js';\nimport { __exports as utils } from '../../../../_virtual/utils.js';\nimport { __exports as runtime } from '../../../../_virtual/runtime.js';\nimport { e as exception } from '../../../../_virtual/exception.js';\nimport { n as noConflict } from '../../../../_virtual/no-conflict.js';\nimport { s as safeString } from '../../../../_virtual/safe-string.js';\n\n(function (module, exports) {\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n} // istanbul ignore next\n\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _handlebarsBase = base;\n\nvar base$1 = _interopRequireWildcard(_handlebarsBase); // Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\n\nvar _handlebarsSafeString = safeString.exports;\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = exception.exports;\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = utils;\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = runtime;\n\nvar runtime$1 = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = noConflict.exports;\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); // For compatibility and usage outside of module systems, make the Handlebars object a namespace\n\n\nfunction create() {\n var hb = new base$1.HandlebarsEnvironment();\n Utils.extend(hb, base$1);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n hb.VM = runtime$1;\n\n hb.template = function (spec) {\n return runtime$1.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\nexports['default'] = inst;\nmodule.exports = exports['default'];\n}(handlebars_runtime, handlebars_runtime.exports));\n\nvar _Handlebars2 = /*@__PURE__*/getDefaultExportFromCjs(handlebars_runtime.exports);\n\nexport { _Handlebars2 as default };\n","import { __exports as base } from '../../../../../_virtual/base.js';\nexport { __exports as default } from '../../../../../_virtual/base.js';\nimport './utils.js';\nimport './exception.js';\nimport './helpers.js';\nimport './decorators.js';\nimport './logger.js';\nimport './internal/proto-access.js';\nimport { __exports as utils } from '../../../../../_virtual/utils.js';\nimport { __exports as protoAccess } from '../../../../../_virtual/proto-access.js';\nimport { __exports as helpers } from '../../../../../_virtual/helpers.js';\nimport { __exports as decorators } from '../../../../../_virtual/decorators.js';\nimport { l as logger } from '../../../../../_virtual/logger.js';\nimport { e as exception } from '../../../../../_virtual/exception.js';\n\nbase.__esModule = true;\nbase.HandlebarsEnvironment = HandlebarsEnvironment; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = utils;\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = helpers;\n\nvar _decorators = decorators;\n\nvar _logger = logger.exports;\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = protoAccess;\n\nvar VERSION = '4.7.7';\nbase.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nbase.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\nbase.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2',\n // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\nbase.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n logger: _logger2['default'],\n log: _logger2['default'].log,\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\nvar log = _logger2['default'].log;\nbase.log = log;\nbase.createFrame = _utils.createFrame;\nbase.logger = _logger2['default'];\n","import { __exports as decorators } from '../../../../../_virtual/decorators.js';\nexport { __exports as default } from '../../../../../_virtual/decorators.js';\nimport './decorators/inline.js';\nimport { i as inline } from '../../../../../_virtual/inline.js';\n\ndecorators.__esModule = true;\ndecorators.registerDefaultDecorators = registerDefaultDecorators; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _decoratorsInline = inline.exports;\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}\n","import { i as inline } from '../../../../../../_virtual/inline.js';\nimport '../utils.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nvar _utils = utils;\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n\n if (!props.partials) {\n props.partials = {};\n\n ret = function (context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n}(inline, inline.exports));\n","import { e as exception } from '../../../../../_virtual/exception.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message); // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n /* istanbul ignore else */\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber; // Work around issue under safari where we can't directly set the column value\n\n /* istanbul ignore next */\n\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n}(exception, exception.exports));\n","import { __exports as helpers } from '../../../../../_virtual/helpers.js';\nexport { __exports as default } from '../../../../../_virtual/helpers.js';\nimport './helpers/block-helper-missing.js';\nimport './helpers/each.js';\nimport './helpers/helper-missing.js';\nimport './helpers/if.js';\nimport './helpers/log.js';\nimport './helpers/lookup.js';\nimport './helpers/with.js';\nimport { e as each } from '../../../../../_virtual/each.js';\nimport { h as helperMissing } from '../../../../../_virtual/helper-missing.js';\nimport { _ as _if } from '../../../../../_virtual/if.js';\nimport { l as log } from '../../../../../_virtual/log.js';\nimport { l as lookup } from '../../../../../_virtual/lookup.js';\nimport { _ as _with } from '../../../../../_virtual/with.js';\nimport { b as blockHelperMissing } from '../../../../../_virtual/block-helper-missing.js';\n\nhelpers.__esModule = true;\nhelpers.registerDefaultHelpers = registerDefaultHelpers;\nhelpers.moveHelperToHooks = moveHelperToHooks; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _helpersBlockHelperMissing = blockHelperMissing.exports;\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = each.exports;\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = helperMissing.exports;\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = _if.exports;\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = log.exports;\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = lookup.exports;\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = _with.exports;\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n\n _helpersEach2['default'](instance);\n\n _helpersHelperMissing2['default'](instance);\n\n _helpersIf2['default'](instance);\n\n _helpersLog2['default'](instance);\n\n _helpersLookup2['default'](instance);\n\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n\n if (!keepHelper) {\n delete instance.helpers[helperName];\n }\n }\n}\n","import { b as blockHelperMissing } from '../../../../../../_virtual/block-helper-missing.js';\nimport '../utils.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nvar _utils = utils;\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = {\n data: data\n };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];\n}(blockHelperMissing, blockHelperMissing.exports));\n","import { commonjsGlobal } from '../../../../../../_virtual/_commonjsHelpers.js';\nimport { e as each } from '../../../../../../_virtual/each.js';\nimport '../utils.js';\nimport '../exception.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\nimport { e as exception } from '../../../../../../_virtual/exception.js';\n\n(function (module, exports) {\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = utils;\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (commonjsGlobal.Symbol && context[commonjsGlobal.Symbol.iterator]) {\n var newContext = [];\n var iterator = context[commonjsGlobal.Symbol.iterator]();\n\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n\n context = newContext;\n\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n\n priorKey = key;\n i++;\n });\n\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n}(each, each.exports));\n","import { h as helperMissing } from '../../../../../../_virtual/helper-missing.js';\nimport '../exception.js';\nimport { e as exception } from '../../../../../../_virtual/exception.js';\n\n(function (module, exports) {\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function ()\n /* [args, ]options */\n {\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];\n}(helperMissing, helperMissing.exports));\n","import { _ as _if } from '../../../../../../_virtual/if.js';\nimport '../utils.js';\nimport '../exception.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\nimport { e as exception } from '../../../../../../_virtual/exception.js';\n\n(function (module, exports) {\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = utils;\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n } // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n\n\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];\n}(_if, _if.exports));\n","import { l as log } from '../../../../../../_virtual/log.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function ()\n /* message, options */\n {\n var args = [undefined],\n options = arguments[arguments.length - 1];\n\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n\n args[0] = level;\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];\n}(log, log.exports));\n","import { l as lookup } from '../../../../../../_virtual/lookup.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];\n}(lookup, lookup.exports));\n","import { _ as _with } from '../../../../../../_virtual/with.js';\nimport '../utils.js';\nimport '../exception.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\nimport { e as exception } from '../../../../../../_virtual/exception.js';\n\n(function (module, exports) {\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = utils;\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];\n}(_with, _with.exports));\n","import { __exports as createNewLookupObject$1 } from '../../../../../../_virtual/create-new-lookup-object.js';\nexport { __exports as default } from '../../../../../../_virtual/create-new-lookup-object.js';\nimport '../utils.js';\nimport { __exports as utils } from '../../../../../../_virtual/utils.js';\n\ncreateNewLookupObject$1.__esModule = true;\ncreateNewLookupObject$1.createNewLookupObject = createNewLookupObject;\n\nvar _utils = utils;\n/**\n * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n * The resulting object can be used with \"object[property]\" to check if a property exists\n * @param {...object} sources a varargs parameter of source objects that will be merged\n * @returns {object}\n */\n\n\nfunction createNewLookupObject() {\n for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));\n}\n","import { __exports as protoAccess } from '../../../../../../_virtual/proto-access.js';\nexport { __exports as default } from '../../../../../../_virtual/proto-access.js';\nimport './create-new-lookup-object.js';\nimport '../logger.js';\nimport { __exports as createNewLookupObject } from '../../../../../../_virtual/create-new-lookup-object.js';\nimport { l as logger$1 } from '../../../../../../_virtual/logger.js';\n\nprotoAccess.__esModule = true;\nprotoAccess.createProtoAccessControl = createProtoAccessControl;\nprotoAccess.resultIsAllowed = resultIsAllowed;\nprotoAccess.resetLoggedProperties = resetLoggedProperties; // istanbul ignore next\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _createNewLookupObject = createNewLookupObject;\n\nvar _logger = logger$1.exports;\n\nvar logger = _interopRequireWildcard(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n var defaultMethodWhiteList = Object.create(null);\n defaultMethodWhiteList['constructor'] = false;\n defaultMethodWhiteList['__defineGetter__'] = false;\n defaultMethodWhiteList['__defineSetter__'] = false;\n defaultMethodWhiteList['__lookupGetter__'] = false;\n var defaultPropertyWhiteList = Object.create(null); // eslint-disable-next-line no-proto\n\n defaultPropertyWhiteList['__proto__'] = false;\n return {\n properties: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n logger.log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}\n","import { __exports as wrapHelper$1 } from '../../../../../../_virtual/wrapHelper.js';\nexport { __exports as default } from '../../../../../../_virtual/wrapHelper.js';\n\nwrapHelper$1.__esModule = true;\nwrapHelper$1.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n\n var wrapper = function wrapper()\n /* dynamic arguments */\n {\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n\n return wrapper;\n}\n","import { l as logger } from '../../../../../_virtual/logger.js';\nimport './utils.js';\nimport { __exports as utils } from '../../../../../_virtual/utils.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nvar _utils = utils;\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level]; // eslint-disable-next-line no-console\n\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\nexports['default'] = logger;\nmodule.exports = exports['default'];\n}(logger, logger.exports));\n","import { commonjsGlobal } from '../../../../../_virtual/_commonjsHelpers.js';\nimport { n as noConflict } from '../../../../../_virtual/no-conflict.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n var root = typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : window,\n $Handlebars = root.Handlebars;\n /* istanbul ignore next */\n\n Handlebars.noConflict = function () {\n if (root.Handlebars === Handlebars) {\n root.Handlebars = $Handlebars;\n }\n\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];\n}(noConflict, noConflict.exports));\n","import { __exports as runtime } from '../../../../../_virtual/runtime.js';\nexport { __exports as default } from '../../../../../_virtual/runtime.js';\nimport './utils.js';\nimport './exception.js';\nimport './base.js';\nimport './helpers.js';\nimport './internal/wrapHelper.js';\nimport './internal/proto-access.js';\nimport { __exports as utils } from '../../../../../_virtual/utils.js';\nimport { __exports as base } from '../../../../../_virtual/base.js';\nimport { __exports as protoAccess } from '../../../../../_virtual/proto-access.js';\nimport { __exports as helpers } from '../../../../../_virtual/helpers.js';\nimport { __exports as wrapHelper } from '../../../../../_virtual/wrapHelper.js';\nimport { e as exception } from '../../../../../_virtual/exception.js';\n\nruntime.__esModule = true;\nruntime.checkRevision = checkRevision;\nruntime.template = template;\nruntime.wrapProgram = wrapProgram;\nruntime.resolvePartial = resolvePartial;\nruntime.invokePartial = invokePartial;\nruntime.noop = noop; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n} // istanbul ignore next\n\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _utils = utils;\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = exception.exports;\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = base;\n\nvar _helpers = helpers;\n\nvar _internalWrapHelper = wrapHelper;\n\nvar _internalProtoAccess = protoAccess;\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d; // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n\n env.VM.checkRevision(templateSpec.compiler); // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n var extendedOptions = Utils.extend({}, options, {\n hooks: this.hooks,\n protoAccessControl: this.protoAccessControl\n });\n var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, extendedOptions);\n }\n\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n\n result = lines.join('\\n');\n }\n\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n } // Just add water\n\n\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n\n if (result == null) {\n return result;\n }\n\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n\n if (result != null) {\n return depths[i][name];\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n\n return programWrapper;\n },\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var data = options.data;\n\n ret._setup(options);\n\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context\n /*, options*/\n ) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n wrapHelpersToPassLookupProperty(mergedHelpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var currentDepths = depths;\n\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = options.data['partial-block'];\n } else {\n partial = options.partials[options.name];\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = options.partials[partial];\n }\n\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = options.data && options.data['partial-block'];\n options.partial = true;\n\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data); // Wrapper function to get access to currentPartialBlock from the closure\n\n var fn = options.fn;\n\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n\n return prog;\n}\n\nfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n Object.keys(mergedHelpers).forEach(function (helperName) {\n var helper = mergedHelpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n return Utils.extend({\n lookupProperty: lookupProperty\n }, options);\n });\n}\n","import { s as safeString } from '../../../../../_virtual/safe-string.js';\n\n(function (module, exports) {\n\nexports.__esModule = true;\n\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n}(safeString, safeString.exports));\n","import { __exports as utils } from '../../../../../_virtual/utils.js';\nexport { __exports as default } from '../../../../../_virtual/utils.js';\n\nutils.__esModule = true;\nutils.extend = extend;\nutils.indexOf = indexOf;\nutils.escapeExpression = escapeExpression;\nutils.isEmpty = isEmpty;\nutils.createFrame = createFrame;\nutils.blockParams = blockParams;\nutils.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`',\n '=': '='\n};\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj\n/* , ...source */\n) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\nutils.toString = toString; // Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n\n/* eslint-disable func-style */\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n}; // fallback for older versions of Chrome and Safari\n\n/* istanbul ignore next */\n\n\nif (isFunction(/x/)) {\n utils.isFunction = isFunction = function (value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\n\nutils.isFunction = isFunction;\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\n\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nutils.isArray = isArray; // Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n } // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n\n\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}\n","import { commonjsGlobal } from '../../_virtual/_commonjsHelpers.js';\nimport { u as underscoreMin } from '../../_virtual/underscore-min.js';\n\n(function (module, exports) {\n!function (n, r) {\n module.exports = r() ;\n}(commonjsGlobal, function () {\n // Underscore.js 1.13.1\n // https://underscorejs.org\n // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors\n // Underscore may be freely distributed under the MIT license.\n var n = \"1.13.1\",\n r = \"object\" == typeof self && self.self === self && self || \"object\" == typeof commonjsGlobal && commonjsGlobal.global === commonjsGlobal && commonjsGlobal || Function(\"return this\")() || {},\n t = Array.prototype,\n e = Object.prototype,\n u = \"undefined\" != typeof Symbol ? Symbol.prototype : null,\n o = t.push,\n i = t.slice,\n a = e.toString,\n f = e.hasOwnProperty,\n c = \"undefined\" != typeof ArrayBuffer,\n l = \"undefined\" != typeof DataView,\n s = Array.isArray,\n p = Object.keys,\n v = Object.create,\n h = c && ArrayBuffer.isView,\n y = isNaN,\n d = isFinite,\n g = !{\n toString: null\n }.propertyIsEnumerable(\"toString\"),\n b = [\"valueOf\", \"isPrototypeOf\", \"toString\", \"propertyIsEnumerable\", \"hasOwnProperty\", \"toLocaleString\"],\n m = Math.pow(2, 53) - 1;\n\n function j(n, r) {\n return r = null == r ? n.length - 1 : +r, function () {\n for (var t = Math.max(arguments.length - r, 0), e = Array(t), u = 0; u < t; u++) e[u] = arguments[u + r];\n\n switch (r) {\n case 0:\n return n.call(this, e);\n\n case 1:\n return n.call(this, arguments[0], e);\n\n case 2:\n return n.call(this, arguments[0], arguments[1], e);\n }\n\n var o = Array(r + 1);\n\n for (u = 0; u < r; u++) o[u] = arguments[u];\n\n return o[r] = e, n.apply(this, o);\n };\n }\n\n function _(n) {\n var r = typeof n;\n return \"function\" === r || \"object\" === r && !!n;\n }\n\n function w(n) {\n return void 0 === n;\n }\n\n function A(n) {\n return !0 === n || !1 === n || \"[object Boolean]\" === a.call(n);\n }\n\n function x(n) {\n var r = \"[object \" + n + \"]\";\n return function (n) {\n return a.call(n) === r;\n };\n }\n\n var S = x(\"String\"),\n O = x(\"Number\"),\n M = x(\"Date\"),\n E = x(\"RegExp\"),\n B = x(\"Error\"),\n N = x(\"Symbol\"),\n I = x(\"ArrayBuffer\"),\n T = x(\"Function\"),\n k = r.document && r.document.childNodes;\n \"function\" != typeof /./ && \"object\" != typeof Int8Array && \"function\" != typeof k && (T = function (n) {\n return \"function\" == typeof n || !1;\n });\n var D = T,\n R = x(\"Object\"),\n F = l && R(new DataView(new ArrayBuffer(8))),\n V = \"undefined\" != typeof Map && R(new Map()),\n P = x(\"DataView\");\n var q = F ? function (n) {\n return null != n && D(n.getInt8) && I(n.buffer);\n } : P,\n U = s || x(\"Array\");\n\n function W(n, r) {\n return null != n && f.call(n, r);\n }\n\n var z = x(\"Arguments\");\n !function () {\n z(arguments) || (z = function (n) {\n return W(n, \"callee\");\n });\n }();\n var L = z;\n\n function $(n) {\n return O(n) && y(n);\n }\n\n function C(n) {\n return function () {\n return n;\n };\n }\n\n function K(n) {\n return function (r) {\n var t = n(r);\n return \"number\" == typeof t && t >= 0 && t <= m;\n };\n }\n\n function J(n) {\n return function (r) {\n return null == r ? void 0 : r[n];\n };\n }\n\n var G = J(\"byteLength\"),\n H = K(G),\n Q = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\n var X = c ? function (n) {\n return h ? h(n) && !q(n) : H(n) && Q.test(a.call(n));\n } : C(!1),\n Y = J(\"length\");\n\n function Z(n, r) {\n r = function (n) {\n for (var r = {}, t = n.length, e = 0; e < t; ++e) r[n[e]] = !0;\n\n return {\n contains: function (n) {\n return r[n];\n },\n push: function (t) {\n return r[t] = !0, n.push(t);\n }\n };\n }(r);\n\n var t = b.length,\n u = n.constructor,\n o = D(u) && u.prototype || e,\n i = \"constructor\";\n\n for (W(n, i) && !r.contains(i) && r.push(i); t--;) (i = b[t]) in n && n[i] !== o[i] && !r.contains(i) && r.push(i);\n }\n\n function nn(n) {\n if (!_(n)) return [];\n if (p) return p(n);\n var r = [];\n\n for (var t in n) W(n, t) && r.push(t);\n\n return g && Z(n, r), r;\n }\n\n function rn(n, r) {\n var t = nn(r),\n e = t.length;\n if (null == n) return !e;\n\n for (var u = Object(n), o = 0; o < e; o++) {\n var i = t[o];\n if (r[i] !== u[i] || !(i in u)) return !1;\n }\n\n return !0;\n }\n\n function tn(n) {\n return n instanceof tn ? n : this instanceof tn ? void (this._wrapped = n) : new tn(n);\n }\n\n function en(n) {\n return new Uint8Array(n.buffer || n, n.byteOffset || 0, G(n));\n }\n\n tn.VERSION = n, tn.prototype.value = function () {\n return this._wrapped;\n }, tn.prototype.valueOf = tn.prototype.toJSON = tn.prototype.value, tn.prototype.toString = function () {\n return String(this._wrapped);\n };\n var un = \"[object DataView]\";\n\n function on(n, r, t, e) {\n if (n === r) return 0 !== n || 1 / n == 1 / r;\n if (null == n || null == r) return !1;\n if (n != n) return r != r;\n var o = typeof n;\n return (\"function\" === o || \"object\" === o || \"object\" == typeof r) && function n(r, t, e, o) {\n r instanceof tn && (r = r._wrapped);\n t instanceof tn && (t = t._wrapped);\n var i = a.call(r);\n if (i !== a.call(t)) return !1;\n\n if (F && \"[object Object]\" == i && q(r)) {\n if (!q(t)) return !1;\n i = un;\n }\n\n switch (i) {\n case \"[object RegExp]\":\n case \"[object String]\":\n return \"\" + r == \"\" + t;\n\n case \"[object Number]\":\n return +r != +r ? +t != +t : 0 == +r ? 1 / +r == 1 / t : +r == +t;\n\n case \"[object Date]\":\n case \"[object Boolean]\":\n return +r == +t;\n\n case \"[object Symbol]\":\n return u.valueOf.call(r) === u.valueOf.call(t);\n\n case \"[object ArrayBuffer]\":\n case un:\n return n(en(r), en(t), e, o);\n }\n\n var f = \"[object Array]\" === i;\n\n if (!f && X(r)) {\n if (G(r) !== G(t)) return !1;\n if (r.buffer === t.buffer && r.byteOffset === t.byteOffset) return !0;\n f = !0;\n }\n\n if (!f) {\n if (\"object\" != typeof r || \"object\" != typeof t) return !1;\n var c = r.constructor,\n l = t.constructor;\n if (c !== l && !(D(c) && c instanceof c && D(l) && l instanceof l) && \"constructor\" in r && \"constructor\" in t) return !1;\n }\n\n o = o || [];\n var s = (e = e || []).length;\n\n for (; s--;) if (e[s] === r) return o[s] === t;\n\n if (e.push(r), o.push(t), f) {\n if ((s = r.length) !== t.length) return !1;\n\n for (; s--;) if (!on(r[s], t[s], e, o)) return !1;\n } else {\n var p,\n v = nn(r);\n if (s = v.length, nn(t).length !== s) return !1;\n\n for (; s--;) if (p = v[s], !W(t, p) || !on(r[p], t[p], e, o)) return !1;\n }\n\n return e.pop(), o.pop(), !0;\n }(n, r, t, e);\n }\n\n function an(n) {\n if (!_(n)) return [];\n var r = [];\n\n for (var t in n) r.push(t);\n\n return g && Z(n, r), r;\n }\n\n function fn(n) {\n var r = Y(n);\n return function (t) {\n if (null == t) return !1;\n var e = an(t);\n if (Y(e)) return !1;\n\n for (var u = 0; u < r; u++) if (!D(t[n[u]])) return !1;\n\n return n !== hn || !D(t[cn]);\n };\n }\n\n var cn = \"forEach\",\n ln = \"has\",\n sn = [\"clear\", \"delete\"],\n pn = [\"get\", ln, \"set\"],\n vn = sn.concat(cn, pn),\n hn = sn.concat(pn),\n yn = [\"add\"].concat(sn, cn, ln),\n dn = V ? fn(vn) : x(\"Map\"),\n gn = V ? fn(hn) : x(\"WeakMap\"),\n bn = V ? fn(yn) : x(\"Set\"),\n mn = x(\"WeakSet\");\n\n function jn(n) {\n for (var r = nn(n), t = r.length, e = Array(t), u = 0; u < t; u++) e[u] = n[r[u]];\n\n return e;\n }\n\n function _n(n) {\n for (var r = {}, t = nn(n), e = 0, u = t.length; e < u; e++) r[n[t[e]]] = t[e];\n\n return r;\n }\n\n function wn(n) {\n var r = [];\n\n for (var t in n) D(n[t]) && r.push(t);\n\n return r.sort();\n }\n\n function An(n, r) {\n return function (t) {\n var e = arguments.length;\n if (r && (t = Object(t)), e < 2 || null == t) return t;\n\n for (var u = 1; u < e; u++) for (var o = arguments[u], i = n(o), a = i.length, f = 0; f < a; f++) {\n var c = i[f];\n r && void 0 !== t[c] || (t[c] = o[c]);\n }\n\n return t;\n };\n }\n\n var xn = An(an),\n Sn = An(nn),\n On = An(an, !0);\n\n function Mn(n) {\n if (!_(n)) return {};\n if (v) return v(n);\n\n var r = function () {};\n\n r.prototype = n;\n var t = new r();\n return r.prototype = null, t;\n }\n\n function En(n) {\n return _(n) ? U(n) ? n.slice() : xn({}, n) : n;\n }\n\n function Bn(n) {\n return U(n) ? n : [n];\n }\n\n function Nn(n) {\n return tn.toPath(n);\n }\n\n function In(n, r) {\n for (var t = r.length, e = 0; e < t; e++) {\n if (null == n) return;\n n = n[r[e]];\n }\n\n return t ? n : void 0;\n }\n\n function Tn(n, r, t) {\n var e = In(n, Nn(r));\n return w(e) ? t : e;\n }\n\n function kn(n) {\n return n;\n }\n\n function Dn(n) {\n return n = Sn({}, n), function (r) {\n return rn(r, n);\n };\n }\n\n function Rn(n) {\n return n = Nn(n), function (r) {\n return In(r, n);\n };\n }\n\n function Fn(n, r, t) {\n if (void 0 === r) return n;\n\n switch (null == t ? 3 : t) {\n case 1:\n return function (t) {\n return n.call(r, t);\n };\n\n case 3:\n return function (t, e, u) {\n return n.call(r, t, e, u);\n };\n\n case 4:\n return function (t, e, u, o) {\n return n.call(r, t, e, u, o);\n };\n }\n\n return function () {\n return n.apply(r, arguments);\n };\n }\n\n function Vn(n, r, t) {\n return null == n ? kn : D(n) ? Fn(n, r, t) : _(n) && !U(n) ? Dn(n) : Rn(n);\n }\n\n function Pn(n, r) {\n return Vn(n, r, 1 / 0);\n }\n\n function qn(n, r, t) {\n return tn.iteratee !== Pn ? tn.iteratee(n, r) : Vn(n, r, t);\n }\n\n function Un() {}\n\n function Wn(n, r) {\n return null == r && (r = n, n = 0), n + Math.floor(Math.random() * (r - n + 1));\n }\n\n tn.toPath = Bn, tn.iteratee = Pn;\n\n var zn = Date.now || function () {\n return new Date().getTime();\n };\n\n function Ln(n) {\n var r = function (r) {\n return n[r];\n },\n t = \"(?:\" + nn(n).join(\"|\") + \")\",\n e = RegExp(t),\n u = RegExp(t, \"g\");\n\n return function (n) {\n return n = null == n ? \"\" : \"\" + n, e.test(n) ? n.replace(u, r) : n;\n };\n }\n\n var $n = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"`\": \"`\"\n },\n Cn = Ln($n),\n Kn = Ln(_n($n)),\n Jn = tn.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n },\n Gn = /(.)^/,\n Hn = {\n \"'\": \"'\",\n \"\\\\\": \"\\\\\",\n \"\\r\": \"r\",\n \"\\n\": \"n\",\n \"\\u2028\": \"u2028\",\n \"\\u2029\": \"u2029\"\n },\n Qn = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n function Xn(n) {\n return \"\\\\\" + Hn[n];\n }\n\n var Yn = /^\\s*(\\w|\\$)+\\s*$/;\n var Zn = 0;\n\n function nr(n, r, t, e, u) {\n if (!(e instanceof r)) return n.apply(t, u);\n var o = Mn(n.prototype),\n i = n.apply(o, u);\n return _(i) ? i : o;\n }\n\n var rr = j(function (n, r) {\n var t = rr.placeholder,\n e = function () {\n for (var u = 0, o = r.length, i = Array(o), a = 0; a < o; a++) i[a] = r[a] === t ? arguments[u++] : r[a];\n\n for (; u < arguments.length;) i.push(arguments[u++]);\n\n return nr(n, e, this, this, i);\n };\n\n return e;\n });\n rr.placeholder = tn;\n var tr = j(function (n, r, t) {\n if (!D(n)) throw new TypeError(\"Bind must be called on a function\");\n var e = j(function (u) {\n return nr(n, e, r, this, t.concat(u));\n });\n return e;\n }),\n er = K(Y);\n\n function ur(n, r, t, e) {\n if (e = e || [], r || 0 === r) {\n if (r <= 0) return e.concat(n);\n } else r = 1 / 0;\n\n for (var u = e.length, o = 0, i = Y(n); o < i; o++) {\n var a = n[o];\n if (er(a) && (U(a) || L(a))) {\n if (r > 1) ur(a, r - 1, t, e), u = e.length;else for (var f = 0, c = a.length; f < c;) e[u++] = a[f++];\n } else t || (e[u++] = a);\n }\n\n return e;\n }\n\n var or = j(function (n, r) {\n var t = (r = ur(r, !1, !1)).length;\n if (t < 1) throw new Error(\"bindAll must be passed function names\");\n\n for (; t--;) {\n var e = r[t];\n n[e] = tr(n[e], n);\n }\n\n return n;\n });\n var ir = j(function (n, r, t) {\n return setTimeout(function () {\n return n.apply(null, t);\n }, r);\n }),\n ar = rr(ir, tn, 1);\n\n function fr(n) {\n return function () {\n return !n.apply(this, arguments);\n };\n }\n\n function cr(n, r) {\n var t;\n return function () {\n return --n > 0 && (t = r.apply(this, arguments)), n <= 1 && (r = null), t;\n };\n }\n\n var lr = rr(cr, 2);\n\n function sr(n, r, t) {\n r = qn(r, t);\n\n for (var e, u = nn(n), o = 0, i = u.length; o < i; o++) if (r(n[e = u[o]], e, n)) return e;\n }\n\n function pr(n) {\n return function (r, t, e) {\n t = qn(t, e);\n\n for (var u = Y(r), o = n > 0 ? 0 : u - 1; o >= 0 && o < u; o += n) if (t(r[o], o, r)) return o;\n\n return -1;\n };\n }\n\n var vr = pr(1),\n hr = pr(-1);\n\n function yr(n, r, t, e) {\n for (var u = (t = qn(t, e, 1))(r), o = 0, i = Y(n); o < i;) {\n var a = Math.floor((o + i) / 2);\n t(n[a]) < u ? o = a + 1 : i = a;\n }\n\n return o;\n }\n\n function dr(n, r, t) {\n return function (e, u, o) {\n var a = 0,\n f = Y(e);\n if (\"number\" == typeof o) n > 0 ? a = o >= 0 ? o : Math.max(o + f, a) : f = o >= 0 ? Math.min(o + 1, f) : o + f + 1;else if (t && o && f) return e[o = t(e, u)] === u ? o : -1;\n if (u != u) return (o = r(i.call(e, a, f), $)) >= 0 ? o + a : -1;\n\n for (o = n > 0 ? a : f - 1; o >= 0 && o < f; o += n) if (e[o] === u) return o;\n\n return -1;\n };\n }\n\n var gr = dr(1, vr, yr),\n br = dr(-1, hr);\n\n function mr(n, r, t) {\n var e = (er(n) ? vr : sr)(n, r, t);\n if (void 0 !== e && -1 !== e) return n[e];\n }\n\n function jr(n, r, t) {\n var e, u;\n if (r = Fn(r, t), er(n)) for (e = 0, u = n.length; e < u; e++) r(n[e], e, n);else {\n var o = nn(n);\n\n for (e = 0, u = o.length; e < u; e++) r(n[o[e]], o[e], n);\n }\n return n;\n }\n\n function _r(n, r, t) {\n r = qn(r, t);\n\n for (var e = !er(n) && nn(n), u = (e || n).length, o = Array(u), i = 0; i < u; i++) {\n var a = e ? e[i] : i;\n o[i] = r(n[a], a, n);\n }\n\n return o;\n }\n\n function wr(n) {\n var r = function (r, t, e, u) {\n var o = !er(r) && nn(r),\n i = (o || r).length,\n a = n > 0 ? 0 : i - 1;\n\n for (u || (e = r[o ? o[a] : a], a += n); a >= 0 && a < i; a += n) {\n var f = o ? o[a] : a;\n e = t(e, r[f], f, r);\n }\n\n return e;\n };\n\n return function (n, t, e, u) {\n var o = arguments.length >= 3;\n return r(n, Fn(t, u, 4), e, o);\n };\n }\n\n var Ar = wr(1),\n xr = wr(-1);\n\n function Sr(n, r, t) {\n var e = [];\n return r = qn(r, t), jr(n, function (n, t, u) {\n r(n, t, u) && e.push(n);\n }), e;\n }\n\n function Or(n, r, t) {\n r = qn(r, t);\n\n for (var e = !er(n) && nn(n), u = (e || n).length, o = 0; o < u; o++) {\n var i = e ? e[o] : o;\n if (!r(n[i], i, n)) return !1;\n }\n\n return !0;\n }\n\n function Mr(n, r, t) {\n r = qn(r, t);\n\n for (var e = !er(n) && nn(n), u = (e || n).length, o = 0; o < u; o++) {\n var i = e ? e[o] : o;\n if (r(n[i], i, n)) return !0;\n }\n\n return !1;\n }\n\n function Er(n, r, t, e) {\n return er(n) || (n = jn(n)), (\"number\" != typeof t || e) && (t = 0), gr(n, r, t) >= 0;\n }\n\n var Br = j(function (n, r, t) {\n var e, u;\n return D(r) ? u = r : (r = Nn(r), e = r.slice(0, -1), r = r[r.length - 1]), _r(n, function (n) {\n var o = u;\n\n if (!o) {\n if (e && e.length && (n = In(n, e)), null == n) return;\n o = n[r];\n }\n\n return null == o ? o : o.apply(n, t);\n });\n });\n\n function Nr(n, r) {\n return _r(n, Rn(r));\n }\n\n function Ir(n, r, t) {\n var e,\n u,\n o = -1 / 0,\n i = -1 / 0;\n if (null == r || \"number\" == typeof r && \"object\" != typeof n[0] && null != n) for (var a = 0, f = (n = er(n) ? n : jn(n)).length; a < f; a++) null != (e = n[a]) && e > o && (o = e);else r = qn(r, t), jr(n, function (n, t, e) {\n ((u = r(n, t, e)) > i || u === -1 / 0 && o === -1 / 0) && (o = n, i = u);\n });\n return o;\n }\n\n function Tr(n, r, t) {\n if (null == r || t) return er(n) || (n = jn(n)), n[Wn(n.length - 1)];\n var e = er(n) ? En(n) : jn(n),\n u = Y(e);\n r = Math.max(Math.min(r, u), 0);\n\n for (var o = u - 1, i = 0; i < r; i++) {\n var a = Wn(i, o),\n f = e[i];\n e[i] = e[a], e[a] = f;\n }\n\n return e.slice(0, r);\n }\n\n function kr(n, r) {\n return function (t, e, u) {\n var o = r ? [[], []] : {};\n return e = qn(e, u), jr(t, function (r, u) {\n var i = e(r, u, t);\n n(o, r, i);\n }), o;\n };\n }\n\n var Dr = kr(function (n, r, t) {\n W(n, t) ? n[t].push(r) : n[t] = [r];\n }),\n Rr = kr(function (n, r, t) {\n n[t] = r;\n }),\n Fr = kr(function (n, r, t) {\n W(n, t) ? n[t]++ : n[t] = 1;\n }),\n Vr = kr(function (n, r, t) {\n n[t ? 0 : 1].push(r);\n }, !0),\n Pr = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n\n function qr(n, r, t) {\n return r in t;\n }\n\n var Ur = j(function (n, r) {\n var t = {},\n e = r[0];\n if (null == n) return t;\n D(e) ? (r.length > 1 && (e = Fn(e, r[1])), r = an(n)) : (e = qr, r = ur(r, !1, !1), n = Object(n));\n\n for (var u = 0, o = r.length; u < o; u++) {\n var i = r[u],\n a = n[i];\n e(a, i, n) && (t[i] = a);\n }\n\n return t;\n }),\n Wr = j(function (n, r) {\n var t,\n e = r[0];\n return D(e) ? (e = fr(e), r.length > 1 && (t = r[1])) : (r = _r(ur(r, !1, !1), String), e = function (n, t) {\n return !Er(r, t);\n }), Ur(n, e, t);\n });\n\n function zr(n, r, t) {\n return i.call(n, 0, Math.max(0, n.length - (null == r || t ? 1 : r)));\n }\n\n function Lr(n, r, t) {\n return null == n || n.length < 1 ? null == r || t ? void 0 : [] : null == r || t ? n[0] : zr(n, n.length - r);\n }\n\n function $r(n, r, t) {\n return i.call(n, null == r || t ? 1 : r);\n }\n\n var Cr = j(function (n, r) {\n return r = ur(r, !0, !0), Sr(n, function (n) {\n return !Er(r, n);\n });\n }),\n Kr = j(function (n, r) {\n return Cr(n, r);\n });\n\n function Jr(n, r, t, e) {\n A(r) || (e = t, t = r, r = !1), null != t && (t = qn(t, e));\n\n for (var u = [], o = [], i = 0, a = Y(n); i < a; i++) {\n var f = n[i],\n c = t ? t(f, i, n) : f;\n r && !t ? (i && o === c || u.push(f), o = c) : t ? Er(o, c) || (o.push(c), u.push(f)) : Er(u, f) || u.push(f);\n }\n\n return u;\n }\n\n var Gr = j(function (n) {\n return Jr(ur(n, !0, !0));\n });\n\n function Hr(n) {\n for (var r = n && Ir(n, Y).length || 0, t = Array(r), e = 0; e < r; e++) t[e] = Nr(n, e);\n\n return t;\n }\n\n var Qr = j(Hr);\n\n function Xr(n, r) {\n return n._chain ? tn(r).chain() : r;\n }\n\n function Yr(n) {\n return jr(wn(n), function (r) {\n var t = tn[r] = n[r];\n\n tn.prototype[r] = function () {\n var n = [this._wrapped];\n return o.apply(n, arguments), Xr(this, t.apply(tn, n));\n };\n }), tn;\n }\n\n jr([\"pop\", \"push\", \"reverse\", \"shift\", \"sort\", \"splice\", \"unshift\"], function (n) {\n var r = t[n];\n\n tn.prototype[n] = function () {\n var t = this._wrapped;\n return null != t && (r.apply(t, arguments), \"shift\" !== n && \"splice\" !== n || 0 !== t.length || delete t[0]), Xr(this, t);\n };\n }), jr([\"concat\", \"join\", \"slice\"], function (n) {\n var r = t[n];\n\n tn.prototype[n] = function () {\n var n = this._wrapped;\n return null != n && (n = r.apply(n, arguments)), Xr(this, n);\n };\n });\n var Zr = Yr({\n __proto__: null,\n VERSION: n,\n restArguments: j,\n isObject: _,\n isNull: function (n) {\n return null === n;\n },\n isUndefined: w,\n isBoolean: A,\n isElement: function (n) {\n return !(!n || 1 !== n.nodeType);\n },\n isString: S,\n isNumber: O,\n isDate: M,\n isRegExp: E,\n isError: B,\n isSymbol: N,\n isArrayBuffer: I,\n isDataView: q,\n isArray: U,\n isFunction: D,\n isArguments: L,\n isFinite: function (n) {\n return !N(n) && d(n) && !isNaN(parseFloat(n));\n },\n isNaN: $,\n isTypedArray: X,\n isEmpty: function (n) {\n if (null == n) return !0;\n var r = Y(n);\n return \"number\" == typeof r && (U(n) || S(n) || L(n)) ? 0 === r : 0 === Y(nn(n));\n },\n isMatch: rn,\n isEqual: function (n, r) {\n return on(n, r);\n },\n isMap: dn,\n isWeakMap: gn,\n isSet: bn,\n isWeakSet: mn,\n keys: nn,\n allKeys: an,\n values: jn,\n pairs: function (n) {\n for (var r = nn(n), t = r.length, e = Array(t), u = 0; u < t; u++) e[u] = [r[u], n[r[u]]];\n\n return e;\n },\n invert: _n,\n functions: wn,\n methods: wn,\n extend: xn,\n extendOwn: Sn,\n assign: Sn,\n defaults: On,\n create: function (n, r) {\n var t = Mn(n);\n return r && Sn(t, r), t;\n },\n clone: En,\n tap: function (n, r) {\n return r(n), n;\n },\n get: Tn,\n has: function (n, r) {\n for (var t = (r = Nn(r)).length, e = 0; e < t; e++) {\n var u = r[e];\n if (!W(n, u)) return !1;\n n = n[u];\n }\n\n return !!t;\n },\n mapObject: function (n, r, t) {\n r = qn(r, t);\n\n for (var e = nn(n), u = e.length, o = {}, i = 0; i < u; i++) {\n var a = e[i];\n o[a] = r(n[a], a, n);\n }\n\n return o;\n },\n identity: kn,\n constant: C,\n noop: Un,\n toPath: Bn,\n property: Rn,\n propertyOf: function (n) {\n return null == n ? Un : function (r) {\n return Tn(n, r);\n };\n },\n matcher: Dn,\n matches: Dn,\n times: function (n, r, t) {\n var e = Array(Math.max(0, n));\n r = Fn(r, t, 1);\n\n for (var u = 0; u < n; u++) e[u] = r(u);\n\n return e;\n },\n random: Wn,\n now: zn,\n escape: Cn,\n unescape: Kn,\n templateSettings: Jn,\n template: function (n, r, t) {\n !r && t && (r = t), r = On({}, r, tn.templateSettings);\n var e = RegExp([(r.escape || Gn).source, (r.interpolate || Gn).source, (r.evaluate || Gn).source].join(\"|\") + \"|$\", \"g\"),\n u = 0,\n o = \"__p+='\";\n n.replace(e, function (r, t, e, i, a) {\n return o += n.slice(u, a).replace(Qn, Xn), u = a + r.length, t ? o += \"'+\\n((__t=(\" + t + \"))==null?'':_.escape(__t))+\\n'\" : e ? o += \"'+\\n((__t=(\" + e + \"))==null?'':__t)+\\n'\" : i && (o += \"';\\n\" + i + \"\\n__p+='\"), r;\n }), o += \"';\\n\";\n var i,\n a = r.variable;\n\n if (a) {\n if (!Yn.test(a)) throw new Error(\"variable is not a bare identifier: \" + a);\n } else o = \"with(obj||{}){\\n\" + o + \"}\\n\", a = \"obj\";\n\n o = \"var __t,__p='',__j=Array.prototype.join,\" + \"print=function(){__p+=__j.call(arguments,'');};\\n\" + o + \"return __p;\\n\";\n\n try {\n i = new Function(a, \"_\", o);\n } catch (n) {\n throw n.source = o, n;\n }\n\n var f = function (n) {\n return i.call(this, n, tn);\n };\n\n return f.source = \"function(\" + a + \"){\\n\" + o + \"}\", f;\n },\n result: function (n, r, t) {\n var e = (r = Nn(r)).length;\n if (!e) return D(t) ? t.call(n) : t;\n\n for (var u = 0; u < e; u++) {\n var o = null == n ? void 0 : n[r[u]];\n void 0 === o && (o = t, u = e), n = D(o) ? o.call(n) : o;\n }\n\n return n;\n },\n uniqueId: function (n) {\n var r = ++Zn + \"\";\n return n ? n + r : r;\n },\n chain: function (n) {\n var r = tn(n);\n return r._chain = !0, r;\n },\n iteratee: Pn,\n partial: rr,\n bind: tr,\n bindAll: or,\n memoize: function (n, r) {\n var t = function (e) {\n var u = t.cache,\n o = \"\" + (r ? r.apply(this, arguments) : e);\n return W(u, o) || (u[o] = n.apply(this, arguments)), u[o];\n };\n\n return t.cache = {}, t;\n },\n delay: ir,\n defer: ar,\n throttle: function (n, r, t) {\n var e,\n u,\n o,\n i,\n a = 0;\n t || (t = {});\n\n var f = function () {\n a = !1 === t.leading ? 0 : zn(), e = null, i = n.apply(u, o), e || (u = o = null);\n },\n c = function () {\n var c = zn();\n a || !1 !== t.leading || (a = c);\n var l = r - (c - a);\n return u = this, o = arguments, l <= 0 || l > r ? (e && (clearTimeout(e), e = null), a = c, i = n.apply(u, o), e || (u = o = null)) : e || !1 === t.trailing || (e = setTimeout(f, l)), i;\n };\n\n return c.cancel = function () {\n clearTimeout(e), a = 0, e = u = o = null;\n }, c;\n },\n debounce: function (n, r, t) {\n var e,\n u,\n o,\n i,\n a,\n f = function () {\n var c = zn() - u;\n r > c ? e = setTimeout(f, r - c) : (e = null, t || (i = n.apply(a, o)), e || (o = a = null));\n },\n c = j(function (c) {\n return a = this, o = c, u = zn(), e || (e = setTimeout(f, r), t && (i = n.apply(a, o))), i;\n });\n\n return c.cancel = function () {\n clearTimeout(e), e = o = a = null;\n }, c;\n },\n wrap: function (n, r) {\n return rr(r, n);\n },\n negate: fr,\n compose: function () {\n var n = arguments,\n r = n.length - 1;\n return function () {\n for (var t = r, e = n[r].apply(this, arguments); t--;) e = n[t].call(this, e);\n\n return e;\n };\n },\n after: function (n, r) {\n return function () {\n if (--n < 1) return r.apply(this, arguments);\n };\n },\n before: cr,\n once: lr,\n findKey: sr,\n findIndex: vr,\n findLastIndex: hr,\n sortedIndex: yr,\n indexOf: gr,\n lastIndexOf: br,\n find: mr,\n detect: mr,\n findWhere: function (n, r) {\n return mr(n, Dn(r));\n },\n each: jr,\n forEach: jr,\n map: _r,\n collect: _r,\n reduce: Ar,\n foldl: Ar,\n inject: Ar,\n reduceRight: xr,\n foldr: xr,\n filter: Sr,\n select: Sr,\n reject: function (n, r, t) {\n return Sr(n, fr(qn(r)), t);\n },\n every: Or,\n all: Or,\n some: Mr,\n any: Mr,\n contains: Er,\n includes: Er,\n include: Er,\n invoke: Br,\n pluck: Nr,\n where: function (n, r) {\n return Sr(n, Dn(r));\n },\n max: Ir,\n min: function (n, r, t) {\n var e,\n u,\n o = 1 / 0,\n i = 1 / 0;\n if (null == r || \"number\" == typeof r && \"object\" != typeof n[0] && null != n) for (var a = 0, f = (n = er(n) ? n : jn(n)).length; a < f; a++) null != (e = n[a]) && e < o && (o = e);else r = qn(r, t), jr(n, function (n, t, e) {\n ((u = r(n, t, e)) < i || u === 1 / 0 && o === 1 / 0) && (o = n, i = u);\n });\n return o;\n },\n shuffle: function (n) {\n return Tr(n, 1 / 0);\n },\n sample: Tr,\n sortBy: function (n, r, t) {\n var e = 0;\n return r = qn(r, t), Nr(_r(n, function (n, t, u) {\n return {\n value: n,\n index: e++,\n criteria: r(n, t, u)\n };\n }).sort(function (n, r) {\n var t = n.criteria,\n e = r.criteria;\n\n if (t !== e) {\n if (t > e || void 0 === t) return 1;\n if (t < e || void 0 === e) return -1;\n }\n\n return n.index - r.index;\n }), \"value\");\n },\n groupBy: Dr,\n indexBy: Rr,\n countBy: Fr,\n partition: Vr,\n toArray: function (n) {\n return n ? U(n) ? i.call(n) : S(n) ? n.match(Pr) : er(n) ? _r(n, kn) : jn(n) : [];\n },\n size: function (n) {\n return null == n ? 0 : er(n) ? n.length : nn(n).length;\n },\n pick: Ur,\n omit: Wr,\n first: Lr,\n head: Lr,\n take: Lr,\n initial: zr,\n last: function (n, r, t) {\n return null == n || n.length < 1 ? null == r || t ? void 0 : [] : null == r || t ? n[n.length - 1] : $r(n, Math.max(0, n.length - r));\n },\n rest: $r,\n tail: $r,\n drop: $r,\n compact: function (n) {\n return Sr(n, Boolean);\n },\n flatten: function (n, r) {\n return ur(n, r, !1);\n },\n without: Kr,\n uniq: Jr,\n unique: Jr,\n union: Gr,\n intersection: function (n) {\n for (var r = [], t = arguments.length, e = 0, u = Y(n); e < u; e++) {\n var o = n[e];\n\n if (!Er(r, o)) {\n var i;\n\n for (i = 1; i < t && Er(arguments[i], o); i++);\n\n i === t && r.push(o);\n }\n }\n\n return r;\n },\n difference: Cr,\n unzip: Hr,\n transpose: Hr,\n zip: Qr,\n object: function (n, r) {\n for (var t = {}, e = 0, u = Y(n); e < u; e++) r ? t[n[e]] = r[e] : t[n[e][0]] = n[e][1];\n\n return t;\n },\n range: function (n, r, t) {\n null == r && (r = n || 0, n = 0), t || (t = r < n ? -1 : 1);\n\n for (var e = Math.max(Math.ceil((r - n) / t), 0), u = Array(e), o = 0; o < e; o++, n += t) u[o] = n;\n\n return u;\n },\n chunk: function (n, r) {\n if (null == r || r < 1) return [];\n\n for (var t = [], e = 0, u = n.length; e < u;) t.push(i.call(n, e, e += r));\n\n return t;\n },\n mixin: Yr,\n default: tn\n });\n return Zr._ = Zr, Zr;\n});\n}(underscoreMin));\n\nvar _ = underscoreMin.exports;\n\nexport { _ as default };\n","import BaseCollection from './courage/models/BaseCollection.js';\nexport { default as BaseModel } from './courage/models/BaseModel.js';\nimport BaseSchema from './courage/models/BaseSchema.js';\nexport { default as Model } from './courage/models/Model.js';\nimport SchemaProperty from './courage/models/SchemaProperty.js';\nimport BaseController from './courage/util/BaseController.js';\nimport BaseRouter from './courage/util/BaseRouter.js';\nimport ButtonFactory from './courage/util/ButtonFactory.js';\nimport Class from './courage/util/Class.js';\nimport Cookie from './courage/util/Cookie.js';\nimport Clipboard from './courage/util/Clipboard.js';\nimport Keys from './courage/util/Keys.js';\nimport Logger from './courage/util/Logger.js';\nimport StringUtil from './courage/util/StringUtil.js';\nimport Util from './courage/util/Util.js';\nexport { default as Handlebars } from '../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport './courage/util/handlebars/handle-url.js';\nimport './courage/util/handlebars/helper-i18n.js';\nexport { default as $ } from './courage/util/jquery-wrapper.js';\nexport { default as _ } from './courage/util/underscore-wrapper.js';\nexport { default as ListView } from './courage/views/Backbone.ListView.js';\nimport BaseView from './courage/views/BaseView.js';\nimport BaseDropDown from './courage/views/components/BaseDropDown.js';\nimport Notification from './courage/views/components/Notification.js';\nimport BaseForm from './courage/views/forms/BaseForm.js';\nimport Toolbar from './courage/views/forms/components/Toolbar.js';\nimport FormUtil from './courage/views/forms/helpers/FormUtil.js';\nimport InputRegistry from './courage/views/forms/helpers/InputRegistry.js';\nimport SchemaFormFactory from './courage/views/forms/helpers/SchemaFormFactory.js';\nimport BaseInput from './courage/views/forms/BaseInput.js';\nimport CheckBox from './courage/views/forms/inputs/CheckBox.js';\nimport PasswordBox from './courage/views/forms/inputs/PasswordBox.js';\nimport Radio from './courage/views/forms/inputs/Radio.js';\nimport Select from './courage/views/forms/inputs/Select.js';\nimport InputGroup from './courage/views/forms/inputs/InputGroup.js';\nimport TextBox from './courage/views/forms/inputs/TextBox.js';\nimport Callout from './courage/views/components/Callout.js';\nexport { default as Backbone } from './courage/vendor/lib/backbone.js';\nimport FrameworkView from './courage/framework/View.js';\nexport { default as FrameworkView } from './courage/framework/View.js';\nimport './util/scrollParent.js';\nexport { isModelPropertySchema } from './courage/framework/Model.js';\nimport './courage/util/SettingsModel.js';\n\nconst Controller = BaseController.extend({\n // The courage BaseController renders asynchronously in current versions of jQuery\n // https://github.com/okta/okta-ui/blob/master/packages/courage/src/util/BaseController.ts#L117-L119\n // https://api.jquery.com/jquery/#jQuery-callback\n // Override so that render is synchronous\n render: function (...args) {\n BaseView.prototype.render.apply(this, args);\n return this;\n }\n});\n\nSelect.prototype.remove = function () {\n // Patched to remove unneeded call to\n // this.$select.trigger('remove');\n // which causes error on IE11\n return BaseInput.prototype.remove.apply(this, arguments);\n}; // The string will be returned unchanged. All templates should be precompiled.\n\n\nFrameworkView.prototype.compileTemplate = function (str) {\n const compiledTmpl = function fakeTemplate() {\n return str;\n };\n\n compiledTmpl.source = ''; // to satisfy TS\n\n return compiledTmpl;\n}; // Override events to not support `Enter` submitting the form twice - OKTA-321999 and OKTA-317629\n\n\nconst events = {\n 'input input': 'update',\n 'change input': 'update',\n 'keydown input': 'update',\n 'keyup input': function (e) {\n if (Keys.isEsc(e)) {\n this.model.trigger('form:cancel');\n }\n }\n};\nconst TextBoxForSigninWidget = TextBox.extend({\n events: events\n});\nconst PasswordBoxForSigninWidget = PasswordBox.extend({\n events: events\n});\nconst Form = BaseForm.extend({\n scrollOnError: function () {\n // scrollOnError is true by default. Override to false if `scrollOnError` has been set to false in widget settings.\n const {\n settings: settings\n } = this.options;\n\n if (settings.get('features.scrollOnError') === false) {\n return false;\n }\n\n return true;\n }\n});\nconst loc = StringUtil.localize;\nconst createButton = ButtonFactory.create;\nconst createCallout = Callout.create;\nconst registerInput = InputRegistry.register;\nconst Collection = BaseCollection;\nconst View = BaseView;\nconst Router = BaseRouter;\nconst internal = {\n util: {\n Util: Util,\n Cookie: Cookie,\n Clipboard: Clipboard,\n Logger: Logger,\n Class: Class,\n Keys: Keys\n },\n views: {\n components: {\n BaseDropDown: BaseDropDown,\n Notification: Notification\n },\n forms: {\n helpers: {\n FormUtil: FormUtil,\n SchemaFormFactory: SchemaFormFactory\n },\n components: {\n Toolbar: Toolbar\n },\n inputs: {\n TextBox: TextBoxForSigninWidget,\n PasswordBox: PasswordBoxForSigninWidget,\n CheckBox: CheckBox,\n Radio: Radio,\n Select: Select,\n InputGroup: InputGroup\n }\n }\n },\n models: {\n BaseSchema: BaseSchema,\n SchemaProperty: SchemaProperty\n }\n};\nregisterInput('text', TextBoxForSigninWidget);\nregisterInput('password', PasswordBoxForSigninWidget);\nregisterInput('checkbox', CheckBox);\nregisterInput('radio', Radio);\nregisterInput('select', Select);\nregisterInput('group', InputGroup);\n\nexport { Collection, Controller, Form, Router, View, createButton, createCallout, internal, loc, registerInput };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport Backbone from '../vendor/lib/backbone.js';\n\nvar STATE = '__STATE__';\nvar FETCH_DATA = 'FETCH_DATA';\nvar PAGINATION_DATA = 'PAGINATION_DATA';\nvar DEFAULT_PARAMS = 'DEFAULT_PARAMS';\nvar LINK_BY_HEADER = 'LINK_BY_HEADER';\nvar XHR = 'XHR'; // ################################################\n// # Source: https://gist.github.com/deiu/9335803\n// ################################################\n// unquote string (utility)\n\nfunction unquote(value) {\n if (value.charAt(0) === '\"' && value.charAt(value.length - 1) === '\"') {\n return value.substring(1, value.length - 1);\n }\n\n return value;\n}\n/*\nparse a Link header\nLink:; rel=meta\nvar r = parseLinkHeader(xhr.getResponseHeader('Link');\nr['meta']['href'] outputs https://example.org/.meta\n*/\n\n\nfunction parseLinkHeader(header) {\n /* eslint max-statements: 0 */\n var linkexp = /<[^>]*>\\s*(\\s*;\\s*[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\")))*(,|$)/g;\n var paramexp = /[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\"))/g;\n var matches = header.match(linkexp);\n var rels = {};\n\n for (var i = 0; i < matches.length; i++) {\n var split = matches[i].split('>');\n var href = split[0].substring(1);\n var link = {\n href: undefined,\n rel: undefined\n };\n link.href = href;\n var s = split[1].match(paramexp);\n\n for (var j = 0; j < s.length; j++) {\n var paramsplit = s[j].split('=');\n var name = paramsplit[0];\n link[name] = unquote(paramsplit[1]);\n }\n\n if (link.rel !== undefined) {\n rels[link.rel] = link;\n }\n }\n\n return rels;\n}\n/*\n * Sets the next page URL on the collection from link headers\n * See: http://www.rfc-editor.org/rfc/rfc5988.txt\n *\n * This method is looking for a link header with `rel=\"next\"`\n * An set's it as the next page's URL.\n *\n * If it doesn't find a next page, and current page is set by a link header\n * it assumes we are at the last page and deletes the current `next`\n */\n\n\nfunction setLinkHeadersPagination(collection, xhr) {\n try {\n var links = parseLinkHeader(xhr.getResponseHeader('link'));\n collection[STATE].set(LINK_BY_HEADER, true);\n collection.setPagination(links['next'].href);\n } catch (e) {\n if (collection[STATE].get(LINK_BY_HEADER)) {\n collection.setPagination(null);\n }\n }\n}\n\nfunction parseQuery(url) {\n var params = {};\n var rawQueryStr = url && url.split('?')[1];\n var queryString = rawQueryStr && rawQueryStr.split('#')[0]; // Do not decode queryString before split by '&' because '&' can be found in value\n\n var props = queryString ? queryString.split('&') : [];\n\n for (var i = 0; i < props.length; i++) {\n var decode = decodeURIComponent(props[i]).replace(/\\+/g, ' ');\n var parts = decode.split('=');\n params[parts.shift()] = parts.join('=');\n }\n\n return params;\n} // ################################################\n// # /Source\n// ################################################\n//\n\n\nconst collectionProps =\n/** @lends src/framework/Collection.prototype */\n{\n /**\n * Default fetch parameters\n * @type {Object|Function}\n */\n params: {},\n preinitialize: function (models, options) {\n const state = new Backbone.Model();\n\n const defaultParams = oktaUnderscore.defaults(options && options.params || {}, oktaUnderscore.result(this, 'params') || {});\n\n state.set(DEFAULT_PARAMS, defaultParams);\n this[STATE] = state; // Adds support for child class to convert to ES6 Class.\n // After conversion, `this.model` has to be a pure function to return Model Class.\n // The changes below is trying to distinguish the ambiguity between a Class and normal function,\n // as both are JavaScript function essentially.\n // There are three ways to define class for `this.model`\n // 1. Object properties: `model: BaseModel.extend({..})`\n // 2. Function constructor:\n // See example from\n // - appversions/src/models/CustomType.js\n // - appversions/src/models/EnumType.js\n // - appversions/src/models/SignOnMode.js\n // - authn-factors/src/models/Feature.js\n // - shared/src/models/SamlAttribute.js\n // 3. Function that returns a class.\n // model: function() { return BaseModel.extend({..}); }\n //\n // option 1 and 2 exists in code base today\n // option 3 is introduced to support child class to convert to ES6 class.\n // TODO: think of remove following check\n // The reason for `this.model !== Backbone.Model` is because `this.model` is default to `Backbone.Model`\n // set at Backbone.Collection.\n\n if (oktaUnderscore.isFunction(this.model) && this.model.length === 0 && this.model.isCourageModel !== true) {\n this.model = oktaUnderscore.result(this, 'model');\n }\n\n Backbone.Collection.prototype.preinitialize.apply(this, arguments);\n },\n\n /**\n * See [Backbone Collection.sync](http://backbonejs.org/#Collection-sync).\n */\n sync: function (method, collection, options) {\n var self = this;\n var success = options.success;\n\n options.success = function (resp, status, xhr) {\n // its important to set the pagination data *before* we call the success callback\n // because we want the pagination data to be ready when the collection triggers the `sync` event\n setLinkHeadersPagination(self, xhr);\n success.apply(null, arguments);\n };\n\n return Backbone.Collection.prototype.sync.call(this, method, collection, options);\n },\n\n /**\n * See [Backbone Collection.fetch](http://backbonejs.org/#Collection-fetch).\n */\n fetch: function (options) {\n options || (options = {});\n var state = this[STATE];\n var xhr = state.get(XHR);\n options.data = oktaUnderscore.extend({}, state.get(DEFAULT_PARAMS), options.data || {});\n options.fromFetch = true;\n state.set(FETCH_DATA, options.data);\n\n if (xhr && xhr.abort && options.abort !== false) {\n xhr.abort();\n }\n\n xhr = Backbone.Collection.prototype.fetch.call(this, options);\n state.set(XHR, xhr);\n return xhr;\n },\n\n /**\n * Set pagination data to get to the next page\n * @param {Mixed} params\n * @param {Object} [options]\n * @param {Boolean} [options.fromFetch] should we include data from the previous fetch call in this object\n * @example\n * collection.setPagination({q: 'foo', page: '2'}); //=> {q: 'foo', page: '2'}\n *\n * collection.setPagination('/path/to/resource?q=baz&page=4'); //=> {q: 'baz', page: '4'}\n *\n * collection.setPagination('/path/to/resource'); //=> {}\n *\n * collection.fetch({data: {q: 'foo'}});\n * collection.setPagination({page: 2}, {fromFetch: true}); //=> {q: 'foo', page: 2}\n *\n * any \"falsy\" value resets pagination\n * collection.setPagination(); //=> {}\n * collection.setPagination(null); //=> {}\n * collection.setPagination(false); //=> {}\n * collection.setPagination(''); //=> {}\n * collection.setPagination(0); //=> {}\n * @protected\n */\n setPagination: function (params, options) {\n /* eslint complexity: [2, 8] */\n if (oktaUnderscore.isString(params) && params) {\n params = parseQuery(params);\n }\n\n if (!oktaUnderscore.isObject(params) || oktaUnderscore.isArray(params) || !oktaUnderscore.size(params)) {\n params = null;\n } else if (options && options.fromFetch) {\n params = oktaUnderscore.extend({}, this.getFetchData(), params);\n }\n\n this[STATE].set(PAGINATION_DATA, params);\n },\n\n /**\n * Returns the `data` parameters applied in th most recent `fetch` call\n * It will include parameters set by {@link #params} and optios.params passed to the constructor\n * @return {Object}\n * @protected\n */\n getFetchData: function () {\n return this[STATE].get(FETCH_DATA) || {};\n },\n\n /**\n * Data object for constructing a request to fetch the next page\n * @return {Object}\n * @protected\n */\n getPaginationData: function () {\n return this[STATE].get(PAGINATION_DATA) || {};\n },\n\n /**\n * Does this collection have more data on the server (e.g is there a next \"page\")\n * @return {Boolean}\n */\n hasMore: function () {\n return oktaUnderscore.size(this.getPaginationData()) > 0;\n },\n\n /**\n * Get the next page from the server\n * @return {Object} xhr returned by {@link #fetch}\n */\n fetchMore: function () {\n if (!this.hasMore()) {\n throw new Error('Invalid Request');\n }\n\n return this.fetch({\n data: this.getPaginationData(),\n add: true,\n remove: false,\n update: true\n });\n },\n\n /**\n * See [Backbone Collection.reset](http://backbonejs.org/#Collection-reset).\n */\n reset: function (models, options) {\n options || (options = {}); // only reset the pagination when reset is being called explicitly.\n // this is to avoid link headers pagination being overriden and reset when\n // fetching the collection using `collection.fetch({reset: true})`\n\n if (!options.fromFetch) {\n this.setPagination(null);\n }\n\n return Backbone.Collection.prototype.reset.apply(this, arguments);\n },\n // we want \"where\" to be able to search through derived properties as well\n where: function (attrs, first) {\n if (oktaUnderscore.isEmpty(attrs)) {\n return first ? void 0 : [];\n }\n\n return this[first ? 'find' : 'filter'](function (model) {\n for (var key in attrs) {\n if (attrs[key] !== model.get(key)) {\n return false;\n }\n }\n\n return true;\n });\n },\n\n /**\n * See [Backbone Collection.create](http://backbonejs.org/#Collection-create).\n */\n create: function (model, options) {\n options || (options = {});\n\n if (!oktaUnderscore.result(model, 'urlRoot')) {\n options.url = oktaUnderscore.result(this, 'url');\n }\n\n return Backbone.Collection.prototype.create.call(this, model, options);\n },\n // Use Object.create instead of {} on _byId to avoid __proto__ functions to return\n // This can be removed once the issue has addressed in backbone framework\n // https://github.com/jashkenas/backbone/pull/4225\n _reset: function () {\n Backbone.Collection.prototype['_reset'].call(this);\n this._byId = Object.create(null);\n }\n};\n/**\n *\n * Archer.Collection is a standard [Backbone.Collection](http://backbonejs.org/#Collection) with pre-set `data`\n * parameters and built in pagination - works with [http link headers](https://tools.ietf.org/html/rfc5988)\n * out of the box:\n *\n * @class src/framework/Collection\n * @extends external:Backbone.Collection\n * @example\n * var Users = Archer.Collection.extend({\n * url: '/api/v1/users'\n * params: {expand: true}\n * });\n * var users = new Users(null, {params: {type: 'new'}}),\n * $button = this.$('a.fetch-more');\n *\n * $button.click(function () {\n * users.fetchMore();\n * });\n *\n * this.listenTo(users, 'sync', function () {\n * $button.toggle(users.hasMore());\n * });\n *\n * collection.fetch(); //=> '/api/v1/users?expand=true&type=new'\n */\n\nconst Collection = Backbone.Collection.extend(collectionProps);\n/**\n * It's used for distinguishing the ambiguity from _.isFunction()\n * which returns True for both a JavaScript Class constructor function\n * and normal function. With this flag, we can tell a function is actually\n * a Collection Class.\n * This flag is added in order to support the type of a parameter can be\n * either a Class or pure function that returns a Class.\n */\n\nCollection.isCourageCollection = true;\n\nexport { Collection as default };\n","import FrameworkView from './View.js';\nimport oktaUnderscore from '../util/underscore-wrapper.js';\n\n/* eslint-disable max-statements */\n/**\n * Archer.ListView is a {@link src/framework/View} that operates on a\n * collection and builds a list of \"things\" of the same type.\n *\n * Automagically adds, removes and sorts upon standard collection events.\n *\n * Listen to collection events so the ListView will do the right thing when\n * a model is added or the collection is reset or sorted.\n *\n * @class src/framework/ListView\n * @extends src/framework/View\n * @param {Object} options options hash\n * @param {Object} options.collection The collection which this view operates on\n * @example\n * var UserList = Archer.ListView.extend({\n * tagName: 'ul',\n * item: '
  • {{fname}} {{lname}}
  • '\n * });\n *\n * var users = new Archer.Collection([\n * {fname: 'John', lname: 'Doe'},\n * {fname: 'Jane', lname: 'Doe'}\n * ]);\n *\n * var userList = new UserList({collection: users}).render();\n * userList.el; //=> \"\"\n *\n * users.push({fname: 'Jim', lname: 'Doe'});\n * userList.el; //=> \"\"\n *\n * users.first().destroy();\n * userList.el; //=> \"\"\n */\n\nvar ListView = FrameworkView.extend(\n/** @lends src/framework/ListView.prototype */\n{\n constructor: function () {\n FrameworkView.apply(this, arguments);\n\n if (!this.collection) {\n throw new Error('Missing collection');\n }\n\n this.listenTo(this.collection, 'reset sort', this.reset);\n this.listenTo(this.collection, 'add', this.addItem);\n\n if (this.fetchCollection) {\n this.collection.fetch();\n } else {\n this.collection.each(this.addItem, this);\n }\n },\n\n /**\n * The view/template we will use to render each model in the collection.\n * @type {String|module:Okta.View}\n */\n item: null,\n\n /**\n * A selector in the local template where to append each item\n * @type {String}\n */\n itemSelector: null,\n\n /**\n * Empty the list and re-add everything from the collection.\n * Usefull for handling `collection.reset()` or for handling the initial load\n * @protected\n */\n reset: function () {\n this.removeChildren();\n this.collection.each((model, index) => {\n this.addItem(model, index);\n });\n return this;\n },\n\n /**\n * Add an item view to the list that will represent one model from the collection\n *\n * Listen to the model so when it is destoyed or removed from the collection\n * this item will remove itself from the list\n *\n * @param {Backbone.Model} model The model this row operates on\n * @protected\n */\n addItem: function (model) {\n var view = this.add(this.item, this.itemSelector, {\n options: {\n model: model\n }\n }).last();\n\n if (this.state && this.state.get('trackItemAdded')) {\n this.state.trigger('itemAdded', view);\n }\n\n view.listenTo(model, 'destroy remove', view.remove);\n return this;\n },\n addShowMore: oktaUnderscore.noop\n});\n\nexport { ListView as default };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport Backbone from '../vendor/lib/backbone.js';\nimport Logger from '../util/Logger.js';\n\nfunction isModelPropertySchema(obj) {\n return obj && obj.type || obj.deps;\n}\n\n/**\n * Archer.Model is a standard [Backbone.Model](http://backbonejs.org/#Model) with a few additions:\n *\n * - {@link src/framework/Model#derived Derived properties}\n * - {@link src/framework/Model#props Built in schema validation}\n * - {@link src/framework/Model#local Private properties (with schema validation)}\n * - {@link src/framework/Model#flat Flattening of nested objects}\n *\n * Both derived and private properties are filtered out when sending the data to the server.\n *\n * See [Backbone.Model](http://backbonejs.org/#Model-constructor).\n *\n * @class src/framework/Model\n * @extends external:Backbone.Model\n * @param {Object} [attributes] - Initial model attributes (data)\n * @param {Object} [options] - Options hash\n * @example\n * var Person = Archer.Model.extend({\n * props: {\n * 'fname': 'string',\n * 'lname': 'string'\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * },\n * derived: {\n * name: {\n * deps: ['fname', 'lname'],\n * fn: function (fname, lname) {\n * return fname + ' ' + lname;\n * }\n * }\n * }\n * });\n * var model = new Person({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('isLoggedIn', true);\n * model.get('isLoggedIn'); //=> true\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\nlet Model;\nconst statics = {\n ERROR_BLANK: 'model.validation.field.blank',\n ERROR_WRONG_TYPE: 'model.validation.field.wrong.type',\n ERROR_NOT_ALLOWED: 'model.validation.field.value.not.allowed',\n ERROR_INVALID: 'model.validation.field.invalid',\n ERROR_IARRAY_UNIQUE: 'model.validation.field.array.unique',\n ERROR_INVALID_FORMAT_EMAIL: 'model.validation.field.invalid.format.email',\n ERROR_INVALID_FORMAT_URI: 'model.validation.field.invalid.format.uri',\n ERROR_INVALID_FORMAT_IPV4: 'model.validation.field.invalid.format.ipv4',\n ERROR_INVALID_FORMAT_HOSTNAME: 'model.validation.field.invalid.format.hostname',\n ERROR_STRING_STRING_MIN_LENGTH: 'model.validation.field.string.minLength',\n ERROR_STRING_STRING_MAX_LENGTH: 'model.validation.field.string.maxLength'\n};\n\nfunction flatten(value, objectTypeFields, key, target) {\n var filter = oktaUnderscore.contains(objectTypeFields, key);\n\n target || (target = {});\n\n if (!filter && oktaUnderscore.isObject(value) && !oktaUnderscore.isArray(value) && !oktaUnderscore.isFunction(value)) {\n oktaUnderscore.each(value, function (val, i) {\n flatten(val, objectTypeFields, key ? key + '.' + i : i, target);\n });\n } // Case where target is an empty object. Guard against returning {undefined: undefined}.\n else if (key !== undefined) {\n target[key] = value;\n }\n\n return target;\n}\n\nfunction unflatten(data) {\n oktaUnderscore.each(data, function (value, key, data) {\n if (key.indexOf('.') === -1) {\n return;\n }\n\n var part;\n var ref = data;\n var parts = key.split('.');\n\n while ((part = parts.shift()) !== undefined) {\n if (!ref[part]) {\n ref[part] = parts.length ? {} : value;\n }\n\n ref = ref[part];\n }\n\n delete data[key];\n });\n\n return data;\n}\n\nfunction createMessage(field, msg) {\n var obj = {};\n obj[field.name] = msg;\n return obj;\n}\n\nfunction normalizeSchemaDef(field, name) {\n var target;\n\n if (oktaUnderscore.isString(field)) {\n target = {\n type: field\n };\n } else if (oktaUnderscore.isArray(field)) {\n target = {\n type: field[0],\n required: field[1],\n value: field[2]\n };\n } else {\n target = oktaUnderscore.clone(field);\n }\n\n oktaUnderscore.defaults(target, {\n required: false,\n name: name\n });\n\n return target;\n}\n\nfunction capitalize(string) {\n return string.toLowerCase().replace(/\\b[a-z]/g, function (letter) {\n return letter.toUpperCase();\n });\n}\n\nfunction _validateRegex(value, pattern, error) {\n if (!pattern.test(value)) {\n return error;\n }\n}\n\nvar StringFormatValidators = {\n /*eslint max-len: 0 */\n email: function (value) {\n // Taken from http://emailregex.com/ on 2017-03-06.\n var pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_EMAIL);\n },\n uri: function (value) {\n // source: https://mathiasbynens.be/demo/url-regex\n var pattern = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_URI);\n },\n ipv4: function (value) {\n // source: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n var pattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_IPV4);\n },\n hostname: function (value) {\n // source: http://www.regextester.com/23\n var pattern = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_HOSTNAME);\n }\n};\n\nfunction validateStringFormat(field, value) {\n var validator = StringFormatValidators[field.format];\n\n if (field.format && !validator) {\n throw new TypeError(field.format + ' is not a supported string format');\n }\n\n return validator && validator(value);\n}\n\nfunction validateString(field, value) {\n var createMessageWith = oktaUnderscore.partial(createMessage, field);\n\n var invalidFormat = validateStringFormat(field, value);\n\n if (invalidFormat) {\n return createMessageWith(invalidFormat);\n }\n\n if (value && field.minLength && value.length < field.minLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MIN_LENGTH);\n }\n\n if (value && field.maxLength && value.length > field.maxLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MAX_LENGTH);\n }\n}\n\nfunction validateField(field, value) {\n /* eslint complexity: [2, 25], max-statements: [2, 30] */\n var createMessageWith = oktaUnderscore.partial(createMessage, field);\n\n var isDefined = !oktaUnderscore.isUndefined(value) && !oktaUnderscore.isNull(value);\n var checkType;\n var errorMessage; // If using an array validator, perform the validation\n\n if (Array.isArray(field.validate)) {\n const output = [];\n let foundError = false;\n let result;\n field.validate.forEach(item => {\n if (!value) {\n result = false;\n } else {\n switch (item.type.toLowerCase()) {\n case 'regex':\n result = new RegExp(item.value.pattern, item.value.flags || '').test(value);\n break;\n\n default:\n result = false;\n }\n } // Append the result.\n\n\n foundError = foundError || !result;\n output.push({\n // eslint-disable-next-line no-prototype-builtins\n message: item.hasOwnProperty('message') ? item.message : '',\n passed: result\n });\n });\n\n if (foundError) {\n return createMessageWith(output);\n }\n\n return;\n } // check required fields\n\n\n if (field.required && (!isDefined || oktaUnderscore.isNull(value) || value === '')) {\n return createMessageWith(Model.ERROR_BLANK);\n } // check type\n\n\n checkType = oktaUnderscore['is' + capitalize(field.type)];\n\n if (isDefined && field.type !== 'any' && (!oktaUnderscore.isFunction(checkType) || !checkType(value))) {\n return createMessageWith(Model.ERROR_WRONG_TYPE);\n } // validate string format\n\n\n if (value && field.type === 'string') {\n var error = validateString(field, value);\n\n if (error) {\n return error;\n }\n } // check pre set values (enum)\n\n\n if (isDefined && field.values && !oktaUnderscore.contains(field.values, value)) {\n return createMessageWith(Model.ERROR_NOT_ALLOWED);\n } // check validate method\n\n\n if (oktaUnderscore.isFunction(field.validate)) {\n var result = field.validate(value);\n\n if (oktaUnderscore.isString(result) && result) {\n return createMessageWith(result);\n } else if (result === false) {\n return createMessageWith(Model.ERROR_INVALID);\n }\n } // check array items\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n\n if (isDefined && field.type === 'array' && (errorMessage = validateArrayField(field, value))) {\n return createMessageWith(errorMessage);\n }\n}\n\nfunction validateArrayField(field, arr) {\n if (field.minItems && arr.length < field.minItems) {\n return 'model.validation.field.array.minItems';\n } else if (field.maxItems && arr.length > field.maxItems) {\n return 'model.validation.field.array.maxItems';\n } else if (field.uniqueItems && arr.length > oktaUnderscore.uniq(arr).length) {\n return Model.ERROR_IARRAY_UNIQUE;\n } else if (field.items) {\n /* eslint max-depth: [2, 3] */\n var arrayField = normalizeSchemaDef(field.items, 'placeholder');\n\n for (var i = 0; i < arr.length; i++) {\n var value = arr[i];\n var error = validateField(arrayField, value);\n\n if (error) {\n return error['placeholder'];\n }\n }\n }\n}\n\nconst props =\n/** @lends src/framework/Model.prototype */\n{\n /**\n * Pass props as an object to extend, describing the observable properties of your model. The props\n * properties should not be set on an instance, as this won't define new properties, they should only be passed to\n * extend.\n * Properties can be defined in three different ways:\n *\n * - As a string with the expected dataType. One of string, number, boolean, array, object, date, or any.\n * Eg: `name: 'string'`.\n * - An array of `[dataType, required, default]`\n * - An object `{type: 'string', format: '', required: true, value: '', values: [], validate: function() {}`\n * - `value` will be the value that the property will be set to if it is undefined, either by not being set during\n * initialization, or by being explicitly set to undefined.\n * - `format` is a json-schame derived string format. Supported formats are: `email`, `uri`, `hostname` and `ipv4`.\n * - If `required` is true, one of two things will happen. If a default is set for the property, the property will\n * start with that value. If a default is not set for the property, validation will fail\n * - If `values` array is passed, then you'll be able to change a property to one of those values only.\n * - If `validate` is defined, it should return false or a custom message string when the validation fails.\n * - If the type is defined as `array`, the array elements could be defined by `minItems` (Number),\n * `uniqueItems` (Boolean) and `items` (a field definition such as this one that will validate each array member)\n * To the `validate` method\n * - Trying to set a property to an invalid type will raise an exception.\n *\n * @type {Mixed|Function}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * age: 'number',\n * paying: ['boolean', true, false], //required attribute, defaulted to false\n * type: {\n * type: 'string',\n * values: ['regular-hero', 'super-hero', 'mega-hero']\n * },\n * likes: {\n * type: 'string',\n * validate: function (value) {\n * return /^[\\w]+ing$/.test(value)\n * }\n * }\n * }\n * });\n */\n props: {},\n\n /**\n * Derived properties (also known as computed properties) are properties of the model that depend on the\n * other (props, local or even derived properties to determine their value. Best demonstrated with an example:\n *\n * Each derived property, is defined as an object with the current properties:\n *\n * - `deps` {Array} - An array of property names which the derived property depends on.\n * - `fn` {Function} - A function which returns the value of the computed property. It is called in the context of\n * the current object, so that this is set correctly.\n * - `cache` {Boolean} - - Whether to cache the property. Uncached properties are computed every time they are\n * accessed. Useful if it depends on the current time for example. Defaults to `true`.\n *\n * Derived properties are retrieved and fire change events just like any other property. They cannot be set\n * directly.\n * @type {Object|Function}\n * @example\n * var Person = Model.extend({\n * props: {\n * firstName: 'string',\n * lastName: 'string'\n * },\n * derived: {\n * fullName: {\n * deps: ['firstName', 'lastName'],\n * fn: function (firstName, lastName) {\n * return firstName + ' ' + lastName;\n * }\n * }\n * }\n * });\n *\n * var person = new Person({ firstName: 'Phil', lastName: 'Roberts' })\n * console.log(person.get('fullName')) //=> \"Phil Roberts\"\n *\n * person.set('firstName', 'Bob');\n * console.log(person.get('fullName')) //=> \"Bob Roberts\"\n */\n derived: {},\n\n /**\n * local properties are defined and work in exactly the same way as {@link src/framework/Model#props|props}, but generally only exist for\n * the lifetime of the page.\n * They would not typically be persisted to the server, and are not returned by calls to {@link src/framework/Model#toJSON|toJSON}.\n *\n * @type {Object|Function}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * }\n * );\n */\n local: {},\n\n /**\n * Flatten the payload into dot notation string keys:\n *\n * @type {Boolean|Function}\n * @example\n * var Person = Model.extend({\n * props: {\n * 'profile.fname': 'string',\n * 'profile.lname': 'string',\n * 'profile.languages': 'object'\n * },\n * flat: true\n * });\n * var person = new Person({'profile': {\n * 'fname': 'John',\n * 'lname': 'Doe',\n * 'languages': {name: \"English\", value: \"EN\"}\n * }}, {parse: true});\n * person.get('profile'); //=> undefined\n * person.get('profile.fname'); //=> 'John'\n * person.get('profile.lname'); //=> 'Doe'\n * person.get('profile.languages'); //=> {name: \"English\", value: \"EN\"}\n * person.get('profile.languages.name'); //=> undefined\n * person.toJSON(); //=> {'profile': {'fname': 'John'} }\n */\n flat: true,\n\n /**\n * @deprecated\n * @alias Backbone.Model#defaults\n */\n defaults: {},\n // FIXME: preinitialize takes parameter `attributes` and `options`, which inherit from constructor.\n preinitialize: function (options, ...rest) {\n this.options = options || {};\n var schema = this['__schema__'] = {};\n var objectTypeFields = [];\n schema.computedProperties = {};\n schema.props = oktaUnderscore.clone(oktaUnderscore.result(this, 'props') || {});\n schema.derived = oktaUnderscore.clone(oktaUnderscore.result(this, 'derived') || {});\n schema.local = oktaUnderscore.clone(oktaUnderscore.result(this, 'local') || {});\n var defaults = {};\n\n oktaUnderscore.each(oktaUnderscore.extend({}, schema.props, schema.local), function (options, name) {\n var schemaDef = normalizeSchemaDef(options, name);\n\n if (!oktaUnderscore.isUndefined(schemaDef.value)) {\n defaults[name] = schemaDef.value;\n }\n\n if (schemaDef.type === 'object') {\n objectTypeFields.push(name);\n }\n }, this);\n\n if (oktaUnderscore.size(defaults)) {\n var localDefaults = oktaUnderscore.result(this, 'defaults');\n\n this.defaults = function () {\n return oktaUnderscore.defaults({}, defaults, localDefaults);\n };\n } // override `validate`\n\n\n this.validate = oktaUnderscore.wrap(this.validate, function (validate) {\n var args = oktaUnderscore.rest(arguments);\n\n var res = oktaUnderscore.extend(this._validateSchema.apply(this, args), validate.apply(this, args));\n\n return oktaUnderscore.size(res) && res || undefined;\n }); // override `parse`\n\n this.parse = oktaUnderscore.wrap(this.parse, function (parse) {\n var target = parse.apply(this, oktaUnderscore.rest(arguments));\n\n if (oktaUnderscore.result(this, 'flat')) {\n target = flatten(target, objectTypeFields);\n }\n\n return target;\n });\n Backbone.Model.prototype.preinitialize.call(this, options, ...rest);\n },\n // FIXME:\n // constructor takes parameter `attributes` and `options`.\n constructor: function () {\n Backbone.Model.apply(this, arguments);\n var schema = this['__schema__'];\n\n oktaUnderscore.each(schema.derived, function (options, name) {\n schema.computedProperties[name] = this.__getDerivedValue(name); // set initial value;\n\n var deps = isModelPropertySchema(options) ? options.deps || [] : [];\n\n if (deps.length) {\n this.on('cache:clear change:' + deps.join(' change:'), function () {\n var value = this.__getDerivedValue(name);\n\n if (value !== schema.computedProperties[name]) {\n schema.computedProperties[name] = value;\n this.trigger('change:' + name, this, value);\n }\n }, this);\n }\n }, this);\n\n this.on('sync', function () {\n this.__syncedData = this.toJSON();\n }, this);\n },\n validate: function () {},\n\n /**\n * Check if the schema settings allow this field to exist in the model\n * @param {String} key\n * @return {Boolean}\n */\n allows: function (key) {\n var schema = this['__schema__'];\n\n var all = oktaUnderscore.extend({}, schema.props, schema.local);\n\n if (!oktaUnderscore.has(all, key)) {\n Logger.warn('Field not defined in schema', key);\n }\n\n return true;\n },\n\n /**\n * Returns the schema for the specific property\n *\n * @param propName - The name of the property\n * @returns {*} | null\n */\n getPropertySchema: function (propName) {\n var schema = this['__schema__'];\n return oktaUnderscore.reduce([schema.props, schema.local], function (result, options) {\n return result || normalizeSchemaDef(options[propName], propName);\n }, null);\n },\n set: function (key, val) {\n var attrs;\n\n if (typeof key === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n } // Don't override a computed properties\n\n\n oktaUnderscore.each(attrs, function (value, key) {\n if (oktaUnderscore.has(this['__schema__'].derived, key)) {\n throw new Error(`overriding derived properties is not supported: ${key}`);\n }\n }, this); // Schema validation\n\n\n var errorFields = [];\n\n oktaUnderscore.each(attrs, function (value, key) {\n this.allows(key) || errorFields.push(key);\n }, this);\n\n if (errorFields.length) {\n throw new Error(`field not allowed: ${errorFields.join(', ')}`);\n }\n\n return Backbone.Model.prototype.set.apply(this, arguments);\n },\n get: function (attr) {\n var schema = this['__schema__'];\n\n if (oktaUnderscore.has(schema.derived, attr)) {\n if (schema.derived[attr].cache !== false) {\n return schema.computedProperties[attr];\n } else {\n return this.__getDerivedValue(attr);\n }\n }\n\n return Backbone.Model.prototype.get.apply(this, arguments);\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * See [Backbone.Model.toJSON](http://backbonejs.org/#Model-toJSON)\n *\n * @param {Object} options\n * @return {Object}\n * @example\n * var artist = new Model({\n * firstName: 'Wassily',\n * lastName: 'Kandinsky'\n * });\n *\n * artist.set({birthday: 'December 16, 1866'});\n * JSON.stringify(artist); //=> {'firstName':'Wassily','lastName':'Kandinsky','birthday':'December 16, 1866'}\n */\n toJSON: function (options) {\n options || (options = {});\n\n var res = oktaUnderscore.clone(Backbone.Model.prototype.toJSON.apply(this, arguments));\n\n var schema = this['__schema__']; // cleanup local properties\n\n if (!options.verbose) {\n res = oktaUnderscore.omit(res, oktaUnderscore.keys(schema.local));\n } else {\n // add derived properties\n oktaUnderscore.each(schema.derived, function (options, name) {\n res[name] = this.get(name);\n }, this);\n }\n\n if (this.flat) {\n res = unflatten(res);\n }\n\n return res;\n },\n\n /**\n * Removes all attributes from the model, including the id attribute.\n * Fires a `\"change\"` event unless `silent` is passed as an option.\n * Sets the default values to the model\n * @param {Object} [options]\n */\n reset: function (options) {\n this.clear(options);\n this.set(oktaUnderscore.result(this, 'defaults'), options);\n },\n\n /**\n * Is the data on the model has local modifications since the last sync event?\n * @return {Boolean} is the model in sync with the server\n */\n isSynced: function () {\n return oktaUnderscore.isEqual(this.__syncedData, this.toJSON());\n },\n\n /**\n * validate a specific field in the model.\n * @param {String} key\n * @return {Object} returns `{fieldName: errorMessage}` if invalid, otherwise undefined.\n * @readonly\n */\n validateField: function (key) {\n var schema = key && this.getPropertySchema(key);\n return schema && validateField(schema, this.get(key));\n },\n\n /**\n * Runs local schema validation. Invoked internally by {@link src/framework/Model#validate|validate}.\n * @return {Object}\n * @protected\n */\n _validateSchema: function () {\n var schema = this['__schema__'];\n return oktaUnderscore.reduce(oktaUnderscore.extend({}, schema.props, schema.local), function (memo, options, name) {\n return oktaUnderscore.extend(memo, this.validateField(name) || {});\n }, {}, this);\n },\n __getDerivedValue: function (name) {\n var options = this['__schema__'].derived[name];\n\n if (oktaUnderscore.isString(options)) {\n var key = options;\n options = {\n deps: [key],\n fn: function () {\n return this.get(key);\n }\n };\n }\n\n var deps = options.deps || [];\n return options.fn.apply(this, oktaUnderscore.map(deps, this.get, this));\n }\n};\nModel = Backbone.Model.extend(props, statics);\n/**\n * It's used for distinguishing the ambiguity from _.isFunction()\n * which returns True for both a JavaScript Class constructor function\n * and normal function. With this flag, we can tell a function is actually\n * a Model Class.\n * This flag is added in order to support the type of a parameter can be\n * either a Class or pure function that returns a Class.\n */\n\nModel.isCourageModel = true;\nvar FrameworkModel = Model;\n\nexport { FrameworkModel as default, isModelPropertySchema };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport Backbone from '../vendor/lib/backbone.js';\n\nvar CHILDREN = '__children__';\nvar RENDERED = '__rendered__';\nvar PARENT = '__parent__';\nvar CHILD_DEFINITIONS = '__children_definitions__';\nvar ADD_TO_CONTAINER = '__add_to_container__';\n\nfunction getIndex(container, view) {\n for (var i = 0; i < container[CHILDREN].length; i++) {\n if (view.cid === container[CHILDREN][i].cid) {\n return i;\n }\n }\n}\n\nfunction noop() {}\n\nfunction doRender(view) {\n view[RENDERED] = true;\n var html = view.renderTemplate(view.template);\n\n if (html) {\n view.$el.html(html);\n } else if (view.length) {\n view.$el.empty();\n }\n\n view.each(function (view) {\n view[ADD_TO_CONTAINER]();\n });\n}\n\nfunction subscribeEvents(view) {\n var isEventPropertyRe = /^(?!(?:delegate|undelegate|_))([a-zA-Z0-9]+)(?:Events)$/;\n\n oktaUnderscore.each(oktaUnderscore.allKeys(view), function (key) {\n var matchKeys = key.match(isEventPropertyRe);\n\n if (!matchKeys) {\n return;\n }\n\n var bindings = oktaUnderscore.result(view, key);\n\n var entity = view.options[matchKeys[1]] || view[matchKeys[1]];\n\n if (!entity || !oktaUnderscore.isObject(bindings) || !oktaUnderscore.isFunction(entity.trigger)) {\n return;\n }\n\n oktaUnderscore.each(bindings, function (callback, event) {\n var callbacks = oktaUnderscore.isFunction(callback) ? [callback] : oktaUnderscore.reduce(callback.split(/\\s+/), (arr, name) => {\n if (oktaUnderscore.isFunction(view[name])) {\n arr.push(view[name]);\n }\n\n return arr;\n }, []);\n\n oktaUnderscore.each(callbacks, function (cb) {\n view.listenTo(entity, event, cb);\n });\n });\n });\n}\n/**\n * A View operates on a string template, an token based template, or a model based template, with a few added hooks.\n * It provides a collection of child views, when a child view could be a View or another View.\n * Conceptually, if we were in a file system, the View is a folder, when the concrete child views are files,\n * and the child Views are sub folders.\n *\n * *Technically, when using a View as a container, it could have its own concrete logic,\n * but conceptually we like to keep it separated so a view is either a concrete view or a collection of child views.*\n *\n * In addition to the standard backbone options, we added `settings` and `state` as first class options.\n * it will automatically assign `options` to `this.options` as an instance member.\n *\n * See [Backbone.View](http://backbonejs.org/#View).\n *\n * @class src/framework/View\n * @extends external:Backbone.View\n * @param {Object} [options] options hash\n * @example\n * var DocumentView = Archer.View.extend({\n * template: [\n * '
    ',\n * '
    ',\n * ''\n * ].join(''),\n * children: [[HeaderView, 'header'], [ContentView, 'article'], [FooterView, 'footer']]\n * });\n */\n\n\nlet View;\nconst proto = {\n /**\n * An object listing events and callback bind to this.{entity}\n * @name *Events\n * @memberof src/framework/View\n * @type {(Object|Function)}\n * @instance\n * @example\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render'\n * }\n * })\n * //equivalent to ==>\n * var FooView = View.extend({\n * initialize: function() {\n * this.listenTo(this.model, 'change:name', this.render);\n * }\n * });\n *\n *\n * //Multiple callbacks:\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render foo'\n * },\n * foo: function() {}\n * });\n *\n * //Callbacks As Function:\n * var FooView = View.extend({\n * stateEvents: {\n * 'change': function() {\n * }\n * });\n *\n * //Event Configuration As Function\n * var FooView = View.extend({\n * collectionEvents: function() {\n * var events = { 'change:name deleteItem': 'render' };\n * events['changeItem'] = 'spin';\n * events['addItem'] = function() {};\n * return events;\n * }\n * });\n */\n preinitialize: function (options) {\n /* eslint max-statements: [2, 17] */\n this.options = options || {};\n\n oktaUnderscore.extend(this, oktaUnderscore.pick(this.options, 'state', 'settings')); // init per-instance children collection\n\n\n this[CHILDREN] = [];\n this[RENDERED] = false;\n this[PARENT] = null;\n this[CHILD_DEFINITIONS] = this.children; // we want to make sure initialize is triggered *after* we append the views from the `this.views` array\n // FIXME:\n // It's actually can be done by override initialize method\n // initialize() { run extra login; super.initialize(); }\n // BUT the problem is child classes would override initialize without invoke super.\n // hence we have to also looking into (refactoring) ALL child classes.\n\n this.__original_initialize__ = this.initialize;\n this.initialize = noop;\n },\n constructor: function (options, ...rest) {\n Backbone.View.call(this, options);\n\n oktaUnderscore.each(oktaUnderscore.result(this, CHILD_DEFINITIONS), function (childDefinition) {\n this.add.apply(this, oktaUnderscore.isArray(childDefinition) ? childDefinition : [childDefinition]);\n }, this);\n\n delete this[CHILD_DEFINITIONS];\n\n const autoRender = oktaUnderscore.result(this, 'autoRender');\n\n if (autoRender && this.model) {\n var event = oktaUnderscore.isArray(autoRender) ? oktaUnderscore.map(autoRender, function (field) {\n return 'change:' + field;\n }).join(' ') : 'change';\n this.listenTo(this.model, event, function () {\n this.render();\n });\n }\n\n this.initialize = this.__original_initialize__;\n this.initialize.call(this, options, ...rest); // initialize in child class may have any number of parameters\n\n subscribeEvents(this);\n },\n\n /**\n * Unregister view from container\n * Note: this will not remove the view from the dom\n * and will not call the `remove` method on the view\n *\n * @param {src/framework/View} view the view to unregister\n * @private\n */\n unregister: function (view) {\n this.stopListening(view);\n var viewIndex = getIndex(this, view); // viewIndex is undefined when the view is not found (may have been removed)\n // check if it is undefined to prevent unexpected thing to happen\n // array.splice(undefined, x) removes the first x element(s) from the array\n // this protects us against issues when calling `remove` on a child view multiple times\n\n if (oktaUnderscore.isNumber(viewIndex)) {\n this[CHILDREN].splice(viewIndex, 1);\n }\n },\n\n /**\n * Should we auto render the view upon model change. Boolean or array of field names to listen to.\n * @type {Boolean|Array}\n * @deprecated Instead, please use modelEvents\n * @example\n * modelEvents: {\n * change:name: 'render'\n * }\n */\n autoRender: false,\n\n /**\n *\n * When the template is an underscore template, the render method will pass the options has to the template\n * And the associated model, if exists, when it will prefer the model over the options in case of a conflict.\n * {@link #render View.render}\n * @type {(String|Function)}\n * @example\n * var View = View.extend({\n * template: '

    {{name}}

    '\n * };\n */\n template: null,\n\n /**\n * A list of child view definitions to be passed to {@link #add this.add()}.\n * Note: these definitions will be added **before** the {@link #constructor initiliaze} method invokes.\n * @type {(Array|Function)}\n * @example\n * var Container = View.extend({\n * template: '

    ',\n * children: [\n * [ContentView, '.content'],\n * [OtherContentView, '.content'],\n * OtherView\n * ]\n * })\n *\n * var Container = View.extend({\n * template: '',\n * children: function () {\n * return [\n * [FormView, '.form-wrap', {options: {model: this.optiosn.otherModel}}]\n * ]\n * }\n * })\n */\n children: [],\n\n /**\n * Add a child view to the container.\n * If the container is already rendered, will also render the view and append it to the DOM.\n * Otherwise will render and append once the container is rendered.\n *\n * *We believe that for the sake of encapsulation, a view should control its own chilren, so we treat this method as\n * protected and even though technically you can call `view.add` externally we strongly discourage it.*\n *\n * @param {(src/framework/View|String)} view A class (or an instance which is discouraged) of a View - or an HTML\n * string/template\n * @param {String} [selector] selector in the view's template on which the view will be added to\n * @param {Object} [options]\n * @param {Boolean} [options.bubble=false] Bubble (proxy) events from this view up the chain\n * @param {Boolean} [options.prepend=false] Prepend the view instend of appending\n * @param {String} [options.selector] Selector in the view's template on which the view will be added to\n * @param {Object} [options.options] Extra options to pass to the child constructor\n * @protected\n * @returns {src/framework/View} - The instance of itself for the sake of chaining\n * @example\n * var Container = View.extend({\n *\n * template: [\n * '

    ',\n * '
    ',\n * ].join(''),\n *\n * initalize: function () {\n *\n * this.add(TitleView, 'h1'); // will be added to

    \n *\n * this.add(ContentView1, 'section'); // will be added to
    \n *\n * this.add(ContentView2, 'section', {prepend: true}); // will be add into
    **before** ContentView1\n *\n * this.add(OtherView, {\n * options: {\n * model: new Model()\n * }\n * }); // will be added **after** the
    element\n *\n * this.add('

    some html

    '); //=> \"

    some html

    \"\n * this.add('

    {{name}}

    '); //=> \"

    John Doe

    \"\n * this.add('{{name}}') //=> \"
    John Doe
    \"\n * this.add('{{name}} w00t') //=> \"
    John Doe w00t
    \"\n * }\n *\n * });\n *\n * var container - new View({name: 'John Doe'});\n */\n add: function (view, selector, bubble, prepend, extraOptions) {\n /* eslint max-statements: [2, 30], complexity: [2, 12] */\n var options = {};\n\n var args = oktaUnderscore.toArray(arguments); // This will throw if a compiled template function is passed accidentally\n\n\n if (oktaUnderscore.isFunction(view) && (!view.prototype || !view.prototype.render)) {\n throw new Error('Type passed to add() is not a View');\n }\n\n if (oktaUnderscore.isObject(selector)) {\n options = selector;\n selector = options.selector;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n } else if (oktaUnderscore.isObject(bubble)) {\n options = bubble;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n } // TODO: This will be deprecated at some point. Views should use precompiled templates\n\n\n if (oktaUnderscore.isString(view)) {\n view = function (template) {\n return View.extend({\n constructor: function () {\n try {\n var $el = Backbone.$(template);\n\n if ($el.length !== 1) {\n throw new Error('invalid Element');\n }\n\n var unescapingRexExp = /&(\\w+|#x\\d+);/g;\n var elementUnescapedOuterHTMLLength = $el.prop('outerHTML').replace(unescapingRexExp, ' ').length;\n var templateUnescapedLength = template.replace(unescapingRexExp, ' ').length;\n\n if (elementUnescapedOuterHTMLLength !== templateUnescapedLength) {\n throw new Error('invalid Element');\n }\n\n this.template = $el.html(); // Template string will be compiled by handlebars\n\n this.el = $el.empty()[0];\n } catch (e) {\n // not a valid html tag.\n this.template = template;\n }\n\n View.apply(this, arguments);\n }\n });\n }(view);\n }\n\n if (view.prototype && view.prototype instanceof View) {\n /* eslint new-cap: 0 */\n var viewOptions = oktaUnderscore.omit(oktaUnderscore.extend({}, this.options, extraOptions), 'el');\n\n args[0] = new view(viewOptions);\n return this.add.apply(this, args);\n } // prevent dups\n\n\n if (oktaUnderscore.isNumber(getIndex(this, view))) {\n throw new Error('Duplicate child');\n }\n\n view[PARENT] = this; // make the view responsible for adding itself to the parent:\n // * register the selector in the closure\n // * register a reference the parent in the closure\n\n view[ADD_TO_CONTAINER] = function (selector) {\n return function () {\n if (selector && view[PARENT].$(selector).length !== 1) {\n throw new Error('Invalid selector: ' + selector);\n }\n\n var $el = selector ? this[PARENT].$(selector) : this[PARENT].$el;\n this.render(); // we need to delegate events in case\n // the view was added and removed before\n\n this.delegateEvents(); // this[PARENT].at(index).$el.before(this.el);\n\n prepend ? $el.prepend(this.el) : $el.append(this.el);\n };\n }.call(view, selector); // if flag to bubble events is set\n // proxy all child view events\n\n\n if (bubble) {\n this.listenTo(view, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n } // add to the dom if `render` has been called\n\n\n if (this.rendered()) {\n view[ADD_TO_CONTAINER]();\n } // add view to child views collection\n\n\n this[CHILDREN].push(view);\n return this;\n },\n\n /**\n * Remove all children from container\n */\n removeChildren: function () {\n this.each(function (view) {\n view.remove();\n });\n return this;\n },\n\n /**\n * Removes a view from the DOM, and calls stopListening to remove any bound events that the view has listenTo'd.\n * Also removes all childern of the view if any, and removes itself from its parent view(s)\n */\n remove: function () {\n this.removeChildren();\n\n if (this[PARENT]) {\n this[PARENT].unregister(this);\n }\n\n return Backbone.View.prototype.remove.apply(this, arguments);\n },\n\n /**\n * Compile the template to function you can apply tokens on on render time.\n * Uses the underscore tempalting engine by default\n * @protected\n * @param {String} template\n * @return {Function} a compiled template\n */\n // TODO: This will be deprecated at some point. Views should use precompiled templates\n compileTemplate: function (template) {\n /* eslint @okta/okta-ui/no-specific-methods: 0*/\n return oktaUnderscore.template(template, undefined);\n },\n\n /**\n * Render a template with `this.model` and `this.options` as parameters\n * preferring the model over the options.\n *\n * @param {(String|Function)} template The template to build\n * @return {String} An HTML string\n * @protected\n */\n renderTemplate: function (template) {\n if (oktaUnderscore.isString(template)) {\n // TODO: This will be deprecated at some point. Views should use precompiled templates\n template = this.compileTemplate(template);\n }\n\n if (oktaUnderscore.isFunction(template)) {\n return template(this.getTemplateData());\n }\n },\n\n /**\n * The data hash passed to the compiled template\n * @return {Object}\n * @protected\n */\n getTemplateData: function () {\n var modelData = this.model && this.model.toJSON({\n verbose: true\n }) || {};\n\n var options = oktaUnderscore.omit(this.options, ['state', 'settings', 'model', 'collection']);\n\n return oktaUnderscore.defaults({}, modelData, options);\n },\n\n /**\n * Renders the template to `$el` and append all children in order\n * {@link #template View.template}\n */\n render: function () {\n this.preRender();\n doRender(this);\n this.postRender();\n return this;\n },\n\n /**\n * Pre render routine. Will be called right *before* the logic in {@link #render} is executed\n * @method\n */\n preRender: noop,\n\n /**\n * Post render routine. Will be called right *after* the logic in {@link #render} is executed\n * @method\n */\n postRender: noop,\n\n /**\n * Was this instance rendered\n */\n rendered: function () {\n return this[RENDERED];\n },\n\n /**\n * Get all direct child views.\n * @returns {src/framework/View[]}\n * @example\n * var container = View.extend({\n * children: [View1, View2]\n * }).render();\n * container.getChildren() //=> [view1, view2];\n */\n getChildren: function () {\n return this.toArray();\n },\n\n /**\n * Get a child by index\n * @param {number} index\n * @returns {src/framework/View} The child view\n */\n at: function (index) {\n return this.getChildren()[index];\n },\n\n /**\n * Invokes a method on all children down the tree\n *\n * @param {String} method The method to invoke\n */\n invoke: function (methodName) {\n var args = oktaUnderscore.toArray(arguments);\n\n this.each(function (child) {\n // if child has children, bubble down the tree\n if (child.size()) {\n child.invoke.apply(child, args);\n } // run the function on the child\n\n\n if (oktaUnderscore.isFunction(child[methodName])) {\n child[methodName].apply(child, args.slice(1));\n }\n });\n return this;\n }\n};\nView = Backbone.View.extend(\n/** @lends src/framework/View.prototype */\nproto); // Code borrowed from Backbone.js source\n// Underscore methods that we want to implement on the Container.\n\nvar methods = ['each', 'map', 'reduce', 'reduceRight', 'find', 'filter', 'reject', 'every', 'some', 'contains', 'toArray', 'size', 'first', 'initial', 'rest', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain', 'where', 'findWhere'];\n\noktaUnderscore.each(methods, function (method) {\n View.prototype[method] = function () {\n var args = oktaUnderscore.toArray(arguments);\n\n args.unshift(oktaUnderscore.toArray(this[CHILDREN]));\n return oktaUnderscore[method].apply(oktaUnderscore, args);\n };\n});\n/**\n * See [_.each](http://underscorejs.org/#each)\n * @name each\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n\n/**\n * See [_.map](http://underscorejs.org/#map)\n * @name map\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n\n/**\n * See [_.reduce](http://underscorejs.org/#reduce)\n * @name reduce\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n\n/**\n * See [_.reduceRight](http://underscorejs.org/#reduceRight)\n * @name reduceRight\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n\n/**\n * See [_.find](http://underscorejs.org/#find)\n * @name find\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n\n/**\n * See [_.filter](http://underscorejs.org/#filter)\n * @name filter\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n\n/**\n * See [_.reject](http://underscorejs.org/#reject)\n * @name reject\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n\n/**\n * See [_.every](http://underscorejs.org/#every)\n * @name every\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n\n/**\n * See [_.some](http://underscorejs.org/#some)\n * @name some\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n\n/**\n * See [_.contains](http://underscorejs.org/#contains)\n * @name contains\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n */\n\n/**\n * See [_.toArray](http://underscorejs.org/#toArray)\n * @name toArray\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.size](http://underscorejs.org/#size)\n * @name size\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.first](http://underscorejs.org/#first)\n * @name first\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n\n/**\n * See [_.initial](http://underscorejs.org/#initial)\n * @name initial\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n\n/**\n * See [_.last](http://underscorejs.org/#last)\n * @name last\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n\n/**\n * See [_.rest](http://underscorejs.org/#rest)\n * @name rest\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [index]\n */\n\n/**\n * See [_.without](http://underscorejs.org/#without)\n * @name without\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.indexOf](http://underscorejs.org/#indexOf)\n * @name indexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Boolean} [isSorted]\n */\n\n/**\n * See [_.shuffle](http://underscorejs.org/#shuffle)\n * @name shuffle\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.shuffle](http://underscorejs.org/#lastIndexOf)\n * @name lastIndexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Number} [fromIndex]\n */\n\n/**\n * See [_.isEmpty](http://underscorejs.org/#isEmpty)\n * @name isEmpty\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.chain](http://underscorejs.org/#chain)\n * @name chain\n * @memberof src/framework/View\n * @method\n * @instance\n */\n\n/**\n * See [_.where](http://underscorejs.org/#where)\n * @name where\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n\n/**\n * See [_.findWhere](http://underscorejs.org/#findWhere)\n * @name findWhere\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n\n/**\n * It's used for distinguishing the ambiguity from _.isFunction()\n * which returns True for both a JavaScript Class constructor function\n * and normal function. With this flag, we can tell a function is actually\n * a View Class.\n * This flag is added in order to support the type of a parameter can be\n * either a Class or pure function that returns a Class.\n */\n\n\nView.isCourageView = true;\nvar FrameworkView = View;\n\nexport { FrameworkView as default };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport Collection from '../framework/Collection.js';\n\nconst baseCollectionProps =\n/** @lends module:Okta.Collection.prototype */\n{\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n // TODO: may not be simplily moved to initialize as\n // child class override initialize but didn't invoke parent.initialize.\n // need to refactor child classes first.\n constructor: function () {\n Collection.apply(this, arguments);\n\n if (oktaUnderscore.result(this, 'secureJSON')) {\n this.sync = oktaUnderscore.wrap(this.sync, function (sync, method, collection, options) {\n return sync.call(this, method, collection, oktaUnderscore.extend({\n dataType: 'secureJSON'\n }, options));\n });\n }\n }\n};\n/**\n * Wrapper around the more generic {@link src/framework/Collection} that\n * contains Okta-specific logic.\n * @class module:Okta.Collection\n * @extends src/framework/Collection\n */\n\nvar BaseCollection = Collection.extend(baseCollectionProps);\n\nexport { BaseCollection as default };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport Model from './Model.js';\n\nconst hasProps = function (model) {\n const local = oktaUnderscore.omit(model.local, oktaUnderscore.keys(model._builtInLocalProps));\n\n return oktaUnderscore.size(model.props) + oktaUnderscore.size(local) > 0;\n};\n\nconst props =\n/** @lends module:Okta.BaseModel.prototype */\n{\n /**\n * @type {Boolean}\n */\n flat: false,\n constructor: function () {\n Model.apply(this, arguments);\n this.on('sync', this._setSynced);\n },\n allows: function () {\n if (hasProps(this)) {\n return Model.prototype.allows.apply(this, arguments);\n } else {\n return true;\n }\n },\n // bw compatibility support for old computed properties\n set: function (key, val) {\n let attrs;\n\n if (typeof key === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n } // computed properties\n\n\n oktaUnderscore(attrs).each(function (fn, attr) {\n if (!fn || !oktaUnderscore.isArray(fn.__attributes)) {\n return;\n }\n\n this.on('change:' + fn.__attributes.join(' change:'), function () {\n const val = this.get(attr);\n\n if (val !== this['__schema__'].computedProperties[attr]) {\n this['__schema__'].computedProperties[attr] = val;\n this.trigger('change:' + attr, val);\n }\n }, this);\n }, this);\n\n return Model.prototype.set.apply(this, arguments);\n },\n\n /**\n * Get the current value of an attribute from the model. For example: `note.get(\"title\")`\n *\n * See [Model.get](http://backbonejs.org/#Model-get)\n * @param {String} attribute\n * @return {Mixed} The value of the model attribute\n */\n get: function () {\n const value = Model.prototype.get.apply(this, arguments);\n\n if (oktaUnderscore.isFunction(value)) {\n return value.apply(this, oktaUnderscore.map(value.__attributes || [], this.get, this));\n }\n\n return value;\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * ```javascript\n * var artist = new Model({\n * firstName: \"Wassily\",\n * lastName: \"Kandinsky\"\n * });\n *\n * artist.set({birthday: \"December 16, 1866\"});\n * alert(JSON.stringify(artist)); // {\"firstName\":\"Wassily\",\"lastName\":\"Kandinsky\",\"birthday\":\"December 16, 1866\"}\n * ```\n * See [Model.toJSON](http://backbonejs.org/#Model-toJSON)\n * @param {Object} options\n * @return {Object}\n */\n toJSON: function (options) {\n options || (options = {});\n const res = Model.prototype.toJSON.apply(this, arguments); // cleanup computed properties\n\n oktaUnderscore(res).each(function (value, key) {\n if (typeof value === 'function') {\n if (options.verbose) {\n res[key] = this.get(key);\n } else {\n delete res[key];\n }\n }\n }, this); // cleanup private properties\n\n\n if (!options.verbose) {\n oktaUnderscore(res).each(function (value, key) {\n if (/^__\\w+__$/.test(key)) {\n delete res[key];\n }\n });\n }\n\n return res;\n },\n sanitizeAttributes: function (attributes) {\n const attrs = {};\n\n oktaUnderscore.each(attributes, function (value, key) {\n if (!oktaUnderscore.isFunction(value)) {\n attrs[key] = value;\n }\n });\n\n return attrs;\n },\n reset: function (options) {\n this.clear(options);\n this.set(this.sanitizeAttributes(this.defaults), options);\n },\n clear: function (options) {\n const attrs = {};\n\n oktaUnderscore.each(this.sanitizeAttributes(this.attributes), function (value, key) {\n attrs[key] = void 0;\n });\n\n return this.set(attrs, oktaUnderscore.extend({}, options, {\n unset: true\n }));\n },\n\n /**\n * @private\n */\n _setSynced: function (newModel) {\n this._syncedData = newModel && oktaUnderscore.isFunction(newModel.toJSON) ? newModel.toJSON() : {};\n },\n\n /**\n * @private\n */\n _getSynced: function () {\n return this._syncedData;\n },\n isSynced: function () {\n return oktaUnderscore.isEqual(this._getSynced(), this.toJSON());\n }\n};\nconst statics =\n/** @lends module:Okta.BaseModel.prototype */\n{\n /**\n * @static\n *\n * Example:\n *\n * ```javascript\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); // Joe Doe\n * model.toJSON(); // {fname: 'Joe', lname: 'Doe'}\n * ```\n *\n * @param {Array} attributes (optional) - an array of the attribute names this method depends on\n * @param {Function} callback the function that computes the value of the property\n *\n * @deprecated Use {@link #derived} instead\n */\n ComputedProperty: function (attributes, fn) {\n // First parameter is optional\n if (!fn && typeof attributes === 'function') {\n fn = attributes;\n } else {\n fn.__attributes = attributes;\n }\n\n return fn;\n }\n};\n/**\n * @class module:Okta.BaseModel\n * @extends module:Okta.Model\n * @deprecated Use {@link module:Okta.Model|Okta.Model} instead\n * @example\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('__private__', 'private property');\n * model.get('__private__'); //=> \"private property\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\n\nvar BaseModel = Model.extend(props, statics);\n\nexport { BaseModel as default };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport BaseCollection from './BaseCollection.js';\nimport BaseModel from './BaseModel.js';\nimport SchemaProperty from './SchemaProperty.js';\n\nconst parseProperties = function (resp) {\n const schemaMeta = oktaUnderscore.pick(resp, 'id', 'name', 'displayName');\n\n const properties = oktaUnderscore.map(resp.schema.properties, function (property, name) {\n return oktaUnderscore.extend({\n name: name\n }, property);\n });\n\n oktaUnderscore.each(properties, function (property) {\n property['__schemaMeta__'] = schemaMeta;\n\n if (property.__metadata) {\n property['__metadata__'] = property.__metadata;\n delete property.__metadata;\n }\n });\n\n return properties;\n};\n\nconst BaseSchemaSchema = BaseModel.extend({\n defaults: {\n id: undefined,\n displayName: undefined,\n name: undefined\n },\n constructor: function () {\n this.properties = new SchemaProperty.Collection();\n BaseModel.apply(this, arguments);\n },\n getProperties: function () {\n return this.properties;\n },\n clone: function () {\n const model = BaseModel.prototype.clone.apply(this, arguments);\n model.getProperties().set(this.getProperties().toJSON({\n verbose: true\n }));\n return model;\n },\n parse: function (resp) {\n const properties = parseProperties(resp);\n this.properties.set(properties, {\n parse: true\n });\n return oktaUnderscore.omit(resp, 'schema');\n },\n trimProperty: function (property) {\n return oktaUnderscore.omit(property, 'name');\n },\n toJSON: function () {\n const json = BaseModel.prototype.toJSON.apply(this, arguments);\n json.schema = {\n properties: {}\n };\n this.getProperties().each(function (model) {\n const property = model.toJSON();\n json.schema.properties[property.name] = this.trimProperty(property);\n }, this);\n return json;\n },\n save: function () {\n this.getProperties().each(function (model) {\n model.cleanup();\n });\n return BaseModel.prototype.save.apply(this, arguments);\n }\n});\nconst BaseSchemaSchemas = BaseCollection.extend({\n model: BaseSchemaSchema\n});\nvar BaseSchema = {\n parseProperties: parseProperties,\n Model: BaseSchemaSchema,\n Collection: BaseSchemaSchemas\n};\n\nexport { BaseSchema as default };\n","import oktaUnderscore from '../util/underscore-wrapper.js';\nimport FrameworkModel from '../framework/Model.js';\n\n/**\n * Wrapper around the more generic {@link src/framework/Model} that\n * contains Okta-specific logic.\n * @class module:Okta.Model\n * @extends src/framework/Model\n */\nvar Model = FrameworkModel.extend(\n/** @lends module:Okta.Model.prototype */\n{\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n _builtInLocalProps: {\n __edit__: 'boolean',\n __pending__: 'boolean'\n },\n preinitialize: function () {\n this.local = oktaUnderscore.defaults({}, oktaUnderscore.result(this, 'local'), this._builtInLocalProps);\n FrameworkModel.prototype.preinitialize.apply(this, arguments);\n },\n constructor: function () {\n FrameworkModel.apply(this, arguments);\n\n if (oktaUnderscore.result(this, 'secureJSON')) {\n this.sync = oktaUnderscore.wrap(this.sync, function (sync, method, model, options) {\n return sync.call(this, method, model, oktaUnderscore.extend({\n dataType: 'secureJSON'\n }, options));\n });\n }\n }\n});\n\nexport { Model as default };\n","import oktaJQueryStatic from '../util/jquery-wrapper.js';\nimport oktaUnderscore from '../util/underscore-wrapper.js';\nimport BaseCollection from './BaseCollection.js';\nimport BaseModel from './BaseModel.js';\nimport Logger from '../util/Logger.js';\nimport SchemaUtils from '../util/SchemaUtil.js';\nimport StringUtil from '../util/StringUtil.js';\nimport EnumTypeHelper from '../views/forms/helpers/EnumTypeHelper.js';\n\n/* eslint-disable inclusive-language/use-inclusive-words */\nconst loc = StringUtil.localize;\nconst STRING = SchemaUtils.STRING;\nconst NUMBER = SchemaUtils.NUMBER;\nconst INTEGER = SchemaUtils.INTEGER;\nconst OBJECT = SchemaUtils.OBJECT;\n\nconst getArrayTypeName = function (type, elementType) {\n return type + 'of' + elementType;\n};\n\nconst SchemaPropertySubSchema = BaseModel.extend({\n defaults: {\n description: undefined,\n minLength: undefined,\n maxLength: undefined,\n format: undefined\n },\n parse: function (resp) {\n if (oktaUnderscore.isString(resp.format)) {\n const matcher = /^\\/(.+)\\/$/.exec(resp.format);\n\n if (matcher) {\n resp.format = matcher[1];\n }\n }\n\n return resp;\n }\n});\nconst SchemaPropertySubSchemaCollection = BaseCollection.extend({\n model: SchemaPropertySubSchema\n});\nconst SchemaPropertySubSchemaAllOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'allOf'\n});\nconst SchemaPropertySubSchemaOneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'oneOf'\n});\nconst SchemaPropertySubSchemaNoneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'noneOf'\n});\nconst constraintTypeErrorMessages = {\n string: loc('schema.validation.field.value.must.string', 'courage'),\n number: loc('schema.validation.field.value.must.number', 'courage'),\n integer: loc('schema.validation.field.value.must.integer', 'courage'),\n object: loc('schema.validation.field.value.must.object', 'courage')\n};\nconst loginFormatNonePattern = '.+';\nconst escapedLoginCharsRe = /[^a-zA-Z0-9-]/;\nconst constraintHandlers = {\n between: '_checkBetweenConstraints',\n greaterThan: '_checkGreaterThanConstraint',\n lessThan: '_checkLessThanConstraint',\n equals: '_checkEqualsConstraint'\n};\nconst SchemaPropertySchemaProperty = BaseModel.extend({\n idAttribute: 'name',\n local: {\n __oneOf__: {\n type: 'array',\n minItems: 1\n }\n },\n defaults: {\n // OKTA-28445, set empty string by default as the key for each property when syncing with server\n // so that server can respond with error when a name is not provided\n name: '',\n title: undefined,\n type: undefined,\n description: undefined,\n required: false,\n format: undefined,\n // choose disable option be default.\n union: undefined,\n subSchemas: undefined,\n settings: {\n permissions: {\n SELF: SchemaUtils.PERMISSION.READ_ONLY\n }\n },\n unique: undefined,\n __metadata__: undefined,\n __isSensitive__: BaseModel.ComputedProperty(['settings'], function (settings) {\n return !!(settings && settings.sensitive && settings.sensitive !== 'NOT_SENSITIVE');\n }),\n __isPendingSensitive__: BaseModel.ComputedProperty(['settings'], function (settings) {\n return !!(settings && settings.sensitive && settings.sensitive === 'PENDING_SENSITIVE');\n }),\n __unique__: false,\n __isUniqueValidated__: BaseModel.ComputedProperty(['unique'], function (unique) {\n return unique === SchemaUtils.UNIQUENESS.UNIQUE_VALIDATED;\n }),\n __isPendingUniqueness__: BaseModel.ComputedProperty(['unique'], function (unique) {\n return unique === SchemaUtils.UNIQUENESS.PENDING_UNIQUENESS;\n }),\n __isUniqueness__: BaseModel.ComputedProperty(['__isUniqueValidated__', '__isPendingUniqueness__'], function (isValidated, isPending) {\n return isValidated || isPending;\n }),\n __canBeSensitive__: BaseModel.ComputedProperty(['__metadata__'], function (metadata) {\n return !!(metadata && metadata.sensitivizable);\n }),\n __userPermission__: SchemaUtils.PERMISSION.READ_ONLY,\n __displayType__: undefined,\n __displayTypeLabel__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return SchemaUtils.DATATYPE[displayType] || displayType;\n }),\n __supportsMinMax__: false,\n // use the private naming convention for these computed properties,\n // to deal with the complexity in cloning schema with properties (toJSON({verbose: true})),\n // to make sure these attributes are being excluded from api request\n __isReadOnly__: BaseModel.ComputedProperty(['mutability'], function (mutability) {\n return mutability === SchemaUtils.MUTABILITY.READONLY;\n }),\n __isWriteOnly__: BaseModel.ComputedProperty(['mutability'], function (mutability) {\n return mutability === SchemaUtils.MUTABILITY.WRITEONLY;\n }),\n __displayScope__: undefined,\n __isScopeSelf__: BaseModel.ComputedProperty(['scope'], function (scope) {\n return scope === SchemaUtils.SCOPE.SELF;\n }),\n __isNoneScopeArrayType__: BaseModel.ComputedProperty(['__isScopeSelf__', '__displayType__'], function (isScopeSelf, displayType) {\n return !isScopeSelf && SchemaUtils.isArrayDataType(displayType);\n }),\n __isImported__: BaseModel.ComputedProperty(['externalName'], function (externalName) {\n return !!externalName;\n }),\n __isFromBaseSchema__: BaseModel.ComputedProperty(['__schemaMeta__'], function (schemaMeta) {\n return schemaMeta && schemaMeta.name === 'base';\n }),\n // Only UI can turn on __enumDefined__ and reprocess the enum/oneOf value; otherwise,\n // it should leave existing value untouch\n __enumDefined__: false,\n __supportEnum__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return oktaUnderscore.contains(SchemaUtils.SUPPORTENUM, displayType);\n }),\n __isNumberTypeEnum__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return oktaUnderscore.contains([SchemaUtils.NUMBER, SchemaUtils.ARRAYDISPLAYTYPE.arrayofnumber], displayType);\n }),\n __isIntegerTypeEnum__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return oktaUnderscore.contains([SchemaUtils.INTEGER, SchemaUtils.ARRAYDISPLAYTYPE.arrayofinteger], displayType);\n }),\n __isObjectTypeEnum__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return oktaUnderscore.contains([SchemaUtils.OBJECT, SchemaUtils.ARRAYDISPLAYTYPE.arrayofobject], displayType);\n }),\n __isStringTypeEnum__: BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n return oktaUnderscore.contains([SchemaUtils.STRING, SchemaUtils.ARRAYDISPLAYTYPE.arrayofstring], displayType);\n }),\n __enumConstraintType__: BaseModel.ComputedProperty(['__isStringTypeEnum__', '__isNumberTypeEnum__', '__isIntegerTypeEnum__', '__isObjectTypeEnum__'], function (isStringType, isNumberType, isIntegerType, isObjectType) {\n if (isStringType) {\n return STRING;\n }\n\n if (isNumberType) {\n return NUMBER;\n }\n\n if (isIntegerType) {\n return INTEGER;\n }\n\n if (isObjectType) {\n return OBJECT;\n }\n }),\n __isEnumDefinedAndSupported__: BaseModel.ComputedProperty(['__enumDefined__', '__supportEnum__'], function (enumDefined, supportEnum) {\n return enumDefined && supportEnum;\n }),\n __isLoginOfBaseSchema__: BaseModel.ComputedProperty(['__isFromBaseSchema__', 'name'], function (isFromBaseSchema, name) {\n return isFromBaseSchema && name === 'login';\n }),\n __isLoginFormatRestrictionToEmail__: BaseModel.ComputedProperty(['__loginFormatRestriction__'], function (loginFormatRestriction) {\n return loginFormatRestriction === SchemaUtils.LOGINPATTERNFORMAT.EMAIL;\n })\n },\n initialize: function () {\n BaseModel.prototype.initialize.apply(this, arguments);\n this.listenTo(this, 'change:__displayType__', this._updateTypeFormatConstraints);\n this.listenTo(this, 'change:type change:format change:items', this._updateDisplayType);\n this.listenTo(this, 'change:__minVal__ change:__maxVal__', this._updateMinMax);\n this.listenTo(this, 'change:__equals__', this._convertEqualsToMinMax);\n this.listenTo(this, 'change:__constraint__', this._setConstraintText);\n\n this._setConstraintText();\n\n this._setLoginPattern();\n },\n parse: function (resp) {\n /* eslint complexity: [2, 9] */\n resp = oktaUnderscore.clone(resp);\n\n if (resp.type === 'object' && resp.extendedType === 'image') {\n resp.type = 'image';\n }\n\n resp['__displayType__'] = SchemaUtils.getDisplayType(resp.type, resp.format, resp.items ? resp.items.format ? resp.items.format : resp.items.type : undefined);\n\n this._setRangeConstraints(resp);\n\n resp['__supportsMinMax__'] = SchemaUtils.SUPPORTSMINMAX.indexOf(resp['__displayType__']) !== -1;\n resp['__displayScope__'] = SchemaUtils.DISPLAYSCOPE[resp.scope] || SchemaUtils.DISPLAYSCOPE.NA;\n\n if (resp.settings && resp.settings.permissions && resp.settings.permissions.SELF) {\n resp['__userPermission__'] = resp.settings.permissions.SELF;\n }\n\n this._setMasterOverride(resp);\n\n this._setSubSchemas(resp);\n\n this._setUniqueness(resp);\n\n return resp;\n },\n validate: function () {\n const enumValidationError = this._validateEnumOneOf();\n\n if (enumValidationError) {\n return enumValidationError;\n }\n\n if (!this.get('__supportsMinMax__') || !this.get('__constraint__')) {\n return undefined;\n }\n\n const constraitType = this.get('__constraint__');\n const constraitHandler = this[constraintHandlers[constraitType]];\n\n if (oktaUnderscore.isFunction(constraitHandler)) {\n return constraitHandler.call(this);\n } else {\n Logger.warn('No constraint handler found for: ' + constraitType);\n return undefined;\n }\n },\n _checkBetweenConstraints: function () {\n const minVal = this.get('__minVal__');\n const maxVal = this.get('__maxVal__');\n\n if (!minVal && !maxVal) {\n return;\n }\n\n if (!minVal) {\n return {\n __minVal__: loc('schema.validation.field.enter.minimum.number', 'courage')\n };\n }\n\n if (!maxVal) {\n return {\n __maxVal__: loc('schema.validation.field.enter.maximum.number', 'courage')\n };\n }\n\n let val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\n if (val) {\n return val;\n }\n\n val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\n if (val) {\n return val;\n }\n\n if (+minVal >= +maxVal) {\n return {\n __maxVal__: loc('schema.validation.field.maximum.must.be.greater.than.minimum', 'courage')\n };\n }\n },\n _checkGreaterThanConstraint: function () {\n const minVal = this.get('__minVal__');\n\n if (!minVal) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__minVal__', 'Constraint');\n\n if (val) {\n return val;\n }\n },\n _checkLessThanConstraint: function () {\n const maxVal = this.get('__maxVal__');\n\n if (!maxVal) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__maxVal__', 'Constraint');\n\n if (val) {\n return val;\n }\n },\n _checkEqualsConstraint: function () {\n const equals = this.get('__equals__');\n\n if (!equals) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__equals__', 'Constraint');\n\n if (val) {\n return val;\n }\n },\n _checkIntegerConstraints: function (field, name) {\n const val = this.get(field);\n const error = {}; // eslint-disable-next-line no-restricted-globals\n\n if (isNaN(val)) {\n if (name === 'Min value') {\n error[field] = loc('schema.validation.field.minimum.value.must.be.number', 'courage');\n } else if (name === 'Max value') {\n error[field] = loc('schema.validation.field.maximum.value.must.be.number', 'courage');\n } else if (name === 'Constraint') {\n error[field] = loc('schema.validation.field.constraint.must.be.number', 'courage');\n }\n\n return error;\n }\n\n if (+val < 0) {\n if (name === 'Min value') {\n error[field] = loc('schema.validation.field.minimum.number.must.be.greater.than.zero', 'courage');\n } else if (name === 'Max value') {\n error[field] = loc('schema.validation.field.maximum.number.must.be.greater.than.zero', 'courage');\n } else if (name === 'Constraint') {\n error[field] = loc('schema.validation.field.number.must.be.greater.than.zero', 'courage');\n }\n\n return error;\n }\n },\n _setMasterOverride: function (resp) {\n if (resp.settings && resp.settings.masterOverride && resp.settings.masterOverride) {\n const masterOverrideValue = resp.settings.masterOverride.value;\n\n if (oktaUnderscore.isArray(masterOverrideValue) && !oktaUnderscore.isEmpty(masterOverrideValue)) {\n resp['__masterOverrideType__'] = 'OVERRIDE';\n resp['__masterOverrideValue__'] = masterOverrideValue || [];\n } else {\n resp['__masterOverrideType__'] = resp.settings.masterOverride.type;\n }\n } else {\n resp['__masterOverrideType__'] = 'INHERIT';\n }\n },\n _setRangeConstraints: function (resp) {\n /* eslint complexity: [2, 11] */\n if (resp['__displayType__'] === STRING) {\n resp['__minVal__'] = resp.minLength;\n resp['__maxVal__'] = resp.maxLength;\n } else if (resp['__displayType__'] === INTEGER || resp['__displayType__'] === NUMBER) {\n resp['__minVal__'] = resp.minimum;\n resp['__maxVal__'] = resp.maximum;\n }\n\n if (resp['__minVal__'] && resp['__maxVal__']) {\n if (resp['__minVal__'] === resp['__maxVal__']) {\n resp['__constraint__'] = 'equals';\n resp['__equals__'] = resp['__minVal__'];\n } else {\n resp['__constraint__'] = 'between';\n }\n } else if (!resp['__minVal__'] && resp['__maxVal__']) {\n resp['__constraint__'] = 'lessThan';\n } else if (!resp['__maxVal__'] && resp['__minVal__']) {\n resp['__constraint__'] = 'greaterThan';\n }\n },\n _setSubSchemas: function (resp) {\n if (resp.allOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaAllOfCollection(resp.allOf, {\n parse: true\n });\n } else if (resp.oneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaOneOfCollection(resp.oneOf, {\n parse: true\n });\n } else if (resp.noneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaNoneOfCollection(resp.noneOf, {\n parse: true\n });\n }\n },\n _setUniqueness: function (resp) {\n const unique = resp && resp.unique;\n resp['__unique__'] = !!(unique && (unique === SchemaUtils.UNIQUENESS.UNIQUE_VALIDATED || unique === SchemaUtils.UNIQUENESS.PENDING_UNIQUENESS));\n },\n _setLoginPattern: function () {\n if (!this.get('__isLoginOfBaseSchema__')) {\n return;\n }\n\n const pattern = this.get('pattern');\n\n if (pattern === loginFormatNonePattern) {\n this.set('__loginFormatRestriction__', SchemaUtils.LOGINPATTERNFORMAT.NONE);\n } else if (pattern) {\n this.set('__loginFormatRestriction__', SchemaUtils.LOGINPATTERNFORMAT.CUSTOM);\n this.set('__loginFormatRestrictionCustom__', this._extractLoginPattern(pattern));\n } else {\n this.set('__loginFormatRestriction__', SchemaUtils.LOGINPATTERNFORMAT.EMAIL);\n }\n },\n _updateDisplayType: function () {\n const type = this.get('type');\n\n if (type === STRING && this.get('format')) {\n this.set('__displayType__', SchemaUtils.FORMATDISPLAYTYPE[this.get('format')]);\n } else {\n const items = this.get('items');\n const arraytype = items && (items.format ? items.format : items.type);\n\n if (type && arraytype) {\n this.set('__displayType__', SchemaUtils.ARRAYDISPLAYTYPE[getArrayTypeName(type, arraytype)]);\n } else {\n this.set('__displayType__', type);\n }\n }\n },\n _validateEnumOneOf: function () {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return;\n }\n\n const enumOneOf = this.get('__oneOf__') || [];\n\n if (oktaUnderscore.isEmpty(enumOneOf)) {\n return {\n __oneOf__: loc('model.validation.field.blank', 'courage')\n };\n }\n\n if (!this._isValidateOneOfConstraint(enumOneOf)) {\n const constraintType = this.get('__enumConstraintType__');\n const errorTypeMsg = constraintTypeErrorMessages[constraintType];\n return {\n __oneOf__: errorTypeMsg\n };\n }\n },\n _isValidateOneOfConstraint: function (values) {\n const constraintType = this.get('__enumConstraintType__');\n return oktaUnderscore.all(values, function (value) {\n return EnumTypeHelper.isConstraintValueMatchType(value.const, constraintType);\n });\n },\n toJSON: function () {\n let json = BaseModel.prototype.toJSON.apply(this, arguments);\n json.settings = {\n permissions: {}\n };\n json.settings.permissions['SELF'] = this.get('__userPermission__'); // omit \"sensitive\" filed will have default it value to false.\n\n if (this.get('__isSensitive__')) {\n json.settings.sensitive = this.get('__isSensitive__');\n }\n\n if (this.get('type') === 'image') {\n json.type = 'object';\n json.extendedType = 'image';\n }\n\n json = this._enumAssignment(json);\n json = this._attributeOverrideToJson(json);\n json = this._normalizeUnionValue(json);\n json = this._patternAssignment(json);\n json = this._uniquenessAssignment(json);\n return json;\n },\n _attributeOverrideToJson: function (json) {\n const masterOverrideType = this.get('__masterOverrideType__');\n const masterOverrideValue = this.get('__masterOverrideValue__');\n\n if (masterOverrideType === 'OKTA_MASTERED') {\n json.settings.masterOverride = {\n type: 'OKTA_MASTERED'\n };\n } else if (masterOverrideType === 'OVERRIDE') {\n json.settings.masterOverride = {\n type: 'ORDERED_LIST',\n value: []\n };\n\n if (masterOverrideValue instanceof BaseCollection) {\n oktaUnderscore.each(masterOverrideValue.toJSON(), function (overrideProfile) {\n json.settings.masterOverride.value.push(overrideProfile.id);\n });\n } else if (masterOverrideValue instanceof Array) {\n json.settings.masterOverride.value = masterOverrideValue;\n }\n\n if (oktaUnderscore.isEmpty(json.settings.masterOverride.value)) {\n delete json.settings.masterOverride;\n }\n }\n\n if (masterOverrideType === 'INHERIT') {\n delete json.settings.masterOverride;\n }\n\n return json;\n },\n\n /**\n * Only allow set \"union\" value when isScopeSelf is NONE and displayType is\n * array of (string/number/integer), otherwise reset to default.\n *\n * @see /universal-directory/shared/views/components/UnionGroupValuesRadio.js\n */\n _normalizeUnionValue: function (json) {\n if (!this.get('__isNoneScopeArrayType__')) {\n json['union'] = undefined;\n }\n\n return json;\n },\n _enumAssignment: function (json) {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return json;\n } // backfill empty title by constraint\n\n\n const enumOneOf = this._getEnumOneOfWithTitleCheck();\n\n if (this.get('type') === 'array') {\n delete json.items.enum;\n json.items.oneOf = enumOneOf;\n } else {\n delete json.enum;\n json.oneOf = enumOneOf;\n }\n\n return json;\n },\n _patternAssignment: function (json) {\n if (!this.get('__isLoginOfBaseSchema__') || !this.get('__loginFormatRestriction__')) {\n return json;\n }\n\n switch (this.get('__loginFormatRestriction__')) {\n case SchemaUtils.LOGINPATTERNFORMAT.EMAIL:\n delete json.pattern;\n break;\n\n case SchemaUtils.LOGINPATTERNFORMAT.CUSTOM:\n json.pattern = this._buildLoginPattern(this.get('__loginFormatRestrictionCustom__'));\n break;\n\n case SchemaUtils.LOGINPATTERNFORMAT.NONE:\n json.pattern = loginFormatNonePattern;\n break;\n }\n\n return json;\n },\n _uniquenessAssignment: function (json) {\n if (!this.get('__unique__')) {\n delete json.unique;\n } else if (!this.get('__isUniqueness__')) {\n json.unique = SchemaUtils.UNIQUENESS.UNIQUE_VALIDATED;\n }\n\n return json;\n },\n\n /**\n * Character should be escaped except letters, digits and hyphen\n */\n _escapedRegexChar: function (pattern, index) {\n const char = pattern.charAt(index);\n\n if (escapedLoginCharsRe.test(char)) {\n return '\\\\' + char;\n }\n\n return char;\n },\n _buildLoginPattern: function (pattern) {\n let result = '';\n\n for (var i = 0; i < pattern.length; i++) {\n result += this._escapedRegexChar(pattern, i);\n }\n\n return '[' + result + ']+';\n },\n _extractLoginPattern: function (pattern) {\n const re = /^\\[(.*)\\]\\+/;\n const matches = pattern.match(re);\n return matches ? matches[1].replace(/\\\\(.)/g, '$1') : pattern;\n },\n _getEnumOneOfWithTitleCheck: function () {\n const enumOneOf = this.get('__oneOf__');\n return oktaUnderscore.map(enumOneOf, function (value) {\n if (oktaJQueryStatic.trim(value.title) !== '') {\n return value;\n }\n\n value.title = !oktaUnderscore.isString(value.const) ? JSON.stringify(value.const) : value.const;\n return value;\n });\n },\n _updateTypeFormatConstraints: function () {\n const displayType = this.get('__displayType__'); // OKTA-31952 reset format according to its displayType\n\n this.unset('format', {\n silent: true\n });\n this.unset('items', {\n silent: true\n });\n this.set(SchemaUtils.DISPLAYTYPES[displayType]);\n\n if (displayType !== NUMBER && displayType !== INTEGER) {\n this.unset('minimum');\n this.unset('maximum');\n }\n\n if (displayType !== STRING) {\n this.unset('minLength');\n this.unset('maxLength');\n }\n\n this.unset('__minVal__');\n this.unset('__maxVal__');\n this.unset('__equals__');\n this.set('__supportsMinMax__', SchemaUtils.SUPPORTSMINMAX.indexOf(this.get('__displayType__')) !== -1);\n },\n _updateMinMax: function () {\n let min;\n let max;\n const displayType = this.get('__displayType__');\n\n if (displayType === STRING) {\n min = 'minLength';\n max = 'maxLength';\n } else if (displayType === INTEGER || displayType === NUMBER) {\n min = 'minimum';\n max = 'maximum';\n }\n\n if (this.get('__minVal__')) {\n this.set(min, parseInt(this.get('__minVal__'), 10));\n } else {\n this.unset(min);\n }\n\n if (this.get('__maxVal__')) {\n this.set(max, parseInt(this.get('__maxVal__'), 10));\n } else {\n this.unset(max);\n }\n },\n _convertEqualsToMinMax: function () {\n const equals = this.get('__equals__');\n\n if (equals) {\n this.set('__minVal__', equals);\n this.set('__maxVal__', equals);\n }\n },\n\n /*\n Normally we would use a derived property here but derived properties do not work with the model Clone function\n so we use this workaround instead.\n */\n _setConstraintText: function () {\n const constraint = this.get('__constraint__');\n const min = this.get('__minVal__');\n const max = this.get('__maxVal__');\n const equals = this.get('__equals__');\n\n switch (constraint) {\n case 'between':\n this.set('__constraintText__', 'Between ' + min + ' and ' + max);\n break;\n\n case 'greaterThan':\n this.set('__constraintText__', 'Greater than ' + min);\n break;\n\n case 'lessThan':\n this.set('__constraintText__', 'Less than ' + max);\n break;\n\n case 'equals':\n this.set('__constraintText__', 'Equals ' + equals);\n break;\n\n default:\n this.set('__constraintText__', '');\n break;\n }\n },\n cleanup: function () {\n if (this.get('__constraint__') === 'lessThan') {\n this.unset('__minVal__');\n } else if (this.get('__constraint__') === 'greaterThan') {\n this.unset('__maxVal__');\n }\n\n if (this.get('scope') !== SchemaUtils.SCOPE.SYSTEM) {\n if (this.get('__isScopeSelf__') === true) {\n this.set({\n scope: SchemaUtils.SCOPE.SELF\n }, {\n silent: true\n });\n } else {\n this.unset('scope');\n }\n }\n\n if (!this.get('__unique__')) {\n this.unset('unique');\n }\n },\n\n /**\n * Since there is not an dedicated attribute to flag enum type,\n * use enum values to determine whether the property is enum type or not.\n */\n isEnumType: function () {\n return !!this.getEnumValues();\n },\n getEnumValues: function () {\n return this.get('oneOf') || this.get('enum') || this.get('items') && this.get('items')['oneOf'] || this.get('items') && this.get('items')['enum'];\n },\n detectHasEnumDefined: function () {\n const enumValues = this.getEnumValues();\n\n if (!enumValues) {\n return;\n }\n\n this.set('__oneOf__', EnumTypeHelper.convertToOneOf(enumValues));\n this.set('__enumDefined__', true);\n }\n});\nconst SchemaPropertySchemaProperties = BaseCollection.extend({\n model: SchemaPropertySchemaProperty,\n clone: function () {\n return new this.constructor(this.toJSON({\n verbose: true\n }), {\n parse: true\n });\n },\n areAllReadOnly: function () {\n return oktaUnderscore.all(this.pluck('__isReadOnly__'));\n },\n createModelProperties: function () {\n return this.reduce(function (p, schemaProperty) {\n const type = schemaProperty.get('type');\n p[schemaProperty.id] = oktaUnderscore.clone(SchemaUtils.DISPLAYTYPES[type]);\n\n if (SchemaUtils.SUPPORTSMINMAX.indexOf(type) !== -1) {\n p[schemaProperty.id].minLength = schemaProperty.get('minLength');\n p[schemaProperty.id].maxLength = schemaProperty.get('maxLength');\n }\n\n if (type === 'string') {\n p[schemaProperty.id].format = schemaProperty.get('format');\n }\n\n return p;\n }, {});\n }\n});\nvar SchemaProperty = {\n Model: SchemaPropertySchemaProperty,\n Collection: SchemaPropertySchemaProperties\n};\n\nexport { SchemaProperty as default };\n","import oktaJQueryStatic from './jquery-wrapper.js';\nimport oktaUnderscore from './underscore-wrapper.js';\nimport BaseRouter from './BaseRouter.js';\nimport SettingsModel from './SettingsModel.js';\nimport StateMachine from './StateMachine.js';\nimport BaseView from '../views/BaseView.js';\n\nfunction clean(obj) {\n const res = {};\n\n oktaUnderscore.each(obj, function (value, key) {\n if (!oktaUnderscore.isNull(value)) {\n res[key] = value;\n }\n });\n\n return res;\n}\n\nconst proto =\n/** @lends module:Okta.Controller.prototype */\n{\n preinitialize: function (options = {}) {\n // If 'state' is passed down as options, use it, else create a 'new StateMachine()'\n this.state = oktaUnderscore.result(this, 'state');\n const hasStateBeenInitialized = this.state instanceof StateMachine || options.state instanceof StateMachine;\n\n if (!hasStateBeenInitialized) {\n const stateData = oktaUnderscore.defaults(clean(options.state), this.state || {}); // TODO:\n // `framework/View.js set `this.state = options.state.`.\n // Therefore we could consider to do\n // 1. `options.state = new StateMachine()`\n // 2. remove `delete options.state`\n\n\n this.state = new StateMachine(stateData);\n delete options.state;\n }\n\n if (!options.settings) {\n // allow the controller to live without a router\n options.settings = new SettingsModel(oktaUnderscore.omit(options || {}, 'el'));\n this.listen('notification', BaseRouter.prototype._notify);\n this.listen('confirmation', BaseRouter.prototype._confirm);\n }\n\n BaseView.prototype.preinitialize.call(this, options);\n },\n constructor: function (options = {}) {\n BaseView.call(this, options);\n this.listenTo(this.state, '__invoke__', function () {\n const args = oktaUnderscore.toArray(arguments);\n\n const method = args.shift();\n\n if (oktaUnderscore.isFunction(this[method])) {\n this[method].apply(this, args);\n }\n });\n let MainView; // if `this.View` is already a Backbone View\n\n if (this.View && this.View.isCourageView) {\n MainView = this.View;\n } // if `this.View` is a pure function that returns a Backbone View\n else if (oktaUnderscore.result(this, 'View') && oktaUnderscore.result(this, 'View').isCourageView) {\n MainView = oktaUnderscore.result(this, 'View');\n }\n\n if (MainView) {\n this.add(new MainView(this.toJSON()));\n }\n },\n\n /**\n * The default values of our application state\n * @type {Object}\n * @default {}\n */\n state: {},\n\n /**\n * The main view this controller operate on\n * @type {module:Okta.View}\n * @default null\n */\n View: null,\n\n /**\n * Renders the {@link module:Okta.Controller#View|main view} after the DOM is ready\n * in case the controller is the root component of the page (e.g there's no router)\n */\n render: function () {\n const args = arguments;\n const self = this;\n oktaJQueryStatic(function () {\n BaseView.prototype.render.apply(self, args);\n });\n return this;\n },\n\n /**\n * Creates the view constructor options\n * @param {Object} [options] Extra options\n * @return {Object} The view constructor options\n */\n toJSON: function (options) {\n return oktaUnderscore.extend(oktaUnderscore.pick(this, 'state', 'settings', 'collection', 'model'), options || {});\n },\n\n /**\n * Removes the child views, empty the DOM element and stop listening to events\n */\n remove: function () {\n this.removeChildren();\n this.stopListening();\n this.$el.empty();\n return this;\n }\n}; // eslint-disable-next-line inclusive-language/use-inclusive-words\n\n/**\n * A Controller is our application control flow component.\n *\n * Typically it will:\n * - Initialize the models, controller and main views\n * - Listen to events\n * - Create, read, update and delete models\n * - Create modal dialogs, confirmation dialogs and alert dialogs\n * - Control the application flow\n *\n * The constructor is responsible for:\n * - Create the application state object\n * - Assign or creates the application settings object\n * - Create an instance of the main view with the relevant parameters\n *\n * See:\n * [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World),\n * [Test Spec](https://github.com/atko-eng/okta-ui/blob/master/packages/courage/test/spec/util/BaseController_spec.js)\n *\n * @class module:Okta.Controller\n * @param {Object} options Options Hash\n * @param {SettingsModel} [options.settings] Application Settings Model\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n\nvar BaseController = BaseView.extend(proto);\n\nexport { BaseController as default };\n","import Backbone from '../vendor/lib/backbone.js';\nimport ConfirmationDialog from '../../empty.js';\nimport oktaJQueryStatic from './jquery-wrapper.js';\nimport oktaUnderscore from './underscore-wrapper.js';\nimport Logger from './Logger.js';\nimport SettingsModel from './SettingsModel.js';\nimport Notification from '../views/components/Notification.js';\n\nfunction getRoute(router, route) {\n const root = oktaUnderscore.result(router, 'root') || '';\n\n if (root && oktaUnderscore.isString(route)) {\n return [root, route].join('/').replace(/\\/{2,}/g, '/');\n }\n\n return route;\n}\n/**\n * BaseRouter is a standard [Backbone.Router](http://backbonejs.org/#Router)\n * with a few additions:\n * - Explicit mapping between routes and controllers\n * - Support for rendering notification and confirmation dialogs\n *\n * Checkout the [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World)\n * for a step-by-step guide to using this.\n *\n * @class module:Okta.Router\n * @extends external:Backbone.Router\n * @param {Object} options options hash\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n\n\nconst props =\n/** @lends module:Okta.Router.prototype */\n{\n /**\n * The root URL for the router. When setting {@link http://backbonejs.org/#Router-routes|routes},\n * it will be prepended to each route.\n * @type {String|Function}\n */\n root: '',\n listen: Notification.prototype.listen,\n constructor: function (options = {}) {\n this.el = options.el;\n /**\n * Make sure `this.settings` has been set before invoke super - `Backbone.Router.apply`,\n * which will invoke `this.initialize`, which could use `this.settings`.\n *\n * In theory we can set `this.settings` in `this.initialize` and assume `child.initialize`\n * will invoke `super.initialize` first. But in reality, `child.initialize` doesn't call\n * `super.initialize` at all.\n */\n\n this.settings = new SettingsModel(oktaUnderscore.omit(options, 'el'));\n\n if (options.root) {\n this.root = options.root;\n }\n\n Backbone.Router.apply(this, arguments);\n this.listen('notification', this._notify);\n this.listen('confirmation', this._confirm);\n },\n\n /**\n * Fires up a confirmation dialog\n *\n * @param {Object} options Options Hash\n * @param {String} options.title The title\n * @param {Array} buttonOrder The order of the buttons\n * @param {String} options.subtitle The explain text\n * @param {String} options.save The text for the save button\n * @param {Function} options.ok The callback function to run when hitting \"OK\"\n * @param {String} options.cancel The text for the cancel button\n * @param {Function} options.cancelFn The callback function to run when hitting \"Cancel\"\n * @param {Boolean} options.noCancelButton Don't render the cancel button (useful for alert dialogs)\n * @param {Boolean} options.noSubmitButton Don't render the primary button (useful for alert dialogs)\n * @private\n *\n * @return {Okta.View} the dialog view\n */\n _confirm: function (options = {}) {\n const Dialog = ConfirmationDialog.extend(oktaUnderscore.pick(options, 'title', 'subtitle', 'save', 'ok', 'cancel', 'cancelFn', 'noCancelButton', 'noSubmitButton', 'content', 'danger', 'type', 'closeOnOverlayClick', 'buttonOrder'));\n const dialog = new Dialog({\n model: this.settings\n }); // The model is here because itsa part of the BaseForm paradigm.\n // It will be ignored in the context of a confirmation dialog.\n\n dialog.render();\n return dialog; // test hook\n },\n\n /**\n * Fires up a notification banner\n *\n * @param {Object} options Options Hash\n * @return {Okta.View} the notification view\n * @private\n */\n _notify: function (options) {\n const notification = new Notification(options);\n oktaJQueryStatic('#content').prepend(notification.render().el);\n return notification; // test hook\n },\n\n /**\n * Renders a Controller\n * This will initialize new instance of a controller and call render on it\n *\n * @param {Okta.Controller} Controller The controller Class we which to render\n * @param {Object} [options] Extra options to the controller constructor\n */\n render: function (Controller, options) {\n this.unload();\n options = oktaUnderscore.extend(oktaUnderscore.pick(this, 'settings', 'el'), options || {});\n this.controller = new Controller(options);\n this.controller.render();\n },\n\n /**\n * Starts the backbone history object\n *\n * Waits for the dom to be ready before calling `Backbone.history.start()` (IE issue).\n *\n * See [Backbone History](http://backbonejs.org/#History) for more information.\n */\n start: function (...args) {\n oktaJQueryStatic(function () {\n if (Backbone.History.started) {\n Logger.error('History has already been started');\n return;\n }\n\n Backbone.history.start(...args);\n });\n },\n\n /**\n * Removes active controller and frees up event listeners\n */\n unload: function () {\n if (this.controller) {\n this.stopListening(this.controller);\n this.stopListening(this.controller.state);\n this.controller.remove();\n }\n },\n route: function (route, name, callback) {\n return Backbone.Router.prototype.route.call(this, getRoute(this, route), name, callback);\n },\n navigate: function (fragment, options) {\n return Backbone.Router.prototype.navigate.call(this, getRoute(this, fragment), options);\n }\n};\nvar BaseRouter = Backbone.Router.extend(props);\n\nexport { BaseRouter as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport BaseButtonLink from '../views/components/BaseButtonLink.js';\n\n/* eslint '@okta/okta-ui/no-deprecated-methods': [0, [{ name: 'BaseButtonLink.extend', use: 'Okta.createButton'}, ]] */\n/**\n * A factory method wrapper for {@link BaseButtonLink} creation\n * @class module:Okta.internal.util.ButtonFactory\n */\n\nfunction normalizeEvents(options) {\n const events = oktaUnderscore.extend(options.click ? {\n click: options.click\n } : {}, options.events || {});\n\n const target = {};\n\n oktaUnderscore.each(events, function (fn, eventName) {\n target[eventName] = function (e) {\n if (!options.href) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if (!(this.disabled && eventName === 'click')) {\n fn.apply(this, arguments);\n }\n };\n });\n\n return target;\n}\n\nvar ButtonFactory = /** @lends module:Okta.internal.util.ButtonFactory */\n{\n /**\n * Creates a {@link module:Okta.internal.views.components.BaseButtonLink|BaseButtonLink}.\n * @param {Object} options Options hash\n * @param {String} [options.title] The button text\n * @param {String} [options.icon]\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @param {String} [options.href] The button link\n * @param {Function} [options.click] On click callback\n * @param {Object} [options.events] a [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @returns {module:Okta.internal.views.components.BaseButtonLink} BaseButtonLink prototype (\"class\")\n */\n create: function (options) {\n options = oktaUnderscore.clone(options);\n options.attrs = options.attributes;\n delete options.attributes;\n return BaseButtonLink.extend(oktaUnderscore.extend(options, {\n events: normalizeEvents(options)\n }));\n }\n};\n\nexport { ButtonFactory as default };\n","import Backbone from '../vendor/lib/backbone.js';\nimport oktaUnderscore from './underscore-wrapper.js';\n\nfunction Class(options) {\n this.options = oktaUnderscore.clone(options || {});\n this.cid = oktaUnderscore.uniqueId('class');\n this.initialize.apply(this, arguments);\n}\n\noktaUnderscore.extend(Class.prototype, Backbone.Events, {\n initialize: function () {}\n});\n\nClass.extend = Backbone.Model.extend;\n\nexport { Class as default };\n","import clipboard from 'clipboard';\nimport oktaJQueryStatic from './jquery-wrapper.js';\nimport oktaUnderscore from './underscore-wrapper.js';\nimport FrameworkView from '../framework/View.js';\nimport Class from './Class.js';\n\nconst Clipboard = clipboard;\nconst OPTIONS = ['success', 'error', 'target', 'text'];\nconst ClipboardClipboardWrapper = Class.extend({\n initialize: function (el, options) {\n /* eslint complexity:0, max-statements: [2, 24] */\n options = oktaUnderscore.pick(options || {}, OPTIONS);\n let trigger;\n let target;\n let text;\n\n if (oktaUnderscore.isString(el)) {\n trigger = el;\n }\n\n if (oktaUnderscore.isElement(el)) {\n trigger = el;\n }\n\n if (el instanceof oktaJQueryStatic) {\n trigger = el.selector; // TODO: use stronger type\n }\n\n if (el instanceof FrameworkView) {\n trigger = el.el;\n }\n\n if (oktaUnderscore.isFunction(options.target)) {\n target = options.target;\n }\n\n if (oktaUnderscore.isElement(options.target)) {\n target = oktaUnderscore.constant(options.target);\n }\n\n if (oktaUnderscore.isString(options.text)) {\n text = oktaUnderscore.constant(options.text);\n } else if (oktaUnderscore.isFunction(options.text)) {\n text = options.text;\n }\n\n this.__instance = new Clipboard(trigger, {\n target: target,\n text: text\n });\n this.done = oktaUnderscore.partial(this.__setCallback, 'success');\n this.error = oktaUnderscore.partial(this.__setCallback, 'error');\n this.done(options.success);\n this.error(options.error);\n },\n __setCallback: function (event, callback) {\n if (!oktaUnderscore.isFunction(callback)) {\n return;\n }\n\n this.__instance.on(event, callback);\n\n return this.__instance;\n }\n});\n/**\n * @class Clipboard\n * @abstract\n *\n * Abstract class that initializes a Clipboard\n * https://clipboardjs.com/\n *\n * ### Example:\n *\n * ```javascript\n * //attach a selector\n * Clipboard.attach('.copy-button');\n *\n * //attach a node, and set a constant string\n * Clipboard.attach(buttonView.el, {\n * text: 'this is the content'\n * });\n *\n * //attach a view, set text dynamically, and set callback\n * Clipboard.attach(buttonView, {\n * text: function (triggerNode) {\n * return $(triggerNode).attr('foo') + model.get('userName');\n * }\n * }).done(function (targetNode) {\n * var msg = ['\"', targetNode.text, '\" is copied'].join('');\n * view.notify('success', msg);\n * });\n *\n * //attach a jquery object, set the target node, and set callback\n * Clipboard.attach($('.customizeTarget'), {\n * target: function (triggerNode) {\n * return triggerNode;\n * },\n * success: function (targetNode) {\n * view.notify('success', 'copied!');\n * }\n * });\n *\n * ```\n */\n\nvar Clipboard$1 = {\n /**\n * @param {String|Node|View|jQuery} [el] el could be a selector (recommended),\n * a dom node, a view or a jquery object\n * @param {Object} [options] Options hash\n * @param {Node|Function} [options.target] a static dom node\n * or a function that takes trigger node and returns a target node\n * @param {String|Function} [options.text] a static string or a function that returns a string dynamically\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @return {Object} The clipboard object\n */\n attach: function (el, options) {\n return new ClipboardClipboardWrapper(el, options);\n }\n};\n\nexport { Clipboard$1 as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport Cookie$1 from '../vendor/lib/js.cookie.js';\n\nconst SECURED_COOKIE = /^https/.test(window.location.href);\nvar Cookie = {\n setCookie: function (name, value, options) {\n Cookie$1.set(name, value, oktaUnderscore.defaults(options || {}, {\n secure: SECURED_COOKIE,\n path: '/'\n }));\n },\n getCookie: function () {\n return Cookie$1.get.apply(Cookie$1, arguments);\n },\n removeCookie: function () {\n return Cookie$1.remove.apply(Cookie$1, arguments);\n }\n};\n\nexport { Cookie as default };\n","var Keys = {\n UP: 38,\n DOWN: 40,\n DEL: 46,\n TAB: 9,\n RETURN: 13,\n ENTER: 13,\n ESC: 27,\n COMMA: 188,\n PAGEUP: 33,\n PAGEDOWN: 34,\n SPACE: 32,\n BACKSPACE: 8,\n __isKey: function (e, key) {\n return (e.which || e.keyCode) === this[key];\n },\n isEnter: function (e) {\n return this.__isKey(e, 'ENTER');\n },\n isEsc: function (e) {\n return this.__isKey(e, 'ESC');\n },\n isSpaceBar: function (e) {\n return this.__isKey(e, 'SPACE');\n }\n};\n\nexport { Keys as default };\n","function log(level, ...args) {\n if (window.console && window.okta && window.okta.debug) {\n window.console[level](...args);\n }\n}\n/**\n * Utility library of logging functions.\n * @class module:Okta.Logger\n */\n\n\nvar Logger = /** @lends module:Okta.Logger */\n{\n /**\n * See [console.trace](https://developer.mozilla.org/en-US/docs/Web/API/Console.trace)\n * @static\n */\n trace: function (...args) {\n return log('trace', ...args);\n },\n\n /**\n * See [console.dir](https://developer.mozilla.org/en-US/docs/Web/API/Console.dir)\n * @static\n */\n dir: function (...args) {\n return log('dir', ...args);\n },\n\n /**\n * See [console.time](https://developer.mozilla.org/en-US/docs/Web/API/Console.time)\n * @static\n */\n time: function (...args) {\n return log('time', ...args);\n },\n\n /**\n * See [console.timeEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.timeEnd)\n * @static\n */\n timeEnd: function (...args) {\n return log('timeEnd', ...args);\n },\n\n /**\n * See [console.group](https://developer.mozilla.org/en-US/docs/Web/API/Console.group)\n * @static\n */\n group: function (...args) {\n return log('group', ...args);\n },\n\n /**\n * See [console.groupEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.groupEnd)\n * @static\n */\n groupEnd: function (...args) {\n return log('groupEnd', ...args);\n },\n\n /**\n * See [console.assert](https://developer.mozilla.org/en-US/docs/Web/API/Console.assert)\n * @static\n */\n assert: function (...args) {\n return log('assert', ...args);\n },\n\n /**\n * See [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console.log)\n * @static\n */\n log: function (...args) {\n return log('log', ...args);\n },\n\n /**\n * See [console.info](https://developer.mozilla.org/en-US/docs/Web/API/Console.info)\n * @static\n */\n info: function (...args) {\n return log('info', ...args);\n },\n\n /**\n * See [console.warn](https://developer.mozilla.org/en-US/docs/Web/API/Console.warn)\n * @static\n */\n warn: function (...args) {\n return log('warn', ...args);\n },\n\n /**\n * See [console.error](https://developer.mozilla.org/en-US/docs/Web/API/Console.error)\n * @static\n */\n error: function (...args) {\n return log('error', ...args);\n }\n};\n\nexport { Logger as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport StringUtil from './StringUtil.js';\n\nconst loc = StringUtil.localize;\nconst SchemaUtils = {\n STRING: 'string',\n NUMBER: 'number',\n INTEGER: 'integer',\n BOOLEAN: 'boolean',\n OBJECT: 'object',\n FORMATDISPLAYTYPE: {\n 'date-time': 'date',\n uri: 'uri',\n email: 'email',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country-code',\n 'language-code': 'language-code',\n 'country_code': 'country_code',\n 'language_code': 'language_code',\n locale: 'locale',\n timezone: 'timezone',\n 'ref-id': 'reference'\n },\n ARRAYDISPLAYTYPE: {\n arrayofobject: 'arrayofobject',\n arrayofstring: 'arrayofstring',\n arrayofnumber: 'arrayofnumber',\n arrayofinteger: 'arrayofinteger',\n 'arrayofref-id': 'arrayofref-id'\n },\n DISPLAYTYPES: {\n date: {\n type: 'string',\n format: 'date-time'\n },\n uri: {\n type: 'string',\n format: 'uri'\n },\n email: {\n type: 'string',\n format: 'email'\n },\n // TODO: Resolve inconsistencies in hyphens vs. underscores for these properties (OKTA-202818)\n // use country-code if attribute should be restricted to country code type\n 'country-code': {\n type: 'string',\n format: 'country-code'\n },\n 'language-code': {\n type: 'string',\n format: 'language-code'\n },\n 'country_code': {\n type: 'string'\n },\n 'language_code': {\n type: 'string'\n },\n locale: {\n type: 'string',\n format: 'locale'\n },\n timezone: {\n type: 'string',\n format: 'timezone'\n },\n string: {\n type: 'string'\n },\n number: {\n type: 'number'\n },\n boolean: {\n type: 'boolean'\n },\n integer: {\n type: 'integer'\n },\n reference: {\n type: 'string',\n format: 'ref-id'\n },\n arrayofobject: {\n type: 'array',\n items: {\n type: 'object'\n }\n },\n arrayofstring: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n arrayofnumber: {\n type: 'array',\n items: {\n type: 'number'\n }\n },\n arrayofinteger: {\n type: 'array',\n items: {\n type: 'integer'\n }\n },\n 'arrayofref-id': {\n type: 'array',\n items: {\n type: 'string',\n format: 'ref-id'\n }\n },\n image: {\n type: 'image'\n },\n password: {\n type: 'string'\n }\n },\n SUPPORTSMINMAX: ['string', 'number', 'integer', 'password'],\n SUPPORTENUM: ['string', 'number', 'integer', 'object', 'arrayofstring', 'arrayofnumber', 'arrayofinteger', 'arrayofobject'],\n DATATYPE: {\n string: 'string',\n number: 'number',\n boolean: 'boolean',\n integer: 'integer',\n date: 'datetime',\n object: 'object',\n arrayofobject: 'object array',\n arrayofstring: 'string array',\n arrayofnumber: 'number array',\n arrayofinteger: 'integer array',\n 'arrayofref-id': 'reference array',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country code',\n 'language-code': 'language code',\n 'country_code': 'country code',\n 'language_code': 'language code',\n reference: 'reference',\n timezone: 'timezone',\n image: 'image'\n },\n MUTABILITY: {\n READONLY: 'READ_ONLY',\n WRITEONLY: 'WRITE_ONLY',\n READWRITE: 'READ_WRITE',\n IMMUTABLE: 'IMMUTABLE'\n },\n SCOPE: {\n NONE: 'NONE',\n SELF: 'SELF',\n SYSTEM: 'SYSTEM'\n },\n DISPLAYSCOPE: {\n SELF: 'User personal',\n SYSTEM: 'System',\n NA: 'None'\n },\n UNION: {\n DISABLE: 'DISABLE',\n ENABLE: 'ENABLE'\n },\n UNION_OPTIONS: {\n DISABLE: loc('universal-directory.profiles.attribute.form.union.enable.display', 'courage'),\n ENABLE: loc('universal-directory.profiles.attribute.form.union.disable.display', 'courage')\n },\n PERMISSION: {\n HIDE: 'HIDE',\n READ_ONLY: 'READ_ONLY',\n WRITE_ONLY: 'WRITE_ONLY',\n READ_WRITE: 'READ_WRITE'\n },\n ENDUSER_ATTRIBUTE_PERMISSION_OPTIONS: {\n HIDE: loc('universal-directory.profiles.attribute.enduser.permission.hide', 'courage'),\n READ_ONLY: loc('universal-directory.profiles.attribute.enduser.permission.readonly', 'courage'),\n READ_WRITE: loc('universal-directory.profiles.attribute.enduser.permission.readwrite', 'courage')\n },\n // eslint-disable-next-line inclusive-language/use-inclusive-words\n ATTRIBUTE_LEVEL_MASTERING_OPTIONS: {\n INHERIT: loc('universal-directory.profiles.attribute.source.inherit', 'courage'),\n // eslint-disable-next-line inclusive-language/use-inclusive-words\n OKTA_MASTERED: loc('universal-directory.profiles.attribute.source.oktamastered', 'courage'),\n OVERRIDE: loc('universal-directory.profiles.attribute.source.override', 'courage')\n },\n USERNAMETYPE: {\n NONE: 'non-username',\n OKTA_TO_APP: 'okta-to-app-username',\n OKTA_TO_AD: 'okta-to-ad-username',\n APP_TO_OKTA: 'app-to-okta-username',\n IDP_TO_OKTA: 'idp-to-okta-username'\n },\n LOGINPATTERNFORMAT: {\n EMAIL: 'EMAIL',\n CUSTOM: 'CUSTOM',\n NONE: 'NONE'\n },\n UNIQUENESS: {\n NOT_UNIQUE: 'NOT_UNIQUE',\n PENDING_UNIQUENESS: 'PENDING_UNIQUENESS',\n UNIQUE_VALIDATED: 'UNIQUE_VALIDATED'\n },\n\n /*\n * Get a display string for a schema attribute type.\n * @param {String} type Type of an attribute\n * @param {String} format Format of an attribute\n * @param {String} itemType Item type of an attribute if an array\n * @param {String} defaultValue The default value if an attribute type is undefined\n * @return {String} the display value\n */\n getDisplayType: function (type, format, itemType, defaultValue) {\n let displayType; // type is undefined for\n // - an un-mapped source attribute from mapping\n // - an source attribute which is mapped to username target attribute\n\n if (type) {\n // format is only defined for complicated types (ex. reference, date time, array)\n // not for simple types (ex. string, integer, boolean)\n if (format) {\n displayType = this.FORMATDISPLAYTYPE[format];\n } else {\n // itemType is only defined for array type\n // to specify an array element type (ex. string, integer, number)\n displayType = itemType ? this.ARRAYDISPLAYTYPE[type + 'of' + itemType] : type;\n }\n }\n\n if (!displayType) {\n displayType = typeof defaultValue === 'undefined' ? '' : defaultValue;\n }\n\n return displayType;\n },\n\n /*\n * Get attribute mapping source attribute username type\n * @param {String} mappingDirection\n * @param {String} targetName The mapping target attribute name\n * @param {String} appName The app name that's mapped to/from Okta\n * @return {String} the source attribute username type value\n */\n getSourceUsernameType: function (mappingDirection, targetName, appName) {\n let sourceUsernameType = this.USERNAMETYPE.NONE;\n /* eslint complexity: [2, 7] */\n\n if (mappingDirection === 'oktaToApp') {\n if (targetName === 'userName') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_APP;\n } else if (targetName === 'cn') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_AD;\n }\n } else if (mappingDirection === 'appToOkta' && targetName === 'login') {\n if (appName === 'saml_idp') {\n sourceUsernameType = this.USERNAMETYPE.IDP_TO_OKTA;\n } else {\n sourceUsernameType = this.USERNAMETYPE.APP_TO_OKTA;\n }\n }\n\n return sourceUsernameType;\n },\n isArrayDataType: function (type) {\n return oktaUnderscore.contains(oktaUnderscore.values(this.ARRAYDISPLAYTYPE), type);\n },\n isObjectDataType: function (type) {\n return this.DATATYPE.object === type;\n }\n};\n\nexport { SchemaUtils as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport Model from '../models/Model.js';\n\n/**\n * @class SettingsModel\n * @extends {Okta.Model}\n * @private\n */\nconst props = {\n local: function () {\n const settings = window.okta && window.okta.settings || {};\n const theme = window.okta && window.okta.theme || '';\n return {\n orgId: ['string', false, settings.orgId],\n orgName: ['string', false, settings.orgName],\n serverStatus: ['string', false, settings.serverStatus],\n persona: ['string', false, settings.persona],\n isDeveloperConsole: ['boolean', false, settings.isDeveloperConsole],\n isPreview: ['boolean', false, settings.isPreview],\n permissions: ['array', true, settings.permissions || []],\n theme: ['string', false, theme]\n };\n },\n constructor: function () {\n Model.apply(this, arguments);\n this.features = window._features || [];\n },\n\n /**\n * Checks if the user have a feature flag enabled (Based of the org level feature flag)\n * @param {String} feature Feature name\n * @return {Boolean}\n */\n hasFeature: function (feature) {\n return oktaUnderscore.contains(this.features, feature);\n },\n\n /**\n * Checks if any of the given feature flags are enabled (Based of the org level feature flags)\n * @param {Array} featureArray Features names\n * @return {Boolean} true if any of the give features are enabled. False otherwise\n */\n hasAnyFeature: function (featureArray) {\n return oktaUnderscore.some(featureArray, this.hasFeature, this);\n },\n\n /**\n * Checks if the user have a specific permission (based on data passed from JSP)\n * @param {String} permission Permission name\n * @return {Boolean}\n */\n hasPermission: function (permission) {\n return oktaUnderscore.contains(this.get('permissions'), permission);\n },\n\n /**\n * Checks if the org has ds theme set\n * @return {Boolean}\n */\n isDsTheme: function () {\n return this.get('theme') === 'dstheme';\n }\n};\nvar SettingsModel = Model.extend(props);\n\nexport { SettingsModel as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport Model from '../models/Model.js';\n\n/**\n * @class StateMachine\n * @extends Okta.Model\n * @private\n *\n * A state object that holds the applciation state\n */\nvar StateMachine = Model.extend({\n /**\n * Invokes a method on the applicable {@link Okta.Controller}\n *\n * ```javascript\n * state.invoke('methodName', 'param1', 'param2')\n * // Will call\n * contoller.methodName('param1', 'param2')\n * ```\n * @param {String} methodName the name of the controller method to invoke on the controller\n */\n invoke: function () {\n const args = oktaUnderscore.toArray(arguments);\n\n args.unshift('__invoke__');\n this.trigger.apply(this, args);\n }\n});\n\nexport { StateMachine as default };\n","import oktaJQueryStatic from './jquery-wrapper.js';\nimport oktaUnderscore from './underscore-wrapper.js';\nimport Bundles from '@okta/okta-i18n-bundles';\n\nconst entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': '\\'',\n ''': '\\'',\n '/': '/'\n};\nconst emailValidator = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(?!-)((\\[?[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]?)|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/**\n* Converts the locale code identifier from \"${languageCode}-${countryCode}\" to \"${languageCode}_${countryCode}\"\n* Follows the ISO-639-1 language code and 2-letter ISO-3166-1-alpha-2 country code structure.\n* @param {String} locale code identifier\n* @return {String} converted locale code identifier\n*/\n\nconst parseLocale = locale => {\n if (/-/.test(locale)) {\n const parts = locale.split('-');\n parts[1] = parts[1].toUpperCase();\n return parts.join('_');\n }\n\n return locale;\n};\n/* eslint max-len: 0*/\n\n/**\n * Returns the user's locale as defined by window.okta.locale\n */\n\n\nfunction getRawLocale() {\n if (window && window.okta && window.okta.locale) {\n const isEnableBcp47OktaUi = window.okta.isEnableBcp47OktaUi;\n return isEnableBcp47OktaUi ? window.okta.locale : window.okta.locale.toLowerCase();\n }\n\n return 'en';\n}\n/**\n * Returns the language bundle based on the current locale.\n * - If a locale is not provided, default to English ('en')\n * - Legacy Support: If the named language bundle does not exist, fall back to the default named bundle.\n *\n * @param {*} bundleName\n */\n\n\nfunction getBundle(bundleName) {\n if (!bundleName) {\n return Bundles[oktaUnderscore.keys(Bundles)[0]];\n }\n\n const locale = parseLocale(getRawLocale());\n return Bundles[`${bundleName}_${locale}`] || Bundles[bundleName];\n}\n/**\n *\n * CustomEvent polyfill for IE\n * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#polyfill\n */\n\n\nfunction IECustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n}\n/**\n * Call the window.okta.emitL10nError function if it is defined\n * @param {String} key The i18n key\n * @param {String} bundleName The i18n bundle name\n * @param {String} reason Could be 'bundle' (Bundle not found), 'key' (Key not found) or 'parameters' (Parameters mismatch).\n */\n\n\nfunction emitL10nError(key, bundleName, reason) {\n // CustomEvent polyfill for IE\n if (!window.CustomEvent) {\n window.CustomEvent = IECustomEvent;\n } // dispatchEvent for sentry\n\n\n if (typeof window.CustomEvent === 'function') {\n const event = new CustomEvent('okta-i18n-error', {\n detail: {\n type: 'l10n-error',\n key: key,\n bundleName: bundleName,\n reason: reason\n }\n });\n document.dispatchEvent(event);\n }\n}\n\nconst StringUtil =\n/** @lends module:Okta.internal.util.StringUtil */\n{\n /** @static */\n getRawLocale: function () {\n return getRawLocale();\n },\n\n /** @static */\n getParsedLocale: function () {\n return parseLocale(getRawLocale());\n },\n\n /** @static */\n isLocaleBundleExist: function (bundleName, locale) {\n const parsedLocale = parseLocale(locale);\n return !!Bundles[`${bundleName}_${parsedLocale}`];\n },\n\n /** @static */\n sprintf: function () {\n const args = Array.prototype.slice.apply(arguments);\n let value = args.shift();\n let oldValue = value;\n /* eslint max-statements: [2, 15] */\n\n function triggerError() {\n throw new Error('Mismatch number of variables: ' + arguments[0] + ', ' + JSON.stringify(args));\n }\n\n for (var i = 0, l = args.length; i < l; i++) {\n const entity = args[i];\n const regex = new RegExp('\\\\{' + i + '\\\\}', 'g');\n value = value.replace(regex, entity);\n\n if (entity === undefined || entity === null || value === oldValue) {\n triggerError();\n }\n\n oldValue = value;\n }\n\n if (/\\{[\\d+]\\}/.test(value)) {\n triggerError();\n }\n\n return value;\n },\n\n /**\n * Converts a URI encoded query string into a hash map\n * @param {String} query The query string\n * @return {Object} The map\n * @static\n * @example\n * StringUtil.parseQuery('foo=bar&baz=qux') // {foo: 'bar', baz: 'qux'}\n */\n parseQuery: function (query) {\n const params = {};\n const pairs = decodeURIComponent(query.replace(/\\+/g, ' ')).split('&');\n\n for (var i = 0; i < pairs.length; i++) {\n const pair = pairs[i];\n const data = pair.split('=');\n params[data.shift()] = data.join('=');\n }\n\n return params;\n },\n\n /** @static */\n encodeJSObject: function (jsObj) {\n return encodeURIComponent(JSON.stringify(jsObj));\n },\n\n /** @static */\n decodeJSObject: function (jsObj) {\n try {\n return JSON.parse(decodeURIComponent(jsObj));\n } catch (e) {\n return null;\n }\n },\n\n /** @static */\n unescapeHtml: function (string) {\n return String(string).replace(/&[\\w#\\d]{2,};/g, function (s) {\n return entityMap[s] || s;\n });\n },\n\n /**\n * Get the original i18n template directly without string format with parameters\n * @param {String} key The key\n * @param {String} bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n */\n getTemplate: function (key, bundleName) {\n const bundle = getBundle(bundleName);\n\n if (!bundle) {\n emitL10nError(key, bundleName, 'bundle');\n return 'L10N_ERROR[' + bundleName + ']';\n }\n\n if (bundle[key]) {\n return bundle[key];\n } else {\n emitL10nError(key, bundleName, 'key');\n return 'L10N_ERROR[' + key + ']';\n }\n },\n\n /**\n * Translate a key to the localized value\n * @static\n * @param {String} key The key\n * @param {String} [bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n * @param {Array} [params] A list of parameters to apply as tokens to the i18n value\n * @return {String} The localized value\n */\n localize: function (key, bundleName, params) {\n const bundle = getBundle(bundleName);\n /* eslint complexity: [2, 6] */\n\n if (!bundle) {\n emitL10nError(key, bundleName, 'bundle');\n return 'L10N_ERROR[' + bundleName + ']';\n }\n\n let value = bundle[key];\n\n try {\n params = params && params.slice ? params.slice(0) : [];\n params.unshift(value);\n value = StringUtil.sprintf.apply(null, params);\n\n if (value) {\n return value;\n } else {\n emitL10nError(key, bundleName, 'key');\n return 'L10N_ERROR[' + key + ']';\n }\n } catch (e) {\n emitL10nError(key, bundleName, 'parameters');\n return 'L10N_ERROR[' + key + ']';\n }\n },\n\n /**\n * Convert a string to a float if valid, otherwise return the string.\n * Valid numbers may contain a negative sign and a decimal point.\n * @static\n * @param {String} string The string to convert to a number\n * @return {String|Number} Returns a number if the string can be casted, otherwise returns the original string\n */\n parseFloat: function (string) {\n const number = +string;\n return typeof string === 'string' && number === parseFloat(string) ? number : string;\n },\n\n /**\n * Convert a string to an integer if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an integer\n * @return {String|integer} Returns an integer if the string can be casted, otherwise, returns the original string\n */\n parseInt: function (string) {\n const int = +string;\n return oktaUnderscore.isString(string) && int === parseInt(string, 10) ? int : string;\n },\n\n /**\n * Convert a string to an object if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an object\n * @return {String|object} Returns an object if the string can be casted, otherwise, returns the original string\n */\n parseObject: function (string) {\n if (!oktaUnderscore.isString(string)) {\n return string;\n }\n\n try {\n const object = JSON.parse(string);\n return oktaJQueryStatic.isPlainObject(object) ? object : string;\n } catch (e) {\n return string;\n }\n },\n\n /**\n * Returns a random string from [a-z][A-Z][0-9] of a given length\n * @static\n * @param {Number} length The length of the random string.\n * @return {String} Returns a random string from [a-z][A-Z][0-9] of a given length\n */\n randomString: function (length) {\n const characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n\n if (length === undefined) {\n length = oktaUnderscore.random(characters.length);\n } else if (length === 0) {\n return '';\n }\n\n const stringArray = [];\n\n while (length--) {\n stringArray.push(characters[oktaUnderscore.random(characters.length - 1)]);\n }\n\n return stringArray.join('');\n },\n\n /**\n * Returns if a str ends with another string\n * @static\n * @param {String} str The string to search\n * @param {String} ends The string it should end with\n *\n * @return {Boolean} Returns if the str ends with ends\n */\n endsWith: function (str, ends) {\n str += '';\n ends += '';\n return str.length >= ends.length && str.substring(str.length - ends.length) === ends;\n },\n\n /** @static */\n isEmail: function (str) {\n const target = oktaJQueryStatic.trim(str);\n return !oktaUnderscore.isEmpty(target) && emailValidator.test(target);\n }\n};\n\nexport { StringUtil as default };\n","import _Handlebars2 from '../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from './underscore-wrapper.js';\n\n/* eslint @okta/okta-ui/no-specific-methods: 0 */\n/**\n * @class module:Okta.internal.util.TemplateUtil\n * @hideconstructor\n */\n\nvar TemplateUtil = /** @lends module:Okta.internal.util.TemplateUtil */\n{\n /**\n * Compiles a Handlebars template\n * @static\n * @method\n */\n // TODO: This will be deprecated at some point. Views should use pre-compiled templates\n tpl: oktaUnderscore.memoize(function (tpl) {\n /* eslint @okta/okta-ui/no-specific-methods: 0 */\n return function (context) {\n return _Handlebars2.compile(tpl)(context);\n };\n })\n};\n\nexport { TemplateUtil as default };\n","var Time = {\n DEBOUNCE_DELAY: 200,\n LOADING_FADE: 400,\n UNLOADING_FADE: 400,\n ROW_EXPANDER_TRANSITION: 150,\n HIDE_ADD_MAPPING_FORM: 300\n};\n\nexport { Time as default };\n","import oktaUnderscore from './underscore-wrapper.js';\nimport BaseView from '../views/BaseView.js';\n\nvar Util = {\n redirect: function (url) {\n window.location = url;\n },\n reloadPage: function () {\n window.location.reload();\n },\n constantError: function (errorMessage) {\n return function () {\n throw new Error(errorMessage);\n };\n },\n\n /**\n * Simply convert an URL query key value pair object into an URL query string.\n * Remember NOT to escape the query string when using this util.\n * example:\n * input: {userId: 123, instanceId: undefined, expand: 'schema,app'}\n * output: '?userId=123&expand=schema,app'\n */\n getUrlQueryString: function (queries) {\n oktaUnderscore.isObject(queries) || (queries = {});\n\n const queriesString = oktaUnderscore.without(oktaUnderscore.map(queries, function (value, key) {\n if (value !== undefined && value !== null) {\n return key + '=' + encodeURIComponent(value);\n }\n }), undefined).join('&');\n\n return oktaUnderscore.isEmpty(queriesString) ? '' : '?' + queriesString;\n },\n isABaseView: function (obj) {\n return obj instanceof BaseView || obj.prototype instanceof BaseView || obj === BaseView;\n },\n isSafari: function () {\n // All native, android and iOS chrome browsers has \"Safari\" in their userAgent string, so this regex should\n // evaluate to true for only Safari browser and not any chrome browsers.\n // https://stackoverflow.com/questions/7944460/detect-safari-browser\n // https://stackoverflow.com/questions/13807810/ios-chrome-detection/13808053#13808053\n return /^((?!chrome|android|crios).)*safari/i.test(navigator.userAgent);\n }\n};\n\nexport { Util as default };\n","import oktaUnderscore from './underscore-wrapper.js';\n\nfunction changeEventString(doWhen) {\n return 'change:' + oktaUnderscore.keys(doWhen).join(' change:');\n}\n\nfunction calcDoWhen(value, key) {\n const modelValue = this.model.get(key);\n\n if (oktaUnderscore.isFunction(value)) {\n return value.call(this, modelValue);\n } else {\n return value === modelValue;\n }\n}\n\nfunction _doWhen(view, doWhen, fn) {\n const toggle = oktaUnderscore.bind(fn, view, view, doWhen);\n\n view.render = oktaUnderscore.wrap(view.render, function (render) {\n const val = render.call(view);\n toggle({\n animate: false\n });\n return val;\n });\n view.listenTo(view.model, changeEventString(doWhen), function () {\n toggle({\n animate: true\n });\n });\n}\n\nvar ViewUtil = {\n applyDoWhen: function (view, doWhen, fn) {\n if (!(view.model && oktaUnderscore.isObject(doWhen) && oktaUnderscore.size(doWhen) && oktaUnderscore.isFunction(fn))) {\n return;\n }\n\n _doWhen(view, doWhen, function (view, doWhen, options) {\n const result = oktaUnderscore.every(oktaUnderscore.map(doWhen, calcDoWhen, view));\n\n fn.call(view, result, options);\n });\n }\n};\n\nexport { ViewUtil as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nexport { default } from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\n\nconst clonedEscapeExpression = _Handlebars2.Utils.escapeExpression;\n\n_Handlebars2.Utils.escapeExpression = function (string) {\n return clonedEscapeExpression(string).replace(/=/g, '=');\n};\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nexport { default } from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../underscore-wrapper.js';\nimport Logger from '../Logger.js';\nimport StringUtil from '../StringUtil.js';\n\n/* eslint @okta/okta-ui/no-specific-modules: 0 */\nconst hbsEscape = _Handlebars2.Utils.escapeExpression;\n\nfunction trim(str) {\n return str && str.replace(/^\\s+|\\s+$/g, '');\n}\n\nfunction replaceTagsWithPlaceholders(source, tag, tagValue) {\n const escapedBeginningTag = hbsEscape(`<${tag}>`);\n const escapedEndTag = hbsEscape(``);\n const [beginningTag, endTag] = tagValue.split(tag);\n\n if (!source.includes(escapedBeginningTag) && !source.includes(escapedEndTag)) {\n throw Error(`Parsed tag \"${tag}\" is not present in \"${source}\"`);\n } else if (!tagValue.includes(tag)) {\n throw Error(`Parsed tag \"${tag}\" is not present in \"${tagValue}\"`);\n } else if (!beginningTag || !endTag) {\n throw Error(`Template value \"${tagValue}\" must contain beginning and closing tags`);\n }\n\n return source.replace(escapedBeginningTag, beginningTag).replace(escapedEndTag, endTag);\n}\n/* eslint max-statements: [2, 18] */\n\n\n_Handlebars2.registerHelper('i18n', function i18n(options) {\n let params;\n const key = trim(options.hash.code);\n const bundle = trim(options.hash.bundle);\n const args = trim(options.hash.arguments);\n const tags = Object.keys(options.hash).filter(prop => prop.match(/^\\$\\d+/)).map(prop => ({\n tag: prop,\n value: options.hash[prop]\n }));\n\n if (args) {\n params = oktaUnderscore.map(trim(args).split(';'), function mapParam(param) {\n param = trim(param);\n let val;\n /*\n * the context(data) may be a deep object, ex {user: {name: 'John', gender: 'M'}}\n * arguments may be 'user.name'\n * return data['user']['name']\n */\n\n oktaUnderscore.each(param.split('.'), p => {\n val = val ? val[p] : this[p];\n });\n\n return val;\n }, this);\n }\n\n const localizedValue = StringUtil.localize(key, bundle, params);\n\n if (tags.length < 1) {\n // No HTML tags provided - return the localized and escaped string\n return localizedValue;\n }\n\n let escapedString = hbsEscape(localizedValue);\n\n try {\n tags.forEach(tag => {\n escapedString = replaceTagsWithPlaceholders(escapedString, tag.tag, tag.value);\n });\n return new _Handlebars2.SafeString(escapedString);\n } catch (err) {\n Logger.error(err.toString());\n return localizedValue;\n }\n});\n","import $ from 'jquery';\n\n/* eslint-disable @okta/okta-ui/enforce-requirejs-names, @okta/okta-ui/no-specific-modules */\n$.ajaxSetup({\n beforeSend: function (xhr) {\n xhr.setRequestHeader('X-Okta-XsrfToken', $('#_xsrfToken').text());\n },\n converters: {\n 'text secureJSON': function (str) {\n if (str.substring(0, 11) === 'while(1){};') {\n str = str.substring(11);\n }\n\n return JSON.parse(str);\n }\n }\n}); // Selenium Hook\n// Widget such as autocomplete and autosuggest needs to be triggered from the running version of jQuery.\n// We have 2 versions of jQuery running in parallel and they don't share the same events bus\n\nconst oktaJQueryStatic = $;\nwindow.jQueryCourage = oktaJQueryStatic;\n\nexport { oktaJQueryStatic as default };\n","import _Handlebars2 from '../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport _ from '../../../lib/underscore/underscore-min.js';\n\n/* eslint @okta/okta-ui/no-specific-methods: 0, @okta/okta-ui/no-specific-modules: 0 */\n\n_.mixin({\n resultCtx: function (object, property, context, defaultValue) {\n let value = _.isObject(object) ? object[property] : void 0;\n\n if (_.isFunction(value)) {\n value = value.call(context || object);\n }\n\n if (value) {\n return value;\n } else {\n return !_.isUndefined(defaultValue) ? defaultValue : value;\n }\n },\n isInteger: function (x) {\n return _.isNumber(x) && x % 1 === 0;\n },\n // TODO: This will be deprecated at some point. Views should use precompiled templates\n // eslint-disable-next-line @okta/okta-ui/no-bare-templates\n template: function (source, data) {\n const template = _Handlebars2.compile(source);\n\n if (data) {\n return template(data);\n }\n\n const fn = function (data) {\n return template(data);\n };\n\n fn.source = ''; // to conform with \"CompiledTemplate\" type definition\n\n return fn;\n }\n});\n\nconst oktaUnderscore = _;\n\nexport { oktaUnderscore as default };\n","import { commonjsGlobal } from '../../../../_virtual/_commonjsHelpers.js';\nimport { b as backbone } from '../../../../_virtual/backbone.js';\nimport $ from 'jquery';\nimport '../../../../lib/underscore/underscore-min.js';\nimport { u as underscoreMin } from '../../../../_virtual/underscore-min.js';\n\n(function (module, exports) {\n// Backbone.js 1.4.0\n// (c) 2010-2019 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\nconst jQuery = $;\n(function (factory) {\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self || typeof commonjsGlobal == 'object' && commonjsGlobal.global === commonjsGlobal && commonjsGlobal; // Set up Backbone appropriately for the environment. Start with AMD.\n\n {\n var _ = underscoreMin.exports,\n $;\n\n try {\n $ = jQuery;\n } catch (e) {}\n\n factory(root, exports, _, $); // Finally, as a browser global.\n }\n})(function (root, Backbone, _, $) {\n // Initial Setup\n // -------------\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone; // Create a local reference to a common array method we'll want to use later.\n\n var slice = Array.prototype.slice; // Current version of the library. Keep in sync with `package.json`.\n\n Backbone.VERSION = '1.4.0'; // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n\n Backbone.$ = $; // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n\n Backbone.noConflict = function () {\n root.Backbone = previousBackbone;\n return this;\n }; // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n\n\n Backbone.emulateHTTP = false; // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n\n Backbone.emulateJSON = false; // Backbone.Events\n // ---------------\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n\n var Events = Backbone.Events = {}; // Regular expression used to split event strings.\n\n var eventSplitter = /\\s+/; // A private global variable to share between listeners and listenees.\n\n var _listening; // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n\n\n var eventsApi = function (iteratee, events, name, callback, opts) {\n var i = 0,\n names;\n\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n\n for (names = _.keys(name); i < names.length; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n\n return events;\n }; // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n\n\n Events.on = function (name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening; // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n\n _listening.interop = false;\n }\n\n return this;\n }; // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n\n\n Events.listenTo = function (obj, name, callback) {\n if (!obj) return this;\n\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id]; // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n } // Bind callbacks on obj.\n\n\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n if (error) throw error; // If the target obj is not Backbone.Events, track events manually.\n\n if (listening.interop) listening.on(name, callback);\n return this;\n }; // The reducing API that adds a callback to the `events` object.\n\n\n var onApi = function (events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context,\n ctx = options.ctx,\n listening = options.listening;\n if (listening) listening.count++;\n handlers.push({\n callback: callback,\n context: context,\n ctx: context || ctx,\n listening: listening\n });\n }\n\n return events;\n }; // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n\n\n var tryCatchOn = function (obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n }; // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n\n\n Events.off = function (name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n return this;\n }; // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n\n\n Events.stopListening = function (obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]]; // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n\n if (!listening) break;\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n return this;\n }; // The reducing API that removes a callback from the `events` object.\n\n\n var offApi = function (events, name, callback, options) {\n if (!events) return;\n var context = options.context,\n listeners = options.listeners;\n var i = 0,\n names; // Delete all event listeners and \"drop\" events.\n\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n\n return;\n }\n\n names = name ? [name] : _.keys(events);\n\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name]; // Bail out if there are no events stored.\n\n if (!handlers) break; // Find any remaining events.\n\n var remaining = [];\n\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n\n if (callback && callback !== handler.callback && callback !== handler.callback._callback || context && context !== handler.context) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n } // Replace events if there are any remaining. Otherwise, clean up.\n\n\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n }; // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n\n\n Events.once = function (name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n }; // Inversion-of-control versions of `once`.\n\n\n Events.listenToOnce = function (obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n }; // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n\n\n var onceMap = function (map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function () {\n offer(name, once);\n callback.apply(this, arguments);\n });\n\n once._callback = callback;\n }\n\n return map;\n }; // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n\n\n Events.trigger = function (name) {\n if (!this._events) return this;\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n }; // Handles triggering the appropriate event callbacks.\n\n\n var triggerApi = function (objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n\n return objEvents;\n }; // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n\n\n var triggerEvents = function (events, args) {\n var ev,\n i = -1,\n l = events.length,\n a1 = args[0],\n a2 = args[1],\n a3 = args[2];\n\n switch (args.length) {\n case 0:\n while (++i < l) (ev = events[i]).callback.call(ev.ctx);\n\n return;\n\n case 1:\n while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1);\n\n return;\n\n case 2:\n while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2);\n\n return;\n\n case 3:\n while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3);\n\n return;\n\n default:\n while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);\n\n return;\n }\n }; // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n\n\n var Listening = function (listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on; // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n\n Listening.prototype.off = function (name, callback) {\n var cleanup;\n\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n\n if (cleanup) this.cleanup();\n }; // Cleans up memory bindings between the listener and the listenee.\n\n\n Listening.prototype.cleanup = function () {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n }; // Aliases for backwards compatibility.\n\n\n Events.bind = Events.on;\n Events.unbind = Events.off; // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n\n _.extend(Backbone, Events); // Backbone.Model\n // --------------\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n\n\n var Model = Backbone.Model = function (attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n\n var defaults = _.result(this, 'defaults');\n\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n }; // Attach all inheritable methods to the Model prototype.\n\n\n _.extend(Model.prototype, Events, {\n // A hash of attributes whose current and previous value differ.\n changed: null,\n // The value returned during the last failed validation.\n validationError: null,\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function () {},\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function () {},\n // Return a copy of the model's `attributes` object.\n toJSON: function (options) {\n return _.clone(this.attributes);\n },\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function () {\n return Backbone.sync.apply(this, arguments);\n },\n // Get the value of an attribute.\n get: function (attr) {\n return this.attributes[attr];\n },\n // Get the HTML-escaped value of an attribute.\n escape: function (attr) {\n return _.escape(this.get(attr));\n },\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function (attr) {\n return this.get(attr) != null;\n },\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function (attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function (key, val, options) {\n if (key == null) return this; // Handle both `\"key\", value` and `{key: value}` -style arguments.\n\n var attrs;\n\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {}); // Run validation.\n\n if (!this._validate(attrs, options)) return false; // Extract attributes and options.\n\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes; // For each `set` attribute, update or delete the current value.\n\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n\n unset ? delete current[attr] : current[attr] = val;\n } // Update the `id`.\n\n\n if (this.idAttribute in attrs) this.id = this.get(this.idAttribute); // Trigger all relevant attribute changes.\n\n if (!silent) {\n if (changes.length) this._pending = options;\n\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n } // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n\n\n if (changing) return this;\n\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n\n this._pending = false;\n this._changing = false;\n return this;\n },\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function (attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {\n unset: true\n }));\n },\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function (options) {\n var attrs = {};\n\n for (var key in this.attributes) attrs[key] = void 0;\n\n return this.set(attrs, _.extend({}, options, {\n unset: true\n }));\n },\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function (attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function (diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n\n return hasChanged ? changed : false;\n },\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function (attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function () {\n return _.clone(this._previousAttributes);\n },\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function (options) {\n options = _.extend({\n parse: true\n }, options);\n var model = this;\n var success = options.success;\n\n options.success = function (resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function (key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({\n validate: true,\n parse: true\n }, options);\n var wait = options.wait; // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n } // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n\n\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n\n options.success = function (resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n\n wrapError(this, options); // Set temporary attributes if `{wait: true}` to properly find new ids.\n\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options); // Restore attributes.\n\n this.attributes = attributes;\n return xhr;\n },\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function (options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function () {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function (resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n\n if (!wait) destroy();\n return xhr;\n },\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function () {\n var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function (resp, options) {\n return resp;\n },\n // Create a new model with identical attributes to this one.\n clone: function () {\n return new this.constructor(this.attributes);\n },\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function () {\n return !this.has(this.idAttribute);\n },\n // Check if the model is currently in a valid state.\n isValid: function (options) {\n return this._validate({}, _.extend({}, options, {\n validate: true\n }));\n },\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function (attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {\n validationError: error\n }));\n return false;\n }\n }); // Backbone.Collection\n // -------------------\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n\n\n var Collection = Backbone.Collection = function (models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n\n this._reset();\n\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({\n silent: true\n }, options));\n }; // Default options for `Collection#set`.\n\n\n var setOptions = {\n add: true,\n remove: true,\n merge: true\n };\n var addOptions = {\n add: true,\n remove: false\n }; // Splices `insert` into `array` at index `at`.\n\n var splice = function (array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n }; // Define the Collection's inheritable methods.\n\n\n _.extend(Collection.prototype, Events, {\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function () {},\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function () {},\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function (options) {\n return this.map(function (model) {\n return model.toJSON(options);\n });\n },\n // Proxy `Backbone.sync` by default.\n sync: function () {\n return Backbone.sync.apply(this, arguments);\n },\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function (models, options) {\n return this.set(models, _.extend({\n merge: false\n }, options, addOptions));\n },\n // Remove a model, or a list of models from the set.\n remove: function (models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var removed = this._removeModels(models, options);\n\n if (!options.silent && removed.length) {\n options.changes = {\n added: [],\n merged: [],\n removed: removed\n };\n this.trigger('update', this, options);\n }\n\n return singular ? removed[0] : removed;\n },\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function (models, options) {\n if (models == null) return;\n options = _.extend({}, setOptions, options);\n\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null; // Turn bare objects into model references, and prevent invalid models\n // from being added.\n\n var model, i;\n\n for (i = 0; i < models.length; i++) {\n model = models[i]; // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n\n var existing = this.get(model);\n\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n\n models[i] = existing; // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n\n if (model) {\n toAdd.push(model);\n\n this._addReference(model, options);\n\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n } // Remove stale models.\n\n\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n\n if (toRemove.length) this._removeModels(toRemove, options);\n } // See if sorting is needed, update `length` and splice in new models.\n\n\n var orderChanged = false;\n var replace = !sortable && add && remove;\n\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function (m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n } // Silently sort the collection if appropriate.\n\n\n if (sort) this.sort({\n silent: true\n }); // Unless silenced, it's time to fire all appropriate add/sort/update events.\n\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n\n if (sort || orderChanged) this.trigger('sort', this, options);\n\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n } // Return the added (or merged) model (or models).\n\n\n return singular ? models[0] : models;\n },\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function (models, options) {\n options = options ? _.clone(options) : {};\n\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n\n options.previousModels = this.models;\n\n this._reset();\n\n models = this.add(models, _.extend({\n silent: true\n }, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n // Add a model to the end of the collection.\n push: function (model, options) {\n return this.add(model, _.extend({\n at: this.length\n }, options));\n },\n // Remove a model from the end of the collection.\n pop: function (options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n // Add a model to the beginning of the collection.\n unshift: function (model, options) {\n return this.add(model, _.extend({\n at: 0\n }, options));\n },\n // Remove a model from the beginning of the collection.\n shift: function (options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n // Slice out a sub-array of models from the collection.\n slice: function () {\n return slice.apply(this.models, arguments);\n },\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function (obj) {\n if (obj == null) return void 0;\n return this._byId[obj] || this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj)] || obj.cid && this._byId[obj.cid];\n },\n // Returns `true` if the model is in the collection.\n has: function (obj) {\n return this.get(obj) != null;\n },\n // Get the model at the given index.\n at: function (index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function (attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function (attrs) {\n return this.where(attrs, true);\n },\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function (options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this); // Run sort based on type of `comparator`.\n\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n // Pluck an attribute from each model in the collection.\n pluck: function (attr) {\n return this.map(attr + '');\n },\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function (options) {\n options = _.extend({\n parse: true\n }, options);\n var success = options.success;\n var collection = this;\n\n options.success = function (resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function (model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n\n options.success = function (m, resp, callbackOpts) {\n if (wait) collection.add(m, callbackOpts);\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n\n model.save(null, options);\n return model;\n },\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function (resp, options) {\n return resp;\n },\n // Create a new collection with an identical list of models as this one.\n clone: function () {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n // Define how to uniquely identify models in the collection.\n modelId: function (attrs) {\n return attrs[this.model.prototype.idAttribute || 'id'];\n },\n // Get an iterator of all models in this collection.\n values: function () {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n // Get an iterator of all model IDs in this collection.\n keys: function () {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function () {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function () {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function (attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n\n options = options ? _.clone(options) : {};\n options.collection = this;\n var model = new this.model(attrs, options);\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n // Internal method called by both remove and set.\n _removeModels: function (models, options) {\n var removed = [];\n\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--; // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n\n this._removeReference(model, options);\n }\n\n return removed;\n },\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function (model) {\n return model instanceof Model;\n },\n // Internal method to create a model's ties to a collection.\n _addReference: function (model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n // Internal method to sever a model's ties to a collection.\n _removeReference: function (model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function (event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n\n if (event === 'change') {\n var prevId = this.modelId(model.previousAttributes());\n var id = this.modelId(model.attributes);\n\n if (prevId !== id) {\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n }\n\n this.trigger.apply(this, arguments);\n }\n }); // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n\n /* global Symbol */\n\n\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n } // CollectionIterator\n // ------------------\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n\n\n var CollectionIterator = function (collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n }; // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n\n\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3; // All Iterators should themselves be Iterable.\n\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function () {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function () {\n if (this._collection) {\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n\n this._index++; // Construct a value depending on what kind of values should be iterated.\n\n var value;\n\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes);\n\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else {\n // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n\n return {\n value: value,\n done: false\n };\n } // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n\n\n this._collection = void 0;\n }\n\n return {\n value: void 0,\n done: true\n };\n }; // Backbone.View\n // -------------\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n\n\n var View = Backbone.View = function (options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n\n _.extend(this, _.pick(options, viewOptions));\n\n this._ensureElement();\n\n this.initialize.apply(this, arguments);\n }; // Cached regex to split keys for `delegate`.\n\n\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/; // List of view options to be set as properties.\n\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; // Set up all inheritable **Backbone.View** properties and methods.\n\n _.extend(View.prototype, Events, {\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function (selector) {\n return this.$el.find(selector);\n },\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function () {},\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function () {},\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function () {\n return this;\n },\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function () {\n this._removeElement();\n\n this.stopListening();\n return this;\n },\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function () {\n this.$el.remove();\n },\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function (element) {\n this.undelegateEvents();\n\n this._setElement(element);\n\n this.delegateEvents();\n return this;\n },\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function (el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function (events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n\n return this;\n },\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function (eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function () {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function (eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function (tagName) {\n return document.createElement(tagName);\n },\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function () {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function (attributes) {\n this.$el.attr(attributes);\n }\n }); // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n\n\n var addMethod = function (base, length, method, attribute) {\n switch (length) {\n case 1:\n return function () {\n return base[method](this[attribute]);\n };\n\n case 2:\n return function (value) {\n return base[method](this[attribute], value);\n };\n\n case 3:\n return function (iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n\n case 4:\n return function (iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n\n default:\n return function () {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function (Class, base, methods, attribute) {\n _.each(methods, function (length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n }; // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n\n\n var cb = function (iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function (model) {\n return model.get(iteratee);\n };\n return iteratee;\n };\n\n var modelMatcher = function (attrs) {\n var matcher = _.matches(attrs);\n\n return function (model) {\n return matcher(model.attributes);\n };\n }; // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n\n\n var collectionMethods = {\n forEach: 3,\n each: 3,\n map: 3,\n collect: 3,\n reduce: 0,\n foldl: 0,\n inject: 0,\n reduceRight: 0,\n foldr: 0,\n find: 3,\n detect: 3,\n filter: 3,\n select: 3,\n reject: 3,\n every: 3,\n all: 3,\n some: 3,\n any: 3,\n include: 3,\n includes: 3,\n contains: 3,\n invoke: 0,\n max: 3,\n min: 3,\n toArray: 1,\n size: 1,\n first: 3,\n head: 3,\n take: 3,\n initial: 3,\n rest: 3,\n tail: 3,\n drop: 3,\n last: 3,\n without: 0,\n difference: 0,\n indexOf: 3,\n shuffle: 1,\n lastIndexOf: 3,\n isEmpty: 1,\n chain: 1,\n sample: 3,\n partition: 3,\n groupBy: 3,\n countBy: 3,\n sortBy: 3,\n indexBy: 3,\n findIndex: 3,\n findLastIndex: 3\n }; // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n\n var modelMethods = {\n keys: 1,\n values: 1,\n pairs: 1,\n invert: 1,\n pick: 0,\n omit: 0,\n chain: 1,\n isEmpty: 1\n }; // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([[Collection, collectionMethods, 'models'], [Model, modelMethods, 'attributes']], function (config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function (obj) {\n var mappings = _.reduce(_.functions(obj), function (memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n }); // Backbone.sync\n // -------------\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n\n\n Backbone.sync = function (method, model, options) {\n var type = methodMap[method]; // Default options, unless specified.\n\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n }); // Default JSON-request options.\n\n\n var params = {\n type: type,\n dataType: 'json'\n }; // Ensure that we have a URL.\n\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n } // Ensure that we have the appropriate request data.\n\n\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n } // For older servers, emulate JSON by encoding the request into an HTML-form.\n\n\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {\n model: params.data\n } : {};\n } // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n\n\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n\n options.beforeSend = function (xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n } // Don't process data on a non-GET request.\n\n\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n } // Pass along `textStatus` and `errorThrown` from jQuery.\n\n\n var error = options.error;\n\n options.error = function (xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n }; // Make the request, allowing the user to override any Ajax options.\n\n\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n }; // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n\n\n var methodMap = {\n create: 'POST',\n update: 'PUT',\n patch: 'PATCH',\n delete: 'DELETE',\n read: 'GET'\n }; // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n\n Backbone.ajax = function () {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n }; // Backbone.Router\n // ---------------\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n\n\n var Router = Backbone.Router = function (options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n\n this._bindRoutes();\n\n this.initialize.apply(this, arguments);\n }; // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n\n\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g; // Set up all inheritable **Backbone.Router** properties and methods.\n\n _.extend(Router.prototype, Events, {\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function () {},\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function () {},\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function (route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function (fragment) {\n var args = router._extractParameters(route, fragment);\n\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function (callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function (fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function () {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n\n var route,\n routes = _.keys(this.routes);\n\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function (route) {\n route = route.replace(escapeRegExp, '\\\\$&').replace(optionalParam, '(?:$1)?').replace(namedParam, function (match, optional) {\n return optional ? match : '([^/?]+)';\n }).replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function (route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function (param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n }); // Backbone.History\n // ----------------\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n\n\n var History = Backbone.History = function () {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this); // Ensure that `History` can be used outside of the browser.\n\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n }; // Cached regex for stripping a leading hash/slash and trailing space.\n\n\n var routeStripper = /^[#\\/]|\\s+$/g; // Cached regex for stripping leading and trailing slashes.\n\n var rootStripper = /^\\/+|\\/+$/g; // Cached regex for stripping urls of hash.\n\n var pathStripper = /#.*$/; // Has the history handling already been started?\n\n History.started = false; // Set up all inheritable **Backbone.History** properties and methods.\n\n _.extend(History.prototype, Events, {\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n // Are we at the app root?\n atRoot: function () {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n // Does the pathname match the root?\n matchRoot: function () {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function (fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function () {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function (window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n // Get the pathname and search params, without the root.\n getPath: function () {\n var path = this.decodeFragment(this.location.pathname + this.getSearch()).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function (fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n\n return fragment.replace(routeStripper, '');\n },\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function (options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true; // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n\n this.options = _.extend({\n root: '/'\n }, this.options, options);\n this.root = this.options.root;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment(); // Normalize root to always include a leading and trailing slash.\n\n this.root = ('/' + this.root + '/').replace(rootStripper, '/'); // Transition from hashChange to pushState or vice versa if both are\n // requested.\n\n if (this._wantsHashChange && this._wantsPushState) {\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath()); // Return immediately as browser will do redirect to new url\n\n return true; // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {\n replace: true\n });\n }\n } // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n\n\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body; // Using `appendChild` will throw on IE < 9 if the document is not ready.\n\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n } // Add a cross-platform `addEventListener` shim for older browsers.\n\n\n var addEventListener = window.addEventListener || function (eventName, listener) {\n return attachEvent('on' + eventName, listener);\n }; // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n\n\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function () {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function (eventName, listener) {\n return detachEvent('on' + eventName, listener);\n }; // Remove window listeners.\n\n\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n } // Clean up the iframe if necessary.\n\n\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n } // Some environments will throw when clearing an undefined interval.\n\n\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function (route, callback) {\n this.handlers.unshift({\n route: route,\n callback: callback\n });\n },\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function (e) {\n var current = this.getFragment(); // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) return false;\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function (fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return false;\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function (handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n });\n },\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function (fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {\n trigger: !!options\n }; // Normalize the fragment.\n\n fragment = this.getFragment(fragment || ''); // Don't include a trailing slash on the root.\n\n var rootPath = this.root;\n\n if (fragment === '' || fragment.charAt(0) === '?') {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n\n var url = rootPath + fragment; // Strip the fragment of the query and hash for matching.\n\n fragment = fragment.replace(pathStripper, ''); // Decode for matching.\n\n var decodedFragment = this.decodeFragment(fragment);\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment; // If pushState is available, we use it to set the fragment as a real URL.\n\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url); // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow; // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n } // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n\n } else {\n return this.location.assign(url);\n }\n\n if (options.trigger) return this.loadUrl(fragment);\n },\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function (location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n }); // Create the default Backbone.history.\n\n\n Backbone.history = new History(); // Helpers\n // -------\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n\n var extend = function (protoProps, staticProps) {\n var parent = this;\n var child; // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function () {\n return parent.apply(this, arguments);\n };\n } // Add static properties to the constructor function, if supplied.\n\n\n _.extend(child, parent, staticProps); // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n\n\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child; // Set a convenience property in case the parent's prototype is needed\n // later.\n\n child.__super__ = parent.prototype;\n return child;\n }; // Set up inheritance for the model, collection, router, view and history.\n\n\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend; // Throw an error when a URL is needed, and none is supplied.\n\n var urlError = function () {\n throw new Error('A \"url\" property or function must be specified');\n }; // Wrap an optional error callback with a fallback error event.\n\n\n var wrapError = function (model, options) {\n var error = options.error;\n\n options.error = function (resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n return Backbone;\n});\n}(backbone, backbone.exports));\n\nvar Backbone = backbone.exports;\n\nexport { Backbone as default };\n","import { j as js_cookie } from '../../../../_virtual/js.cookie.js';\n\n/*!\n * JavaScript Cookie v2.1.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n\n(function (module, exports) {\n(function (factory) {\n {\n module.exports = factory();\n }\n})(function () {\n function extend() {\n var i = 0;\n var result = {};\n\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n\n return result;\n }\n\n function init(converter) {\n function api(key, value, attributes) {\n var result; // Write\n\n if (arguments.length > 1) {\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n }\n\n try {\n result = JSON.stringify(value);\n\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n if (!converter.write) {\n value = encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n } else {\n value = converter.write(value, key);\n }\n\n key = encodeURIComponent(String(key));\n key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n key = key.replace(/[\\(\\)]/g, escape);\n return document.cookie = [key, '=', value, attributes.expires && '; expires=' + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE\n attributes.path && '; path=' + attributes.path, attributes.domain && '; domain=' + attributes.domain, attributes.secure ? '; secure' : ''].join('');\n } // Read\n\n\n if (!key) {\n result = {};\n } // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all. Also prevents odd result when\n // calling \"get()\"\n\n\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var rdecode = /(%[0-9A-Z]{2})+/g;\n var i = 0;\n\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var name = parts[0].replace(rdecode, decodeURIComponent);\n var cookie = parts.slice(1).join('=');\n\n if (cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n cookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent);\n\n if (this.json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n if (key === name) {\n result = cookie;\n break;\n }\n\n if (!key) {\n result[name] = cookie;\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n api.get = api.set = api;\n\n api.getJSON = function () {\n return api.apply({\n json: true\n }, [].slice.call(arguments));\n };\n\n api.defaults = {};\n\n api.remove = function (key, attributes) {\n api(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n api.withConverter = init;\n return api;\n }\n\n return init(function () {});\n});\n}(js_cookie));\n\nvar Cookie = js_cookie.exports;\n\nexport { Cookie as default };\n","import $ from 'jquery';\n\n(function () {\n var SelectParser;\n\n SelectParser = function () {\n function SelectParser() {\n this.options_index = 0;\n this.parsed = [];\n }\n\n SelectParser.prototype.add_node = function (child) {\n if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n return this.add_group(child);\n } else {\n return this.add_option(child);\n }\n };\n\n SelectParser.prototype.add_group = function (group) {\n var group_position, option, _i, _len, _ref, _results;\n\n group_position = this.parsed.length;\n this.parsed.push({\n array_index: group_position,\n group: true,\n label: group.label,\n children: 0,\n disabled: group.disabled\n });\n _ref = group.childNodes;\n _results = [];\n\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n\n _results.push(this.add_option(option, group_position, group.disabled));\n }\n\n return _results;\n };\n\n SelectParser.prototype.add_option = function (option, group_position, group_disabled) {\n if (option.nodeName.toUpperCase() === \"OPTION\") {\n if (option.text !== \"\") {\n if (group_position != null) {\n this.parsed[group_position].children += 1;\n }\n\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n value: option.value,\n text: option.text,\n html: option.innerHTML,\n selected: option.selected,\n disabled: group_disabled === true ? group_disabled : option.disabled,\n group_array_index: group_position,\n classes: option.className,\n style: option.style.cssText\n });\n } else {\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n empty: true\n });\n }\n\n return this.options_index += 1;\n }\n };\n\n return SelectParser;\n }();\n\n SelectParser.select_to_array = function (select) {\n var child, parser, _i, _len, _ref;\n\n parser = new SelectParser();\n _ref = select.childNodes;\n\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n child = _ref[_i];\n parser.add_node(child);\n }\n\n return parser.parsed;\n };\n\n this.SelectParser = SelectParser;\n}).call($);\n(function () {\n var AbstractChosen, root;\n root = this;\n\n AbstractChosen = function () {\n function AbstractChosen(form_field, options) {\n this.form_field = form_field;\n this.options = options != null ? options : {};\n\n if (!AbstractChosen.browser_is_supported()) {\n return;\n }\n\n this.is_multiple = this.form_field.multiple;\n this.set_default_text();\n this.set_default_values();\n this.setup();\n this.set_up_html();\n this.register_observers();\n this.finish_setup();\n }\n\n AbstractChosen.prototype.set_default_values = function () {\n var _this = this;\n\n this.click_test_action = function (evt) {\n return _this.test_active_click(evt);\n };\n\n this.activate_action = function (evt) {\n return _this.activate_field(evt);\n };\n\n this.active_field = false;\n this.mouse_on_container = false;\n this.results_showing = false;\n this.result_highlighted = null;\n this.result_single_selected = null;\n this.allow_single_deselect = this.options.allow_single_deselect != null && this.form_field.options[0] != null && this.form_field.options[0].text === \"\" ? this.options.allow_single_deselect : false;\n this.disable_search_threshold = this.options.disable_search_threshold || 0;\n this.disable_search = this.options.disable_search || false;\n this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n this.search_contains = this.options.search_contains || false;\n this.single_backstroke_delete = this.options.single_backstroke_delete || false;\n this.max_selected_options = this.options.max_selected_options || Infinity;\n return this.inherit_select_classes = this.options.inherit_select_classes || false;\n };\n\n AbstractChosen.prototype.set_default_text = function () {\n if (this.form_field.getAttribute(\"data-placeholder\")) {\n this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n } else if (this.is_multiple) {\n this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n } else {\n this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n }\n\n return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n };\n\n AbstractChosen.prototype.mouse_enter = function () {\n return this.mouse_on_container = true;\n };\n\n AbstractChosen.prototype.mouse_leave = function () {\n return this.mouse_on_container = false;\n };\n\n AbstractChosen.prototype.input_focus = function (evt) {\n var _this = this;\n\n if (this.is_multiple) {\n if (!this.active_field) {\n return setTimeout(function () {\n return _this.container_mousedown();\n }, 50);\n }\n } else {\n if (!this.active_field) {\n return this.activate_field();\n }\n }\n };\n\n AbstractChosen.prototype.input_blur = function (evt) {\n var _this = this;\n\n if (!this.mouse_on_container) {\n this.active_field = false;\n return setTimeout(function () {\n return _this.blur_test();\n }, 100);\n }\n };\n\n AbstractChosen.prototype.result_add_option = function (option) {\n var classes, style;\n option.dom_id = this.container_id + \"_o_\" + option.array_index;\n classes = [];\n\n if (!option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"active-result\");\n }\n\n if (option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"disabled-result\");\n }\n\n if (option.selected) {\n classes.push(\"result-selected\");\n }\n\n if (option.group_array_index != null) {\n classes.push(\"group-option\");\n }\n\n if (option.classes !== \"\") {\n classes.push(option.classes);\n }\n\n style = option.style.cssText !== \"\" && option.style !== \"\" ? \" style=\\\"\" + option.style + \"\\\"\" : \"\";\n return \"
  • \" + option.html + \"
  • \";\n };\n\n AbstractChosen.prototype.results_update_field = function () {\n this.set_default_text();\n\n if (!this.is_multiple) {\n this.results_reset_cleanup();\n }\n\n this.result_clear_highlight();\n this.result_single_selected = null;\n return this.results_build();\n };\n\n AbstractChosen.prototype.results_toggle = function () {\n if (this.results_showing) {\n return this.results_hide();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.results_search = function (evt) {\n if (this.results_showing) {\n return this.winnow_results();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.choices_count = function () {\n var option, _i, _len, _ref;\n\n if (this.selected_option_count != null) {\n return this.selected_option_count;\n }\n\n this.selected_option_count = 0;\n _ref = this.form_field.options;\n\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n\n if (option.selected) {\n this.selected_option_count += 1;\n }\n }\n\n return this.selected_option_count;\n };\n\n AbstractChosen.prototype.choices_click = function (evt) {\n evt.preventDefault();\n\n if (!(this.results_showing || this.is_disabled)) {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.keyup_checker = function (evt) {\n var stroke, _ref;\n\n stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n this.search_field_scale();\n\n switch (stroke) {\n case 8:\n if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n return this.keydown_backstroke();\n } else if (!this.pending_backstroke) {\n this.result_clear_highlight();\n return this.results_search();\n }\n\n break;\n\n case 13:\n evt.preventDefault();\n\n if (this.results_showing) {\n return this.result_select(evt);\n }\n\n break;\n\n case 27:\n if (this.results_showing) {\n this.results_hide();\n }\n\n return true;\n\n case 9:\n case 38:\n case 40:\n case 16:\n case 91:\n case 17:\n break;\n\n default:\n return this.results_search();\n }\n };\n\n AbstractChosen.prototype.generate_field_id = function () {\n var new_id;\n new_id = this.generate_random_id();\n this.form_field.id = new_id;\n return new_id;\n };\n\n AbstractChosen.prototype.generate_random_char = function () {\n var chars, rand;\n chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n rand = Math.floor(Math.random() * chars.length);\n return chars.substring(rand, rand + 1);\n };\n\n AbstractChosen.prototype.container_width = function () {\n if (this.options.width != null) {\n return this.options.width;\n } else {\n return \"\" + this.form_field.offsetWidth + \"px\";\n }\n };\n\n AbstractChosen.browser_is_supported = function () {\n var _ref;\n\n if (window.navigator.appName === \"Microsoft Internet Explorer\") {\n return null !== (_ref = document.documentMode) && _ref >= 8;\n }\n\n return true;\n };\n\n AbstractChosen.default_multiple_text = \"Select Some Options\";\n AbstractChosen.default_single_text = \"Select an Option\";\n AbstractChosen.default_no_result_text = \"No results match\";\n return AbstractChosen;\n }();\n\n root.AbstractChosen = AbstractChosen;\n}).call($);\n(function () {\n var $$1,\n Chosen,\n root,\n _ref,\n __hasProp = {}.hasOwnProperty,\n __extends = function (child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n root = this;\n var AbstractChosen = root.AbstractChosen;\n $$1 = $;\n $$1.fn.extend({\n chosen: function (options) {\n if (!AbstractChosen.browser_is_supported()) {\n return this;\n }\n\n return this.each(function (input_field) {\n var $this;\n $this = $$1(this);\n\n if (!$this.hasClass(\"chzn-done\")) {\n return $this.data(\"chosen\", new Chosen(this, options));\n }\n });\n }\n });\n\n Chosen = function (_super) {\n __extends(Chosen, _super);\n\n function Chosen() {\n _ref = Chosen.__super__.constructor.apply(this, arguments);\n return _ref;\n }\n\n Chosen.prototype.setup = function () {\n this.form_field_jq = $$1(this.form_field);\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.is_rtl = this.form_field_jq.hasClass(\"chzn-rtl\");\n };\n\n Chosen.prototype.finish_setup = function () {\n return this.form_field_jq.addClass(\"chzn-done\");\n };\n\n Chosen.prototype.set_up_html = function () {\n var container_classes, container_props;\n this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\\w]/g, \"_\") : this.generate_field_id();\n this.container_id += \"_chzn\";\n container_classes = [\"chzn-container\"];\n container_classes.push(\"chzn-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n\n if (this.inherit_select_classes && this.form_field.className) {\n container_classes.push(this.form_field.className);\n }\n\n if (this.is_rtl) {\n container_classes.push(\"chzn-rtl\");\n }\n\n container_props = {\n \"id\": this.container_id,\n \"class\": container_classes.join(\" \"),\n \"title\": this.form_field.title\n };\n this.container = $$1(\"
    \", container_props);\n this.container[0].style.width = this.container_width();\n\n if (this.is_multiple) {\n this.container.html(\"
      \");\n } else {\n this.container.html(\"\" + this.default_text + \"
        \");\n }\n\n this.form_field_jq.hide().after(this.container);\n this.dropdown = this.container.find(\"div.chzn-drop\").first();\n this.search_field = this.container.find(\"input\").first();\n this.search_results = this.container.find(\"ul.chzn-results\").first();\n this.search_field_scale();\n this.search_no_results = this.container.find(\"li.no-results\").first();\n\n if (this.is_multiple) {\n this.search_choices = this.container.find(\"ul.chzn-choices\").first();\n this.search_container = this.container.find(\"li.search-field\").first();\n } else {\n this.search_container = this.container.find(\"div.chzn-search\").first();\n this.selected_item = this.container.find(\".chzn-single\").first();\n }\n\n this.results_build();\n this.set_tab_index();\n this.set_label_behavior();\n return this.form_field_jq.trigger(\"liszt:ready\", {\n chosen: this\n });\n };\n\n Chosen.prototype.register_observers = function () {\n var _this = this;\n\n this.container.mousedown(function (evt) {\n _this.container_mousedown(evt);\n });\n this.container.mouseup(function (evt) {\n _this.container_mouseup(evt);\n });\n this.container.mouseenter(function (evt) {\n _this.mouse_enter(evt);\n });\n this.container.mouseleave(function (evt) {\n _this.mouse_leave(evt);\n });\n this.search_results.mouseup(function (evt) {\n _this.search_results_mouseup(evt);\n });\n this.search_results.mouseover(function (evt) {\n _this.search_results_mouseover(evt);\n });\n this.search_results.mouseout(function (evt) {\n _this.search_results_mouseout(evt);\n });\n this.search_results.bind(\"mousewheel DOMMouseScroll\", function (evt) {\n _this.search_results_mousewheel(evt);\n });\n this.form_field_jq.bind(\"liszt:updated\", function (evt) {\n _this.results_update_field(evt);\n });\n this.form_field_jq.bind(\"liszt:activate\", function (evt) {\n _this.activate_field(evt);\n });\n this.form_field_jq.bind(\"liszt:open\", function (evt) {\n _this.container_mousedown(evt);\n });\n this.search_field.blur(function (evt) {\n _this.input_blur(evt);\n });\n this.search_field.keyup(function (evt) {\n _this.keyup_checker(evt);\n });\n this.search_field.keydown(function (evt) {\n _this.keydown_checker(evt);\n });\n this.search_field.focus(function (evt) {\n _this.input_focus(evt);\n });\n\n if (this.is_multiple) {\n return this.search_choices.click(function (evt) {\n _this.choices_click(evt);\n });\n } else {\n return this.container.click(function (evt) {\n evt.preventDefault();\n });\n }\n };\n\n Chosen.prototype.search_field_disabled = function () {\n this.is_disabled = this.form_field_jq[0].disabled;\n\n if (this.is_disabled) {\n this.container.addClass(\"chzn-disabled\");\n this.search_field[0].disabled = true;\n\n if (!this.is_multiple) {\n this.selected_item.unbind(\"focus\", this.activate_action);\n }\n\n return this.close_field();\n } else {\n this.container.removeClass(\"chzn-disabled\");\n this.search_field[0].disabled = false;\n\n if (!this.is_multiple) {\n return this.selected_item.bind(\"focus\", this.activate_action);\n }\n }\n };\n\n Chosen.prototype.container_mousedown = function (evt) {\n if (!this.is_disabled) {\n if (evt && evt.type === \"mousedown\" && !this.results_showing) {\n evt.preventDefault();\n }\n\n if (!(evt != null && $$1(evt.target).hasClass(\"search-choice-close\"))) {\n if (!this.active_field) {\n if (this.is_multiple) {\n this.search_field.val(\"\");\n }\n\n $$1(document).click(this.click_test_action);\n this.results_show();\n } else if (!this.is_multiple && evt && ($$1(evt.target)[0] === this.selected_item[0] || $$1(evt.target).parents(\"a.chzn-single\").length)) {\n evt.preventDefault();\n this.results_toggle();\n }\n\n return this.activate_field();\n }\n }\n };\n\n Chosen.prototype.container_mouseup = function (evt) {\n if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n return this.results_reset(evt);\n }\n };\n\n Chosen.prototype.search_results_mousewheel = function (evt) {\n var delta, _ref1, _ref2;\n\n delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);\n\n if (delta != null) {\n evt.preventDefault();\n\n if (evt.type === \"DOMMouseScroll\") {\n delta = delta * 40;\n }\n\n return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n }\n };\n\n Chosen.prototype.blur_test = function (evt) {\n if (!this.active_field && this.container.hasClass(\"chzn-container-active\")) {\n return this.close_field();\n }\n };\n\n Chosen.prototype.close_field = function () {\n $$1(document).unbind(\"click\", this.click_test_action);\n this.active_field = false;\n this.results_hide();\n this.container.removeClass(\"chzn-container-active\");\n this.clear_backstroke();\n this.show_search_field_default();\n return this.search_field_scale();\n };\n\n Chosen.prototype.activate_field = function () {\n this.container.addClass(\"chzn-container-active\");\n this.active_field = true;\n this.search_field.val(this.search_field.val());\n return this.search_field.focus();\n };\n\n Chosen.prototype.test_active_click = function (evt) {\n if ($$1(evt.target).parents(\"#\" + this.container_id).length) {\n return this.active_field = true;\n } else {\n return this.close_field();\n }\n };\n\n Chosen.prototype.results_build = function () {\n var content, data, _i, _len, _ref1;\n\n this.parsing = true;\n this.selected_option_count = null;\n this.results_data = root.SelectParser.select_to_array(this.form_field);\n\n if (this.is_multiple) {\n this.search_choices.find(\"li.search-choice\").remove();\n } else if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\").find(\"span\").text(this.default_text);\n\n if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n this.search_field[0].readOnly = true;\n this.container.addClass(\"chzn-container-single-nosearch\");\n } else {\n this.search_field[0].readOnly = false;\n this.container.removeClass(\"chzn-container-single-nosearch\");\n }\n }\n\n content = \"\";\n _ref1 = this.results_data;\n\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n data = _ref1[_i];\n\n if (data.group) {\n content += this.result_add_group(data);\n } else if (!data.empty) {\n content += this.result_add_option(data);\n\n if (data.selected && this.is_multiple) {\n this.choice_build(data);\n } else if (data.selected && !this.is_multiple) {\n this.selected_item.removeClass(\"chzn-default\").find(\"span\").text(data.text);\n\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n }\n }\n\n this.search_field_disabled();\n this.show_search_field_default();\n this.search_field_scale();\n this.search_results.html(content);\n return this.parsing = false;\n };\n\n Chosen.prototype.result_add_group = function (group) {\n group.dom_id = this.container_id + \"_g_\" + group.array_index;\n return \"
      • \" + $$1(\"
        \").text(group.label).html() + \"
      • \";\n };\n\n Chosen.prototype.result_do_highlight = function (el) {\n var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\n if (el.length) {\n this.result_clear_highlight();\n this.result_highlight = el;\n this.result_highlight.addClass(\"highlighted\");\n maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n visible_top = this.search_results.scrollTop();\n visible_bottom = maxHeight + visible_top;\n high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n high_bottom = high_top + this.result_highlight.outerHeight();\n\n if (high_bottom >= visible_bottom) {\n return this.search_results.scrollTop(high_bottom - maxHeight > 0 ? high_bottom - maxHeight : 0);\n } else if (high_top < visible_top) {\n return this.search_results.scrollTop(high_top);\n }\n }\n };\n\n Chosen.prototype.result_clear_highlight = function () {\n if (this.result_highlight) {\n this.result_highlight.removeClass(\"highlighted\");\n }\n\n return this.result_highlight = null;\n };\n\n Chosen.prototype.results_show = function () {\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n\n this.container.addClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:showing_dropdown\", {\n chosen: this\n });\n this.results_showing = true;\n this.search_field.focus();\n this.search_field.val(this.search_field.val());\n return this.winnow_results();\n };\n\n Chosen.prototype.results_hide = function () {\n if (this.results_showing) {\n this.result_clear_highlight();\n this.container.removeClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:hiding_dropdown\", {\n chosen: this\n });\n }\n\n return this.results_showing = false;\n };\n\n Chosen.prototype.set_tab_index = function (el) {\n var ti;\n\n if (this.form_field_jq.attr(\"tabindex\")) {\n ti = this.form_field_jq.attr(\"tabindex\");\n this.form_field_jq.attr(\"tabindex\", -1);\n return this.search_field.attr(\"tabindex\", ti);\n }\n };\n\n Chosen.prototype.set_label_behavior = function () {\n var _this = this;\n\n this.form_field_label = this.form_field_jq.parents(\"label\");\n\n if (!this.form_field_label.length && this.form_field.id.length) {\n this.form_field_label = $$1(\"label[for='\" + this.form_field.id + \"']\");\n }\n\n if (this.form_field_label.length > 0) {\n return this.form_field_label.click(function (evt) {\n if (_this.is_multiple) {\n return _this.container_mousedown(evt);\n } else {\n return _this.activate_field();\n }\n });\n }\n };\n\n Chosen.prototype.show_search_field_default = function () {\n if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n this.search_field.val(this.default_text);\n return this.search_field.addClass(\"default\");\n } else {\n this.search_field.val(\"\");\n return this.search_field.removeClass(\"default\");\n }\n };\n\n Chosen.prototype.search_results_mouseup = function (evt) {\n var target;\n target = $$1(evt.target).hasClass(\"active-result\") ? $$1(evt.target) : $$1(evt.target).parents(\".active-result\").first();\n\n if (target.length) {\n this.result_highlight = target;\n this.result_select(evt);\n return this.search_field.focus();\n }\n };\n\n Chosen.prototype.search_results_mouseover = function (evt) {\n var target;\n target = $$1(evt.target).hasClass(\"active-result\") ? $$1(evt.target) : $$1(evt.target).parents(\".active-result\").first();\n\n if (target) {\n return this.result_do_highlight(target);\n }\n };\n\n Chosen.prototype.search_results_mouseout = function (evt) {\n if ($$1(evt.target).hasClass(\"active-result\" )) {\n return this.result_clear_highlight();\n }\n };\n\n Chosen.prototype.choice_build = function (item) {\n var choice,\n close_link,\n _this = this;\n\n choice = $$1(\"
      • \", {\n \"class\": \"search-choice\"\n }).html(\"\" + item.html + \"\");\n\n if (item.disabled) {\n choice.addClass(\"search-choice-disabled\");\n } else {\n close_link = $$1(\"\", {\n href: \"#\",\n \"class\": \"search-choice-close\",\n rel: item.array_index\n });\n close_link.click(function (evt) {\n return _this.choice_destroy_link_click(evt);\n });\n choice.append(close_link);\n }\n\n return this.search_container.before(choice);\n };\n\n Chosen.prototype.choice_destroy_link_click = function (evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (!this.is_disabled) {\n return this.choice_destroy($$1(evt.target));\n }\n };\n\n Chosen.prototype.choice_destroy = function (link) {\n if (this.result_deselect(link.attr(\"rel\"))) {\n this.show_search_field_default();\n\n if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n this.results_hide();\n }\n\n link.parents(\"li\").first().remove();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.results_reset = function () {\n this.form_field.options[0].selected = true;\n this.selected_option_count = null;\n this.selected_item.find(\"span\").text(this.default_text);\n\n if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\");\n }\n\n this.show_search_field_default();\n this.results_reset_cleanup();\n this.form_field_jq.trigger(\"change\");\n\n if (this.active_field) {\n return this.results_hide();\n }\n };\n\n Chosen.prototype.results_reset_cleanup = function () {\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.selected_item.find(\"abbr\").remove();\n };\n\n Chosen.prototype.result_select = function (evt) {\n var high, high_id, item, position;\n\n if (this.result_highlight) {\n high = this.result_highlight;\n high_id = high.attr(\"id\");\n this.result_clear_highlight();\n\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n\n if (this.is_multiple) {\n high.removeClass(\"active-result\");\n } else {\n this.search_results.find(\".result-selected\").removeClass(\"result-selected\");\n this.result_single_selected = high;\n this.selected_item.removeClass(\"chzn-default\");\n }\n\n high.addClass(\"result-selected\");\n position = high_id.substr(high_id.lastIndexOf(\"_\") + 1);\n item = this.results_data[position];\n item.selected = true;\n this.form_field.options[item.options_index].selected = true;\n this.selected_option_count = null;\n\n if (this.is_multiple) {\n this.choice_build(item);\n } else {\n this.selected_item.find(\"span\").first().text(item.text);\n\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n\n if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n this.results_hide();\n }\n\n this.search_field.val(\"\");\n\n if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n this.form_field_jq.trigger(\"change\", {\n \"selected\": this.form_field.options[item.options_index].value\n });\n }\n\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.result_activate = function (el, option) {\n if (option.disabled) {\n return el.addClass(\"disabled-result\");\n } else if (this.is_multiple && option.selected) {\n return el.addClass(\"result-selected\");\n } else {\n return el.addClass(\"active-result\");\n }\n };\n\n Chosen.prototype.result_deactivate = function (el) {\n return el.removeClass(\"active-result result-selected disabled-result\");\n };\n\n Chosen.prototype.result_deselect = function (pos) {\n var result, result_data;\n result_data = this.results_data[pos];\n\n if (!this.form_field.options[result_data.options_index].disabled) {\n result_data.selected = false;\n this.form_field.options[result_data.options_index].selected = false;\n this.selected_option_count = null;\n result = $$1(\"#\" + this.container_id + \"_o_\" + pos);\n result.removeClass(\"result-selected\").addClass(\"active-result\").show();\n this.result_clear_highlight();\n this.winnow_results();\n this.form_field_jq.trigger(\"change\", {\n deselected: this.form_field.options[result_data.options_index].value\n });\n this.search_field_scale();\n return true;\n } else {\n return false;\n }\n };\n\n Chosen.prototype.single_deselect_control_build = function () {\n if (!this.allow_single_deselect) {\n return;\n }\n\n if (!this.selected_item.find(\"abbr\").length) {\n this.selected_item.find(\"span\").first().after(\"\");\n }\n\n return this.selected_item.addClass(\"chzn-single-with-deselect\");\n };\n\n Chosen.prototype.winnow_results = function () {\n var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;\n\n this.no_results_clear();\n results = 0;\n searchText = this.search_field.val() === this.default_text ? \"\" : $$1(\"
        \").text($$1.trim(this.search_field.val())).html();\n regexAnchor = this.search_contains ? \"\" : \"^\";\n regex = new RegExp(regexAnchor + searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), \"i\");\n zregex = new RegExp(searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), \"i\");\n _ref1 = this.results_data;\n\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n option = _ref1[_i];\n\n if (!option.empty) {\n if (option.group) {\n $$1(\"#\" + option.dom_id).css(\"display\", \"none\");\n } else {\n found = false;\n result_id = option.dom_id;\n result = $$1(\"#\" + result_id);\n\n if (regex.test(option.html)) {\n found = true;\n results += 1;\n } else if (this.enable_split_word_search && (option.html.indexOf(\" \") >= 0 || option.html.indexOf(\"[\") === 0)) {\n parts = option.html.replace(/\\[|\\]/g, \"\").split(\" \");\n\n if (parts.length) {\n for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {\n part = parts[_j];\n\n if (regex.test(part)) {\n found = true;\n results += 1;\n }\n }\n }\n }\n\n if (found) {\n if (searchText.length) {\n startpos = option.html.search(zregex);\n text = option.html.substr(0, startpos + searchText.length) + \"\" + option.html.substr(startpos + searchText.length);\n text = text.substr(0, startpos) + \"\" + text.substr(startpos);\n } else {\n text = option.html;\n }\n\n result.html(text);\n this.result_activate(result, option);\n\n if (option.group_array_index != null) {\n $$1(\"#\" + this.results_data[option.group_array_index].dom_id).css(\"display\", \"list-item\");\n }\n } else {\n if (this.result_highlight && result_id === this.result_highlight.attr(\"id\")) {\n this.result_clear_highlight();\n }\n\n this.result_deactivate(result);\n }\n }\n }\n }\n\n if (results < 1 && searchText.length) {\n return this.no_results(searchText);\n } else {\n return this.winnow_results_set_highlight();\n }\n };\n\n Chosen.prototype.winnow_results_set_highlight = function () {\n var do_high, selected_results;\n\n if (!this.result_highlight) {\n selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n\n if (do_high != null) {\n return this.result_do_highlight(do_high);\n }\n }\n };\n\n Chosen.prototype.no_results = function (terms) {\n var no_results_html;\n no_results_html = $$1(\"
      • \" + this.results_none_found + \" \\\"\\\"
      • \");\n no_results_html.find(\"span\").first().html(terms);\n return this.search_results.append(no_results_html);\n };\n\n Chosen.prototype.no_results_clear = function () {\n return this.search_results.find(\".no-results\").remove();\n };\n\n Chosen.prototype.keydown_arrow = function () {\n var next_sib;\n\n if (this.results_showing && this.result_highlight) {\n next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n\n if (next_sib) {\n return this.result_do_highlight(next_sib);\n }\n } else {\n return this.results_show();\n }\n };\n\n Chosen.prototype.keyup_arrow = function () {\n var prev_sibs;\n\n if (!this.results_showing && !this.is_multiple) {\n return this.results_show();\n } else if (this.result_highlight) {\n prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n\n if (prev_sibs.length) {\n return this.result_do_highlight(prev_sibs.first());\n } else {\n if (this.choices_count() > 0) {\n this.results_hide();\n }\n\n return this.result_clear_highlight();\n }\n }\n };\n\n Chosen.prototype.keydown_backstroke = function () {\n var next_available_destroy;\n\n if (this.pending_backstroke) {\n this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n return this.clear_backstroke();\n } else {\n next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n\n if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n this.pending_backstroke = next_available_destroy;\n\n if (this.single_backstroke_delete) {\n return this.keydown_backstroke();\n } else {\n return this.pending_backstroke.addClass(\"search-choice-focus\");\n }\n }\n }\n };\n\n Chosen.prototype.clear_backstroke = function () {\n if (this.pending_backstroke) {\n this.pending_backstroke.removeClass(\"search-choice-focus\");\n }\n\n return this.pending_backstroke = null;\n };\n\n Chosen.prototype.keydown_checker = function (evt) {\n var stroke, _ref1;\n\n stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n this.search_field_scale();\n\n if (stroke !== 8 && this.pending_backstroke) {\n this.clear_backstroke();\n }\n\n switch (stroke) {\n case 8:\n this.backstroke_length = this.search_field.val().length;\n break;\n\n case 9:\n if (this.results_showing && !this.is_multiple) {\n this.result_select(evt);\n }\n\n this.mouse_on_container = false;\n break;\n\n case 13:\n evt.preventDefault();\n break;\n\n case 38:\n evt.preventDefault();\n this.keyup_arrow();\n break;\n\n case 40:\n evt.preventDefault();\n this.keydown_arrow();\n break;\n }\n };\n\n Chosen.prototype.search_field_scale = function () {\n var div, style, style_block, styles, w, _i, _len;\n\n if (this.is_multiple) {\n w = 0;\n style_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n styles = [\"font-size\", \"font-style\", \"font-weight\", \"font-family\", \"line-height\", \"text-transform\", \"letter-spacing\"];\n\n for (_i = 0, _len = styles.length; _i < _len; _i++) {\n style = styles[_i];\n style_block += style + \":\" + this.search_field.css(style) + \";\";\n }\n\n div = $$1(\"
        \", {\n \"style\": style_block\n });\n div.text(this.search_field.val());\n $$1(\"body\").append(div);\n w = div.width() + 25;\n div.remove();\n\n if (!this.f_width) {\n this.f_width = this.container.outerWidth();\n }\n\n if (w > this.f_width - 10) {\n w = this.f_width - 10;\n }\n\n return this.search_field.css({\n \"width\": w + \"px\"\n });\n }\n };\n\n Chosen.prototype.generate_random_id = function () {\n var string;\n string = \"sel\" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();\n\n while ($$1(\"#\" + string).length > 0) {\n string += this.generate_random_char();\n }\n\n return string;\n };\n\n return Chosen;\n }(AbstractChosen);\n\n root.Chosen = Chosen;\n}).call($);\n","import $ from 'jquery';\n\n/**\n * There are following local modifications:\n * - Author: Uzi Kilon ukilon@okta.com\n * Bug: OKTA-20830 - solves the conflict when there are multiple labels\n */\n\n/**\n * --------------------------------------------------------------------\n * jQuery customInput plugin\n * Author: Maggie Costello Wachs maggie@filamentgroup.com, Scott Jehl, scott@filamentgroup.com\n * Copyright (c) 2009 Filament Group\n * licensed under MIT (filamentgroup.com/examples/mit-license.txt)\n * --------------------------------------------------------------------\n*/\n(function () {\n var jQuery = $;\n\n var $$1 = jQuery;\n\n jQuery.fn.customInput = function () {\n return $$1(this).each(function () {\n if ($$1(this).is('[type=checkbox],[type=radio]')) {\n var input = $$1(this); // get the associated label using the input's id\n\n var label = input.siblings('label[for=\"' + input.attr('id') + '\"]:first');\n\n if (!label.length) {\n label = input.closest('label[for=\"' + input.attr('id') + '\"]:first');\n } // wrap the input + label in a div\n\n\n input.add(label).wrapAll('
        '); // necessary for browsers that don't support the :hover pseudo class on labels\n\n label.hover(function () {\n $$1(this).addClass('hover');\n }, function () {\n $$1(this).removeClass('hover');\n }); //bind custom event, trigger it, bind click,focus,blur events\n\n input.bind('updateState', function () {\n input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus');\n }).trigger('updateState').click(function () {\n $$1('input[name=\"' + $$1(this).attr('name') + '\"]').trigger('updateState');\n }).focus(function () {\n label.addClass('focus');\n\n if (input.is(':checked')) {\n $$1(this).addClass('checkedFocus');\n }\n }).blur(function () {\n label.removeClass('focus checkedFocus');\n });\n }\n });\n };\n})();\n","import $ from 'jquery';\n\n/*! http://mths.be/placeholder v2.0.7 by @mathias */\n\n(function () {\n var $$1 = $;\n\n var isInputSupported = ('placeholder' in document.createElement('input')),\n isTextareaSupported = ('placeholder' in document.createElement('textarea')),\n prototype = $$1.fn,\n valHooks = $$1.valHooks,\n hooks,\n placeholder;\n\n if (isInputSupported && isTextareaSupported) {\n placeholder = prototype.placeholder = function () {\n return this;\n };\n\n placeholder.input = placeholder.textarea = true;\n } else {\n placeholder = prototype.placeholder = function () {\n var $this = this;\n $this.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]').not('.placeholder').bind({\n 'focus.placeholder': clearPlaceholder,\n 'blur.placeholder': setPlaceholder\n }).data('placeholder-enabled', true).trigger('blur.placeholder');\n return $this;\n };\n\n placeholder.input = isInputSupported;\n placeholder.textarea = isTextareaSupported;\n hooks = {\n 'get': function (element) {\n var $element = $$1(element);\n return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\n },\n 'set': function (element, value) {\n var $element = $$1(element);\n\n if (!$element.data('placeholder-enabled')) {\n return element.value = value;\n }\n\n if (value == '') {\n element.value = value; // Issue #56: Setting the placeholder causes problems if the element continues to have focus.\n\n if (element != document.activeElement) {\n // We can't use `triggerHandler` here because of dummy text/password inputs :(\n setPlaceholder.call(element);\n }\n } else if ($element.hasClass('placeholder')) {\n clearPlaceholder.call(element, true, value) || (element.value = value);\n } else {\n element.value = value;\n } // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\n\n\n return $element;\n }\n };\n isInputSupported || (valHooks.input = hooks);\n isTextareaSupported || (valHooks.textarea = hooks);\n $$1(function () {\n // Look for forms\n $$1(document).delegate('form', 'submit.placeholder', function () {\n // Clear the placeholder values so they don't get submitted\n var $inputs = $$1('.placeholder', this).each(clearPlaceholder);\n setTimeout(function () {\n $inputs.each(setPlaceholder);\n }, 10);\n });\n }); // Clear placeholder values upon page reload\n\n $$1(window).bind('beforeunload.placeholder', function () {\n $$1('.placeholder').each(function () {\n this.value = '';\n });\n });\n }\n\n function args(elem) {\n // Return an object of element attributes\n var newAttrs = {},\n rinlinejQuery = /^jQuery\\d+$/;\n $$1.each(elem.attributes, function (i, attr) {\n if (attr.specified && !rinlinejQuery.test(attr.name)) {\n newAttrs[attr.name] = attr.value;\n }\n });\n return newAttrs;\n }\n\n function clearPlaceholder(event, value) {\n var input = this,\n $input = $$1(input);\n\n if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\n if ($input.data('placeholder-password')) {\n $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id')); // If `clearPlaceholder` was called from `$.valHooks.input.set`\n\n if (event === true) {\n return $input[0].value = value;\n }\n\n $input.focus();\n } else {\n input.value = '';\n $input.removeClass('placeholder');\n input == document.activeElement && input.select();\n }\n }\n }\n\n function setPlaceholder() {\n var $replacement,\n input = this,\n $input = $$1(input),\n id = this.id;\n\n if (input.value == '') {\n if (input.type == 'password') {\n if (!$input.data('placeholder-textinput')) {\n try {\n $replacement = $input.clone().attr({\n 'type': 'text'\n });\n } catch (e) {\n $replacement = $$1('').attr($$1.extend(args(this), {\n 'type': 'text'\n }));\n }\n\n $replacement.removeAttr('name').data({\n 'placeholder-password': true,\n 'placeholder-id': id\n }).bind('focus.placeholder', clearPlaceholder);\n $input.data({\n 'placeholder-textinput': $replacement,\n 'placeholder-id': id\n }).before($replacement);\n }\n\n $input = $input.removeAttr('id').hide().prev().attr('id', id).show(); // Note: `$input[0] != input` now!\n }\n\n $input.addClass('placeholder');\n $input[0].value = $input.attr('placeholder');\n } else {\n $input.removeClass('placeholder');\n }\n }\n})();\n","import ListView from '../framework/ListView.js';\nimport BaseView from './BaseView.js';\n\n/**\n * See {@link src/framework/ListView} for more detail and examples from the base class.\n * @class module:Okta.ListView\n * @extends src/framework/ListView\n * @mixes module:Okta.View\n */\n\nvar Backbone_ListView = BaseView.decorate(ListView);\n\nexport { Backbone_ListView as default };\n","import Backbone from '../vendor/lib/backbone.js';\nimport oktaUnderscore from '../util/underscore-wrapper.js';\nimport FrameworkView from '../framework/View.js';\nimport TemplateUtil from '../util/TemplateUtil.js';\n\nconst eventBus = oktaUnderscore.clone(Backbone.Events); // add `broadcast` and `listen` functionality to all views\n// We use one event emitter per all views\n// This means we need to be very careful with event names\n\n\nconst proto = {\n constructor: function (options, ...rest) {\n FrameworkView.call(this, options, ...rest);\n this.module && this.$el.attr('data-view', this.module.id);\n },\n\n /**\n * @deprecated Use {@link #removeChildren}\n */\n empty: function () {\n return this.removeChildren();\n },\n compileTemplate: TemplateUtil.tpl,\n\n /**\n *\n * Broadcasts a global event that all views and controllers can subscribe to\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName A unique identifier for the event\n * @param {...String} param Parameter to pass with the event (can pass more than one parameter)\n * @deprecated For internal use only\n * @private\n */\n broadcast: function () {\n eventBus.trigger.apply(eventBus, arguments);\n return this;\n },\n\n /**\n * Subscribe to broadcast events\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName The event identifier to subscribe\n * @param {Function} fn The callback function to invoke\n * @deprecated For internal use only\n * @private\n */\n listen: function (name, fn) {\n eventBus.off(name, fn);\n this.listenTo(eventBus, name, fn);\n return this;\n },\n\n /**\n * Shows a notification box\n * @param {String} level success / warning / error\n * @param {String} message The message to display\n * @param {Object} [options]\n * @param {Number} [options.width] Set a custom width\n * @param {String} [options.title] Set a custom title\n * @param {Boolean} [options.hide=true] Do we want to auto-hide this notification?\n * @param {Boolean} [options.dismissable] Show a dismiss button\n * @example\n * view.notify('success', 'Group created successfully');\n */\n notify: function (level, message, options) {\n this.broadcast('notification', oktaUnderscore.defaults({\n message: message,\n level: level\n }, options));\n return this;\n },\n\n /**\n * Shows a confirmation dialog\n *\n * Uses https://www.ericmmartin.com/projects/simplemodal/.\n * If you want to configure the simplemodal options use ConfirmationDialog instead.\n *\n * The main difference between this and the native javascript `confirm` method\n * Is this method is non blocking (note the callback pattern).\n *\n * The callback function will run in the context (`this`) of the invoking view.\n *\n * @param {String} [title] The title of the confirmation dialog\n * @param {String} [message] The message of the confirmation dialog\n * @param {Function} [okfn] The callback to run when the user hits \"OK\" (runs in the context of the invoking view)\n * @param {Function} [cancelfn] The callback to run when the user hits \"Cancel\"\n * (runs in the context of the invoking view)\n * @example\n * view.confirm('Delete Group', 'Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * // title will be auto-set to \"Okta\"\n * view.confirm('Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * view.confirm({\n * title: 'Delete Group', //=> Modal title\n * subtitle: 'Are you sure you want to delete the selected group?', //=> Modal subtitle\n * content: '

        THIS WILL DELETE THE GROUP!

        ', //=> A template or a view to add to the modal\n * save: 'Delete Group', //=> Button label\n * ok: _.bind(model.save, model) // Callback function on hitting \"ok\" button\n * cancel: 'Cancel', //=> Button label\n * cancelFn: _.bind(model.destroy, model) // Callback function on hitting \"cancel\" button\n * });\n */\n confirm: function (title, message, okfn, cancelfn) {\n let options;\n /* eslint max-statements: [2, 12] */\n\n if (typeof title === 'object') {\n options = title;\n } else {\n // eslint-disable-next-line no-lonely-if\n if (arguments.length === 2 && oktaUnderscore.isFunction(message)) {\n options = {\n title: 'Okta',\n // eslint-disable-line @okta/okta/no-unlocalized-text\n subtitle: title,\n ok: message\n };\n } else {\n options = {\n title: title,\n subtitle: message,\n ok: okfn,\n cancelFn: cancelfn\n };\n }\n }\n\n if (oktaUnderscore.isFunction(options.ok)) {\n options.ok = oktaUnderscore.bind(options.ok, this);\n }\n\n if (oktaUnderscore.isFunction(options.cancelFn)) {\n options.cancelFn = oktaUnderscore.bind(options.cancelFn, this);\n }\n\n this.broadcast('confirmation', options);\n return this;\n },\n\n /**\n * Shows an alert box\n *\n * The main difference between this and the native javascript `alert` method\n * Is this method is non blocking.\n *\n * @param {String} message The message\n * @example\n * view.alert('Mission complete');\n */\n alert: function (params) {\n if (oktaUnderscore.isString(params)) {\n params = {\n subtitle: params\n };\n }\n\n this.confirm(oktaUnderscore.extend({}, params, {\n noCancelButton: true\n }));\n return this;\n }\n};\n/**\n * See {@link src/framework/View} for more detail and examples from the base class.\n * @class module:Okta.View\n * @extends src/framework/View\n */\n\n/** @lends module:Okta.View.prototype */\n\nvar BaseView = FrameworkView.extend(proto,\n/** @lends View.prototype */\n{\n /** @method */\n decorate: function (TargetView) {\n const BaseViewView = TargetView.extend({});\n\n oktaUnderscore.defaults(BaseViewView.prototype, proto);\n\n return BaseViewView;\n }\n});\n\nexport { BaseView as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport ViewUtil from '../../util/ViewUtil.js';\nimport BaseView from '../BaseView.js';\n\nconst disabledEvents = {\n click: function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n};\n/**\n * A configurable button\n * @class module:Okta.internal.views.components.BaseButtonLink\n * @extends module:Okta.View\n * @example\n * var View = BaseButtonLink.extend({\n * title: 'Click Me',\n * icon: 'help-text'\n * })\n */\n\nvar BaseButtonLink = BaseView.extend(\n/** @lends module:Okta.internal.views.components.BaseButtonLink.prototype */\n{\n attributes: function () {\n const defaultAttrs = {\n 'data-se': 'button'\n };\n\n const additionalAttr = this.__getAttribute('attrs');\n\n return oktaUnderscore.extend(defaultAttrs, additionalAttr);\n },\n\n /**\n * The main text for the button\n * @name title\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * The link for the button\n * @name href\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @name icon\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * A [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @name events\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {Object}\n * @instance\n */\n tagName: 'a',\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 67\n },\n \"end\": {\n \"line\": 1,\n \"column\": 76\n }\n }\n }) : helper));\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"icon\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 54\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"title\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 54\n },\n \"end\": {\n \"line\": 1,\n \"column\": 83\n }\n }\n })) != null ? stack1 : \"\");\n },\n \"useData\": true\n }),\n\n /**\n * Make this button visible, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n visible: true,\n\n /**\n * Make this button enabled, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n enabled: true,\n\n /**\n * The setting to determine when the button is enabled, default to {} and\n * enabled takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n enableWhen: {},\n\n /**\n * The setting to determine when the button is visible, default to {} and\n * visible takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n showWhen: {},\n constructor: function (options) {\n this.options = options || {};\n const data = this.getTemplateData();\n this.disabled = false;\n BaseView.apply(this, arguments);\n this.$el.addClass('link-button');\n\n if (data.icon) {\n this.$el.addClass('link-button-icon');\n\n if (!data.title) {\n this.$el.addClass('icon-only');\n }\n }\n },\n getTemplateData: function () {\n return {\n href: this.__getAttribute('href'),\n title: this.__getAttribute('title'),\n icon: this.__getAttribute('icon')\n };\n },\n initialize: function () {\n ViewUtil.applyDoWhen(this, oktaUnderscore.resultCtx(this, 'enableWhen', this), this.toggle);\n ViewUtil.applyDoWhen(this, oktaUnderscore.resultCtx(this, 'showWhen', this), this.toggleVisible);\n },\n render: function () {\n BaseView.prototype.render.apply(this, arguments);\n\n if (!oktaUnderscore.result(this, 'enabled')) {\n this.toggle(false);\n }\n\n if (!oktaUnderscore.result(this, 'visible')) {\n this.toggleVisible(false);\n }\n\n const data = this.getTemplateData();\n this.$el.attr('href', data.href || '#');\n return this;\n },\n __getAttribute: function (name, defaultValue) {\n let value = oktaUnderscore.resultCtx(this.options, name, this);\n\n if (oktaUnderscore.isUndefined(value)) {\n value = oktaUnderscore.result(this, name);\n }\n\n return !oktaUnderscore.isUndefined(value) ? value : defaultValue;\n },\n enable: function () {\n this.toggle(true);\n },\n disable: function () {\n this.toggle(false);\n },\n show: function () {\n this.toggleVisible(true);\n },\n hide: function () {\n this.toggleVisible(false);\n },\n toggle: function (enable) {\n const bool = !!enable && oktaUnderscore.result(this, 'enabled'); //this is to toggle the enability\n\n\n this.disabled = !bool;\n this.$el.toggleClass('link-button-disabled btn-disabled disabled', this.disabled);\n this.delegateEvents(this.disabled ? disabledEvents : null);\n },\n toggleVisible: function (visible) {\n const hidden = !visible || !oktaUnderscore.result(this, 'visible');\n this.$el.toggleClass('hide', hidden);\n }\n});\n\nexport { BaseButtonLink as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport BaseView from '../BaseView.js';\n\nconst optionsTemplate = _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 133\n },\n \"end\": {\n \"line\": 1,\n \"column\": 142\n }\n }\n }) : helper));\n },\n \"5\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

        \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"subtitle\") || (depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"subtitle\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 192\n },\n \"end\": {\n \"line\": 1,\n \"column\": 204\n }\n }\n }) : helper)) + \"

        \";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"icon\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 66\n },\n \"end\": {\n \"line\": 1,\n \"column\": 120\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"title\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 120\n },\n \"end\": {\n \"line\": 1,\n \"column\": 149\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(5, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 149\n },\n \"end\": {\n \"line\": 1,\n \"column\": 215\n }\n }\n })) != null ? stack1 : \"\") + \"\";\n },\n \"useData\": true\n});\n\nconst BaseDropDownDropDownOption = BaseView.extend({\n tagName: 'li',\n events: {\n click: function (e) {\n e.preventDefault();\n this.action && this.action.call(this);\n }\n },\n constructor: function () {\n BaseView.apply(this, arguments);\n this.$el.addClass('okta-dropdown-option option');\n },\n render: function () {\n this.$el.html(optionsTemplate({\n icon: oktaUnderscore.result(this, 'icon'),\n className: oktaUnderscore.result(this, 'className') || '',\n title: oktaUnderscore.result(this, 'title'),\n subtitle: oktaUnderscore.result(this, 'subtitle'),\n seleniumId: oktaUnderscore.result(this, 'seleniumId')\n }));\n\n if (oktaUnderscore.result(this, 'disabled')) {\n this.disable();\n }\n\n return this;\n },\n disable: function () {\n this.$el.addClass('option-disabled');\n this.$el.find('a').attr('tabindex', '-1');\n }\n});\nvar BaseDropDown = BaseView.extend({\n events: {\n 'click a.option-selected': function (e) {\n e.preventDefault();\n\n if (oktaUnderscore.result(this, 'disabled')) {\n e.stopPropagation();\n }\n },\n 'click .dropdown-disabled': function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n items: [],\n constructor: function () {\n const className = this.className; // In this very specific case we want to NOT append className to $el\n // but to the tag in the template\n // so we want to disable backbone default functionality.\n\n this.className = null;\n BaseView.apply(this, arguments);\n this.className = className;\n this.$el.addClass('dropdown more-actions float-l');\n\n oktaUnderscore.each(oktaUnderscore.result(this, 'items'), function (option) {\n this.addOption(option, this.options);\n }, this);\n },\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"screenReaderText\") || (depth0 != null ? lookupProperty(depth0, \"screenReaderText\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"screenReaderText\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 249\n },\n \"end\": {\n \"line\": 1,\n \"column\": 269\n }\n }\n }) : helper)) + \"\";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"icon\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 146\n },\n \"end\": {\n \"line\": 1,\n \"column\": 200\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"screenReaderText\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 200\n },\n \"end\": {\n \"line\": 1,\n \"column\": 283\n }\n }\n })) != null ? stack1 : \"\") + \"\" + alias4((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : alias2, typeof helper === alias3 ? helper.call(alias1, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 318\n },\n \"end\": {\n \"line\": 1,\n \"column\": 327\n }\n }\n }) : helper)) + \"
          \";\n },\n \"useData\": true\n }),\n getTemplateData: function () {\n const className = [oktaUnderscore.result(this, 'className') || '', oktaUnderscore.result(this, 'disabled') ? 'dropdown-disabled' : ''];\n return {\n icon: oktaUnderscore.result(this, 'icon'),\n className: oktaJQueryStatic.trim(className.join(' ')),\n title: oktaUnderscore.result(this, 'title'),\n screenReaderText: oktaUnderscore.result(this, 'screenReaderText')\n };\n },\n addOption: function (proto, options) {\n this.add(BaseDropDownDropDownOption.extend(proto), 'ul.options-wrap', {\n options: options || {}\n });\n }\n});\n\nexport { BaseDropDown as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport Time from '../../util/Time.js';\nimport BaseView from '../BaseView.js';\n\nfunction getOption(callout, option) {\n return oktaUnderscore.resultCtx(callout.options, option, callout) || oktaUnderscore.result(callout, option);\n}\n\nfunction getTopClass(callout) {\n let klass = 'infobox clearfix infobox-' + getOption(callout, 'type');\n\n switch (getOption(callout, 'size')) {\n case 'standard':\n klass += '';\n break;\n\n case 'slim':\n klass += ' infobox-slim';\n break;\n\n case 'compact':\n klass += ' infobox-compact';\n break;\n\n case 'large':\n klass += ' infobox-md';\n break;\n }\n\n if (getOption(callout, 'dismissible')) {\n klass += ' infobox-dismiss';\n }\n\n return klass;\n}\n\nconst events = {\n 'click .infobox-dismiss-link': function (e) {\n e.preventDefault();\n this.$el.fadeOut(Time.UNLOADING_FADE, () => {\n this.trigger('dismissed');\n this.remove();\n });\n }\n};\n\nconst template = _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 286\n },\n \"end\": {\n \"line\": 1,\n \"column\": 295\n }\n }\n }) : helper)) + \"

          \";\n },\n \"5\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"subtitle\") || (depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"subtitle\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 347\n },\n \"end\": {\n \"line\": 1,\n \"column\": 359\n }\n }\n }) : helper)) + \"

          \";\n },\n \"7\": function (container, depth0, helpers, partials, data) {\n var stack1,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"
            \" + ((stack1 = lookupProperty(helpers, \"each\").call(depth0 != null ? depth0 : container.nullContext || {}, depth0 != null ? lookupProperty(depth0, \"bullets\") : depth0, {\n \"name\": \"each\",\n \"hash\": {},\n \"fn\": container.program(8, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 420\n },\n \"end\": {\n \"line\": 1,\n \"column\": 483\n }\n }\n })) != null ? stack1 : \"\") + \"
          \";\n },\n \"8\": function (container, depth0, helpers, partials, data) {\n return \"
        • \" + container.escapeExpression(container.lambda(depth0, depth0)) + \"
        • \";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"dismissible\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 202\n }\n }\n })) != null ? stack1 : \"\") + \"\" + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"title\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 252\n },\n \"end\": {\n \"line\": 1,\n \"column\": 307\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(5, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 307\n },\n \"end\": {\n \"line\": 1,\n \"column\": 370\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"bullets\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(7, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 370\n },\n \"end\": {\n \"line\": 1,\n \"column\": 495\n }\n }\n })) != null ? stack1 : \"\");\n },\n \"useData\": true\n});\n\nconst CalloutCallout = BaseView.extend(\n/** @lends src/views/components/Callout.prototype */\n{\n attributes: {\n 'data-se': 'callout'\n },\n\n /**\n * Custom HTML or view to inject to the callout\n * @type {String|Okta.View}\n */\n content: null,\n\n /**\n * Size of icon. options are standard, large, compact\n * @type {String}\n */\n size: 'standard',\n\n /**\n * Type of the callout. Valid values are: info, success, warning, error, tip\n * @type {String}\n */\n type: 'info',\n\n /**\n * Can the callout be dismissed\n * @type {Boolean}\n */\n dismissible: false,\n\n /**\n * Callout title\n * @type {String}\n */\n title: null,\n\n /**\n * Callout subtitle\n * @type {String}\n */\n subtitle: null,\n\n /**\n * Array of strings to render as bullet points\n * @type {Array}\n */\n bullets: null,\n\n /**\n * Fired after the callout is dismised - applies when\n * {@link module:Okta.internal.views.components.Callout|dismissible} is set to true\n * @event src/views/components/Callout#dismissed\n */\n constructor: function () {\n this.events = oktaUnderscore.defaults(this.events || {}, events);\n BaseView.apply(this, arguments);\n this.$el.addClass(getTopClass(this));\n this.template = template;\n const content = getOption(this, 'content');\n\n if (content) {\n this.add(content);\n }\n },\n getTemplateData: function () {\n let icon = getOption(this, 'type');\n const size = getOption(this, 'size');\n\n if (icon === 'tip') {\n // css is inconsistent\n icon = 'light-bulb';\n }\n\n switch (size) {\n case 'slim':\n icon = '';\n break;\n\n case 'large':\n icon = [icon, '-', '24'].join('');\n break;\n\n default:\n icon = [icon, '-', '16'].join('');\n }\n\n return {\n icon: icon,\n title: getOption(this, 'title'),\n subtitle: getOption(this, 'subtitle'),\n bullets: getOption(this, 'bullets'),\n dismissible: getOption(this, 'dismissible')\n };\n }\n});\n/**\n * @class src/views/components/Callout\n * @extends module:Okta.View\n */\n\n/**\n * @class module:Okta.internal.views.components.Callout\n */\n\nvar Callout = /** @lends module:Okta.internal.views.components.Callout */\n{\n /**\n * Creates a {@link src/views/components/Callout|Callout}.\n * @static\n * @param {Object} options\n * @param {String|Function} [options.size] Size of icon. options are standard, large, compact, slim\n * @param {String|Okta.View} [options.content] Custom HTML or view to inject to the callout\n * @param {String|Function} [options.title] Callout title\n * @param {String|Function} [options.subtitle] Callout subtitle\n * @param {Array|Function} [options.bullets] Array of strings to render as bullet points\n * @param {Boolean|Function} [options.dismissible] Can the callout be dismissed\n * @param {String|Function} [options.type] Callout type. Valid values are: info, success, warning, error, tip\n *\n * @return {src/views/components/Callout}\n */\n create: function (options) {\n return new CalloutCallout(options);\n }\n};\n\nexport { Callout as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport BaseView from '../BaseView.js';\nimport StringUtil from '../../util/StringUtil.js';\n\nconst defaults = {\n level: 'success',\n hide: true,\n fade: 400,\n delay: 3000,\n width: 0,\n dismissable: false\n};\nvar Notification = BaseView.extend({\n className: 'infobox infobox-confirm infobox-confirm-fixed',\n events: {\n 'click .infobox-dismiss-link': function (e) {\n e.preventDefault();\n this.fadeOut();\n }\n },\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 220\n },\n \"end\": {\n \"line\": 1,\n \"column\": 229\n }\n }\n }) : helper)) + \"

          \";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"dismissable\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 164\n }\n }\n })) != null ? stack1 : \"\") + \"\" + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"title\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 203\n },\n \"end\": {\n \"line\": 1,\n \"column\": 241\n }\n }\n })) != null ? stack1 : \"\") + \"

          \" + alias4((helper = (helper = lookupProperty(helpers, \"message\") || (depth0 != null ? lookupProperty(depth0, \"message\") : depth0)) != null ? helper : alias2, typeof helper === alias3 ? helper.call(alias1, {\n \"name\": \"message\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 244\n },\n \"end\": {\n \"line\": 1,\n \"column\": 255\n }\n }\n }) : helper)) + \"

          \";\n },\n \"useData\": true\n }),\n initialize: function () {\n this.options = oktaUnderscore.defaults({}, this.options, defaults);\n\n if (!this.options.message) {\n switch (this.options.level) {\n case 'success':\n this.options.message = StringUtil.localize('notification.default.message.success', 'courage');\n break;\n\n case 'error':\n this.options.message = StringUtil.localize('notification.default.message.error', 'courage');\n break;\n\n case 'warning':\n this.options.message = StringUtil.localize('notification.default.message.warning', 'courage');\n break;\n }\n }\n\n this.$el.addClass('infobox-' + this.options.level);\n\n if (this.options.width) {\n this.$el.width(this.options.width);\n }\n },\n getTemplateData: function () {\n return oktaUnderscore.extend(oktaUnderscore.pick(this.options, 'level', 'message', 'title'), {\n dismissable: this.options.hide === false || this.options.dismissable === true\n });\n },\n postRender: function () {\n if (this.options.hide) {\n oktaUnderscore.delay(oktaUnderscore.bind(this.fadeOut, this), this.options.delay);\n }\n },\n fadeOut: function () {\n this.$el.fadeOut(this.options.fade, oktaUnderscore.bind(this.remove, this));\n }\n});\n\nexport { Notification as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport StringUtil from '../../util/StringUtil.js';\nimport BaseView from '../BaseView.js';\nimport ReadModeBar from './components/ReadModeBar.js';\nimport Toolbar from './components/Toolbar.js';\nimport ErrorBanner from './helpers/ErrorBanner.js';\nimport ErrorParser from './helpers/ErrorParser.js';\nimport FormUtil from './helpers/FormUtil.js';\nimport InputContainer from './helpers/InputContainer.js';\nimport InputFactory from './helpers/InputFactory.js';\nimport InputLabel from './helpers/InputLabel.js';\nimport InputWrapper from './helpers/InputWrapper.js';\nimport SettingsModel from '../../util/SettingsModel.js';\n\nconst template = _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 75\n },\n \"end\": {\n \"line\": 1,\n \"column\": 84\n }\n }\n }) : helper)) + \"

          \";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var stack1,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return (stack1 = lookupProperty(helpers, \"if\").call(depth0 != null ? depth0 : container.nullContext || {}, depth0 != null ? lookupProperty(depth0, \"title\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(4, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 192\n },\n \"end\": {\n \"line\": 1,\n \"column\": 288\n }\n }\n })) != null ? stack1 : \"\";\n },\n \"4\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 267\n },\n \"end\": {\n \"line\": 1,\n \"column\": 276\n }\n }\n }) : helper)) + \"

          \";\n },\n \"6\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"subtitle\") || (depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"subtitle\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 385\n },\n \"end\": {\n \"line\": 1,\n \"column\": 397\n }\n }\n }) : helper)) + \"

          \";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"hasReadMode\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 96\n }\n }\n })) != null ? stack1 : \"\") + \"
          \" + ((stack1 = lookupProperty(helpers, \"unless\").call(alias1, depth0 != null ? lookupProperty(depth0, \"hasReadMode\") : depth0, {\n \"name\": \"unless\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 169\n },\n \"end\": {\n \"line\": 1,\n \"column\": 299\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"subtitle\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(6, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 299\n },\n \"end\": {\n \"line\": 1,\n \"column\": 408\n }\n }\n })) != null ? stack1 : \"\") + \"
          \";\n },\n \"useData\": true\n});\n\nconst sectionTitleTemplate = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"title\") || (depth0 != null ? lookupProperty(depth0, \"title\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"title\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 24\n },\n \"end\": {\n \"line\": 1,\n \"column\": 33\n }\n }\n }) : helper)) + \"

          \";\n },\n \"useData\": true\n});\n\nconst pointerEventsSupported = oktaJQueryStatic('
          ').css({\n 'pointer-events': 'auto'\n})[0].style.pointerEvents === 'auto'; // polyfill for `pointer-events: none;` in IE < 11\n// Logic borrowed from https://github.com/kmewhort/pointer_events_polyfill (BSD)\n\nfunction pointerEventsPolyfill(e) {\n if (!pointerEventsSupported && this.$el.hasClass('o-form-saving')) {\n const $el = oktaJQueryStatic(e.currentTarget);\n $el.css('display', 'none');\n const underneathElem = document.elementFromPoint(e.clientX, e.clientY);\n $el.css('display', 'block');\n e.target = underneathElem;\n oktaJQueryStatic(underneathElem).trigger(e);\n return false;\n }\n}\n\nconst events = {\n submit: function (e) {\n e.preventDefault();\n\n this.__save();\n }\n};\n\noktaUnderscore.each(['click', 'dblclick', 'mousedown', 'mouseup'], function (event) {\n events[event + ' .o-form-input'] = pointerEventsPolyfill;\n});\n\nconst attributes = function (model) {\n model || (model = {});\n const collection = model && model.collection || {};\n return {\n method: 'POST',\n action: oktaUnderscore.result(model, 'urlRoot') || oktaUnderscore.result(collection, 'url') || window.location.pathname,\n 'data-se': 'o-form',\n slot: 'content'\n };\n};\n\nconst convertSavingState = function (rawSavingStateEvent, defaultEvent) {\n rawSavingStateEvent || (rawSavingStateEvent = '');\n let savingStateEvent = [];\n\n if (oktaUnderscore.isString(rawSavingStateEvent)) {\n savingStateEvent = rawSavingStateEvent.split(' ');\n }\n\n savingStateEvent = oktaUnderscore.union(savingStateEvent, defaultEvent);\n return savingStateEvent.join(' ');\n};\n\nconst getErrorSummary = function (responseJSON = {}) {\n if (Array.isArray(responseJSON.errorCauses) && responseJSON.errorCauses.length > 0) {\n //set errorSummary from first errorCause which is not field specific error\n return responseJSON.errorCauses[0].errorSummary;\n } else {\n //set errorSummary from top level errorSummary\n return responseJSON.errorSummary;\n }\n};\n/**\n * A Form utility framework\n *\n * Okta.Form is a form that operates on one flat model\n * It exposes one main factory method, {@link module:Okta.Form#addInput|addInput}, which add inputs to the form,\n * and each input operates on one field in the model, identified by the `name` field.\n *\n * See:\n * [Basic O-Form Tutorial](https://github.com/okta/courage/wiki/Basic-O-Form)\n *\n * @class module:Okta.Form\n * @extends module:Okta.View\n * @param {Object} options options hash (See {@link module:Okta.View|View})\n * @param {Object} options.model the model this form operates on\n * @param {Boolean} [options.label-top=false] position label on top of inputs\n * @param {Boolean} [options.wide=false] Use a wide input layout for all input\n */\n\n/**\n * Fired when the \"Save\" button is clicked\n * @event module:Okta.Form#save\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired after the model is successfully saved - applies when {@link module:Okta.Form#autoSave|autoSave}\n * is set to true\n * @event module:Okta.Form#saved\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the model fires an invalid event or an error event;\n * @event module:Okta.Form#error\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the form layout is likely to be resized\n * @event module:Okta.Form#resize\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the \"Cancel\" button is clicked\n * @event module:Okta.Form#cancel\n */\n\n\nvar BaseForm = BaseView.extend(\n/** @lends module:Okta.Form.prototype */\n{\n /**\n * Specifies how to validate form:\n * - In case \"local\" string provided as a value of the property,\n * the form will validate only fields added as inputs to the form;\n * - In case array is provided, the validation will be performed only for fields specified in array;\n * - In case function is provided, provided function will be used as a validation function,\n * it must return an error object with the format {fieldName: 'error text'} with as many fields as you need.\n * @name validate\n * @memberof module:Okta.Form\n * @type {String|Array|Function}\n * @instance\n */\n constructor: function (options) {\n /* eslint max-statements: 0, complexity: 0 */\n options || (options = {});\n this.options = options;\n\n if (options.settings) {\n this.settings = options.settings;\n } else {\n this.settings = options.settings = new SettingsModel();\n }\n\n this.id = oktaUnderscore.uniqueId('form');\n this.tagName = 'form';\n\n oktaUnderscore.defaults(this.events, events);\n\n oktaUnderscore.defaults(this.attributes, attributes(options.model));\n\n this.__buttons = [];\n this.__errorFields = {};\n\n this.__saveModelState(options.model);\n\n const step = oktaUnderscore.result(this, 'step');\n\n if (step) {\n // checking exists of `this.save` hence don't have to change to\n // `_.result(this, 'save')` which will execute the function and\n // is not the intent.\n if (!this.save) {\n const totalStep = oktaUnderscore.result(this, 'totalSteps');\n\n this.save = !totalStep || step === totalStep ? StringUtil.localize('oform.button.finish', 'courage') : StringUtil.localize('oform.button.next', 'courage');\n }\n\n this.className = oktaUnderscore.result(this, 'className') + ' wizard';\n }\n\n this.className = oktaUnderscore.result(this, 'className') + ' o-form';\n this.__toolbar = this.__createToolbar(options);\n BaseView.call(this, options);\n\n oktaUnderscore.each(oktaUnderscore.result(this, 'inputs') || [], function (input) {\n // to ingore extra argumests from `each` iteratee function\n // http://underscorejs.org/#each\n this.__addLayoutItem(input);\n }, this);\n\n this.add(this.__toolbar, ''); // NOTES: this.model shall be initialized after calling\n // super (BaseView.call(this, options)) above.\n //\n\n this.listenTo(this.model, 'change:__edit__', this.__applyMode);\n this.listenTo(this.model, 'invalid error', oktaUnderscore.throttle(function (model, resp, showBanner) {\n this.__showErrors(model, resp, showBanner !== false);\n }, 100, {\n trailing: false\n }));\n this.listenTo(this.model, 'form:resize', function () {\n this.trigger('resize');\n });\n this.listenTo(this.model, 'form:cancel', oktaUnderscore.throttle(this.__cancel, 100, {\n trailing: false\n }));\n this.listenTo(this.model, 'form:previous', oktaUnderscore.throttle(this.__previous, 100, {\n trailing: false\n }));\n this.__save = oktaUnderscore.throttle(this.__save, 200, {\n trailing: false\n });\n this.listenTo(this.model, 'form:save', function () {\n this.$el.submit();\n });\n this.listenTo(this.model, 'sync', function () {\n if (this.model.get('__edit__')) {\n this.model.set('__edit__', false, {\n silent: true\n });\n }\n\n this.__saveModelState(this.model);\n\n this.render();\n });\n let hasSavingState = this.getAttribute('hasSavingState');\n\n if (this.getAttribute('autoSave')) {\n this.listenTo(this, 'save', function (model) {\n const xhr = model.save();\n\n if (xhr && xhr.done) {\n xhr.done(() => {\n this.trigger('saved', model);\n });\n }\n });\n\n if (oktaUnderscore.isUndefined(hasSavingState)) {\n hasSavingState = true;\n }\n }\n /*\n * Attach model event listeners\n * by default, model's request event starts the form saving state,\n * error and sync event stops it\n * you can define customized saving start and stop state, like\n * customSavingState: {start: 'requestingAdditionalInfo', stop: 'retrievedAdditionalInfo'}\n * doing this does not override the default events\n */\n\n\n if (hasSavingState) {\n const customSavingState = this.getAttribute('customSavingState', {});\n this.listenTo(this.model, convertSavingState(customSavingState.start || '', ['request']), this.__setSavingState);\n this.listenTo(this.model, convertSavingState(customSavingState.stop || '', ['error', 'sync']), this.__clearSavingState);\n }\n },\n\n /**\n * Create the bottom button bar\n * @param {Object} options options h\n * @return {Okta.View} The toolbar\n * @private\n */\n __createToolbar: function (options) {\n const danger = this.getAttribute('danger');\n const saveBtnClassName = danger === true ? 'button-error' : 'button-primary';\n\n const step = oktaUnderscore.result(this, 'step');\n\n const toolbar = new Toolbar(oktaUnderscore.extend({\n save: this.save || StringUtil.localize('oform.save', 'courage'),\n saveId: this.saveId,\n saveClassName: saveBtnClassName,\n cancel: this.cancel || StringUtil.localize('oform.cancel', 'courage'),\n noCancelButton: this.noCancelButton || false,\n noSubmitButton: this.noSubmitButton || false,\n buttonOrder: this.buttonOrder,\n hasPrevStep: step && step > 1\n }, options || this.options));\n\n oktaUnderscore.each(this.__buttons, function (args) {\n toolbar.addButton.apply(toolbar, args);\n });\n\n return toolbar;\n },\n className: '',\n attributes: {},\n events: {},\n\n /**\n * An array of input configurations to render in the form\n * @type {Array}\n */\n inputs: [],\n template: null,\n\n /**\n * Does the form support read/edit toggle.\n * @type {Boolean|Function}\n * @default false\n */\n read: false,\n\n /**\n * Is the form in readOnly mode.\n * @type {Boolean|Function}\n * @default false\n */\n readOnly: false,\n\n /**\n * Should we not render the button bar\n * @type {Boolean|Function}\n * @default false\n */\n noButtonBar: false,\n\n /**\n * Should we not render a cancel button\n * @type {Boolean|Function}\n * @default false\n */\n noCancelButton: false,\n\n /**\n * Should we not render a save button\n * @type {Boolean}\n * @default false\n */\n noSubmitButton: false,\n\n /**\n * Set the order of the save, cancel and previous buttons (left to right).\n * @type {Array.}\n * @default ['previous', 'save', 'cancel']\n */\n buttonOrder: ['previous', 'save', 'cancel'],\n\n /**\n * The text on the save button\n * @type {String}\n * @default \"Save\"\n */\n save: null,\n\n /**\n * The text on the cancel button\n * @type {String}\n * @default \"Cancel\"\n */\n cancel: null,\n\n /**\n * To use button-error to style the submit button instead of button-primary.\n * @type {Boolean|Function}\n * @default false\n */\n danger: false,\n\n /**\n * A layout CSS class to add to the form\n * @type {String|Function}\n * @default \"\"\n */\n layout: '',\n\n /**\n * The step this form is in the context of a wizard\n * @type {Number}\n */\n step: undefined,\n\n /**\n * The total numbers of steps the wizard this form is a part of has\n * @type {Number}\n */\n totalSteps: undefined,\n\n /**\n * The form's title\n * @type {String|Function}\n */\n title: null,\n\n /**\n * The form's subtitle\n * @type {String|Function}\n */\n subtitle: null,\n\n /**\n * Auto-save the model when hitting save. Triggers a `saved` event when done\n * @type {Boolean}\n * @default false\n */\n autoSave: false,\n\n /**\n * Scroll to the top of the form on error\n * @type {Boolean|Function}\n * @default true\n */\n scrollOnError: true,\n\n /**\n * Show the error banner upon error\n * @type {Boolean|Function}\n * @default true\n */\n showErrors: true,\n\n /**\n * The form's scrollable area\n * @type {String}\n * @default \".o-form-content\"\n */\n resizeSelector: '.o-form-content',\n\n /**\n * Sets whether or not the form shows the saving state when\n * the model is saved. Has no effect on setSavingState and clearSavingState as those are manual calls\n * to trigger/clear the saving state.\n * @name hasSavingState\n * @memberof module:Okta.Form\n * @type {Boolean}\n * @default false\n * @instance\n */\n\n /**\n * Get an attribute value from options or instance.\n * Prefer options value over instance value\n * @param {String} name Name of the attribute\n * @param {Object} defaultValue the default value to return if the attribute is not found\n * @return {Object} The value\n */\n getAttribute: function (name, defaultValue) {\n let value = oktaUnderscore.resultCtx(this.options, name, this);\n\n if (oktaUnderscore.isUndefined(value)) {\n value = oktaUnderscore.result(this, name);\n }\n\n return !oktaUnderscore.isUndefined(value) ? value : defaultValue;\n },\n\n /**\n * Does this form have a \"read\" mode\n * @return {Boolean}\n */\n hasReadMode: function () {\n return !!this.getAttribute('read');\n },\n\n /**\n * Is this form in \"read only\" mode\n * @return {Boolean}\n */\n isReadOnly: function () {\n return !!this.getAttribute('readOnly');\n },\n\n /**\n * Does this form have a button bar\n * @return {Boolean}\n */\n hasButtonBar: function () {\n return !(this.getAttribute('noButtonBar') || this.isReadOnly());\n },\n render: function () {\n this.__readModeBar && this.__readModeBar.remove();\n\n if (this.hasReadMode() && !this.isReadOnly()) {\n const readModeBar = ReadModeBar.extend({\n formTitle: this.getAttribute('title', '')\n });\n this.__readModeBar = this.add(readModeBar, '.o-form-title-bar').last();\n }\n\n const html = template({\n layout: this.getAttribute('layout', ''),\n title: this.getAttribute('title', '', true),\n subtitle: this.getAttribute('subtitle', '', true),\n hasReadMode: this.hasReadMode()\n });\n this.$el.html(html);\n delete this.template;\n BaseView.prototype.render.apply(this, arguments);\n\n this.__applyMode();\n\n return this;\n },\n\n /**\n * Changes form UI to indicate saving. Disables all inputs and buttons. Use this function if you have set\n * hasSavingState to false on the the form\n * @private\n */\n __setSavingState: function () {\n this.model.trigger('form:set-saving-state');\n this.$el.addClass('o-form-saving');\n },\n\n /**\n * Changes form UI back to normal from the saving state. Use this function if you are have set hasSavingState\n * to false on the form\n * @private\n */\n __clearSavingState: function () {\n this.model.trigger('form:clear-saving-state');\n this.$el.removeClass('o-form-saving');\n },\n\n /**\n * Toggles the visibility of the bottom button bar\n * @private\n */\n __toggleToolbar: function () {\n this.__toolbar && this.__toolbar.remove();\n\n if (this.hasButtonBar() && this._editMode()) {\n this.__toolbar = this.__createToolbar();\n this.add(this.__toolbar, '');\n }\n\n this.trigger('resize');\n },\n\n /**\n * Cancels this form\n * - Reset the model to the previous state\n * - Clears all errors\n * - Triggers a `cancel` event\n * - Sets the model to read mode (if applicable)\n * @private\n * @fires cancel\n */\n __cancel: function () {\n const edit = this.model.get('__edit__');\n /* eslint max-statements: [2, 12] */\n\n this.model.clear({\n silent: true\n });\n let data;\n\n if (this.model.sanitizeAttributes) {\n data = this.model.sanitizeAttributes(this.__originalModel);\n } else {\n data = oktaUnderscore.clone(this.__originalModel);\n }\n\n this.model.set(data, {\n silent: true\n });\n this.trigger('cancel', this.model);\n this.model.trigger('cache:clear');\n\n if (edit) {\n this.model.set('__edit__', false, {\n silent: true\n });\n this.model.trigger('change:__edit__', this.model, false);\n }\n\n this.clearErrors();\n },\n\n /**\n * Runs {@link module:Okta.Form#validate|validate} to check the model state.\n * Triggers an \"invalid\" event on the model if validation fails\n * @returns {Boolean}\n */\n isValid: function () {\n let res;\n const self = this;\n\n function validateArray(arr) {\n return oktaUnderscore.reduce(arr, function (memo, fieldName) {\n return oktaUnderscore.extend(memo, self.model.validateField(fieldName));\n }, {});\n }\n\n if (oktaUnderscore.isUndefined(this.validate)) {\n return this.model.isValid();\n } else if (oktaUnderscore.isFunction(this.validate)) {\n res = this.validate();\n } else if (oktaUnderscore.isArray(this.validate)) {\n res = validateArray(this.validate);\n } else if (this.validate === 'local') {\n res = validateArray(this.getInputs().map(function (input) {\n return input.options.name;\n }));\n }\n\n if (!oktaUnderscore.isEmpty(res)) {\n this.model.trigger('invalid', this.model, res);\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * A throttled function that saves the form not more than once every 100 ms\n * Basically all this method does is trigger a `save` event\n * @fires save\n * @private\n */\n __save: function () {\n this.clearErrors();\n\n if (this.isValid()) {\n this.trigger('save', this.model);\n }\n },\n\n /**\n * In the context of a wizard, go to previous state\n * Technically all this method does is trigger a `previous` event\n * @param {Event} e\n * @private\n */\n __previous: function () {\n this.trigger('previous', this.model);\n },\n\n /**\n * Renders the form in the correct mode based on the model.\n * @private\n */\n __applyMode: function () {\n this.clearErrors();\n\n this.__toggleToolbar();\n\n if (this._editMode()) {\n this.$el.addClass('o-form-edit-mode');\n this.$el.removeClass('o-form-read-mode');\n this.$('.o-form-content').removeClass('rounded-btm-4');\n this.focus();\n } else {\n this.$el.removeClass('o-form-edit-mode');\n this.$el.addClass('o-form-read-mode');\n this.$('.o-form-content').addClass('rounded-btm-4');\n }\n },\n\n /**\n * Is the form in edit mode\n * @return {Boolean}\n * @private\n */\n _editMode: function () {\n return this.model.get('__edit__') || !this.hasReadMode();\n },\n\n /**\n * Function can be overridden to alter top level error summary.\n * @param {Object} responseJSON\n *\n * @example\n * // responseJSON object\n * {\n * errorCauses: [{errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"}]\n * errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"\n * errorCode: \"E0000001\"\n * errorId: \"oaepsrTCHrhT-eIi8XTm6KWWg\"\n * errorLink: \"E0000001\"\n * errorSummary: \"Api validation failed: networkZone\"\n * }\n *\n * @method\n * @default _.identity\n */\n parseErrorMessage: oktaUnderscore.identity,\n _handleErrorScroll: function () {\n if (!this.getAttribute('scrollOnError')) {\n return;\n }\n\n const $el = oktaJQueryStatic('#' + this.id + ' .o-form-error-container');\n\n if ($el.length) {\n let $scrollContext = $el.scrollParent();\n let scrollTop; // scrollParent was almost awesome...\n // but it returns document if there are no other scrollable parents\n // document does not have offset, so here we have to replace with html, body\n // Additionally when the scroll context is html, body, $el.offset().top is fixed\n // versus when it has a different scroll context it's dynamic and requires the\n // calculation below.\n\n if ($scrollContext[0] === document) {\n $scrollContext = oktaJQueryStatic('html, body');\n scrollTop = $el.offset().top;\n } else {\n scrollTop = $scrollContext.scrollTop() + $el.offset().top - $scrollContext.offset().top;\n }\n\n $scrollContext.animate({\n scrollTop: scrollTop\n }, 400);\n }\n },\n\n /**\n * Show an error message based on an XHR error\n * @param {Okta.BaseModel} model the model\n * @param {jqXHR} xhr The jQuery XmlHttpRequest Object\n * @private\n */\n __showErrors: function (model, resp, showBanner) {\n this.trigger('error', model);\n /* eslint max-statements: 0 */\n\n if (!this.getAttribute('showErrors')) {\n return;\n }\n\n let errorSummary;\n let responseJSON = ErrorParser.getResponseJSON(resp);\n const validationErrors = ErrorParser.parseFieldErrors(resp); // trigger events for field validation errors\n\n if (oktaUnderscore.size(validationErrors)) {\n oktaUnderscore.each(validationErrors, function (errors, field) {\n this.model.trigger('form:field-error', this.__errorFields[field] || field, oktaUnderscore.map(errors, function (error) {\n return /^model\\.validation/.test(error) ? StringUtil.localize(error, 'courage') : error;\n }));\n }, this);\n } else {\n responseJSON = this.parseErrorMessage(responseJSON);\n errorSummary = getErrorSummary(responseJSON);\n } // show the error message\n\n\n if (showBanner) {\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(ErrorBanner, '.o-form-error-container', {\n options: {\n errorSummary: errorSummary\n }\n });\n } // slide to and focus on the error message\n\n\n this._handleErrorScroll();\n\n this.model.trigger('form:resize');\n },\n\n /**\n * Clears the error banner\n * @private\n */\n clearErrors: function () {\n this.$('.o-form-error-container').removeClass('o-form-has-errors');\n this.model.trigger('form:clear-errors');\n this.model.trigger('form:resize');\n },\n\n /**\n * Toggles between edit and read mode\n */\n toggle: function () {\n this.model.set('__edit__', !this.hasReadMode() || !this.model.get('__edit__'));\n return this;\n },\n __addLayoutItem: function (input) {\n if (InputFactory.supports(input)) {\n this.addInput(input);\n } else {\n this.__addNonInputLayoutItem(input);\n }\n },\n __addNonInputLayoutItem: function (item) {\n const itemOptions = oktaUnderscore.omit(item, 'type');\n\n switch (item.type) {\n case 'sectionTitle':\n this.addSectionTitle(item.title, oktaUnderscore.omit(itemOptions, 'title'));\n break;\n\n case 'divider':\n this.addDivider(itemOptions);\n break;\n\n default:\n throw new Error('unknown input: ' + item.type);\n }\n },\n\n /**\n * Adds a view to the buttons tool bar\n * @param {Object} params parameterized button options\n * @param {Object} options options to send to {@link module:Okta.View#add|View.add}\n */\n addButton: function (params, options) {\n this.__toolbar && this.__toolbar.addButton(params, options);\n\n this.__buttons.push([params, options]);\n },\n\n /**\n * Adds a divider\n */\n addDivider: function (options) {\n this.add('
          ');\n FormUtil.applyShowWhen(this.last(), options && options.showWhen);\n FormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Adds section header\n * @param {String} title\n */\n addSectionTitle: function (title, options) {\n this.add(sectionTitleTemplate({\n title: title\n }));\n FormUtil.applyShowWhen(this.last(), options && options.showWhen);\n FormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Add a form input\n * @param {Object} options Options to describe the input\n * @param {String} options.type The input type.\n * The options are: `text`, `textarea`, `select`, `checkbox`, `radio`, `switch`,\n * `password`, `number`, `textselect`, `date`, `grouppicker`, `admingrouppicker`, `su-orgspicker`\n * `file/image`, `file/cert`, `checkboxset`, `list`, `group`, `zonepicker`\n * @param {String} options.name The name of the model field this input mutates\n * @param {String|Function} [options.label]\n * The input label text.\n * When passed as a function, will invoke the function (in the context of the {@link InputLabel})\n * on render time, and use the returned value.\n * @param {String} [options.sublabel] The input sub label text\n * @param {String} [options.tooltip] A popover tooltip to be displayed next to the label\n * @param {String} [options.placeholder] Placeholder text.\n * @param {String} [options.explain] Explanation text to render below the input\n * @param {Okta.View} [options.customExplain] A custom view to render below the input (deprecated)\n * @param {Boolean} [options.disabled=false] Make this input disabled\n * @param {Boolean} [options.wide=false] Use a wide input layout\n * @param {Boolean} [options.label-top=false] position label on top of an input\n * @param {Boolean} [options.explain-top=false] position explain on top of an input (requires label-top=true)\n * @param {Number} [options.multi] have multiple in-line inputs. useful when `input` is passed as an array of inputs\n * @param {String} [options.errorField] The API error field here that maps to this input\n * @param {Boolean} [options.inlineValidation=true] Validate input on focusout\n * @param {String} [options.ariaLabel] Used to add aria-label attribute to the input when label is not present.\n * @param {Boolean} [options.group=false] Grouping set of inputs using fieldset and legend. Mainly for radio\n * @param {Object} [options.options]\n * In the context of `radio` and `select`, a key/value set of options\n *\n * @param {Object} [options.params]\n * Widget specific parameters. Varies per input.\n *\n * @param {BaseInput|Object[]} [options.input]\n * - A custom input \"class\" or instance - preferably a **class**, so we can automagically assign the right\n * parameters when initializing it\n * - An array of input definition object literals (such as this one)\n *\n * @param {Object} [options.showWhen]\n * Setting to define when to show (or hide) the input. The input is visible by default.\n *\n * @param {Object} [options.bindings]\n * Bind a certain model attribute to a callback function, so the function is being called on render,\n * and any time this model field changes.\n * This is similar to `showWhen` but is not limited to toggling.\n *\n * @param {Function} [options.render]\n * A post-render hook that will run upon render on InputWrapper\n *\n * @param {String|Function} className A className to apply on the {@link InputWrapper}\n *\n * @param {Function} [options.initialize]\n * An `initialize` function to run when initializing the {@link InputWrapper}\n * Useful for state mutation on start time, and complex state logic\n *\n * @example\n * // showhen: the field will be visible when `advanced` is set to `true`\n * // and `mode` is set to `\"ON\"`.\n * showWhen: {\n * 'advanced': true,\n * 'mode': function (value) {\n * return value == 'ON'; // this is identical to this.model.get('mode') == 'ON'\n * }\n * }\n *\n * @example\n * // bindings\n * bindings: {\n * 'status mode': function (status, mode) {\n * var labelView = this.getLabel();\n * if (status == 1) {\n * labelView.options.label = 'Something';\n * }\n * else {\n * labelView.options.label = mode;\n * }\n * labelView.render();\n * }\n * }\n */\n addInput: function (_options) {\n _options = oktaUnderscore.clone(_options);\n FormUtil.validateInput(_options, this.model);\n const inputsOptions = FormUtil.generateInputOptions(_options, this, this.__createInput).reverse(); // We need a local variable here to keep track\n // as addInput can be called either directy or through the inputs array.\n\n if (oktaUnderscore.isEmpty(this.getInputs().toArray())) {\n oktaUnderscore.extend(inputsOptions[0], {\n validateOnlyIfDirty: true\n });\n }\n\n const inputs = oktaUnderscore.map(inputsOptions, this.__createInput, this);\n\n oktaUnderscore.each(inputsOptions, function (input) {\n if (input.errorField) {\n this.__errorFields[input.errorField] = input.name;\n }\n }, this);\n\n const options = {\n inputId: oktaUnderscore.last(inputs).options.inputId,\n input: inputs,\n multi: inputsOptions.length > 1 ? inputsOptions.length : undefined\n };\n\n oktaUnderscore.extend(options, oktaUnderscore.omit(this.options, 'input'), oktaUnderscore.omit(_options, 'input'));\n\n const inputWrapper = this.__createWrapper(options);\n\n if (options.label !== false) {\n inputWrapper.add(this.__createLabel(options));\n }\n\n inputWrapper.add(this._createContainer(options)); // TODO: there may be a bug here.\n // options.input will always be an array, so options.input.type will always be undefined\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n /// @ts-ignore\n\n inputWrapper.type = options.type || options.input.type || 'custom';\n const args = [inputWrapper].concat(oktaUnderscore.rest(arguments));\n return this.add.apply(this, args);\n },\n\n /**\n * @private\n */\n __createInput: function (options) {\n options = oktaUnderscore.pick(options, FormUtil.INPUT_OPTIONS);\n return InputFactory.create(options);\n },\n\n /**\n * @private\n */\n __createWrapper: function (options) {\n options = oktaUnderscore.pick(options, FormUtil.WRAPPER_OPTIONS);\n return new InputWrapper(options);\n },\n\n /**\n * @private\n */\n __createLabel: function (options) {\n options = oktaUnderscore.pick(options, FormUtil.LABEL_OPTIONS);\n return new InputLabel(options);\n },\n\n /**\n * @private\n */\n _createContainer: function (options) {\n options = oktaUnderscore.pick(options, FormUtil.CONTAINER_OPTIONS);\n return new InputContainer(options);\n },\n\n /**\n * Stores the current attributes of the model to a private property\n * @param {Okta.BaseModel} model The model\n * @private\n */\n __saveModelState: function (model) {\n this.__originalModel = oktaJQueryStatic.extend(true, {}, model.attributes);\n },\n\n /**\n * @override\n * @ignore\n */\n add: function (...args) {\n // sets a default element selector\n typeof args[1] === 'undefined' && (args[1] = '> div.o-form-content > .o-form-fieldset-container');\n return BaseView.prototype.add.apply(this, args);\n },\n\n /**\n * Set the focus on the first input in the form\n */\n focus: function () {\n const first = this.getInputs().first();\n\n if (first && first.focus) {\n first.focus();\n }\n\n return this;\n },\n\n /**\n * Disable all inputs in the form\n * @deprecated not currently in use\n */\n disable: function () {\n this.invoke('disable');\n return this;\n },\n\n /**\n * Enable all inputs in the form\n * @deprecated not currently in use\n */\n enable: function () {\n this.invoke('enable');\n },\n\n /**\n * Set the max-height for o-form-content class container within the form if a height is provided,\n * otherwise, get its computed inner height\n * @param {Number} the height in pixel to set for class o-form-content\n * @return {Number}\n */\n contentHeight: function (height) {\n const content = this.$('.o-form-content');\n\n if (oktaUnderscore.isNumber(height)) {\n content.css('max-height', height);\n } else {\n return content.height();\n }\n },\n\n /**\n * Get only the input children\n * @return {InputWrapper[]} An underscore wrapped array of {@link InputWrapper} instances\n */\n getInputs: function () {\n return oktaUnderscore(this.filter(function (view) {\n return view instanceof InputWrapper;\n }));\n }\n});\n\nexport { BaseForm as default };\n","import _Handlebars2 from '../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../util/underscore-wrapper.js';\nimport ButtonFactory from '../../util/ButtonFactory.js';\nimport StringUtil from '../../util/StringUtil.js';\nimport BaseView from '../BaseView.js';\nimport Callout from '../components/Callout.js';\nimport Keys from '../../util/Keys.js';\n\nconst props = {\n tagName: 'span',\n attributes: function () {\n return {\n 'data-se': 'o-form-input-' + this.getNameString()\n };\n },\n\n /**\n * default placeholder text when options.placeholder is not defined\n */\n defaultPlaceholder: '',\n constructor: function (options) {\n /* eslint complexity: [2, 9] */\n options = oktaUnderscore.defaults(options || {}, {\n inputId: options.id || oktaUnderscore.uniqueId('input'),\n placeholder: this.defaultPlaceholder,\n inlineValidation: true,\n validateOnlyIfDirty: false\n });\n delete options.id; // decorate the `enable` and `disable` and toggle the `o-form-disabled` class.\n // so we wont need to worry about this when overriding the methods\n\n const self = this;\n\n oktaUnderscore.each({\n enable: 'removeClass',\n disable: 'addClass'\n }, function (method, action) {\n self[action] = oktaUnderscore.wrap(self[action], function (fn) {\n fn.apply(self, arguments);\n self.$el[method]('o-form-disabled');\n });\n });\n\n BaseView.call(this, options);\n\n if (oktaUnderscore.result(options, 'readOnly') !== true && oktaUnderscore.result(options, 'read') === true) {\n this.listenTo(this.model, 'change:__edit__', this.render);\n }\n\n if (oktaUnderscore.isFunction(this.focus)) {\n this.focus = oktaUnderscore.debounce(oktaUnderscore.bind(this.focus, this), 50);\n } // Enable inline validation if this is not the first field in the form.\n\n\n if (!oktaUnderscore.result(options, 'validateOnlyIfDirty')) {\n this.addInlineValidation();\n }\n\n this.addModelListeners();\n this.$el.addClass('o-form-input-name-' + this.getNameString());\n },\n addAriaLabel: function () {\n const ariaLabel = this.options.ariaLabel;\n\n if (ariaLabel) {\n this.$(':input').attr('aria-label', ariaLabel);\n }\n },\n addInlineValidation: function () {\n if (oktaUnderscore.result(this.options, 'inlineValidation')) {\n this.$el.on('focusout', ':input', oktaUnderscore.bind(this.validate, this));\n }\n },\n toModelValue: function () {\n let value = this.val();\n\n if (oktaUnderscore.isFunction(this.to)) {\n value = this.to.call(this, value);\n }\n\n if (oktaUnderscore.isFunction(this.options.to)) {\n value = this.options.to.call(this, value);\n }\n\n return value;\n },\n __getDependencyCalloutBtn: function (btnConfig) {\n const self = this;\n\n const btnOptions = oktaUnderscore.clone(btnConfig);\n\n const originalClick = btnOptions.click || function () {}; // add onfocus listener to re-evaluate depedency when callout button is clicked\n\n\n btnOptions.click = function () {\n oktaJQueryStatic(window).one('focus.dependency', function () {\n self.__showInputDependencies();\n });\n originalClick.call(self);\n };\n\n const BaseInputCalloutBtn = BaseView.extend({\n children: [ButtonFactory.create(btnOptions)]\n });\n return new BaseInputCalloutBtn();\n },\n getCalloutParent: function () {\n return this.$('input[value=\"' + this.getModelValue() + '\"]').parent();\n },\n __getCalloutMsgContainer: function (calloutMsg) {\n return BaseView.extend({\n template: _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"msg\") || (depth0 != null ? lookupProperty(depth0, \"msg\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"msg\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 29\n },\n \"end\": {\n \"line\": 1,\n \"column\": 36\n }\n }\n }) : helper)) + \"\";\n },\n \"useData\": true\n }),\n getTemplateData: function () {\n return {\n msg: calloutMsg\n };\n }\n });\n },\n showCallout: function (calloutConfig, dependencyResolved) {\n const callout = oktaUnderscore.clone(calloutConfig);\n\n callout.className = 'dependency-callout';\n\n if (callout.btn) {\n callout.content = this.__getDependencyCalloutBtn(callout.btn);\n delete callout.btn;\n }\n\n const dependencyCallout = Callout.create(callout);\n\n if (!dependencyResolved) {\n dependencyCallout.add(this.__getCalloutMsgContainer(StringUtil.localize('dependency.callout.msg', 'courage')));\n }\n\n const calloutParent = this.getCalloutParent();\n calloutParent.append(dependencyCallout.render().el);\n\n if (callout.type === 'success') {\n oktaUnderscore.delay(function () {\n // fade out success callout\n dependencyCallout.$el.fadeOut(800);\n }, 1000);\n }\n },\n removeCallout: function () {\n this.$el.find('.dependency-callout').remove();\n },\n __evaluateCalloutObject: function (dependencyResolved, calloutTitle) {\n let defaultCallout;\n\n if (dependencyResolved) {\n defaultCallout = {\n title: StringUtil.localize('dependency.action.completed', 'courage'),\n size: 'large',\n type: 'success'\n };\n } else {\n defaultCallout = {\n title: StringUtil.localize('dependency.action.required', 'courage', [calloutTitle]),\n size: 'large',\n type: 'warning'\n };\n }\n\n return defaultCallout;\n },\n __handleDependency: function (result, callout) {\n const self = this;\n const calloutConfig = oktaUnderscore.isFunction(callout) ? callout(result) : oktaUnderscore.extend({}, callout, self.__evaluateCalloutObject(result.resolved, callout.title)); // remove existing callouts if any\n\n self.removeCallout();\n self.showCallout(calloutConfig, result.resolved);\n },\n __showInputDependencies: function () {\n const self = this;\n const fieldDependency = self.options.deps[self.getModelValue()];\n\n if (fieldDependency && oktaUnderscore.isFunction(fieldDependency.func)) {\n fieldDependency.func().done(function (data) {\n self.__handleDependency({\n resolved: true,\n data: data\n }, fieldDependency.callout);\n }).fail(function (data) {\n self.__handleDependency({\n resolved: false,\n data: data\n }, fieldDependency.callout);\n });\n } else {\n self.removeCallout();\n }\n },\n _isEdited: false,\n hasIMESupport: false,\n\n /**\n * updates the model with the input's value\n */\n update: function (e) {\n if (!this._isEdited && oktaUnderscore.result(this.options, 'validateOnlyIfDirty')) {\n this._isEdited = true;\n this.addInlineValidation();\n }\n\n this.model.set(this.options.name, this.toModelValue());\n\n if (this.options.deps) {\n // check for dependencies\n this.__showInputDependencies();\n }\n /*\n To add IME support for more components\n - Add hasIMESupport boolean flag and compositionend and compositionstart event listeners to the component\n - Supported components: TextBox.js, TextSelect.js\n - Additionally window.okta.enableIMESupport is an org level FF to toggle IME support\n */\n\n\n if (this.hasIMESupport && window?.okta?.enableIMESupport) {\n if (this.isComposing) {\n return;\n }\n\n if (e && Keys.isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * Is the input in edit mode\n * @return {Boolean}\n */\n isEditMode: function () {\n const ret = !oktaUnderscore.result(this.options, 'readOnly') && (oktaUnderscore.result(this.options, 'read') !== true || this.model.get('__edit__') === true);\n return ret;\n },\n\n /**\n * Renders the input\n * @readonly\n */\n render: function () {\n this.preRender();\n const params = this.options.params;\n this.options.params = oktaUnderscore.resultCtx(this.options, 'params', this);\n\n if (this.isEditMode()) {\n this.editMode();\n this.applyEnabledState();\n } else {\n this.readMode();\n }\n\n this.options.params = params;\n this.addAriaLabel();\n this.postRender();\n return this;\n },\n applyEnabledState: function () {\n if (oktaUnderscore.resultCtx(this.options, 'disabled', this)) {\n this.disable();\n } else {\n this.enable();\n }\n },\n\n /**\n * checks if the current value in the model is valid for this field\n */\n validate: function () {\n if (!this.model.get('__pending__') && this.isEditMode() && oktaUnderscore.isFunction(this.model.validateField)) {\n const validationError = this.model.validateField(this.options.name);\n\n if (validationError) {\n oktaUnderscore.delay(function () {\n this.model.trigger('form:clear-error:' + this.options.name);\n this.model.trigger('invalid', this.model, validationError, false);\n }.bind(this), 100);\n }\n }\n },\n\n /**\n * Add model event listeners\n */\n addModelListeners: function () {\n this.listenTo(this.model, 'form:field-error', function (name) {\n if (this.options.name === name) {\n this.__markError();\n }\n });\n this.listenTo(this.model, 'form:clear-errors change:' + this.options.name, this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + this.options.name, this.__clearError);\n },\n\n /**\n * The value of the input\n * @return {Mixed}\n */\n val: function () {\n throw new Error('val() is an abstract method');\n },\n\n /**\n * Set focus on the input\n */\n focus: function () {\n throw new Error('focus() is an abstract method');\n },\n\n /**\n * Default value in read mode\n * When model has no value for the field\n */\n defaultValue: function () {\n return '';\n },\n\n /**\n * Renders the input in edit mode\n */\n editMode: function () {\n const options = oktaUnderscore.extend({}, this.options, {\n value: this.getModelValue()\n });\n\n this.$el.html(this.template(options));\n this.options.multi && this.$el.removeClass('margin-r');\n return this;\n },\n\n /**\n * Renders the readable value of the input in read mode\n */\n readMode: function () {\n this.$el.text(this.getReadModeString());\n this.$el.removeClass('error-field');\n this.options.multi && this.$el.addClass('margin-r');\n return this;\n },\n getReadModeString: function () {\n const readModeStr = oktaUnderscore.resultCtx(this.options, 'readModeString', this);\n\n if (readModeStr) {\n return readModeStr;\n }\n\n return this.toStringValue();\n },\n\n /**\n * The model value off the field associated with the input\n * @return {Mixed}\n */\n getModelValue: function () {\n let value = this.model.get(this.options.name);\n\n if (oktaUnderscore.isFunction(this.from)) {\n value = this.from.call(this, value);\n }\n\n if (oktaUnderscore.isFunction(this.options.from)) {\n value = this.options.from.call(this, value);\n }\n\n return value;\n },\n\n /*\n * convenience method to get the textual value from the model\n * will return the textual label rather than value in case of select/radio\n * @return {String}\n */\n toStringValue: function () {\n let value = this.getModelValue();\n\n if (this.options.options) {\n // dropdown or radio\n value = this.options.options[value];\n }\n\n if (Number.isInteger(value) || typeof value === 'boolean') {\n value = String(value);\n }\n\n return value || this.defaultValue();\n },\n\n /**\n * Triggers a form:resize event in order to tell dialogs content size has changed\n */\n resize: function () {\n this.model.trigger('form:resize');\n },\n\n /**\n * Disable the input\n */\n disable: function () {\n this.$(':input').prop('disabled', true);\n },\n\n /**\n * Enable the input\n */\n enable: function () {\n this.$(':input').prop('disabled', false);\n },\n\n /**\n * Change the type of the input field. (e.g., text <--> password)\n * @param type\n */\n changeType: function (type) {\n this.$(':input').prop('type', type); // Update the options so that it keeps the uptodate state\n\n this.options.type = type;\n },\n getNameString: function () {\n if (oktaUnderscore.isArray(this.options.name)) {\n return this.options.name.join('-');\n }\n\n return this.options.name;\n },\n\n /**\n * Get parameters, computing _.result\n * @param {[type]} options alternative options\n * @return {Object} the params\n */\n getParams: function (options) {\n const opts = options || this.options || {};\n return oktaUnderscore.clone(oktaUnderscore.resultCtx(opts, 'params', this) || {});\n },\n\n /**\n * get a parameter from options.params, compute _.result when needed.\n * @param {String} key\n * @param {Object} defaultValue\n * @return {Object} the params\n */\n getParam: function (key, defaultValue) {\n const result = oktaUnderscore.resultCtx(this.getParams(), key, this);\n\n return !oktaUnderscore.isUndefined(result) ? result : defaultValue;\n },\n\n /**\n * Get a parameter from options.params or if empty, object attribute.\n *\n * @param {String} key\n * @return {Object} the param or attribute\n */\n getParamOrAttribute: function (key) {\n return this.getParam(key) || oktaUnderscore.result(this, key);\n },\n __markError: function () {\n this.$el.addClass('o-form-has-errors');\n },\n __clearError: function () {\n this.$el.removeClass('o-form-has-errors');\n }\n};\n/**\n * @class BaseInput\n * @private\n * An abstract object that defines an input for {@link Okta.Form}\n *\n * BaseInputs are typically not created directly, but being passed to {@link Okta.Form#addInput}\n * @extends Okta.View\n */\n\nvar BaseInput = BaseView.extend(props);\n\nexport { BaseInput as default };\n","import BaseView from '../../BaseView.js';\nimport FormUtil from '../helpers/FormUtil.js';\n\nvar ReadModeBar = BaseView.extend({\n el: '',\n formTitle: '',\n modelEvents: {\n 'change:__edit__': 'toggle'\n },\n initialize: function () {\n this.addButton();\n },\n addButton: function () {\n if (this.model.get('__edit__')) {\n this.add(FormUtil.createReadFormButton({\n type: 'cancel'\n }));\n } else {\n this.add(FormUtil.createReadFormButton({\n type: 'edit',\n formTitle: this.formTitle,\n className: 'disable-in-read-only'\n }));\n }\n },\n toggle: function () {\n this.removeChildren();\n this.addButton();\n }\n});\n\nexport { ReadModeBar as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport BaseView from '../../BaseView.js';\nimport FormUtil from '../helpers/FormUtil.js';\n\nconst proto = {\n className: function () {\n return 'o-form-button-bar';\n },\n buttonOrder: ['previous', 'save', 'cancel'],\n initialize: function (options) {\n const buttonConfigs = {\n previous: {\n type: 'previous'\n },\n save: {\n type: 'save',\n text: oktaUnderscore.resultCtx(options, 'save', this),\n id: oktaUnderscore.resultCtx(options, 'saveId', this),\n className: oktaUnderscore.resultCtx(options, 'saveClassName', this)\n },\n cancel: {\n type: 'cancel',\n text: oktaUnderscore.resultCtx(options, 'cancel', this)\n }\n };\n\n this.__getButtonOrder(options).forEach(buttonName => {\n this.addButton(buttonConfigs[buttonName]);\n });\n },\n\n /**\n * Adds a buttomn to the toolbar\n * @param {Object} params button parameters\n * @param {Object} options {@link Okta.View#add} options\n */\n addButton: function (params, options) {\n return this.add(FormUtil.createButton(params), options);\n },\n __getButtonOrder: function (options) {\n const buttonOrder = oktaUnderscore.resultCtx(options, 'buttonOrder', this, this.buttonOrder);\n\n const buttonsToSkip = [];\n\n if (options.noSubmitButton) {\n buttonsToSkip.push('save');\n }\n\n if (options.noCancelButton) {\n buttonsToSkip.push('cancel');\n }\n\n if (!options.hasPrevStep) {\n buttonsToSkip.push('previous');\n }\n\n return oktaUnderscore.without(buttonOrder, ...buttonsToSkip);\n }\n};\nvar Toolbar = BaseView.extend(proto);\n\nexport { Toolbar as default };\n","import oktaJQueryStatic from '../../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport SchemaUtils from '../../../util/SchemaUtil.js';\nimport StringUtil from '../../../util/StringUtil.js';\n\n/* eslint max-statements: 0 */\nconst NAME = 'name';\nconst ENUM_KEY_PREFIX = '_enum_';\n/**\n * Generate Input Options in order to create an input in an Form for Enum type attribute.\n * @param {Object} config informations for creating input options\n * config.name schema property name\n * config.title schema property title\n * config.readOnly create an read only input?\n * config.explain sub-title to the input\n * config.enumValues list of enum values for creating input options (Dropdown/SimpleCheckBoxSet)\n * config.displayType display type of schema property\n *\n * @return {Object} inputOptions options for create an Input view. (Dropdown/SimpleCheckBoxSet)\n *\n */\n\nfunction getEnumInputOptions(config) {\n const enumOneOf = convertToOneOf(config.enumValues);\n const inputOptions = {\n name: config.name,\n label: config.title,\n readOnly: config.readOnly,\n customExplain: config.explain,\n params: {\n enumOneOf: enumOneOf\n },\n options: getDropdownOptionsFromOneOf(enumOneOf)\n }; // input type\n\n if (SchemaUtils.isArrayDataType(config.displayType)) {\n inputOptions.type = 'checkboxset';\n inputOptions.to = valuesToEnumObjects;\n inputOptions.from = enumObjectsToValues;\n } else {\n inputOptions.type = 'select';\n inputOptions.to = valueToEnumObject;\n inputOptions.from = enumObjectToValue;\n }\n\n inputOptions.input = null;\n return inputOptions;\n}\n\nfunction getDropdownOptions(values) {\n return oktaUnderscore.isArray(values) ? getDropdownOptionsFromOneOf(convertToOneOf(values)) : {};\n}\n\nfunction getDropdownOptionsFromOneOf(values) {\n if (!isOneOfEnumObject(values)) {\n return {};\n }\n\n return oktaUnderscore.reduce(values, function (options, value, index) {\n options[convertIndexToEnumIndex(index)] = value.title;\n return options;\n }, {});\n}\n\nfunction convertToOneOf(values) {\n // assume this is a legacy enum array and convert to oneOf object\n if (!oktaUnderscore.all(values, oktaJQueryStatic.isPlainObject)) {\n return convertEnumToOneOf(values); // we assume object without const and title is an enum object which need special conversion\n } else if (!isOneOfEnumObject(values)) {\n return convertEnumObjectToOneOf(values);\n }\n\n return values;\n}\n\nfunction isOneOfEnumObject(values) {\n return oktaUnderscore.isArray(values) && oktaUnderscore.all(values, function (value) {\n return oktaUnderscore.has(value, 'const') && oktaUnderscore.has(value, 'title');\n });\n}\n\nfunction convertEnumToOneOf(values) {\n return oktaUnderscore.map(values, function (value) {\n return {\n const: value,\n title: valueToTitle(value)\n };\n });\n}\n\nfunction valueToTitle(value) {\n if (oktaUnderscore.isObject(value)) {\n return JSON.stringify(value);\n }\n\n if (oktaUnderscore.isNumber(value)) {\n return value + '';\n }\n\n return value;\n}\n\nfunction convertEnumObjectToOneOf(values) {\n const findKey = oktaUnderscore.partial(oktaUnderscore.has, oktaUnderscore, NAME); // If all object found the key NAME, use the NAME's value as display name\n\n\n if (oktaUnderscore.all(values, findKey)) {\n return oktaUnderscore.chain(values).filter(function (value) {\n return oktaJQueryStatic.isPlainObject(value) && oktaUnderscore.has(value, NAME);\n }).map(function (value) {\n return {\n const: value,\n title: value[NAME]\n };\n }).value();\n } // Assume a legacy object array does not need special handling and just convert to const/title enum\n\n\n return convertEnumToOneOf(values);\n}\n\nfunction convertIndexToEnumIndex(index) {\n return `${ENUM_KEY_PREFIX}${index}`;\n}\n\nfunction enumObjectToValue(obj) {\n const index = oktaUnderscore.findIndex(this.options.params.enumOneOf, function (oneOfObj) {\n return oktaUnderscore.isObject(obj) ? oktaUnderscore.isEqual(oneOfObj.const, obj) : oneOfObj.const === obj;\n }); // Cannot rely on comparator in findIndex when compare objects so need special handling\n\n\n return index > -1 ? convertIndexToEnumIndex(index) : obj;\n}\n\nfunction valueToEnumObject(val) {\n if (!oktaUnderscore.isString(val) || val.indexOf(ENUM_KEY_PREFIX) !== 0) {\n return val;\n }\n\n const index = val.replace(ENUM_KEY_PREFIX, '');\n const enumValue = this.options.params && oktaUnderscore.isArray(this.options.params.enumOneOf) ? this.options.params.enumOneOf[index] : null; // @see `getEnumInputOptions` how enumValues has been set.\n\n return oktaUnderscore.has(enumValue, 'const') ? enumValue.const : enumValue;\n}\n\nfunction valuesToEnumObjects(values) {\n return oktaUnderscore.map(values, valueToEnumObject.bind(this));\n}\n\nfunction enumObjectsToValues(values) {\n return oktaUnderscore.map(values, enumObjectToValue.bind(this));\n}\n\nfunction isStringConstraint(value) {\n return oktaUnderscore.isString(value);\n}\n\nfunction isNumberConstraint(value) {\n return oktaUnderscore.isNumber(value) || oktaUnderscore.isNumber(StringUtil.parseFloat(oktaJQueryStatic.trim(value)));\n}\n\nfunction isIntegerConstraint(value) {\n const integer = oktaUnderscore.isNumber(value) ? value : StringUtil.parseInt(oktaJQueryStatic.trim(value));\n return typeof integer === 'number' && isFinite(integer) && Math.floor(integer) === integer;\n}\n\nfunction isObjectConstraint(value) {\n if (oktaUnderscore.isObject(value) && !oktaUnderscore.isArray(value)) {\n return true;\n }\n\n const object = StringUtil.parseObject(oktaJQueryStatic.trim(value));\n return oktaUnderscore.isObject(object) && !oktaUnderscore.isArray(object);\n}\n\nfunction isConstraintValueMatchType(value, type) {\n switch (type) {\n case SchemaUtils.STRING:\n return isStringConstraint(value);\n\n case SchemaUtils.NUMBER:\n return isNumberConstraint(value);\n\n case SchemaUtils.INTEGER:\n return isIntegerConstraint(value);\n\n case SchemaUtils.OBJECT:\n return isObjectConstraint(value);\n }\n}\n\nvar EnumTypeHelper = {\n getEnumInputOptions: getEnumInputOptions,\n getDropdownOptions: getDropdownOptions,\n convertToOneOf: convertToOneOf,\n isConstraintValueMatchType: isConstraintValueMatchType\n};\n\nexport { EnumTypeHelper as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport BaseView from '../../BaseView.js';\n\nvar ErrorBanner = BaseView.extend({\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"errorSummary\") || (depth0 != null ? lookupProperty(depth0, \"errorSummary\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"errorSummary\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 130\n },\n \"end\": {\n \"line\": 1,\n \"column\": 146\n }\n }\n }) : helper)) + \"

          \";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((lookupProperty(helpers, \"i18n\") || depth0 && lookupProperty(depth0, \"i18n\") || container.hooks.helperMissing).call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"i18n\",\n \"hash\": {\n \"bundle\": \"courage\",\n \"code\": \"oform.errorbanner.title\"\n },\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 161\n },\n \"end\": {\n \"line\": 1,\n \"column\": 217\n }\n }\n })) + \"

          \";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"
          \" + ((stack1 = lookupProperty(helpers, \"if\").call(depth0 != null ? depth0 : container.nullContext || {}, depth0 != null ? lookupProperty(depth0, \"errorSummary\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.program(3, data, 0),\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 107\n },\n \"end\": {\n \"line\": 1,\n \"column\": 228\n }\n }\n })) != null ? stack1 : \"\") + \"
          \";\n },\n \"useData\": true\n }),\n modelEvents: {\n 'form:clear-errors': 'remove'\n }\n});\n\nexport { ErrorBanner as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport StringUtil from '../../../util/StringUtil.js';\n\nconst FIELD_REGEX = /^([\\S]+): (.+)$/;\nvar ErrorParser = {\n /**\n * Helper function that returns the json output of an xhr objext\n * @param {jqXhr} xhr\n * @return {Object}\n */\n getResponseJSON: function (xhr) {\n try {\n return xhr.responseJSON || JSON.parse(xhr.responseText);\n } catch (e) {// ignore error\n }\n },\n\n /**\n * Parses an error summary to extract a field name and an error message\n * @param {String} errorSummary The raw error summary\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorSummary: function (errorSummary) {\n const matches = errorSummary.match(FIELD_REGEX); // error format is: `fieldName: The field cannot be left blank`\n\n if (matches) {\n return [matches[1], matches[2]];\n }\n },\n\n /**\n * Parses an error cause object to extract a field name from property attribute\n * and an error message form errorSummary attribute. It looks to see if there is\n * a custom override/translation for the erorrCause.reason before using the errorSummary\n * @param {Object} errorCause object\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorCauseObject: function (errorCause) {\n if (errorCause.property && errorCause.errorSummary) {\n // avoid triggering sentry log for error event with no cause reason\n const localizedMsg = errorCause.reason ? StringUtil.localize(errorCause.reason) : undefined;\n const apiMsg = errorCause.errorSummary;\n const field = errorCause.property;\n const errorMessage = localizedMsg?.indexOf('L10N_ERROR[') === -1 ? localizedMsg : apiMsg;\n return [field, errorMessage];\n }\n },\n parseErrors: function (resp) {\n const responseJSON = this.getResponseJSON(resp);\n return oktaUnderscore.map(responseJSON && responseJSON.errorCauses || [], function (errorCause) {\n return ('' + errorCause.errorSummary).replace(FIELD_REGEX, '$2');\n });\n },\n\n /**\n * Parses the response for errors\n * Returns a map of field names > array or error messages\n * Example:\n * ```javascript\n * {\n * url: ['The field cannot be left blank', 'The field has to be a valid URI'],\n * name: ['The field cannot be left blank']\n * }\n * ```\n * @param {Object} resp\n * @return {Object}\n */\n parseFieldErrors: function (resp) {\n const responseJSON = this.getResponseJSON(resp);\n const errors = {}; // xhr error object\n\n if (responseJSON) {\n /* eslint complexity: [2, 9] */\n oktaUnderscore.each(responseJSON.errorCauses || [], function (cause) {\n let res = [];\n\n if (cause.property && cause.errorSummary) {\n res = this.parseErrorCauseObject(cause);\n } else if (cause.location && cause.errorSummary) {\n // To handle new api error format for field level errors.\n // Ignoring the reason attribute as the translation happens in the API layer and not in the client any more.\n res = [cause.location, cause.errorSummary];\n } else {\n res = this.parseErrorSummary(cause && cause.errorSummary || '');\n }\n\n if (res) {\n const fieldName = res[0];\n const message = res[1];\n errors[fieldName] || (errors[fieldName] = []);\n errors[fieldName].push(message);\n }\n }, this);\n } // validation key/value object\n else if (oktaUnderscore.isObject(resp) && oktaUnderscore.size(resp)) {\n oktaUnderscore.each(resp, function (msg, field) {\n errors[field] = [msg];\n });\n }\n\n return oktaUnderscore.size(errors) ? errors : undefined;\n }\n};\n\nexport { ErrorParser as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport Keys from '../../../util/Keys.js';\nimport Logger from '../../../util/Logger.js';\nimport StringUtil from '../../../util/StringUtil.js';\nimport ViewUtil from '../../../util/ViewUtil.js';\nimport BaseView from '../../BaseView.js';\n\n/* eslint max-params: [2, 6] */\nconst LABEL_OPTIONS = ['model', 'id', 'inputId', 'type', 'label', 'sublabel', 'tooltip', 'name', 'group'];\nconst CONTAINER_OPTIONS = ['wide', 'multi', 'input', 'label-top', 'explain', 'explain-top', 'customExplain', 'model', 'name', 'type', 'autoRender', 'multirowError'];\nconst WRAPPER_OPTIONS = ['model', 'name', 'label-top', 'readOnly', 'events', 'initialize', 'showWhen', 'bindings', 'render', 'className', 'data-se', 'toggleWhen', 'group'];\nconst INPUT_OPTIONS = ['model', 'name', 'inputId', 'type', // base options\n'input', // custom input\n'placeholder', 'label', // labels\n'readOnly', 'read', 'disabled', 'readModeString', // modes\n'options', // select/radio\n'deps', // used to specify inputs that have dependencies and show a callout to user on select\n'from', 'to', // model transformers,\n'autoRender', // model attributes change event to trigger rerendering of the input\n'inlineValidation', // control inline validating against the model on focus lost\n'validateOnlyIfDirty', // check if field has been interacted with and then validate\n'ariaLabel', // 508 compliance for inputs that do not have label associated with them\n'params', 'autoComplete', // autocomplete attribute\n'sortByKey'];\nconst OTHER_OPTIONS = ['errorField' // widgets params - for input specific widgets\n];\n\nconst ALL_OPTIONS = oktaUnderscore.uniq(oktaUnderscore.union(LABEL_OPTIONS, CONTAINER_OPTIONS, WRAPPER_OPTIONS, INPUT_OPTIONS, OTHER_OPTIONS));\n\nconst SAVE_BUTTON_PHASES = ['• ', '• • ', '• • • ', '• • • •', ' • • •', ' • •', ' •', ' ', ' ', ' '];\n\nfunction decorateDoWhen(doWhen) {\n if (doWhen && !doWhen['__edit__']) {\n return oktaUnderscore.extend({\n __edit__: oktaUnderscore.constant(true)\n }, doWhen);\n }\n}\n\nfunction createButton(options) {\n options = oktaUnderscore.pick(options || {}, 'action', 'id', 'className', 'text', 'type');\n let timeoutId;\n let intervalId;\n let phaseCount;\n return BaseView.extend({\n tagName: 'input',\n className: 'button',\n events: {\n click: function () {\n if (options.action && !this.disabled()) {\n options.action.call(this);\n }\n },\n keyup: function (e) {\n if (Keys.isEnter(e) && options.action && !this.disabled()) {\n options.action.call(this);\n }\n }\n },\n disabled: function () {\n return this.$el.prop('disabled') === true;\n },\n disable: function () {\n this.$el.prop('disabled', true);\n this.$el.addClass('btn-disabled');\n },\n enable: function () {\n this.$el.prop('disabled', false);\n this.$el.removeClass('btn-disabled');\n },\n initialize: function () {\n const self = this;\n this.$el.attr('type', options.type === 'save' ? 'submit' : 'button');\n this.$el.val(options.text);\n\n if (options.id) {\n this.$el.attr('id', options.id);\n }\n\n if (options.className) {\n this.$el.addClass(options.className);\n }\n\n if (options.type) {\n this.$el.attr('data-type', options.type);\n }\n\n this.$el.mousedown(function () {\n self.model.set('__pending__', true);\n });\n this.$el.mouseup(function () {\n self.model.set('__pending__', false);\n });\n this.listenTo(this.model, 'form:set-saving-state', function () {\n this.disable();\n\n if (options.type === 'save') {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(oktaUnderscore.bind(this.__changeSaveText, this), 1000);\n }\n });\n this.listenTo(this.model, 'form:clear-saving-state', function () {\n this.enable();\n\n if (options.type === 'save') {\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n this.$el.val(options.text);\n }\n });\n },\n __changeSaveText: function () {\n phaseCount = 0;\n clearInterval(intervalId);\n intervalId = setInterval(oktaUnderscore.bind(this.__showLoadingText, this), 200);\n },\n __showLoadingText: function () {\n this.$el.val(SAVE_BUTTON_PHASES[phaseCount++ % SAVE_BUTTON_PHASES.length]);\n }\n });\n}\n\nfunction validateInput(options, model) {\n /* eslint max-statements: 0, complexity: 0 */\n options || (options = {});\n\n if (options.type === 'label') {\n if (!options.label) {\n Logger.warn('A label input must have a \"label\" parameter', options);\n }\n\n return;\n }\n\n if (options.type === 'button') {\n if (!options.title && !options.icon) {\n Logger.warn('A button input must have a \"title\" and/or an \"icon\" parameter', options);\n }\n\n if (!options.click && !options.href) {\n Logger.warn('A button input must have a \"click\" and/or an \"href\" parameter', options);\n }\n\n return;\n }\n\n if (!options.name && !options.input) {\n Logger.warn('Missing \"name\" or \"input\" parameters', options);\n }\n\n if (oktaUnderscore.isArray(options.name) && oktaUnderscore.isArray(options.input)) {\n throw new Error('Not allowed to have both \"name\" and \"input\" defined as array.');\n }\n\n if (options.type !== 'list' && options.name && model && model.allows) {\n let names = [];\n\n if (oktaUnderscore.isArray(options.name)) {\n names = options.name;\n } else {\n names.push(options.name);\n }\n\n oktaUnderscore.each(names, function (name) {\n if (!model.allows(name)) {\n throw new Error('field not allowed: ' + options.name);\n }\n });\n }\n\n if (oktaUnderscore.isArray(options.input) && options.type !== 'list') {\n oktaUnderscore.each(options.input, function (input) {\n validateInput(input, model);\n });\n }\n\n const keys = oktaUnderscore.keys(options);\n\n const intersection = oktaUnderscore.intersection(keys, ALL_OPTIONS);\n\n if (oktaUnderscore.size(intersection) !== oktaUnderscore.size(options)) {\n const fields = oktaUnderscore.clone(ALL_OPTIONS);\n\n Logger.warn('Invalid input parameters', oktaUnderscore.without(keys, ...fields), options);\n }\n}\n\nfunction generateInputOptions(options, form, createFn) {\n options = oktaUnderscore.clone(options);\n\n if (oktaUnderscore.contains(['list', 'group'], options.type)) {\n options.params = oktaUnderscore.defaults({\n create: createFn,\n inputs: oktaUnderscore.map(oktaUnderscore.isArray(options.input) ? options.input : [options.input], function (input) {\n return oktaUnderscore.first(generateInputOptions(input, form, createFn));\n })\n }, options.params || {});\n delete options.input;\n }\n\n const inputs = oktaUnderscore.isArray(options.input) ? oktaUnderscore.clone(options.input) : [options];\n return oktaUnderscore.map(inputs, function (input) {\n const target = oktaUnderscore.defaults({\n model: form.model\n }, input, oktaUnderscore.omit(options, 'input', 'inputs'), form.options, {\n id: oktaUnderscore.uniqueId('input'),\n readOnly: form.isReadOnly(),\n read: form.hasReadMode()\n });\n\n if (form.isReadOnly()) {\n target.read = target.readOnly = true;\n }\n\n return target;\n });\n}\n\nvar FormUtil = {\n LABEL_OPTIONS: LABEL_OPTIONS,\n CONTAINER_OPTIONS: CONTAINER_OPTIONS,\n WRAPPER_OPTIONS: WRAPPER_OPTIONS,\n INPUT_OPTIONS: INPUT_OPTIONS,\n generateInputOptions: generateInputOptions,\n changeEventString: function (fieldNames) {\n return 'change:' + fieldNames.join(' change:');\n },\n createReadFormButton: function (options) {\n let action;\n let text;\n let ariaLabel;\n\n if (options.type === 'cancel') {\n text = ariaLabel = StringUtil.localize('oform.cancel', 'courage');\n\n action = function () {\n this.model.trigger('form:cancel');\n };\n } else {\n text = StringUtil.localize('oform.edit', 'courage');\n ariaLabel = text + ' ' + options.formTitle;\n\n action = function () {\n this.model.set('__edit__', true);\n };\n }\n\n return BaseView.extend({\n tagName: 'a',\n className: options.className,\n attributes: {\n href: '#',\n 'aria-label': ariaLabel\n },\n // TODO: refactor to enforce precompiled templates OKTA-309852\n // eslint-disable-next-line @okta/okta-ui/no-bare-templates\n template: function () {\n return oktaUnderscore.escape(text);\n },\n events: {\n click: function (e) {\n e.preventDefault();\n action.call(this);\n }\n }\n });\n },\n createButton: function (options) {\n options = oktaUnderscore.clone(options);\n\n switch (options.type) {\n case 'save':\n oktaUnderscore.defaults(options, {\n className: 'button-primary'\n });\n\n break;\n\n case 'cancel':\n oktaUnderscore.defaults(options, {\n className: 'button-clear',\n text: StringUtil.localize('oform.cancel', 'courage'),\n action: function () {\n this.model.trigger('form:cancel');\n }\n });\n\n break;\n\n case 'previous':\n oktaUnderscore.defaults(options, {\n text: StringUtil.localize('oform.previous', 'courage'),\n action: function () {\n this.model.trigger('form:previous');\n }\n });\n\n break;\n }\n\n return createButton(options);\n },\n validateInput: validateInput,\n\n /**\n * Applies a show-when logic on a view instance.\n * The show-when is a map of a model field name -> a boolean or a function that returns a boolean.\n * The view will toggle based on the field value.\n *\n * @param {Okta.View} view a view instance that has a this.model attached to it\n * @param {Object} showWhen\n */\n applyShowWhen: function (view, showWhen) {\n const toggleAndResize = function (bool) {\n return function () {\n // The `toggle` is here since an event may be triggered before the el is in the DOM\n // and in that case slide events may not function as expected.\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n };\n };\n\n ViewUtil.applyDoWhen(view, decorateDoWhen(showWhen), function (bool, options) {\n if (!options.animate) {\n view.$el.toggle(bool);\n } else {\n view.$el['slide' + (bool ? 'Down' : 'Up')](200, toggleAndResize(bool));\n }\n });\n },\n applyToggleWhen: function (view, toggleWhen) {\n ViewUtil.applyDoWhen(view, decorateDoWhen(toggleWhen), function (bool, options) {\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n\n if (options.animate) {\n view.render();\n }\n });\n }\n};\n\nexport { FormUtil as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport Logger from '../../../util/Logger.js';\nimport Util from '../../../util/Util.js';\nimport StringUtil from '../../../util/StringUtil.js';\nimport BaseView from '../../BaseView.js';\n\nconst isABaseView = Util.isABaseView;\n/**\n * @class InputContainer\n * @private\n *\n * TODO: OKTA-80796\n * Attention: Please change with caution since this is used in other places\n */\n\nvar InputContainer = BaseView.extend({\n attributes: function () {\n return {\n 'data-se': 'o-form-input-container'\n };\n },\n className: function () {\n let className = 'o-form-input';\n\n if (this.options.wide) {\n className += ' o-form-wide';\n }\n\n if (oktaUnderscore.contains([1, 2, 3, 4], this.options.multi)) {\n className += ' o-form-multi-input-' + this.options.multi;\n\n if (oktaUnderscore.isArray(this.options.input)) {\n const inputGroup = oktaUnderscore.find(this.options.input, function (input) {\n return oktaUnderscore.contains(['text+select', 'select+text'], input.options.type);\n });\n\n inputGroup && (className += ' o-form-multi-input-group-' + this.options.multi);\n }\n }\n\n return className;\n },\n _getNames: function () {\n const names = oktaUnderscore.isArray(this.options.name) ? this.options.name : [this.options.name];\n /*eslint complexity: 0 */\n\n if (this.options.type === 'group') {\n names.push.apply(names, oktaUnderscore.pluck(this.options.input[0].options.params.inputs, 'name'));\n } else if (oktaUnderscore.isArray(this.options.name)) {\n if (this.options.input && this.options.input.options && this.options.input.options.name) {\n names.push(this.options.input.options.name);\n }\n } else if (this.options.input) {\n if (oktaUnderscore.isArray(this.options.input)) {\n oktaUnderscore.each(this.options.input, function (inputItem) {\n names.push(inputItem.options.name);\n });\n } else {\n names.push(this.options.input.options.name);\n }\n }\n\n return oktaUnderscore.uniq(oktaUnderscore.compact(names));\n },\n _getInputElement: function () {\n // NOTE: this.options.input is sometimes not an array under test\n const lastInput = Array.isArray(this.options.input) ? oktaUnderscore.last(this.options.input) : this.options.input; // FIXME: replace with _.get\n\n const id = lastInput && lastInput.options && lastInput.options.inputId;\n const el = id ? this.$('#' + id) : null;\n return el && el.length ? el : null;\n },\n constructor: function () {\n /* eslint max-statements: [2, 18] */\n BaseView.apply(this, arguments);\n const explainTop = this.options['explain-top'] && this.options['label-top'];\n\n if (this.options.input) {\n if (oktaUnderscore.isArray(this.options.input)) {\n oktaUnderscore.each(this.options.input, function (inputItem) {\n this.add(inputItem, {\n prepend: !explainTop\n });\n }, this);\n } else {\n this.add(this.options.input, {\n prepend: !explainTop\n });\n }\n }\n\n this.__setExplain(this.options);\n\n const names = this._getNames();\n\n this.listenTo(this.model, 'form:field-error', function (name, errors) {\n if (oktaUnderscore.contains(names, name)) {\n this.__setError(errors, explainTop);\n }\n });\n this.listenTo(this.model, 'form:clear-errors change:' + names.join(' change:'), this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + names.join(' form:clear-error:'), this.__clearError);\n\n if (oktaUnderscore.resultCtx(this.options, 'autoRender', this)) {\n this.listenTo(this.model, 'change:' + this.options.name, this.render);\n }\n\n this.__errorState = false;\n },\n\n /**\n * Populates the explain on the input container (if it exists). There are\n * two ways to use this:\n * 1. Raw text - wraps in the correct html template\n * 2. Custom html\n * - pass in a View class (preferred)\n * - pass in an instance of a View\n * Some additional notes:\n * - You can pass a function that returns any of the above\n * - This maintains support for the deprecated \"customExplain\" property\n * that was used before. This pattern is superseded by explain, so use\n * that instead.\n * @private\n */\n __setExplain: function (options) {\n let explain; // Deprecated - if you need custom html, use explain instead\n\n if (options.customExplain) {\n Logger.warn('Deprecated - use explain instead of customExplain');\n this.add(this.options.customExplain);\n return;\n }\n\n explain = options.explain;\n\n if (oktaUnderscore.isFunction(explain) && !isABaseView(explain)) {\n explain = oktaUnderscore.resultCtx(this.options, 'explain', this);\n }\n\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.template = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n return \"

          \";\n },\n \"useData\": true\n });\n this.add(explain, ' > .o-form-explain');\n } else {\n this.template = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"explain\") || (depth0 != null ? lookupProperty(depth0, \"explain\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"explain\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 26\n },\n \"end\": {\n \"line\": 1,\n \"column\": 37\n }\n }\n }) : helper)) + \"

          \";\n },\n \"useData\": true\n });\n }\n },\n\n /**\n * Highlight the input as invalid (validation failed)\n * Adds an explaination message of the error\n * @private\n */\n __setError: function (errors, explainTop) {\n this.__errorState = true;\n this.$el.addClass('o-form-has-errors');\n\n const errorId = oktaUnderscore.uniqueId('input-container-error');\n\n const html = this.__getHTMLForError(oktaUnderscore.flatten(errors), errorId);\n\n const $elExplain = this.$('.o-form-explain').not('.o-form-input-error').first();\n\n if ($elExplain.length && !explainTop) {\n $elExplain.before(html);\n } else {\n this.$el.append(html);\n }\n\n const target = this._getInputElement() || this.$el;\n target.attr('aria-describedby', errorId);\n target.attr('aria-invalid', true);\n },\n __getHTMLForError: function (errors, errorId) {\n const tmpl = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + alias4((helper = (helper = lookupProperty(helpers, \"text\") || (depth0 != null ? lookupProperty(depth0, \"text\") : depth0)) != null ? helper : alias2, typeof helper === alias3 ? helper.call(alias1, {\n \"name\": \"text\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 184\n },\n \"end\": {\n \"line\": 1,\n \"column\": 192\n }\n }\n }) : helper)) + \"

          \";\n },\n \"useData\": true\n });\n\n const iconLabel = StringUtil.localize('oform.error.icon.ariaLabel', 'courage'); // 'Error'\n\n if (this.options.multirowError) {\n let html = '';\n errors.forEach(error => {\n html = html + tmpl({\n errorId: errorId,\n iconLabel: iconLabel,\n text: error\n });\n });\n return html;\n }\n\n return tmpl({\n errorId: errorId,\n iconLabel: iconLabel,\n text: errors.join(', ')\n });\n },\n\n /**\n * Un-highlight the input and remove explaination text\n * @private\n */\n __clearError: function () {\n if (this.__errorState) {\n this.$('.o-form-input-error').remove();\n const target = this._getInputElement() || this.$el;\n target.attr('aria-describedby', null);\n target.attr('aria-invalid', null);\n this.$el.removeClass('o-form-has-errors');\n this.__errorState = false;\n\n oktaUnderscore.defer(() => {\n this.model.trigger('form:resize');\n });\n }\n },\n focus: function () {\n this.each(function (view) {\n if (view.focus) {\n return view.focus();\n }\n });\n return this;\n }\n});\n\nexport { InputContainer as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport InputRegistry from './InputRegistry.js';\n\n/* eslint complexity: 0, max-statements: 0 */\n\nfunction createInput(Input, options) {\n if (InputRegistry.isBaseInput(Input)) {\n return Input.prototype ? new Input(oktaUnderscore.omit(options, 'input')) : Input;\n } else {\n return Input;\n }\n}\n\nfunction create(options) {\n options = oktaUnderscore.clone(options);\n\n if (options.input) {\n return createInput(options.input, options);\n }\n\n const Input = InputRegistry.get(options);\n\n if (!Input) {\n throw new Error('unknown input: ' + options.type);\n }\n\n return createInput(Input, options);\n}\n\nfunction supports(options) {\n return !!options.input || !!InputRegistry.get(options);\n}\n\nvar InputFactory = {\n create: create,\n supports: supports\n};\n\nexport { InputFactory as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport '@okta/qtip';\nimport BaseView from '../../BaseView.js';\n\n/**\n * @class InputLabel\n * @extends {Okta.View}\n * @private\n * The input's label.\n */\nvar InputLabel = BaseView.extend({\n className: 'okta-form-label o-form-label',\n attributes: {\n 'data-se': 'o-form-label'\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {String} [options.type] Input type\n * @param {String|Function} [options.label] Label text\n * @param {String|Function} [options.sublabel] Sub label text\n * @param {String|Function} [options.tooltip] Tooltip text\n * @param {String|Function} [options.inputId] Id of the inputs\n * @param {String|Function} [options.id] Id of the inputs\n */\n constructor: function (options) {\n /* eslint max-statements: [2, 16] complexity: [2, 7]*/\n oktaUnderscore.defaults(options, {\n inputId: options.id\n });\n\n delete options.id;\n BaseView.apply(this, arguments);\n },\n // standardLabel: space added in the end of the label to avoid selecting label text with double click in read mode\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"5\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return container.escapeExpression((helper = (helper = lookupProperty(helpers, \"label\") || (depth0 != null ? lookupProperty(depth0, \"label\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"label\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 116\n },\n \"end\": {\n \"line\": 1,\n \"column\": 125\n }\n }\n }) : helper));\n },\n \"7\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"9\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + container.escapeExpression((helper = (helper = lookupProperty(helpers, \"sublabel\") || (depth0 != null ? lookupProperty(depth0, \"sublabel\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"sublabel\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 256\n },\n \"end\": {\n \"line\": 1,\n \"column\": 268\n }\n }\n }) : helper)) + \"\";\n },\n \"11\": function (container, depth0, helpers, partials, data) {\n var stack1,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"13\": function (container, depth0, helpers, partials, data) {\n return \"\";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"group\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 28\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"_isLabelView\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 28\n },\n \"end\": {\n \"line\": 1,\n \"column\": 89\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"_isRadioOrCheckbox\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(5, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 89\n },\n \"end\": {\n \"line\": 1,\n \"column\": 132\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"_standardLabel\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(7, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 132\n },\n \"end\": {\n \"line\": 1,\n \"column\": 210\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"sublabel\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(9, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 210\n },\n \"end\": {\n \"line\": 1,\n \"column\": 282\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"tooltip\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(11, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 282\n },\n \"end\": {\n \"line\": 1,\n \"column\": 397\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, depth0 != null ? lookupProperty(depth0, \"group\") : depth0, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(13, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 397\n },\n \"end\": {\n \"line\": 1,\n \"column\": 426\n }\n }\n })) != null ? stack1 : \"\");\n },\n \"useData\": true\n }),\n getTemplateData: function () {\n const options = {\n label: ''\n };\n\n oktaUnderscore.each(['inputId', 'label', 'sublabel', 'tooltip', 'group'], function (option) {\n options[option] = oktaUnderscore.resultCtx(this.options, option, this);\n }, this);\n\n if (this._isLabelView(options.label)) {\n options._isLabelView = true;\n } else if (oktaUnderscore.contains(['radio', 'checkbox'], this.options.type) || !options.label) {\n options._isRadioOrCheckbox = true;\n } else {\n options._standardLabel = true;\n }\n\n if (options.tooltip) {\n if (oktaUnderscore.isString(options.tooltip)) {\n options.tooltip = {\n text: options.tooltip\n };\n }\n }\n\n return options;\n },\n _isLabelView: function (label) {\n return !oktaUnderscore.isUndefined(label) && label instanceof BaseView;\n },\n postRender: function () {\n const options = this.getTemplateData();\n\n if (this._isLabelView(options.label)) {\n this.removeChildren();\n this.add(options.label, 'label');\n }\n\n if (options.tooltip) {\n this.$('.o-form-tooltip').qtip(oktaUnderscore.extend({\n style: {\n classes: 'qtip-custom qtip-shadow'\n },\n position: {\n my: window.okta && window.okta.theme === 'dstheme' ? 'bottom center' : 'bottom left',\n at: 'top center'\n },\n hide: {\n fixed: true\n },\n show: {\n delay: 0\n }\n }, options.tooltip.options));\n }\n }\n});\n\nexport { InputLabel as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\n\nconst registry = {};\n\nfunction isBaseInput(input) {\n if (oktaUnderscore.isFunction(input)) {\n return oktaUnderscore.isFunction(input.prototype.editMode) && oktaUnderscore.isFunction(input.prototype.readMode);\n } else {\n return oktaUnderscore.isObject(input) && oktaUnderscore.isFunction(input.editMode) && oktaUnderscore.isFunction(input.readMode);\n }\n}\n/**\n * @class module:Okta.internal.views.forms.helpers.InputRegistry\n */\n\n\nvar InputRegistry = /** @lends module:Okta.internal.views.forms.helpers.InputRegistry */\n{\n isBaseInput: isBaseInput,\n\n /**\n * Register a form input\n * @param {String} type string identifier for the input\n * @param {BaseInput} input the input to register\n * @return {void}\n */\n register: function (type, input) {\n registry[type] = input;\n },\n\n /**\n * Get a form input by type\n * @param {Object} options input definition\n * @param {String} options.type string identifier for the input\n * @return {BaseInput} a matching input\n */\n get: function (options) {\n const input = registry[options.type];\n return input && (isBaseInput(input) ? input : input(options));\n },\n\n /**\n * Unregister an input type\n * @param {String} type\n */\n unregister: function (type) {\n delete registry[type];\n }\n};\n\nexport { InputRegistry as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport BaseView from '../../BaseView.js';\nimport FormUtil from './FormUtil.js';\n\nfunction runCallback(callback, field) {\n callback.apply(this, oktaUnderscore.map(field.split(/\\s+/), function (field) {\n return this.model.get(field);\n }, this));\n}\n\nfunction runIf(fn, ctx) {\n if (oktaUnderscore.isFunction(fn)) {\n fn.call(ctx);\n }\n}\n/**\n * @class InputWrapper\n * @extends Okta.View\n * @private\n * The outer wrapper that warps the label and the input container\n */\n\n\nvar InputWrapper = BaseView.extend({\n tagName: function () {\n if (this.options.group) {\n return 'fieldset';\n }\n\n return 'div';\n },\n className: function () {\n let className = 'o-form-fieldset';\n\n if (this.options['label-top']) {\n className += ' o-form-label-top';\n }\n\n if (this.options.readOnly) {\n className += ' o-form-read-mode';\n }\n\n return className;\n },\n attributes: function () {\n return {\n 'data-se': this.options['data-se'] || 'o-form-fieldset'\n };\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {Object} [options.events]\n * @param {Object} [options.bindings]\n * @param {Object} [options.showWhen]\n * @param {Function} [options.initialize] post initialize callback\n * @param {Function} [options.render] post render callback\n */\n constructor: function (options) {\n if (options.className) {\n this.inputWrapperClassName = this.className;\n this.optionsClassName = options.className;\n\n options.className = function () {\n return oktaUnderscore.result(this, 'inputWrapperClassName', '') + ' ' + oktaUnderscore.result(this, 'optionsClassName');\n };\n }\n\n BaseView.apply(this, arguments);\n\n oktaUnderscore.each(options.events || {}, function (callback, event) {\n this.listenTo(this.model, event, callback);\n }, this);\n\n oktaUnderscore.each(options.bindings || {}, function (callback, field) {\n this.listenTo(this.model, FormUtil.changeEventString(field.split(/\\s+/)), oktaUnderscore.bind(runCallback, this, callback, field));\n }, this);\n\n FormUtil.applyShowWhen(this, options.showWhen);\n FormUtil.applyToggleWhen(this, options.toggleWhen);\n runIf(options.initialize, this);\n },\n postRender: function () {\n oktaUnderscore.each(this.options.bindings || {}, runCallback, this);\n\n runIf(this.options.render, this);\n },\n\n /**\n * @return {InputLabel}\n */\n getLabel: function () {\n return this.size() > 1 ? this.at(0) : null;\n },\n\n /**\n * @deprecated ambiguous naming, use {@link #getInputContainer}\n */\n getInput: function () {\n return this.getInputContainer();\n },\n\n /**\n * @return {InputContainer}\n */\n getInputContainer: function () {\n return this.at(this.size() > 1 ? 1 : 0);\n },\n\n /**\n * @return {BaseInput[]}\n */\n getInputs: function () {\n return this.getInputContainer().toArray();\n },\n focus: function () {\n return this.getInput().focus();\n }\n});\n\nexport { InputWrapper as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport StringUtil from '../../../util/StringUtil.js';\nimport BooleanSelect from '../inputs/BooleanSelect.js';\nimport TextBoxSet from '../inputs/TextBoxSet.js';\nimport EnumTypeHelper from './EnumTypeHelper.js';\n\n/* eslint max-statements: 0, max-params: 0 */\n\nfunction convertStringToNumber(string) {\n const number = StringUtil.parseFloat(string);\n return string === '' ? null : number;\n} // converts possibleValues to choices\n// [a, b, c] => {a: a, b: b, c: c}\n\n\nfunction getChoices(values) {\n return oktaUnderscore.object(values, values);\n}\n\nfunction isArray(type) {\n return type && type.indexOf('array') >= 0;\n} // A schema property may have an objectName either\n// at the root level or nested in the items object\n\n\nfunction getObjectName(schemaProp) {\n const items = schemaProp.get('items');\n\n if (items) {\n return items.objectName;\n }\n\n return schemaProp.get('objectName');\n}\n/**\n * Checks the validity of a schema property.\n *\n * @param {SchemaProperty} [schemaProp] A schema property backbone model\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Boolean} true/false\n * @private\n */\n\n\nfunction isValidSchemaProp(schemaProp, values) {\n const objectName = getObjectName(schemaProp);\n const results = values[objectName]; // a schema property that references an empty list of values\n // Im looking at you, google apps.\n\n if (objectName && oktaUnderscore(results).isEmpty()) {\n return false;\n }\n\n return true;\n} // Maps each __displayType__ to a basic set of inputOptions.\n\n\nfunction defaultOptions(property) {\n const type = property.get('__displayType__');\n const values = property.get('__possibleValues__');\n const name = property.get('name');\n const title = property.get('title');\n /* eslint complexity: [2, 24] */\n\n const inputOptions = {\n type: 'text',\n name: name,\n label: title || name\n }; // @see customOptions for enum complex \"object\" type,\n // a.k.a \"object\" or \"arrayofobject\" type has enum values defined.\n // Other cases (e.g., nested object type) are not support yet.\n\n switch (type) {\n case 'arrayofstring':\n inputOptions.input = TextBoxSet;\n inputOptions.params = {\n itemType: 'string'\n };\n break;\n\n case 'arrayofnumber':\n inputOptions.input = TextBoxSet;\n inputOptions.params = {\n itemType: 'number'\n };\n break;\n\n case 'arrayofinteger':\n inputOptions.input = TextBoxSet;\n inputOptions.params = {\n itemType: 'integer'\n };\n break;\n\n case 'arrayofobject':\n inputOptions.input = TextBoxSet;\n inputOptions.params = {\n itemType: property.get('items').type\n };\n break;\n\n case 'arrayofref-id':\n inputOptions.input = TextBoxSet;\n inputOptions.params = {\n itemType: property.get('items').format\n };\n break;\n\n case 'boolean':\n inputOptions.input = BooleanSelect;\n break;\n\n case 'integer':\n case 'number':\n inputOptions.to = convertStringToNumber;\n break;\n\n case 'reference':\n inputOptions.type = 'select';\n inputOptions.options = getChoices(values);\n break;\n\n case 'image':\n inputOptions.readOnly = true;\n\n inputOptions.from = function (value) {\n return oktaUnderscore.isEmpty(value) ? '' : StringUtil.localize('user.profile.image.image_set', 'courage'); // TODO\n };\n\n break;\n\n case 'password':\n inputOptions.type = 'password';\n break;\n\n case 'date':\n inputOptions.type = 'date';\n break;\n\n case 'uri':\n case 'country-code':\n case 'country_code':\n case 'language-code':\n case 'language_code':\n case 'email':\n case 'locale':\n case 'timezone':\n case 'string':\n case 'object':\n // default input options\n break;\n\n default:\n throw new Error(`unknown type: ${type}`);\n }\n\n return inputOptions;\n} // Sets nonbasic inputOptions, such as an array with possible values\n\n\nfunction customOptions(property) {\n let inputOptions = {};\n const name = property.get('name');\n const type = property.get('__displayType__');\n const values = property.get('__possibleValues__');\n const prefix = property.get('__fieldNamePrefix__');\n\n if (prefix) {\n inputOptions.name = prefix + name;\n inputOptions.errorField = name;\n }\n\n if (property.isEnumType()) {\n const configs = {\n displayType: type,\n title: property.get('title'),\n enumValues: property.getEnumValues()\n };\n inputOptions = oktaUnderscore.extend({}, EnumTypeHelper.getEnumInputOptions(configs), inputOptions);\n } else if (isArray(type) && values) {\n inputOptions.type = 'checkboxset';\n inputOptions.input = null;\n inputOptions.options = getChoices(values);\n }\n\n return inputOptions;\n}\n\nfunction augmentSchemaProp(schemaProp, possibleValues, profile) {\n const name = schemaProp.get('name');\n const prefix = profile.__nestedProperty__;\n let defaultValues = possibleValues[name];\n const userValues = profile.get(name);\n let values; // If API responds with a field name that differs from the form-field name\n // example: Model's 'profile.username' vs. server's 'username'\n\n if (prefix) {\n schemaProp.set('__fieldNamePrefix__', prefix);\n } // case 1: objectName - fixed list of values are set for the input\n\n\n const fixedValues = possibleValues[getObjectName(schemaProp)]; // case 2: name only - default list of values are provided, user can add more\n // TODO: this case does not yet exist, so it is not tested\n\n if (defaultValues && userValues) {\n defaultValues = oktaUnderscore.union(defaultValues, userValues);\n } // If both fixed and default values exist,\n // take the fixed values unless they are empty\n\n\n if (fixedValues && fixedValues.length) {\n values = fixedValues;\n } else if (defaultValues && defaultValues.length) {\n values = defaultValues;\n }\n\n schemaProp.set('__possibleValues__', values);\n}\n\nfunction augmentSchemaProps(schemaProps, possibleValues, profile) {\n schemaProps.each(function (schemaProp) {\n augmentSchemaProp(schemaProp, possibleValues, profile);\n });\n return schemaProps;\n}\n/**\n * Remove invalid schema properties from a collection\n *\n * @param {SchemaProperties Collection} [properties] A collection of schema properties\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Array} An array of valid schema models, this can be used to reset\n * a schema properties collection for example.\n * @private\n */\n\n\nfunction cleanSchema(properties, values) {\n return properties.filter(function (schema) {\n return isValidSchemaProp(schema, values);\n });\n}\n\nvar SchemaFormFactory = {\n /**\n * Creates the options hash for BaseForm.addInput from a prepared schema\n * property.\n *\n * @param {Okta.Model} [preparedSchemaProp] A schema property backbone model\n * that has been standardized by the prepareSchema method.\n * @return {Object} An object containing all of the options needed by\n * BaseForm's addInput()\n */\n createInputOptions: function (preparedSchemaProp) {\n const custom = customOptions(preparedSchemaProp);\n const standard = defaultOptions(preparedSchemaProp); // underscore did not support nested extend\n // https://github.com/jashkenas/underscore/issues/162\n\n if (custom.params && standard.params) {\n custom.params = oktaUnderscore.defaults(custom.params, standard.params);\n }\n\n return oktaUnderscore.defaults(custom, standard);\n },\n hasValidSchemaProps: function (schemaProps, possibleValues) {\n if (oktaUnderscore.isEmpty(schemaProps)) {\n return false;\n }\n\n const validSchema = cleanSchema(schemaProps, possibleValues);\n return !!validSchema.length;\n },\n\n /**\n * This method is responsible for preparing a collection for the form\n * factory to use by putting all of the information to create an input\n * into the schema property and removing invalid properties.\n * The typical UD form takes 3 models:\n * The data model has the input values.\n * The schema model describes which input to use, such as a textbox or a checkbox.\n * The possible values model provide a list of default options to display, for example in a drop down menu.\n *\n * @param {SchemaProperty Collection} [schemaProps] A schema property backbone model.\n * @param {Object} [possibleValues] An object of the form { key: [value1, value2]}\n * @param {Okta.Model} [profile] A backbone model containing the property described by the schema property.\n * @return {SchemaProperty Collection} A schema property collection with standardized models.\n * The standard schema model adds a couple of additional private properties to\n * allow the form factory to reference lookup values or name prefixes without going to a second model.\n */\n prepareSchema: function (schemaProps, possibleValues, profile) {\n schemaProps.reset(cleanSchema(schemaProps, possibleValues));\n return augmentSchemaProps(schemaProps, possibleValues, profile);\n },\n\n /**\n * `prepareSchema` will reset the property list which may not be necessary at some case.\n * like when setting default value for schema properties.\n * (more detail about such case @see wiki UX, App+Entitlements+for+Provisioning)\n *\n * @param { }\n * @return {String}\n */\n augmentSchemaProps: augmentSchemaProps,\n augmentSchemaProp: augmentSchemaProp\n};\n\nexport { SchemaFormFactory as default };\n","import Select from './Select.js';\n\nconst options = {\n undefined: 'undefined',\n true: 'true',\n false: 'false'\n};\n\nconst from = function (val) {\n if (val) {\n return 'true';\n }\n\n if (val === false) {\n return 'false';\n }\n\n return 'undefined';\n};\n\nconst to = function (val) {\n switch (val) {\n case 'undefined':\n return null;\n\n case 'true':\n return true;\n\n case 'false':\n return false;\n\n default:\n return null;\n }\n};\n\nvar BooleanSelect = Select.extend({\n initialize: function () {\n this.options.options = options;\n this.options.from = from;\n this.options.to = to;\n }\n});\n\nexport { BooleanSelect as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport Keys from '../../../util/Keys.js';\nimport '../../../vendor/plugins/jquery.custominput.js';\nimport BaseInput from '../BaseInput.js';\n\nvar CheckBox = BaseInput.extend({\n template: _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"useData\": true\n }),\n\n /**\n * @Override\n */\n events: {\n 'change :checkbox': 'update',\n keyup: function (e) {\n e.preventDefault();\n\n if (Keys.isSpaceBar(e)) {\n this.$(':checkbox').click();\n } else if (Keys.isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function () {\n let placeholder = oktaUnderscore.resultCtx(this.options, 'placeholder', this);\n\n if (placeholder === '') {\n placeholder = oktaUnderscore.resultCtx(this.options, 'label', this);\n } else if (placeholder === false) {\n placeholder = '';\n }\n\n this.$el.html(this.template(oktaUnderscore.extend(oktaUnderscore.omit(this.options, 'placeholder'), {\n placeholder: placeholder\n })));\n const $input = this.$(':checkbox');\n $input.prop('checked', this.getModelValue() || false);\n this.$('input').customInput();\n this.model.trigger('form:resize');\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function () {\n this.editMode();\n this.$(':checkbox').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$(':checkbox').prop('checked');\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$(':checkbox').focus();\n }\n});\n\nexport { CheckBox as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport SchemaUtils from '../../../util/SchemaUtil.js';\nimport StringUtil from '../../../util/StringUtil.js';\nimport Time from '../../../util/Time.js';\nimport BaseView from '../../BaseView.js';\n\nconst template = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"

          \" + alias4((helper = (helper = lookupProperty(helpers, \"errorExplain\") || (depth0 != null ? lookupProperty(depth0, \"errorExplain\") : depth0)) != null ? helper : alias2, typeof helper === alias3 ? helper.call(alias1, {\n \"name\": \"errorExplain\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 408\n },\n \"end\": {\n \"line\": 1,\n \"column\": 424\n }\n }\n }) : helper)) + \"

          \";\n },\n \"useData\": true\n});\n\nconst errorClass = 'o-form-has-errors';\nconst updateArrayEvent = 'updateArray';\nvar DeletableBox = BaseView.extend({\n tagName: 'div',\n className: 'o-form-input-group',\n events: {\n 'click a': function (e) {\n e.preventDefault();\n this.remove();\n },\n 'keyup input': function () {\n this.update();\n }\n },\n isEditMode: function () {\n return !this.options.readOnly && (this.options.read !== true || this.model.get('__edit__') === true);\n },\n initialize: function () {\n this.template = template(oktaUnderscore.extend(this.options, {\n placeholder: this.getPlaceholderText(),\n errorExplain: this.getErrorExplainText()\n }));\n this.update = oktaUnderscore.debounce(this.update, this.options.debounceDelay || Time.DEBOUNCE_DELAY);\n },\n render: function () {\n if (this.isEditMode()) {\n this.$el.html(this.template);\n } else {\n this.$el.text(this.options.value);\n this.$('a').hide();\n }\n\n return this;\n },\n remove: function () {\n this.trigger(updateArrayEvent, null);\n this.$el.slideUp(() => {\n BaseView.prototype.remove.call(this, arguments);\n });\n },\n update: function () {\n let updatedValue = this.$('input').val();\n\n const parseFunc = oktaUnderscore.object([SchemaUtils.DATATYPE.number, SchemaUtils.DATATYPE.integer], [StringUtil.parseFloat, this.parseInt]);\n\n if (oktaUnderscore.has(parseFunc, this.options.itemType)) {\n updatedValue = parseFunc[this.options.itemType](updatedValue);\n !oktaUnderscore.isNumber(updatedValue) ? this.markInvalid() : this.clearInvalid();\n }\n\n this.trigger(updateArrayEvent, updatedValue);\n },\n markInvalid: function () {\n this.$el.addClass(errorClass);\n },\n clearInvalid: function () {\n this.$el.removeClass(errorClass);\n },\n getPlaceholderText: function () {\n let placeholderText;\n\n switch (this.options.itemType.toLowerCase()) {\n // TODO fix lint and add the spaces/indent\n case 'string':\n placeholderText = StringUtil.localize('placeholder.text.string', 'courage');\n break;\n\n case 'number':\n placeholderText = StringUtil.localize('placeholder.text.number', 'courage');\n break;\n\n case 'integer':\n placeholderText = StringUtil.localize('placeholder.text.integer', 'courage');\n break;\n\n default:\n placeholderText = '';\n }\n\n return placeholderText;\n },\n getErrorExplainText: function () {\n let itemTypeMismatchMessages;\n\n switch (this.options.itemType.toLowerCase()) {\n // TODO fix lint and add the spaces/indent\n case 'string':\n itemTypeMismatchMessages = StringUtil.localize('string.item.type.error.message', 'courage');\n break;\n\n case 'number':\n itemTypeMismatchMessages = StringUtil.localize('number.item.type.error.message', 'courage');\n break;\n\n case 'integer':\n itemTypeMismatchMessages = StringUtil.localize('integer.item.type.error.message', 'courage');\n break;\n\n default:\n itemTypeMismatchMessages = '';\n }\n\n return itemTypeMismatchMessages;\n },\n parseInt: function (string) {\n // native javascript parseInt is aggressive\n // there're cases we don't want a string to be parsed even though it is convertable\n // so that we don't convert a string silently before warning a user the potential error\n // this is to make sure the string is in an integer format before we parse it\n if (/^-?\\d+$/.test(string)) {\n const num = parseInt(string, 10);\n return !oktaUnderscore.isNaN(num) ? num : string;\n }\n\n return string;\n }\n});\n\nexport { DeletableBox as default };\n","import oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport ButtonFactory from '../../../util/ButtonFactory.js';\nimport BaseView from '../../BaseView.js';\nimport BaseInput from '../BaseInput.js';\n\nfunction countInputs(inputs) {\n return oktaUnderscore.filter(inputs || [], function (input) {\n return !oktaUnderscore.contains(['label', 'button', 'select'], input.type);\n }).length;\n}\n\nconst InputGroupLabelInput = BaseInput.extend({\n tagName: 'span',\n initialize: function () {\n this.$el.text(this.getModelValue());\n },\n editMode: function () {\n this.toggle(true);\n },\n readMode: function () {\n this.toggle(false);\n },\n getModelValue: function () {\n return this.options.label;\n },\n toggle: function (isEditMode) {\n this.$el.toggleClass('o-form-label-inline', isEditMode);\n this.$el.toggleClass('o-form-control', !isEditMode);\n },\n focus: oktaUnderscore.noop\n});\n\nfunction createButtonInput(options) {\n return ButtonFactory.create(oktaUnderscore.defaults({\n getReadModeString: oktaUnderscore.constant(' '),\n focus: oktaUnderscore.noop\n }, oktaUnderscore.pick(options, 'click', 'title', 'href', 'icon')));\n}\n\nconst InputGroupInputGroupView = BaseView.extend({\n getParams: BaseInput.prototype.getParams,\n getParam: BaseInput.prototype.getParam,\n className: function () {\n let className; // Allows views to group multiple inputs under one label without any of the other\n // styling/rendering changes that come with using a group input\n\n if (this.getParam('noBaseClasses')) {\n return '';\n }\n\n if (this.getParam('display') === 'text') {\n className = 'o-form-input-group-subtle';\n } else {\n className = 'o-form-input-group';\n }\n\n if (countInputs(this.getParam('inputs')) > 1) {\n className += ' o-form-input-group-2';\n }\n\n return className;\n },\n initialize: function () {\n oktaUnderscore.each(this.getParam('inputs'), function (input) {\n switch (input.type) {\n case 'label':\n this.add(InputGroupLabelInput, {\n options: input\n });\n break;\n\n case 'button':\n this.add(createButtonInput(input));\n break;\n\n default:\n input = oktaUnderscore.defaults({\n model: this.model,\n params: oktaUnderscore.extend({\n autoWidth: true\n }, input.params || {})\n }, input);\n this.add(this.getParams().create(input));\n }\n }, this);\n },\n focus: function () {\n this.first().focus();\n }\n});\nvar InputGroup = BaseInput.extend({\n constructor: function (options) {\n this.inputGroupView = new InputGroupInputGroupView(options);\n BaseInput.apply(this, arguments);\n },\n editMode: function () {\n this.inputGroupView.remove();\n this.inputGroupView = new InputGroupInputGroupView(this.options);\n this.$el.html(this.inputGroupView.render().el);\n },\n readMode: function () {\n // Allows the user to use to the default \"read mode\" of the child inputs instead of\n // rendering a single read mode string for all the child inputs\n if (this.getParam('useChildInputsReadMode')) {\n this.editMode();\n } else {\n BaseInput.prototype.readMode.apply(this, arguments);\n }\n },\n toStringValue: function () {\n const strings = this.inputGroupView.map(function (input) {\n return input.getReadModeString();\n });\n return strings.length && oktaUnderscore.every(strings) ? strings.join(' ') : ' ';\n },\n focus: function () {\n this.inputGroupView.focus();\n }\n}, {\n // test hooks\n LabelInput: InputGroupLabelInput,\n InputGroupView: InputGroupInputGroupView\n});\n\nexport { InputGroup as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport TextBox from './TextBox.js';\n\nconst toggleTemplate = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n return \"\";\n },\n \"useData\": true\n});\n\nconst toggleTimeout = 30000;\nvar PasswordBox = TextBox.extend({\n initialize: function () {\n if (this.__showPasswordToggle()) {\n this.events['click .password-toggle .button-show'] = '__showPassword';\n this.events['click .password-toggle .button-hide'] = '__hidePassword';\n }\n\n this.delegateEvents();\n },\n postRender: function () {\n if (this.isEditMode() && this.__showPasswordToggle()) {\n this.$el.append(toggleTemplate);\n this.$el.find('input[type=\"password\"]').addClass('password-with-toggle');\n }\n\n TextBox.prototype.postRender.apply(this, arguments);\n },\n\n /**\n * @Override\n * Overrides the default val method in order to avoid whitespace trimming\n */\n val: function () {\n return this.$('input[type=\"' + this.options.type + '\"]').val();\n },\n __showPasswordToggle: function () {\n return this.options.params && this.options.params.showPasswordToggle;\n },\n __showPassword: function () {\n // Turn off the spellcheck if the user decides to switch to regular input\n // in order to prevent sending passwords to third party spellcheckers\n this.$('input').attr('spellcheck', false);\n TextBox.prototype.changeType.apply(this, ['text']);\n this.$('.password-toggle .button-show').hide();\n this.$('.password-toggle .button-hide').show();\n this.passwordToggleTimer = oktaUnderscore.delay(() => {\n this.__hidePassword();\n }, toggleTimeout);\n },\n __hidePassword: function () {\n TextBox.prototype.changeType.apply(this, ['password']);\n this.$('.password-toggle .button-show').show();\n this.$('.password-toggle .button-hide').hide(); // clear timeout\n\n if (this.passwordToggleTimer) {\n clearTimeout(this.passwordToggleTimer);\n }\n }\n});\n\nexport { PasswordBox as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport Keys from '../../../util/Keys.js';\nimport Util from '../../../util/Util.js';\nimport BaseView from '../../BaseView.js';\nimport '../../../vendor/plugins/jquery.custominput.js';\nimport BaseInput from '../BaseInput.js';\n\nconst isABaseView = Util.isABaseView;\nconst RadioRadioOption = BaseView.extend({\n template: _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"useData\": true\n }),\n initialize: function (options) {\n let explain;\n explain = options.explain;\n\n if (oktaUnderscore.isFunction(explain) && !isABaseView(explain)) {\n explain = oktaUnderscore.resultCtx(this.options, 'explain', this);\n }\n\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.add('

          ', '.radio-label');\n this.add(explain, '.o-form-explain');\n } else {\n this.add(BaseView.extend({\n className: 'o-form-explain',\n tagName: 'p',\n template: _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return container.escapeExpression((helper = (helper = lookupProperty(helpers, \"explain\") || (depth0 != null ? lookupProperty(depth0, \"explain\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"explain\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 11\n }\n }\n }) : helper));\n },\n \"useData\": true\n })\n }), '.radio-label');\n }\n }\n});\nvar Radio = BaseInput.extend({\n /**\n * @Override\n */\n events: {\n 'change :radio': 'update',\n keyup: function (e) {\n if (Keys.isSpaceBar(e)) {\n oktaJQueryStatic(e.target).click();\n } else if (Keys.isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function () {\n const templates = [];\n this.$el.empty();\n\n oktaUnderscore.each(this.options.options, function (value, key) {\n const options = {\n optionId: oktaUnderscore.uniqueId('option'),\n name: this.options.inputId,\n realName: this.options.name,\n value: key\n };\n\n if (!oktaUnderscore.isObject(value)) {\n value = {\n label: value\n };\n }\n\n oktaUnderscore.extend(options, value);\n\n templates.push(new RadioRadioOption(options).render().el);\n }, this);\n\n this.$el.append(templates);\n let value = this.getModelValue();\n\n if (value) {\n this.$(':radio[value=' + value + ']').prop('checked', true);\n }\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n if (this.getParam('inline') === true) {\n this.$('div.custom-radio').addClass('inline');\n }\n\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function () {\n this.editMode();\n this.$(':radio').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$(':radio:checked').val();\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$('label:eq(0)').focus();\n }\n});\n\nexport { Radio as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../../util/jquery-wrapper.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport Keys from '../../../util/Keys.js';\nimport '../../../vendor/plugins/chosen.jquery.js';\nimport BaseInput from '../BaseInput.js';\nimport Util from '../../../util/Util.js';\nimport StringUtil from '../../../util/StringUtil.js';\n\nconst template = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"useData\": true\n});\n\nconst option = _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"useData\": true\n});\n\nconst CHOSEN_WINDOW_MARGIN = 20;\nconst isSafari = Util.isSafari; // Chosen has known problems when it's at the bottom of a container that has\n// overflow:hidden set. Because it attaches to the parent container, its\n// dropdown will be cut off in the UI. Any modal with a chosen select element\n// at the bottom will manifest this behavior.\n//\n// The fix (aside from replacing Chosen) is to change Chosen's behavior -\n// use the existing styles, but attach it to 'body' and position it correctly\n// so that it is not affected by a parent overflow.\n//\n// More details can be found in OKTA-46489, OKTA-83570\n\nconst CHOSEN_MAX_HEIGHT = 240;\nconst CHOSEN_Z_INDEX = 50000;\n\nfunction defer(fn) {\n if (this.params.autoWidth) {\n return fn.call(this);\n } else {\n return oktaUnderscore.defer(oktaUnderscore.bind(fn, this));\n }\n}\n\nfunction findSelectWidth(self) {\n self.$select.hide();\n const select = oktaJQueryStatic(self.$select[0]).hide();\n oktaJQueryStatic('body').append(select);\n const width = self.params.width = select.width() * 1.2 + 'px';\n self.$el.append(select.show());\n return width;\n}\n\nfunction recalculateChosen($chosen, $results, $clone) {\n const offset = $clone.offset();\n $chosen.css({\n left: offset.left,\n top: offset.top\n }); // Update the max-height to fit within the constraints of the window. This\n // is especially important for modals because page scrolling is disabled.\n\n const $win = oktaJQueryStatic(window);\n const rHeight = $results.outerHeight();\n const rBottom = rHeight + $results.offset().top - $win.scrollTop();\n const wHeight = $win.height() - CHOSEN_WINDOW_MARGIN;\n const maxHeight = Math.min(rHeight + wHeight - rBottom, CHOSEN_MAX_HEIGHT);\n $results.css('max-height', maxHeight);\n}\n\nfunction handleKeyUpEvent($select, $chosen, $results) {\n const $highlightedOption = $results.find('.active-result.highlighted');\n $chosen.find('#' + $select.attr('id') + '_txt').attr('aria-activedescendant', $highlightedOption.attr('id')); // change the old selected item aria-selected to false\n // and add add it to new item.\n\n $results.find('[aria-selected=true]').attr('aria-selected', 'false');\n $highlightedOption.attr('aria-selected', 'true'); // In case of Safari, add message to aria-live node to be read by screenreader.\n // We need to do this special handling for Safari due to falkiness with aria-activedescendant\n // handling. https://bit.ly/3z45IZF\n\n if (isSafari()) {\n // message read by screenReader i.e optionValue selected(United States selected)\n const message = StringUtil.localize('oform.selectInput.country', 'courage', [$highlightedOption.text()]);\n const elementId = $select.attr('id');\n\n if (message !== '') {\n oktaJQueryStatic(`#${elementId}_aria_div_id`).text(message);\n }\n }\n\n const noResult = $results.find('li.no-results');\n\n if (noResult.length) {\n noResult.attr('role', 'alert');\n }\n}\n\nfunction fixChosenModal($select, textPlaceholder) {\n const $chosen = $select.next('.chzn-container');\n const $clone = $chosen.clone();\n const $results = $chosen.find('.chzn-results');\n const $searchInput = $chosen.find('.chzn-search input[type=text]');\n $searchInput.on('keyup', () => {\n handleKeyUpEvent($select, $chosen, $results);\n });\n $chosen.addClass('closed'); // Will be used in SIW to fix screen reader focus.\n // Use a hidden clone to maintain layout and calculate offset. This is\n // necessary for more complex layouts (like adding a group rule) where\n // the chosen element is floated.\n\n $clone.css('visibility', 'hidden');\n $clone.removeAttr('id');\n $clone.find('li').removeAttr('id'); // Save the original styles - we'll revert to them when the select closes\n\n const baseStyles = {\n left: $chosen.css('left'),\n top: $chosen.css('top'),\n position: $chosen.css('position'),\n float: $chosen.css('float'),\n 'z-index': $chosen.css('z-index')\n };\n $results.hide(); // Handler for any resize events that happen when the results list is open\n\n const resizeHandler = oktaUnderscore.debounce(function () {\n recalculateChosen($chosen, $results, $clone);\n }, 10); // When the dropdown opens, attach it to body, with the correct absolute\n // position coordinates\n\n\n $select.off('.fixChosen'); // Remove events we could have added before\n\n $select.on('liszt:showing_dropdown.fixChosen', function () {\n $chosen.width($chosen.width());\n $select.after($clone); // .chzn-container can trigger the vertical scrollbar if it causes scrollHeight > window height after append to\n // the body. Force top -999999 to avoid the scrollbar so $chosen can find the right offset for relocation.\n\n $chosen.css({\n position: 'absolute',\n float: 'none',\n 'z-index': CHOSEN_Z_INDEX,\n top: -999999\n });\n oktaJQueryStatic('body').append($chosen);\n oktaJQueryStatic('.chzn-search > :text').prop('placeholder', textPlaceholder);\n $results.show();\n recalculateChosen($chosen, $results, $clone); // Capture scroll events:\n // - for forms that use fixed positioning (like editing attributes in\n // Profile Editor) - window scroll\n // - for forms that are too long for the modal - o-form-content scroll\n\n $select.parents().scroll(resizeHandler);\n oktaJQueryStatic(window).on('resize scroll', resizeHandler);\n });\n $select.on('liszt:showing_dropdown', function () {\n $chosen.removeClass('closed');\n }); // When the dropdown closes or the element is removed, revert to the\n // original styles and reattach it to its original placement in the dom.\n\n $select.on('liszt:hiding_dropdown.fixChosen remove.fixChosen', function () {\n $select.parents().off('scroll', resizeHandler);\n oktaJQueryStatic(window).off('resize scroll', resizeHandler);\n $chosen.css(baseStyles);\n $results.hide();\n $chosen.addClass('closed');\n $results.css('max-height', CHOSEN_MAX_HEIGHT);\n $clone.remove();\n $select.after($chosen);\n }); // Do not change the order of event listeners. This event must execute after \n // \"liszt:hiding_dropdown.fixChosen remove.fixChosen\"\n\n $select.on('liszt:hiding_dropdown.fixChosen', function () {\n $searchInput.focus(); // set focus back to input only when the dropdown is closed\n });\n}\n\nvar Select = BaseInput.extend({\n className: 'o-form-select',\n\n /**\n * @Override\n */\n events: {\n 'change select': 'update',\n 'keyup .chzn-search > :text': function (e) {\n if (Keys.isEsc(e)) {\n this.$('.chzn-search > :text').val('');\n e.stopPropagation();\n }\n }\n },\n constructor: function () {\n this.template = template;\n this.option = this.option || option;\n BaseInput.apply(this, arguments);\n this.params = this.options.params || {};\n },\n\n /**\n * @Override\n */\n editMode: function () {\n /* eslint max-statements: [2, 17] */\n this.$el.html(template(this.options));\n this.$select = this.$('select');\n this.appendOptions(); // Fix a regression in jQuery 1.x on Firefox\n // jQuery.val(value) prepends an empty option to the dropdown\n // if value doesnt exist in the dropdown.\n // http://bugs.jquery.com/ticket/13514\n\n const value = this.getModelValue();\n\n if (value) {\n this.$select.val(value);\n } else {\n this.$('option:first-child').prop('selected', true);\n }\n\n this.$el.addClass('o-form-control');\n\n if (this.params.chosen !== false) {\n this.__applyChosen();\n }\n\n return this;\n },\n appendOptions: function () {\n if (!this.getOptions()) {\n return;\n }\n\n const options = this.getOptions();\n const keys = Object.keys(options);\n this.applySortByKey(keys);\n keys.forEach(key => {\n this.$select.append(this.option({\n key: key,\n value: options[key]\n }));\n });\n },\n applySortByKey: function (keys) {\n const sortByKey = this.options.sortByKey;\n\n if (!sortByKey) {\n return;\n }\n\n if (sortByKey instanceof Function) {\n keys.sort(sortByKey);\n }\n\n if (sortByKey === 'asc') {\n keys.sort();\n }\n\n if (sortByKey === 'desc') {\n keys.sort();\n keys.reverse();\n }\n },\n __applyChosen: function (update) {\n let width = this.options.wide ? '100%' : this.params.width || '62%';\n\n if (this.params.autoWidth) {\n width = findSelectWidth(this);\n }\n\n defer.call(this, function () {\n const searchThreshold = this.getParam('searchThreshold', 10);\n\n if (!oktaUnderscore.result(this.options, 'autoRender') && update !== false) {\n this.update();\n }\n\n this.$select.chosen({\n width: width,\n disable_search_threshold: searchThreshold,\n //eslint-disable-line camelcase\n placeholder_text: this.options['placeholder'],\n //eslint-disable-line camelcase\n search_contains: true //eslint-disable-line camelcase\n\n }); //if options are more than search threshold, consider it as a combobox\n\n const isComboBox = this.options && this.options.options && Object.keys(this.options.options).length > searchThreshold;\n this.accessibilityUpdate(isComboBox, this.params);\n fixChosenModal(this.$select, this.searchPlaceholder);\n\n if (this.params.autoWidth) {\n // fix a chosen css bug\n this.$el.width(0);\n }\n\n this.model.trigger('form:resize');\n });\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$select && this.$select.val();\n },\n\n /**\n * @Override\n */\n focus: function () {\n if (this.$select) {\n return this.$select.focus();\n }\n },\n\n /**\n * @Override\n */\n toStringValue: function () {\n const selectedOption = this.getModelValue();\n let displayString = selectedOption;\n const options = this.getOptions();\n\n if (!oktaUnderscore.isEmpty(options)) {\n displayString = options[selectedOption];\n }\n\n if (oktaUnderscore.isUndefined(displayString)) {\n displayString = this.defaultValue();\n }\n\n return displayString || '';\n },\n\n /**\n * Convert options to an object\n * support input options that is a\n * 1. a static object such as {key1: val1, key2: val2...}\n * 2. a function to be called to return a static object\n * will return an object with key-value pairs or with empty content\n * @return {Object} The value\n */\n getOptions: function () {\n let options = this.options.options;\n\n if (oktaUnderscore.isFunction(options)) {\n options = options.call(this);\n }\n\n return oktaUnderscore.isObject(options) ? options : {};\n },\n remove: function () {\n if (this.$select) {\n this.$select.trigger('remove');\n }\n\n return BaseInput.prototype.remove.apply(this, arguments);\n },\n\n /**\n * @param ariaDivId id for div element\n * Create a div element and add it to chosen container.\n */\n createAriaLiveNode: function (ariaDivId) {\n const $chosen = this.$select.next('.chzn-container'); // set this to off-screen such that no user will see this and only screenReaders will pick this up.\n // we should announce to user only on additions and not on removals.\n\n const $node = oktaJQueryStatic('
          ').attr('role', 'log').attr('aria-live', 'polite').attr('id', ariaDivId).attr('aria-relevant', 'additions').attr('aria-atomic', 'false').attr('class', 'off-screen');\n $node.insertAfter($chosen);\n },\n\n /**\n * Code to make the select/combobox component accessible with screen readers.\n *\n * @param {boolean} isComboBox - Is the select a combobox?\n * @param {object} params - params like aria label\n */\n // eslint-disable-next-line max-statements\n accessibilityUpdate: function (isComboBox, params) {\n const txtBoxId = this.$select.attr('id') + '_txt';\n const ariaDivId = this.$select.attr('id') + '_aria_div_id';\n const ulTagId = this.$select.attr('id') + '_ul'; // this is to fix(OKTA-506711) the accessibility issue due to partial support of aria-activedescendant\n // by Safari. Make use of aria-live to make screenReader announce the option selected by user as a workaround.\n\n if (isSafari()) {\n this.createAriaLiveNode(ariaDivId);\n }\n\n this.$('ul[class=chzn-results]').attr('role', 'listbox').attr('id', ulTagId);\n\n if (isComboBox) {\n this.$('input[type=text]').attr('id', txtBoxId).attr('aria-autocomplete', 'list').attr('aria-activedescendant', '').attr('role', 'combobox').attr('aria-expanded', 'true').attr('aria-controls', ulTagId);\n } else {\n this.$('input[type=text]').attr('id', txtBoxId).attr('role', 'listbox');\n }\n\n if (params && params.aria && params.aria.label) {\n const ariaLabel = params.aria.label.trim();\n this.$('input[type=text]').attr('id', txtBoxId).attr('aria-label', ariaLabel);\n this.$('ul[class=chzn-results]').attr('aria-label', ariaLabel);\n } else {\n const ariaLabel = this.$el.parent().prev('.o-form-label').find('label').text().trim();\n this.$('input[type=text]').attr('id', txtBoxId).attr('aria-label', ariaLabel);\n this.$('ul[class=chzn-results]').attr('aria-label', ariaLabel);\n }\n\n this.$('.chzn-results .active-result').attr('role', 'option').attr('aria-selected', 'false');\n }\n});\n\nexport { Select as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaJQueryStatic from '../../../util/jquery-wrapper.js';\nimport '@okta/qtip';\nimport Keys from '../../../util/Keys.js';\nimport '../../../vendor/plugins/jquery.placeholder.js';\nimport BaseInput from '../BaseInput.js';\n\nconst className = 'okta-form-input-field input-fix';\n\nfunction hasTitleAndText(options) {\n const title = options.title;\n const text = options.text;\n return title && text && title !== text;\n} // options may be a string or an object.\n\n\nfunction createQtipContent(options) {\n if (hasTitleAndText(options)) {\n return options;\n }\n\n return {\n text: options.text || options\n };\n}\n\nvar TextBox = BaseInput.extend({\n template: _Handlebars2.template({\n \"1\": function (container, depth0, helpers, partials, data) {\n return \"\";\n },\n \"3\": function (container, depth0, helpers, partials, data) {\n var stack1,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\";\n },\n \"5\": function (container, depth0, helpers, partials, data) {\n var helper,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return container.escapeExpression((helper = (helper = lookupProperty(helpers, \"autoComplete\") || (depth0 != null ? lookupProperty(depth0, \"autoComplete\") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"autoComplete\",\n \"hash\": {},\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 333\n },\n \"end\": {\n \"line\": 1,\n \"column\": 349\n }\n }\n }) : helper));\n },\n \"7\": function (container, depth0, helpers, partials, data) {\n return \"off\";\n },\n \"9\": function (container, depth0, helpers, partials, data) {\n return \"\";\n },\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var stack1,\n helper,\n alias1 = depth0 != null ? depth0 : container.nullContext || {},\n alias2 = container.hooks.helperMissing,\n alias3 = \"function\",\n alias4 = container.escapeExpression,\n lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return ((stack1 = lookupProperty(helpers, \"if\").call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, \"params\") : depth0) != null ? lookupProperty(stack1, \"innerTooltip\") : stack1, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(1, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 0\n },\n \"end\": {\n \"line\": 1,\n \"column\": 87\n }\n }\n })) != null ? stack1 : \"\") + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, \"params\") : depth0) != null ? lookupProperty(stack1, \"icon\") : stack1, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(3, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 87\n },\n \"end\": {\n \"line\": 1,\n \"column\": 166\n }\n }\n })) != null ? stack1 : \"\") + \"\" + ((stack1 = lookupProperty(helpers, \"if\").call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, \"params\") : depth0) != null ? lookupProperty(stack1, \"iconDivider\") : stack1, {\n \"name\": \"if\",\n \"hash\": {},\n \"fn\": container.program(9, data, 0),\n \"inverse\": container.noop,\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 371\n },\n \"end\": {\n \"line\": 1,\n \"column\": 444\n }\n }\n })) != null ? stack1 : \"\");\n },\n \"useData\": true\n }),\n\n /**\n * @Override\n */\n events: {\n 'input input': 'update',\n 'change input': 'update',\n 'keydown input': 'update',\n 'compositionend input': function () {\n this.isComposing = false;\n },\n 'compositionstart input': function () {\n this.isComposing = true;\n },\n 'keyup input': function (e) {\n if (Keys.isEnter(e) && !(window.okta && window.okta.enableIMESupport)) {\n this.model.trigger('form:save');\n } else if (Keys.isEsc(e)) {\n this.model.trigger('form:cancel');\n }\n }\n },\n hasIMESupport: true,\n constructor: function () {\n BaseInput.apply(this, arguments);\n this.$el.addClass('o-form-control');\n },\n\n /**\n * @Override\n */\n editMode: function () {\n this.$el.addClass(className);\n BaseInput.prototype.editMode.apply(this, arguments);\n this.$('input').placeholder();\n },\n\n /**\n * @Override\n */\n readMode: function () {\n BaseInput.prototype.readMode.apply(this, arguments);\n this.$el.addClass('no-translate');\n\n if (this.options.type === 'password') {\n this.$el.text('********');\n }\n\n this.$el.removeClass(className);\n },\n\n /**\n * @Override\n */\n val: function () {\n let inputValue = this.$('input[type=\"' + this.options.type + '\"]').val(); //IE will only read clear text pw if type=\"password\" is explicitly in selector\n\n if (this.options.type !== 'password') {\n inputValue = oktaJQueryStatic.trim(inputValue);\n }\n\n return inputValue;\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$('input').focus();\n },\n postRender: function () {\n const {\n params: params\n } = this.options;\n\n if (params && params.innerTooltip) {\n const content = createQtipContent(params.innerTooltip);\n this.$('.input-tooltip').qtip({\n content: content,\n style: {\n classes: 'okta-tooltip qtip-custom qtip-shadow'\n },\n position: {\n my: 'bottom left',\n // Note: qTip2 has a known issue calculating the tooltip offset when:\n // 1. A container element has both:\n // a) position: relative/absolute\n // b) overlay: value other than 'visible'\n // 2. The page is scrolled\n //\n // We set position:relative and overlay:auto on the body element,\n // where both are required for:\n // - Positioning the footer correctly\n // - Displaying long pages in embedded browsers\n //\n // The original design called for a fixed position relative to the\n // tooltip icon - this has been switched to \"relative to mouse, and\n // update position when mouse moves\" because of this constraint.\n target: 'mouse',\n adjust: {\n method: 'flip',\n mouse: true,\n y: -5,\n x: 5\n },\n viewport: oktaJQueryStatic('body')\n }\n });\n }\n }\n});\n\nexport { TextBox as default };\n","import _Handlebars2 from '../../../../../lib/handlebars/dist/cjs/handlebars.runtime.js';\nimport oktaUnderscore from '../../../util/underscore-wrapper.js';\nimport SchemaUtils from '../../../util/SchemaUtil.js';\nimport BaseInput from '../BaseInput.js';\nimport DeletableBox from './DeletableBox.js';\n\nvar TextBoxSet = BaseInput.extend({\n className: 'array-input',\n template: _Handlebars2.template({\n \"compiler\": [8, \">= 4.3.0\"],\n \"main\": function (container, depth0, helpers, partials, data) {\n var lookupProperty = container.lookupProperty || function (parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n\n return undefined;\n };\n\n return \"\" + container.escapeExpression((lookupProperty(helpers, \"i18n\") || depth0 && lookupProperty(depth0, \"i18n\") || container.hooks.helperMissing).call(depth0 != null ? depth0 : container.nullContext || {}, {\n \"name\": \"i18n\",\n \"hash\": {\n \"bundle\": \"courage\",\n \"code\": \"oform.add.another\"\n },\n \"data\": data,\n \"loc\": {\n \"start\": {\n \"line\": 1,\n \"column\": 52\n },\n \"end\": {\n \"line\": 1,\n \"column\": 102\n }\n }\n })) + \"\";\n },\n \"useData\": true\n }),\n params: {\n itemType: 'string'\n },\n events: {\n 'click .array-inputs-button': function (e) {\n e.preventDefault();\n\n if (this.isEditMode()) {\n this.addNewElement();\n }\n }\n },\n initialize: function (options) {\n options || (options = {});\n this.params = oktaUnderscore.defaults(options.params || {}, this.params);\n this.uniqueIdPrefix = 'array';\n },\n // api returns null for an array that does not have value\n // convert it to an empty array\n from: function (val) {\n if (!oktaUnderscore.isArray(val)) {\n return [];\n }\n\n return val;\n },\n // @Override\n editMode: function () {\n this._setArrayObject();\n\n this.$el.html(this.template);\n\n oktaUnderscore.each(this.arrayObject, oktaUnderscore.bind(this._addDeletableBox, this));\n\n return this;\n },\n // @Override\n readMode: function () {\n this.editMode();\n this.$('.array-inputs-button').addClass('link-button-disabled');\n },\n // @Override\n // converts arrayObject to a plain array\n // for string type array, returns all values\n // for number/integer type array, returns values in number type\n val: function () {\n let values = oktaUnderscore.values(this.arrayObject);\n\n if (oktaUnderscore.contains([SchemaUtils.DATATYPE.number, SchemaUtils.DATATYPE.integer], this.params.itemType)) {\n values = oktaUnderscore.filter(values, oktaUnderscore.isNumber);\n }\n\n return values;\n },\n focus: function () {},\n addNewElement: function () {\n const value = '';\n\n const key = oktaUnderscore.uniqueId(this.uniqueIdPrefix);\n\n this.arrayObject[key] = value;\n\n this._addDeletableBox(value, key); // update is called to make sure an empty string value is added for string type array\n\n\n this.update();\n },\n _addDeletableBox: function (value, key) {\n const deletableBox = new DeletableBox(oktaUnderscore.extend(oktaUnderscore.pick(this.options, 'read', 'readOnly', 'model'), {\n key: key,\n value: value,\n itemType: this.params.itemType\n }));\n this.listenTo(deletableBox, 'updateArray', function (updatedValue) {\n if (oktaUnderscore.isNull(updatedValue)) {\n delete this.arrayObject[key];\n this.stopListening(deletableBox);\n } else {\n this.arrayObject[key] = updatedValue;\n }\n\n this.update();\n });\n deletableBox.render().$el.hide();\n this.$('.array-inputs-button').before(deletableBox.el);\n deletableBox.$el.slideDown();\n return deletableBox;\n },\n _setArrayObject: function () {\n const array = this.model.get(this.options.name);\n this.arrayObject = {};\n\n if (oktaUnderscore.isArray(array) && !oktaUnderscore.isEmpty(array)) {\n const keys = [];\n const self = this;\n\n oktaUnderscore(array.length).times(function () {\n keys.push(oktaUnderscore.uniqueId(self.uniqueIdPrefix));\n });\n\n this.arrayObject = oktaUnderscore.object(keys, array);\n }\n }\n});\n\nexport { TextBoxSet as default };\n","// TODO: maybe replaced by\n// https://github.com/Calvein/empty-module\n// https://github.com/crimx/empty-module-loader\nvar ConfirmationDialog = {\n extend: () => {}\n};\n\nexport { ConfirmationDialog as default };\n","export { Collection, Controller, Form, Router, View, createButton, createCallout, internal, loc, registerInput } from './CourageForSigninWidget.js';\nexport { isModelPropertySchema } from './courage/framework/Model.js';\nexport { default as Backbone } from './courage/vendor/lib/backbone.js';\nexport { default as $ } from './courage/util/jquery-wrapper.js';\nexport { default as _ } from './courage/util/underscore-wrapper.js';\nexport { default as Handlebars } from '../lib/handlebars/dist/cjs/handlebars.runtime.js';\nexport { default as Model } from './courage/models/Model.js';\nexport { default as BaseModel } from './courage/models/BaseModel.js';\nexport { default as FrameworkView } from './courage/framework/View.js';\nexport { default as ListView } from './courage/views/Backbone.ListView.js';\n","import oktaJQueryStatic from '../courage/util/jquery-wrapper.js';\n\n/*!\n * jQuery UI Scroll Parent @VERSION\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * Modifications Copyright 2021 Okta, Inc.\n */\n// This is required because SIW doesn't want to include jqueryui even though it's an external dependency of courage\n\noktaJQueryStatic.fn.scrollParent = function (includeHidden) {\n const position = this.css(\"position\"),\n excludeStaticParent = position === \"absolute\",\n overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n scrollParent = this.parents().filter(function () {\n const parent = oktaJQueryStatic(this);\n\n if (excludeStaticParent && parent.css(\"position\") === \"static\") {\n return false;\n }\n\n return overflowRegex.test(parent.css(\"overflow\") + parent.css(\"overflow-y\") + parent.css(\"overflow-x\"));\n }).eq(0);\n return position === \"fixed\" || !scrollParent.length ? oktaJQueryStatic(this[0].ownerDocument || document) : scrollParent;\n};\n","/*\n * Checking in as there is no npm module to consume. \n * Current version is 2.15.\n * Repo - https://github.com/TypingDNA/TypingDnaRecorder-JavaScript\n */\n\n/**\n * TypingDNA - Typing Biometrics JavaScript API\n * https://api.typingdna.com/scripts/typingdna.js\n * https://typingdna.com/scripts/typingdna.js (alternative)\n *\n * @version 2.15\n * @author Raul Popa\n * @copyright SC TypingDNA SRL, http://typingdna.com\n * @license http://www.apache.org/licenses/LICENSE-2.0\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Typical usage:\n * var tdna = new TypingDNA(); // creates a new TypingDNA object and starts recording\n * var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * returns a type 1 typing pattern (and continues recording afterwards)\n *\n * Optional:\n * tdna.stop(); // ends recording and clears history stack (returns recording flag: false)\n * tdna.start(); // restarts the recording after a stop (returns recording flag: true)\n * tdna.reset(); // restarts the recording anytime, clears history stack and starts from scratch (returns nothing)\n * var typingPatternQuality = TypingDNA.getQuality(typingPattern); //returns the quality/strength of any typing pattern\n * (there is no need to initialize the class to do pattern quality checking)\n */\n\n/**\n * Creates a single instance (or a reference) of the TypingDNA class\n * @return {Object} Returns the single instance of the TypingDNA class.\n * @example var tdna = new TypingDNA();\n */\nmodule.exports = function TypingDNA() {\n if (TypingDNA.initialized != true) {\n TypingDNA.prototype.start = function() {\n return TypingDNA.start.apply(this, arguments);\n }\n TypingDNA.prototype.stop = function() {\n return TypingDNA.stop.apply(this, arguments);\n }\n TypingDNA.prototype.reset = function() {\n return TypingDNA.reset.apply(this, arguments);\n }\n TypingDNA.prototype.addTarget = function() {\n return TypingDNA.addTarget.apply(this, arguments);\n }\n TypingDNA.prototype.removeTarget = function() {\n return TypingDNA.removeTarget.apply(this, arguments);\n }\n TypingDNA.prototype.getTypingPattern = function() {\n return TypingDNA.getTypingPattern.apply(this, arguments);\n }\n TypingDNA.prototype.get = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.get.apply(this, arguments);\n }\n TypingDNA.prototype.startDiagram = function() {\n // deprecated in favor of start()\n //return TypingDNA.startDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.stopDiagram = function() {\n // deprecated in favor of stop()\n //return TypingDNA.stopDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getDiagram = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getExtendedDiagram = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getExtendedDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getMouseDiagram = function() {\n return TypingDNA.getMouseDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.startMouse = function() {\n return TypingDNA.startMouse.apply(this, arguments);\n }\n TypingDNA.prototype.stopMouse = function() {\n return TypingDNA.stopMouse.apply(this, arguments);\n }\n TypingDNA.prototype.getQuality = function() {\n return TypingDNA.getQuality.apply(this, arguments);\n }\n TypingDNA.prototype.getLength = function() {\n return TypingDNA.getLength.apply(this, arguments);\n }\n TypingDNA.prototype.isMobile = function() {\n return TypingDNA.isMobile.apply(this, arguments);\n }\n TypingDNA.prototype.getTextId = function() {\n return TypingDNA.getTextId.apply(this, arguments)\n }\n TypingDNA.initialized = true;\n TypingDNA.prototype.maxHistoryLength = TypingDNA.maxHistoryLength;\n TypingDNA.prototype.defaultHistoryLength = TypingDNA.defaultHistoryLength;\n TypingDNA.prototype.maxSeekTime = TypingDNA.maxSeekTime;\n TypingDNA.prototype.maxPressTime = TypingDNA.maxPressTime;\n TypingDNA.version = 2.15;\n TypingDNA.flags = 0;\n TypingDNA.instance = this;\n TypingDNA.document = document;\n TypingDNA.maxHistoryLength = 2000;\n TypingDNA.maxSeekTime = 1500;\n TypingDNA.maxPressTime = 300;\n TypingDNA.defaultHistoryLength = 160;\n TypingDNA.spKeyCodes = [8, 13, 32];\n TypingDNA.spKeyCodesObj = {\n 8: 1,\n 13: 1,\n 32: 1\n };\n TypingDNA.keyCodes = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 32, 222, 188, 190, 186, 187, 189, 191, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57];\n TypingDNA.keyCodesObj = {}\n for (var i in TypingDNA.keyCodes) {\n TypingDNA.keyCodesObj[TypingDNA.keyCodes[i]] = 1;\n }\n TypingDNA.pt1 = TypingDNA.ut1 = (new Date).getTime();\n TypingDNA.wfk = [];\n TypingDNA.sti = [];\n TypingDNA.skt = [];\n TypingDNA.recording = true;\n TypingDNA.mouseRecording = true;\n TypingDNA.mouseMoveRecording = false;\n TypingDNA.spKeyRecording = true;\n TypingDNA.diagramRecording = true;\n TypingDNA.dwfk = [];\n TypingDNA.dsti = [];\n TypingDNA.dskt = [];\n TypingDNA.drkc = [];\n TypingDNA.dlastDownKey;\n TypingDNA.prevKeyCode = 0;\n TypingDNA.maxMoveDeltaTime = 600;\n TypingDNA.maxScrollDeltaTime = 800;\n TypingDNA.maxStopTime = 1500;\n TypingDNA.maxClickTime = 600;\n TypingDNA.maxMouseHistoryLength = 500;\n TypingDNA.lastMouseMoveTime = TypingDNA.lastMouseDownTime = (new Date).getTime();\n TypingDNA.stopTimes = [];\n TypingDNA.clickTimes = [];\n TypingDNA.lastMouseStop = true;\n TypingDNA.zl = 0.0000001;\n TypingDNA.isAndroidChrome = false;\n TypingDNA.ACLastTime = (new Date).getTime();\n TypingDNA.ACSeekTime = 0;\n TypingDNA.ACPressTime = 0;\n TypingDNA.ACLastCharCode = 0;\n TypingDNA.ACLastKeyCode = 0;\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: [],\n };\n TypingDNA.ACPreviousKeyCode = 0;\n TypingDNA.targetIds = [];\n TypingDNA.lastTarget = \"\";\n TypingDNA.lastTargetFound = false;\n TypingDNA.replaceMissingKeys = true;\n TypingDNA.replaceMissingKeysPerc = 7;\n\n TypingDNA.keyDown = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n if (TypingDNA.wfk[keyCode] == 1 || TypingDNA.dwfk[keyCode] == 1) {\n //return;\n }\n if (keyCode == 229 && TypingDNA.isMobile() && !TypingDNA.isAndroidChrome) {\n TypingDNA.isAndroidChrome = true;\n\n TypingDNA.ACSeekTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n\n TypingDNA.document.removeEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.removeEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.removeEventListener(\"keypress\", TypingDNA.keyPress);\n\n // if android\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.ACKeyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.ACKeyUp);\n } else {\n var t0 = TypingDNA.pt1;\n TypingDNA.pt1 = (new Date).getTime();\n var seekTotal = TypingDNA.pt1 - t0;\n var startTime = TypingDNA.pt1;\n if (TypingDNA.recording == true || (TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true)) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n TypingDNA.wfk[keyCode] = 1;\n TypingDNA.skt[keyCode] = seekTotal;\n TypingDNA.sti[keyCode] = startTime;\n }\n }\n if (TypingDNA.diagramRecording == true) {\n TypingDNA.dwfk[keyCode] = 1;\n TypingDNA.dskt[keyCode] = seekTotal;\n TypingDNA.dsti[keyCode] = startTime;\n TypingDNA.dlastDownKey = keyCode;\n }\n }\n }\n\n TypingDNA.keyPress = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if (TypingDNA.diagramRecording == true) {\n var keyCode = TypingDNA.dlastDownKey;\n TypingDNA.drkc[keyCode] = e.charCode;\n }\n }\n\n TypingDNA.keyUp = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var ut = (new Date).getTime();\n var keyCode = e.keyCode;\n if (TypingDNA.recording == true || (TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true)) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n if (TypingDNA.wfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.sti[keyCode];\n var seekTime = TypingDNA.skt[keyCode];\n var arr = [keyCode, seekTime, pressTime, TypingDNA.prevKeyCode, ut, e.target.id];\n TypingDNA.history.add(arr);\n TypingDNA.prevKeyCode = keyCode;\n }\n }\n TypingDNA.wfk[keyCode] = 0;\n }\n if (TypingDNA.diagramRecording == true) {\n if (TypingDNA.drkc[keyCode] != undefined && TypingDNA.drkc[keyCode] != 0) {\n if (TypingDNA.dwfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.dsti[keyCode];\n var seekTime = TypingDNA.dskt[keyCode];\n var realKeyCode = TypingDNA.drkc[keyCode];\n var arrD = [keyCode, seekTime, pressTime, realKeyCode, ut, e.target.id];\n TypingDNA.history.addDiagram(arrD);\n }\n }\n TypingDNA.dwfk[keyCode] = 0;\n }\n }\n\n TypingDNA.mouseScroll = function(e) {\n if (TypingDNA.mouseRecording == true) {\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.scrollStarted == true) {\n var currentTime = (new Date).getTime();\n TypingDNA.mouse.scrollTimes.push(currentTime);\n TypingDNA.mouse.scrollTopArr.push(TypingDNA.document.body.scrollTop);\n clearInterval(TypingDNA.scrollInterval);\n TypingDNA.scrollInterval = setInterval(TypingDNA.mouse.checkScroll, TypingDNA.maxScrollDeltaTime);\n } else {\n TypingDNA.mouse.scrollStarted = true\n }\n }\n }\n }\n\n TypingDNA.mouseMove = function(e) {\n if (TypingDNA.mouseRecording == true) {\n var currentTime = (new Date).getTime();\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.times.push(currentTime);\n TypingDNA.mouse.xPositions.push(e.screenX);\n TypingDNA.mouse.yPositions.push(e.screenY);\n clearInterval(TypingDNA.moveInterval);\n TypingDNA.moveInterval = setInterval(TypingDNA.mouse.checkMove, TypingDNA.maxMoveDeltaTime);\n } else {\n TypingDNA.mouse.started = true;\n }\n }\n TypingDNA.lastMouseMoveTime = currentTime;\n }\n }\n\n TypingDNA.mouseDown = function(e) {\n if (TypingDNA.mouseRecording == true) {\n TypingDNA.mouse.checkMove();\n TypingDNA.mouse.checkScroll();\n if (e.which == 1) {\n TypingDNA.lastMouseDownTime = (new Date).getTime();\n var stopTime = TypingDNA.lastMouseDownTime - TypingDNA.lastMouseMoveTime;\n if (stopTime < TypingDNA.maxStopTime && TypingDNA.lastMouseStop == false) {\n TypingDNA.stopTimes.push(stopTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 3;\n var arr = [eventType, stopTime];\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = true;\n }\n }\n }\n }\n }\n\n TypingDNA.mouseUp = function(e) {\n if (TypingDNA.mouseRecording == true) {\n if (e.which == 1) {\n var clickTime = (new Date).getTime() - TypingDNA.lastMouseDownTime;\n if (clickTime < TypingDNA.maxClickTime && TypingDNA.lastMouseDownTime > TypingDNA.lastMouseMoveTime) {\n TypingDNA.clickTimes.push(clickTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 4;\n var arr = [eventType, clickTime];\n TypingDNA.mouse.history.add(arr);\n }\n }\n }\n }\n }\n\n TypingDNA.ACKeyDown = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACSeekTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if(TypingDNA.ACInputLengths.inputs.indexOf(e.target) === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n }\n }\n\n TypingDNA.ACKeyUp = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACPressTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n var targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n if(targetIndex === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n }\n if (keyCode == 229 && e.target.value.length >= TypingDNA.ACInputLengths.lastLength[targetIndex]) {\n var char = e.target.value.substr((e.target.selectionStart - 1) || 0 , 1);\n keyCode = char.toUpperCase().charCodeAt(0);\n TypingDNA.ACLastCharCode = char.charCodeAt(0);\n TypingDNA.ACLastKeyCode = char.toUpperCase().charCodeAt(0);\n }\n TypingDNA.ACInputLengths.lastLength[targetIndex] = e.target.value.length;\n var arr = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACPreviousKeyCode, TypingDNA.ACLastTime];\n TypingDNA.history.add(arr);\n TypingDNA.ACPreviousKeyCode = keyCode;\n if (TypingDNA.diagramRecording == true ) {\n var arrD = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACLastCharCode];\n TypingDNA.history.addDiagram(arrD);\n }\n }\n\n TypingDNA.isTarget = function(target) {\n if (TypingDNA.lastTarget == target && TypingDNA.lastTargetFound) {\n return true;\n } else {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = targetFound;\n return targetFound;\n } else {\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = true;\n return true;\n }\n }\n }\n\n if (TypingDNA.document.addEventListener) {\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.addEventListener(\"keypress\", TypingDNA.keyPress);\n TypingDNA.document.addEventListener(\"mousemove\", TypingDNA.mouseMove);\n TypingDNA.document.addEventListener(\"mousedown\", TypingDNA.mouseDown);\n TypingDNA.document.addEventListener(\"mouseup\", TypingDNA.mouseUp);\n TypingDNA.document.addEventListener(\"scroll\", TypingDNA.mouseScroll);\n } else if (TypingDNA.document.attachEvent) {\n TypingDNA.document.attachEvent(\"onkeydown\", TypingDNA.keyDown);\n TypingDNA.document.attachEvent(\"onkeyup\", TypingDNA.keyUp);\n TypingDNA.document.attachEvent(\"onkeypress\", TypingDNA.keyPress);\n TypingDNA.document.attachEvent(\"onmousemove\", TypingDNA.mouseMove);\n TypingDNA.document.attachEvent(\"onmousedown\", TypingDNA.mouseDown);\n TypingDNA.document.attachEvent(\"onmouseup\", TypingDNA.mouseUp);\n TypingDNA.document.attachEvent(\"onscroll\", TypingDNA.mouseScroll);\n } else {\n console.log(\"browser not supported\");\n }\n\n TypingDNA.mouse = {};\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n TypingDNA.mouse.history = {};\n TypingDNA.mouse.history.stack = [];\n\n TypingDNA.mouse.getDistance = function(a, b) {\n return Math.sqrt((a * a) + (b * b));\n }\n\n TypingDNA.mouse.getTotalDistance = function(xPositions, yPositions) {\n var totalDistance = 0;\n var length = xPositions.length;\n for (i = 1; i < length - 1; i++) {\n var a = xPositions[i] - xPositions[i - 1];\n var b = yPositions[i] - yPositions[i - 1];\n totalDistance += TypingDNA.mouse.getDistance(a, b);\n }\n return totalDistance;\n }\n\n TypingDNA.mouse.getAngle = function(xPosDelta, yPosDelta) {\n var angle = 0;\n var leftRight = (xPosDelta >= 0); // 1 if left, 0 if right\n var downUp = (yPosDelta < 0); // 1 if down, 0 if up\n if (leftRight) {\n if (downUp) {\n angle = 180 + (Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251)) // 0.01745329251 = pi/180\n } else {\n angle = 270 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251))\n }\n } else {\n if (downUp) {\n angle = 90 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251))\n } else {\n angle = Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251)\n }\n }\n return angle;\n }\n\n TypingDNA.mouse.recordMoveAction = function() {\n var length = TypingDNA.mouse.times.length;\n if (length < 3) {\n return;\n }\n var deltaTime = TypingDNA.mouse.times[length - 1] - TypingDNA.mouse.times[0];\n var xPosDelta = TypingDNA.mouse.xPositions[length - 1] - TypingDNA.mouse.xPositions[0];\n var yPosDelta = TypingDNA.mouse.yPositions[length - 1] - TypingDNA.mouse.yPositions[0];\n var directDistance = Math.round(TypingDNA.mouse.getDistance(xPosDelta, yPosDelta));\n var totalDistance = Math.round(TypingDNA.mouse.getTotalDistance(TypingDNA.mouse.xPositions, TypingDNA.mouse.yPositions));\n var ratioDistance = Math.round(totalDistance * 100 / directDistance);\n var speed = Math.round(directDistance * 100 / deltaTime);\n var angle = TypingDNA.mouse.getAngle(xPosDelta, yPosDelta);\n var eventType = 1;\n var arr = [eventType, deltaTime, directDistance, speed, angle, ratioDistance];\n for (i in arr) {\n if (isNaN(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = false;\n }\n\n TypingDNA.mouse.recordScrollAction = function() {\n var length = TypingDNA.mouse.scrollTimes.length;\n if (length < 2) {\n return;\n }\n var deltaTime = TypingDNA.mouse.scrollTimes[length - 1] - TypingDNA.mouse.scrollTimes[0];\n var directDistance = TypingDNA.mouse.scrollTopArr[length - 1] - TypingDNA.mouse.scrollTopArr[0];\n var speed = Math.round(directDistance * 100 / deltaTime);\n var eventType = 2;\n var arr = [eventType, deltaTime, directDistance, speed];\n for (i in arr) {\n if (isNaN(arr[i]) && !isFinite(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n }\n\n TypingDNA.mouse.history.add = function(arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxMouseHistoryLength) {\n this.stack.shift();\n }\n }\n\n TypingDNA.mouse.history.getDiagram = function() {\n var mouseDiagram = this.stack.join(\"|\");\n return [String(TypingDNA.isMobile()) + \",\" + String(TypingDNA.version), mouseDiagram].join(\"|\");\n }\n\n TypingDNA.mouse.clearLastMove = function() {\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n }\n\n TypingDNA.mouse.checkMove = function() {\n clearInterval(TypingDNA.moveInterval);\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.started = false;\n TypingDNA.mouse.recordMoveAction();\n TypingDNA.mouse.clearLastMove();\n }\n }\n\n TypingDNA.mouse.clearLastScroll = function() {\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n }\n\n TypingDNA.mouse.checkScroll = function() {\n clearInterval(TypingDNA.scrollInterval);\n if (TypingDNA.mouse.scrollStarted == true) {\n TypingDNA.mouse.scrollStarted = false;\n TypingDNA.mouse.recordScrollAction();\n TypingDNA.mouse.clearLastScroll();\n }\n }\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.addTarget = function(target) {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n if (!targetFound) {\n TypingDNA.targetIds.push(target);\n }\n } else {\n TypingDNA.targetIds.push(target);\n }\n }\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.removeTarget = function(target) {\n var targetLength = TypingDNA.targetIds.length;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n TypingDNA.targetIds.splice(i, 1);\n break;\n }\n }\n }\n }\n\n /**\n * Resets the history stack\n */\n TypingDNA.reset = function(all) {\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n TypingDNA.clickTimes = [];\n TypingDNA.stopTimes = [];\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: [],\n };\n if (all == true) {\n TypingDNA.mouse.history.stack = [];\n }\n }\n\n /**\n * Automatically called at initilization. It starts the recording of keystrokes.\n */\n TypingDNA.start = function() {\n TypingDNA.diagramRecording = true;\n return TypingDNA.recording = true;\n }\n\n /**\n * Ends the recording of further keystrokes. To restart recording afterwards you can\n * either call TypingDNA.start() or create a new TypingDNA object again, not recommended.\n */\n TypingDNA.stop = function() {\n TypingDNA.diagramRecording = false;\n return TypingDNA.recording = false;\n }\n\n /**\n * Starts the recording of mouse activity.\n */\n TypingDNA.startMouse = function() {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = true;\n }\n\n /**\n * Stops the recording of mouse activity.\n */\n TypingDNA.stopMouse = function() {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = false;\n }\n\n /**\n * This is the main function that outputs the typing pattern as a String\n * {type:Number, text:String, textId:Number, length: Number, targetId:String, caseSensitive:Boolean}\n * @param {Object} obj an object with the following properties\n * * * @param {String} type 0 for anytext pattern, 1 for sametext pattern (also called diagram pattern)\n * * * and 2 for extended pattern (most versatile, can replace both anytext and sametext patterns)\n * * * @param {Number} length (Optional) the length of the text in the history for which you want\n * * * the typing pattern. length is ignored when text or targetId is set (or both).\n * * * @param {String} text (Only for type 1 and type 2) a typed string that you want the typing pattern for\n * * * @param {Number} textId (Optional, only for type 1 and type 2) a personalized id for the typed text\n * * * @param {String} targetId (Optional) specifies if pattern is obtain only from text typed in a certain target\n * * * @param {Boolean} caseSensitive (Optional, default: false) Used if you pass a text for type 1 or type 2\n * * * DEPRECATED * * * in favor of type = 2 * * *\n * * * @param {Boolean} extended (Only for type 1) specifies if full information about what was typed is produced,\n * * * including the actual key pressed, if false, only the order of pressed keys is kept (no actual content)\n * @return {String} A typing pattern in string form\n * @example var typingPattern = tdna.getTypingPattern({type=0, length=180});\n * @example var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * @example var typingPattern = tdna.getTypingPattern({type=2, text=\"example@mail.com\"});\n */\n TypingDNA.getTypingPattern = function(obj) {\n if (typeof obj === 'object') {\n switch (obj.type) {\n case 0:\n return TypingDNA.get(obj.length, obj.targetId);\n break;\n case 1:\n var str = (obj.text != undefined) ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(obj.extended, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n case 2:\n var str = (obj.text != undefined) ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(true, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n default:\n return TypingDNA.get(obj.length);\n break;\n }\n } else {\n return TypingDNA.get();\n }\n }\n\n TypingDNA.getDiagram = function(str, textId) {\n return TypingDNA.history.getDiagram(false, str, textId, undefined, false);\n }\n\n TypingDNA.getExtendedDiagram = function(str, textId) {\n return TypingDNA.history.getDiagram(true, str, textId, undefined, false);\n }\n\n TypingDNA.getMouseDiagram = function() {\n return TypingDNA.mouse.history.getDiagram();\n }\n\n TypingDNA.get = function(length, targetId) {\n var historyTotalLength = TypingDNA.history.stack.length;\n if (length == undefined || length == 0) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n var obj = {};\n [obj.arr, targetLength] = TypingDNA.history.get(length, \"\", targetId);\n if (targetId != undefined && targetId != \"\") {\n length = targetLength;\n }\n var zl = TypingDNA.zl;\n var histRev = length;\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(length, \"seek\", targetId));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(length, \"press\", targetId));\n var pressHistMean = Math.round(TypingDNA.math.avg(histPrtF));\n var seekHistMean = Math.round(TypingDNA.math.avg(histSktF));\n var pressHistSD = Math.round(TypingDNA.math.sd(histPrtF));\n var seekHistSD = Math.round(TypingDNA.math.sd(histSktF));\n var charMeanTime = seekHistMean + pressHistMean;\n var pressRatio = TypingDNA.math.rd((pressHistMean + zl) / (charMeanTime + zl), 4);\n var seekToPressRatio = TypingDNA.math.rd((1 - pressRatio) / pressRatio, 4);\n var pressSDToPressRatio = TypingDNA.math.rd((pressHistSD + zl) / (pressHistMean + zl), 4);\n var seekSDToPressRatio = TypingDNA.math.rd((seekHistSD + zl) / (pressHistMean + zl), 4);\n var cpm = Math.round(6E4 / (charMeanTime + zl));\n if (histRev == 0) {\n cpm = 0;\n }\n for (var i in obj.arr) {\n var rev = obj.arr[i][1].length;\n var seekMean = 0;\n var pressMean = 0;\n var postMean = 0;\n var seekSD = 0;\n var pressSD = 0;\n var postSD = 0;\n switch (obj.arr[i][0].length) {\n case 0:\n break;\n case 1:\n var seekMean = TypingDNA.math.rd((obj.arr[i][0][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][0]);\n seekMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n seekSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n switch (obj.arr[i][1].length) {\n case 0:\n break;\n case 1:\n var pressMean = TypingDNA.math.rd((obj.arr[i][1][0] + zl) / (pressHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][1]);\n pressMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (pressHistMean + zl), 4);\n pressSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (pressHistSD + zl), 4);\n }\n switch (obj.arr[i][2].length) {\n case 0:\n break;\n case 1:\n var postMean = TypingDNA.math.rd((obj.arr[i][2][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][2]);\n postMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n postSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n delete obj.arr[i][2];\n delete obj.arr[i][1];\n delete obj.arr[i][0];\n obj.arr[i][0] = rev;\n obj.arr[i][1] = seekMean;\n obj.arr[i][2] = pressMean;\n obj.arr[i][3] = postMean;\n obj.arr[i][4] = seekSD;\n obj.arr[i][5] = pressSD;\n obj.arr[i][6] = postSD;\n }\n var arr = [];\n TypingDNA.apu(arr, histRev);\n TypingDNA.apu(arr, cpm);\n TypingDNA.apu(arr, charMeanTime);\n TypingDNA.apu(arr, pressRatio);\n TypingDNA.apu(arr, seekToPressRatio);\n TypingDNA.apu(arr, pressSDToPressRatio);\n TypingDNA.apu(arr, seekSDToPressRatio);\n TypingDNA.apu(arr, pressHistMean);\n TypingDNA.apu(arr, seekHistMean);\n TypingDNA.apu(arr, pressHistSD);\n TypingDNA.apu(arr, seekHistSD);\n for (var c = 0; c <= 6; c++) {\n for (var i = 0; i < 44; i++) {\n var keyCode = TypingDNA.keyCodes[i];\n var val = obj.arr[keyCode][c];\n if (val == 0 && c > 0) {\n val = 1;\n }\n TypingDNA.apu(arr, val);\n }\n }\n TypingDNA.apu(arr, TypingDNA.isMobile());\n TypingDNA.apu(arr, TypingDNA.version);\n TypingDNA.apu(arr, TypingDNA.flags);\n arr.push(TypingDNA.history.getSpecialKeys());\n return arr.join(\",\");\n }\n\n TypingDNA.apu = function(arr, val) {\n \"NaN\" == String(val) && (val = 0);\n arr.push(val);\n }\n\n TypingDNA.math = {};\n\n TypingDNA.math.rd = function(val, dec) {\n return Number(val.toFixed(dec));\n }\n\n TypingDNA.math.avg = function(arr) {\n var len = arr.length;\n if (len > 0) {\n var sum = 0;\n for (var i = 0; i < len; i++) {\n sum += arr[i];\n }\n return this.rd(sum / len, 4);\n } else {\n return 0;\n }\n }\n\n TypingDNA.math.sd = function(arr) {\n var len = arr.length;\n if (len < 2) {\n return 0;\n } else {\n var sumVS = 0;\n var mean = this.avg(arr);\n for (var i = 0; i < len; i++) {\n sumVS += (arr[i] - mean) * (arr[i] - mean);\n }\n var sd = Math.sqrt(sumVS / len);\n return sd;\n }\n }\n\n TypingDNA.math.fo = function(arr) {\n if (arr.length > 1) {\n var values = arr.concat();\n var len = arr.length;\n values.sort(function(a, b) {\n return a - b;\n });\n var asd = this.sd(values);\n var aMean = values[Math.ceil(arr.length / 2)];\n var multiplier = 2;\n var maxVal = aMean + multiplier * asd;\n var minVal = aMean - multiplier * asd;\n if (len < 20) {\n minVal = 0;\n }\n var fVal = [];\n for (var i = 0; i < len; i++) {\n var tempval = values[i];\n if (tempval < maxVal && tempval > minVal) {\n fVal.push(tempval);\n }\n }\n return fVal;\n } else {\n return arr;\n }\n }\n\n // Calculate a 32 bit FNV-1a hash\n TypingDNA.math.fnv1aHash = function(str) {\n if (str == undefined && typeof str !== 'string') {\n return 0;\n }\n str = str.toLowerCase();\n var i, l;\n var hval = 0x721b5ad4;\n for (i = 0, l = str.length; i < l; i++) {\n hval ^= str.charCodeAt(i);\n hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n }\n return hval >>> 0;\n }\n\n TypingDNA.history = {};\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n\n TypingDNA.history.add = function(arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxHistoryLength) {\n this.stack.shift();\n }\n }\n\n TypingDNA.history.addDiagram = function(arr) {\n this.stackDiagram.push(arr);\n }\n\n TypingDNA.history.getDiagram = function(extended, str, textId, targetId, caseSensitive) {\n var caseSensitive = (caseSensitive != undefined) ? caseSensitive : (str == undefined || str == \"\");\n var returnArr = [];\n var diagramType = (extended == true) ? 1 : 0;\n var stackDiagram = this.stackDiagram;\n if (targetId != undefined && targetId != \"\" && stackDiagram.length > 0) {\n stackDiagram = TypingDNA.sliceStackByTargetId(stackDiagram, targetId);\n if (str == undefined || str == \"\") {\n var element = TypingDNA.document.getElementById(targetId);\n if (element != null) {\n str = element.value;\n }\n }\n } else {\n var targetLength = TypingDNA.targetIds.length;\n if (str == undefined || str == \"\") {\n if (targetLength > 0) {\n str = \"\";\n for (var i = 0; i < targetLength; i++) {\n var element = TypingDNA.document.getElementById(TypingDNA.targetIds[i]);\n if (element != null) {\n str += element.value;\n }\n }\n } else {\n if (!extended) {\n console.log(\"Please use extended pattern OR provide a fixed string param OR use the addTarget method.\");\n }\n }\n }\n }\n var missingCount = 0;\n var diagramHistoryLength = stackDiagram.length;\n var strLength = diagramHistoryLength;\n if (typeof str === 'string') {\n strLength = str.length;\n } else if (typeof str === 'number' && str < diagramHistoryLength) {\n strLength = str;\n }\n var returnTextId = 0;\n if (textId != undefined) {\n if (isNaN(parseInt(textId))) {\n returnTextId = TypingDNA.math.fnv1aHash(textId);\n } else {\n returnTextId = parseInt(textId);\n }\n } else {\n if (typeof str === 'string') {\n returnTextId = TypingDNA.math.fnv1aHash(str);\n }\n }\n returnArr.push([TypingDNA.isMobile(), TypingDNA.version, TypingDNA.flags, diagramType, strLength, returnTextId, TypingDNA.history.getSpecialKeys()]);\n if (str != undefined && str.length > 0 && typeof str === 'string') {\n var strLower = str.toLowerCase();\n var strUpper = str.toUpperCase();\n var lastFoundPos = [];\n var lastPos = 0;\n var strUpperCharCode;\n var currentSensitiveCharCode;\n for (var i = 0; i < str.length; i++) {\n var currentCharCode = str.charCodeAt(i);\n if (!caseSensitive) {\n strUpperCharCode = strUpper.charCodeAt(i);\n currentSensitiveCharCode = (strUpperCharCode != currentCharCode) ? strUpperCharCode : strLower.charCodeAt(i);\n }\n var startPos = lastPos;\n var finishPos = diagramHistoryLength;\n var found = false;\n while (found == false) {\n for (var j = startPos; j < finishPos; j++) {\n var arr = stackDiagram[j];\n var charCode = arr[3];\n if (charCode == currentCharCode || (!caseSensitive && charCode == currentSensitiveCharCode)) {\n found = true;\n if (j == lastPos) {\n lastPos++;\n lastFoundPos = [];\n } else {\n lastFoundPos.push(j);\n var len = lastFoundPos.length;\n if (len > 1 && lastFoundPos[len - 1] == lastFoundPos[len - 2] + 1) {\n lastPos = j + 1;\n lastFoundPos = [];\n }\n }\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n break;\n }\n }\n if (found == false) {\n if (startPos != 0) {\n startPos = 0;\n finishPos = lastPos;\n } else {\n found = true;\n if (TypingDNA.replaceMissingKeys) {\n missingCount++;\n if (typeof TypingDNA.savedMissingAvgValues !== 'object' || TypingDNA.savedMissingAvgValues.historyLength != diagramHistoryLength) {\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(0, \"seek\"));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(0, \"press\"));\n var seekTime = Math.round(TypingDNA.math.avg(histSktF));\n var pressTime = Math.round(TypingDNA.math.avg(histPrtF));\n TypingDNA.savedMissingAvgValues = {\n seekTime: seekTime,\n pressTime: pressTime,\n historyLength: diagramHistoryLength\n };\n } else {\n var seekTime = TypingDNA.savedMissingAvgValues.seekTime;\n var pressTime = TypingDNA.savedMissingAvgValues.pressTime;\n }\n var missing = 1;\n if (extended) {\n returnArr.push([currentCharCode, seekTime, pressTime, currentCharCode, missing]);\n } else {\n returnArr.push([seekTime, pressTime, missing]);\n }\n break;\n }\n }\n }\n }\n if (TypingDNA.replaceMissingKeysPerc < missingCount * 100 / strLength) {\n return null;\n }\n }\n } else {\n var startCount = 0;\n if (typeof str === 'number') {\n startCount = diagramHistoryLength - str;\n }\n if (startCount < 0) {\n startCount = 0;\n }\n for (var i = startCount; i < diagramHistoryLength; i++) {\n var arr = stackDiagram[i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n var charCode = arr[3];\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n }\n }\n return returnArr.join(\"|\");\n }\n\n TypingDNA.sliceStackByTargetId = function(stack, targetId) {\n var length = stack.length;\n var newStack = [];\n for (i = 0; i < length; i++) {\n var arr = stack[i];\n if (arr[5] == targetId) {\n newStack.push(arr);\n }\n }\n return newStack;\n }\n\n TypingDNA.history.get = function(length, type, targetId) {\n var stack = this.stack;\n if (targetId != undefined && targetId != \"\" && stack.length > 0) {\n stack = TypingDNA.sliceStackByTargetId(stack, targetId);\n }\n var historyTotalLength = stack.length;\n if (length == 0 || length == undefined) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n switch (type) {\n case \"seek\":\n var seekArr = [];\n for (i = 1; i <= length; i++) {\n var seekTime = stack[historyTotalLength - i][1];\n if (seekTime <= TypingDNA.maxSeekTime) {\n seekArr.push(seekTime);\n }\n };\n return seekArr;\n break;\n case \"press\":\n var pressArr = [];\n for (i = 1; i <= length; i++) {\n var pressTime = stack[historyTotalLength - i][2];\n if (pressTime <= TypingDNA.maxPressTime) {\n pressArr.push(pressTime);\n }\n };\n return pressArr;\n break;\n default:\n var historyStackObj = {};\n for (var i in TypingDNA.keyCodes) {\n historyStackObj[TypingDNA.keyCodes[i]] = [\n [],\n [],\n []\n ];\n }\n for (i = 1; i <= length; i++) {\n var arr = stack[historyTotalLength - i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n var prevKeyCode = arr[3];\n if (TypingDNA.keyCodesObj[keyCode]) {\n if (seekTime <= TypingDNA.maxSeekTime) {\n historyStackObj[keyCode][0].push(seekTime);\n if (prevKeyCode != 0 && TypingDNA.keyCodesObj[prevKeyCode]) {\n historyStackObj[prevKeyCode][2].push(seekTime);\n }\n }\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][1].push(pressTime);\n }\n }\n };\n return [historyStackObj, length];\n }\n }\n\n TypingDNA.history.getSpecialKeys = function() {\n var returnArr = [];\n var length = this.stack.length;\n var historyStackObj = {};\n for (var i in TypingDNA.spKeyCodes) {\n historyStackObj[TypingDNA.spKeyCodes[i]] = [\n [],\n ];\n }\n for (i = 1; i <= length; i++) {\n var arr = this.stack[length - i];\n if (TypingDNA.spKeyCodesObj[arr[0]]) {\n var keyCode = arr[0];\n var pressTime = arr[2];\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][0].push(pressTime);\n }\n }\n }\n for (var i in TypingDNA.spKeyCodes) {\n var arr = TypingDNA.math.fo(historyStackObj[TypingDNA.spKeyCodes[i]][0]);\n var arrLen = arr.length;\n returnArr.push(arrLen);\n if (arrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(arr)));\n returnArr.push(Math.round(TypingDNA.math.sd(arr)));\n } else if (arrLen == 1) {\n returnArr.push([arr[0], -1]);\n } else {\n returnArr.push([-1, -1]);\n }\n }\n var clicksArrLen = TypingDNA.clickTimes.length;\n returnArr.push(clicksArrLen);\n if (clicksArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.clickTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.clickTimes)));\n } else if (clicksArrLen == 1) {\n returnArr.push(TypingDNA.clickTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n var stopArrLen = TypingDNA.stopTimes.length;\n returnArr.push(stopArrLen);\n if (stopArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.stopTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.stopTimes)));\n } else if (stopArrLen == 1) {\n returnArr.push(TypingDNA.stopTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n return returnArr;\n }\n\n /**\n * Checks the quality of a typing pattern, how well it is revelated, how useful the\n * information will be for matching applications. It returns a value between 0 and 1.\n * Values over 0.3 are acceptable, however a value over 0.7 shows good pattern strength.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A close to 1 value means a stronger pattern.\n * @example var quality = tdna.getQuality(typingPattern);\n */\n TypingDNA.getQuality = function(typingPattern) {\n var obj = typingPattern.split(\",\");\n for (i = 0; i < obj.length; i++) {\n obj[i] = Number(obj[i]);\n }\n var totalEvents = obj[0];\n var acc = rec = avgAcc = 0;\n var avg = TypingDNA.math.avg(obj);\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i] > 0);\n acc += Number(revs[i] > 4);\n avgAcc += Number(revs[i] > avg);\n }\n var tReturn = Math.sqrt(rec * acc * avgAcc) / 80;\n return tReturn > 1 ? 1 : tReturn;\n }\n\n /**\n * Checks the validity of a typing pattern if recorded on mobile.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A number larger than 0.7 usually means a valid pattern.\n * @example var quality = tdna.checkMobileValidity(typingPattern);\n */\n TypingDNA.checkMobileValidity = function(typingPattern) {\n var obj = typingPattern.split(\",\");\n var totalEvents = obj[0];\n if (totalEvents == 0) {\n return 0;\n }\n var rec = 0;\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i]);\n }\n return rec / totalEvents;\n }\n\n TypingDNA.getLength = function(typingPattern) {\n return Number(typingPattern.split(\",\")[1]);\n }\n\n TypingDNA.isMobile = function() {\n if (TypingDNA.mobile != undefined) {\n return TypingDNA.mobile;\n } else {\n var check = 0;\n (function(a) {\n if (\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i\n .test(a) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\n .test(a.substr(0, 4))) {\n check = 1\n }\n })(navigator.userAgent || navigator.vendor || window.opera);\n TypingDNA.mobile = check;\n return check;\n }\n }\n\n TypingDNA.getTextId = function(str) {\n return TypingDNA.math.fnv1aHash(str);\n }\n } else {\n // TypingDNA is a static class, currently doesn't support actual multiple instances (Singleton implementation)\n return TypingDNA.instance;\n }\n}\n","/**\n * \n * This file has been modified to override doPostBack\n * Check out the doPostBack function below for more details.\n * Override the doPostBack function when upgrading.\n * Unable to make a wrapper because it is invoked using an internal name within \n * this library.\n * \n * Current Verison = https://github.com/duosecurity/duo_web_sdk/blob/7aec8dd895ea4bd4549069e76076850eccfe07f2/index.js\n * PS: they dont seem to version correctly hence using commit.\n */\n\n/**\n * Duo Web SDK v2\n * Copyright 2019, Duo Security\n */\n\n// Modified to remove AMD and support ESM transform - OKTA-369648\n(function (root, factory) {\n module.exports = factory();\n}(this, function() {\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\n var VALID_OPEN_WINDOW_DOMAINS = [\n 'duo.com',\n 'duosecurity.com',\n 'duomobile.s3-us-west-1.amazonaws.com'\n ];\n\n var postAction,\n postArgument,\n host,\n sigRequest,\n duoSig,\n appSig,\n iframe,\n submitCallback;\n\n // We use this function instead of setting initial values in the var\n // declarations to make sure the initial values and subsequent\n // re-initializations are always the same.\n initializeStatefulVariables();\n\n /**\n * Set local variables to whatever they should be before you call init().\n */\n function initializeStatefulVariables() {\n postAction = '';\n postArgument = 'sig_response';\n host = undefined;\n sigRequest = undefined;\n duoSig = undefined;\n appSig = undefined;\n iframe = undefined;\n submitCallback = undefined;\n }\n\n function throwError(message, givenUrl) {\n var url = (\n givenUrl ||\n 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe'\n );\n throw new Error(\n 'Duo Web SDK error: ' + message +\n (url ? ('\\n' + 'See ' + url + ' for more information') : '')\n );\n }\n\n function hyphenize(str) {\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\n }\n\n // cross-browser data attributes\n function getDataAttribute(element, name) {\n if ('dataset' in element) {\n return element.dataset[name];\n } else {\n return element.getAttribute('data-' + hyphenize(name));\n }\n }\n\n // cross-browser event binding/unbinding\n function on(context, event, fallbackEvent, callback) {\n if ('addEventListener' in window) {\n context.addEventListener(event, callback, false);\n } else {\n context.attachEvent(fallbackEvent, callback);\n }\n }\n\n function off(context, event, fallbackEvent, callback) {\n if ('removeEventListener' in window) {\n context.removeEventListener(event, callback, false);\n } else {\n context.detachEvent(fallbackEvent, callback);\n }\n }\n\n function onReady(callback) {\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function offReady(callback) {\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function onMessage(callback) {\n on(window, 'message', 'onmessage', callback);\n }\n\n function offMessage(callback) {\n off(window, 'message', 'onmessage', callback);\n }\n\n /**\n * Parse the sig_request parameter, throwing errors if the token contains\n * a server error or if the token is invalid.\n *\n * @param {String} sig Request token\n */\n function parseSigRequest(sig) {\n if (!sig) {\n // nothing to do\n return;\n }\n\n // see if the token contains an error, throwing it if it does\n if (sig.indexOf('ERR|') === 0) {\n throwError(sig.split('|')[1]);\n }\n\n // validate the token\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\n throwError(\n 'Duo was given a bad token. This might indicate a configuration ' +\n 'problem with one of Duo\\'s client libraries.'\n );\n }\n\n var sigParts = sig.split(':');\n\n // hang on to the token, and the parsed duo and app sigs\n sigRequest = sig;\n duoSig = sigParts[0];\n appSig = sigParts[1];\n\n return {\n sigRequest: sig,\n duoSig: sigParts[0],\n appSig: sigParts[1]\n };\n }\n\n /**\n * Validate that a MessageEvent came from the Duo service, and that it\n * is a properly formatted payload.\n *\n * The Google Chrome sign-in page injects some JS into pages that also\n * make use of postMessage, so we need to do additional validation above\n * and beyond the origin.\n *\n * @param {MessageEvent} event Message received via postMessage\n */\n function isDuoMessage(event) {\n return Boolean(\n event.origin === ('https://' + host) &&\n typeof event.data === 'string' &&\n (\n event.data.match(DUO_MESSAGE_FORMAT) ||\n event.data.match(DUO_ERROR_FORMAT) ||\n event.data.match(DUO_OPEN_WINDOW_FORMAT)\n )\n );\n }\n\n /**\n * Validate the request token and prepare for the iframe to become ready.\n *\n * All options below can be passed into an options hash to `Duo.init`, or\n * specified on the iframe using `data-` attributes.\n *\n * Options specified using the options hash will take precedence over\n * `data-` attributes.\n *\n * Example using options hash:\n * ```javascript\n * Duo.init({\n * iframe: \"some_other_id\",\n * host: \"api-main.duo.test\",\n * sig_request: \"...\",\n * post_action: \"/auth\",\n * post_argument: \"resp\"\n * });\n * ```\n *\n * Example using `data-` attributes:\n * ```html\n * \n * ```\n *\n * Some browsers (especially embedded browsers) don't like it when the Duo\n * Web SDK changes the `src` attribute on the iframe. To prevent this, there\n * is an alternative way to use the Duo Web SDK:\n *\n * Add a div (or any other container element) instead of an iframe to the\n * DOM with an id of \"duo_iframe\", or pass that element to the\n * `iframeContainer` parameter of `Duo.init`. An iframe will be created and\n * inserted into that container element, preventing `src` change related\n * bugs. WARNING: All other elements in the container will be deleted.\n *\n * The `iframeAttributes` parameter of `Duo.init` is available to set any\n * attributes on the inserted iframe if the Duo Web SDK is inserting the\n * iframe. For details, see the parameter documentation below.\n *\n * @param {Object} options\n * @param {String} options.host - Hostname for the Duo Prompt.\n * @param {String} options.sig_request - Request token.\n * @param {String|HTMLElement} [options.iframe] - The iframe, or id of an\n * iframe that will be used for the Duo Prompt. If you don't provide\n * this or the `iframeContainer` parameter the Duo Web SDK will default\n * to using whatever element has an id of \"duo_iframe\".\n * @param {String|HTMLElement} [options.iframeContainer] - The element you\n * want the Duo Prompt inserted into, or the id of that element.\n * Anything inside this element will be deleted and replaced with an\n * iframe hosting the Duo prompt. If you don't provide this or the\n * `iframe` parameter the Duo Web SDK will default to using whatever\n * element has an id of \"duo_iframe\".\n * @param {Object} [options.iframeAttributes] - Object with names and\n * values coresponding to attributes you want added to the Duo Prompt\n * iframe, like `title`, `width` and `allow`. WARNING: this parameter\n * only works if you use the `iframeContainer` parameter or add an id\n * of \"duo_iframe\" to an element that isn't an iframe. If you have\n * added an iframe to the DOM yourself, you should set those attributes\n * directly on the iframe.\n * @param {String} [options.post_action=''] - URL to POST back to after a\n * successful auth.\n * @param {String} [options.post_argument='sig_response'] - Parameter name\n * to use for response token.\n * @param {Function} [options.submit_callback] - If provided, the Duo Web\n * SDK will not submit the form. Instead it will execute this callback\n * function passing in a reference to the \"duo_form\" form object.\n * `submit_callback`` can be used to prevent the webpage from reloading.\n */\n function init(options) {\n // If init() is called more than once we have to reset all the local\n // variables to ensure init() will work the same way every time. This\n // helps people making single page applications. SPAs may periodically\n // remove the iframe and add a new one that has to be initialized.\n initializeStatefulVariables();\n\n if (options) {\n if (options.host) {\n host = options.host;\n }\n\n if (options.sig_request) {\n parseSigRequest(options.sig_request);\n }\n\n if (options.post_action) {\n postAction = options.post_action;\n }\n\n if (options.post_argument) {\n postArgument = options.post_argument;\n }\n\n if (typeof options.submit_callback === 'function') {\n submitCallback = options.submit_callback;\n }\n }\n\n var promptElement = getPromptElement(options);\n if (promptElement) {\n // If we can get the element that will host the prompt, set it.\n ready(promptElement, options.iframeAttributes || {});\n } else {\n // If the element that will host the prompt isn't available yet, set\n // it up after the DOM finishes loading.\n asyncReady(options);\n }\n\n // always clean up after yourself!\n offReady(init);\n }\n\n /**\n * Given the options from init(), get the iframe or iframe container that\n * should be used for the Duo Prompt. Returns `null` if nothing was found.\n */\n function getPromptElement(options) {\n var result;\n\n if (options.iframe && options.iframeContainer) {\n throwError(\n 'Passing both `iframe` and `iframeContainer` arguments at the' +\n ' same time is not allowed.'\n );\n } else if (options.iframe) {\n // If we are getting an iframe, try to get it and raise if the\n // element we find is NOT an iframe.\n result = getUserDefinedElement(options.iframe);\n validateIframe(result);\n } else if (options.iframeContainer) {\n result = getUserDefinedElement(options.iframeContainer);\n validateIframeContainer(result);\n } else {\n result = document.getElementById('duo_iframe');\n }\n\n return result;\n }\n\n /**\n * When given an HTMLElement, return it. When given a string, get an element\n * with that id, else return null.\n */\n function getUserDefinedElement(object) {\n if (object.tagName) {\n return object;\n } else if (typeof object == 'string') {\n return document.getElementById(object);\n }\n return null;\n }\n\n /**\n * Check if the given thing is an iframe.\n */\n function isIframe(element) {\n return (\n element &&\n element.tagName &&\n element.tagName.toLowerCase() === 'iframe'\n );\n }\n\n /**\n * Throw an error if we are given an element that is NOT an iframe.\n */\n function validateIframe(element) {\n if (element && !isIframe(element)) {\n throwError(\n '`iframe` only accepts an iframe element or the id of an' +\n ' iframe. To use a non-iframe element, use the' +\n ' `iframeContainer` argument.'\n );\n }\n }\n\n /**\n * Throw an error if we are given an element that IS an iframe instead of an\n * element that we can insert an iframe into.\n */\n function validateIframeContainer(element) {\n if (element && isIframe(element)) {\n throwError(\n '`iframeContainer` only accepts a non-iframe element or the' +\n ' id of a non-iframe. To use a non-iframe element, use the' +\n ' `iframeContainer` argument on Duo.init().'\n );\n }\n }\n\n /**\n * Generate the URL that goes to the Duo Prompt.\n */\n function generateIframeSrc() {\n return [\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\n '&parent=', encodeURIComponent(document.location.href),\n '&v=2.8'\n ].join('');\n }\n\n /**\n * This function is called when a message was received from another domain\n * using the `postMessage` API. Check that the event came from the Duo\n * service domain, and that the message is a properly formatted payload,\n * then perform the post back to the primary service.\n *\n * @param event Event object (contains origin and data)\n */\n function onReceivedMessage(event) {\n if (isDuoMessage(event)) {\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\n if (isValidUrlToOpen(url)) {\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\n window.open(url, \"_self\");\n }\n }\n else {\n // the event came from duo, do the post back\n doPostBack(event.data);\n\n // always clean up after yourself!\n offMessage(onReceivedMessage);\n }\n }\n }\n\n /**\n * Validate that this passed in URL is one that we will actually allow to\n * be opened.\n * @param url String URL that the message poster wants to open\n * @returns {boolean} true if we allow this url to be opened in the window\n */\n function isValidUrlToOpen(url) {\n if (!url) {\n return false;\n }\n\n var parser = document.createElement('a');\n parser.href = url;\n\n if (parser.protocol === \"duotrustedendpoints:\") {\n return true;\n } else if (parser.protocol !== \"https:\") {\n return false;\n }\n\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Register a callback to call ready() after the DOM has loaded.\n */\n function asyncReady(options) {\n var callback = function() {\n var promptElement = getPromptElement(options);\n if (!promptElement) {\n throwError(\n 'This page does not contain an iframe for Duo to use.' +\n ' Add an element like' +\n ' to this page.'\n );\n }\n\n ready(promptElement, options.iframeAttributes || {});\n\n // Always clean up after yourself.\n offReady(callback)\n };\n\n onReady(callback);\n }\n\n /**\n * Point the iframe at Duo, then wait for it to postMessage back to us.\n */\n function ready(promptElement, iframeAttributes) {\n if (!host) {\n host = getDataAttribute(promptElement, 'host');\n\n if (!host) {\n throwError(\n 'No API hostname is given for Duo to use. Be sure to pass ' +\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\n 'attribute on the iframe element.'\n );\n }\n }\n\n if (!duoSig || !appSig) {\n parseSigRequest(getDataAttribute(promptElement, 'sigRequest'));\n\n if (!duoSig || !appSig) {\n throwError(\n 'No valid signed request is given. Be sure to give the ' +\n '`sig_request` parameter to Duo.init, or use the ' +\n '`data-sig-request` attribute on the iframe element.'\n );\n }\n }\n\n // if postAction/Argument are defaults, see if they are specified\n // as data attributes on the iframe\n if (postAction === '') {\n postAction = getDataAttribute(promptElement, 'postAction') || postAction;\n }\n\n if (postArgument === 'sig_response') {\n postArgument = getDataAttribute(promptElement, 'postArgument') || postArgument;\n }\n\n if (isIframe(promptElement)) {\n iframe = promptElement;\n iframe.src = generateIframeSrc();\n } else {\n // If given a container to put an iframe in, clean out any children\n // child elements in case `init()` was called more than once.\n while (promptElement.firstChild) {\n // We call `removeChild()` instead of doing `innerHTML = \"\"`\n // to make sure we unbind any events.\n promptElement.removeChild(promptElement.firstChild)\n }\n\n iframe = document.createElement('iframe');\n\n // Set the src and all other attributes on the new iframe.\n iframeAttributes['src'] = generateIframeSrc();\n for (var name in iframeAttributes) {\n iframe.setAttribute(name, iframeAttributes[name]);\n }\n\n promptElement.appendChild(iframe);\n }\n\n // listen for the 'message' event\n onMessage(onReceivedMessage);\n }\n\n /**\n * We received a postMessage from Duo. POST back to the primary service\n * with the response token, and any additional user-supplied parameters\n * given in form#duo_form.\n */\n // function doPostBack(response) {\n // // create a hidden input to contain the response token\n // var input = document.createElement('input');\n // input.type = 'hidden';\n // input.name = postArgument;\n // input.value = response + ':' + appSig;\n\n // // user may supply their own form with additional inputs\n // var form = document.getElementById('duo_form');\n\n // // if the form doesn't exist, create one\n // if (!form) {\n // form = document.createElement('form');\n\n // // insert the new form after the iframe\n // iframe.parentElement.insertBefore(form, iframe.nextSibling);\n // }\n\n // // make sure we are actually posting to the right place\n // form.method = 'POST';\n // form.action = postAction;\n\n // // add the response token input to the form\n // form.appendChild(input);\n\n // // away we go!\n // if (typeof submitCallback === \"function\") {\n // submitCallback.call(null, form);\n // } else {\n // form.submit();\n // }\n // }\n\n // OKTA: Overriding their doPostBack logic because we want to submit this\n // through ajax, not a postBack\n function doPostBack(response) {\n postAction(response + ':' + appSig);\n }\n \n\n return {\n init: init,\n _onReady: onReady,\n _parseSigRequest: parseSigRequest,\n _isDuoMessage: isDuoMessage,\n _doPostBack: doPostBack\n };\n}));","/* eslint-disable @typescript-eslint/ban-ts-comment */\n\n// core features\nrequire('core-js/features/object/set-prototype-of');\nrequire('core-js/features/object/assign');\nrequire('core-js/features/object/keys');\nrequire('core-js/features/object/values');\nrequire('core-js/features/object/from-entries');\nrequire('core-js/features/object/entries');\nrequire('core-js/features/object/iterate-entries');\nrequire('core-js/features/object/iterate-keys');\nrequire('core-js/features/object/iterate-values');\nrequire('core-js/features/symbol/iterator');\nrequire('core-js/es/promise');\nrequire('core-js/es/typed-array/uint8-array');\nrequire('core-js/features/array/from');\nrequire('core-js/features/array/includes');\nrequire('core-js/features/array/find');\nrequire('core-js/features/array/find-index');\nrequire('core-js/features/string/includes');\nrequire('core-js/features/string/starts-with');\nrequire('core-js/features/string/ends-with');\nrequire('core-js/stable/set');\nrequire('core-js/stable/weak-map');\nrequire('core-js/web/url');\n\n// crypto is needed for PKCE\nrequire('fast-text-encoding'); // TextEncoder\nrequire('webcrypto-shim'); // crypto.subtle\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 16] */\n\nimport Q from 'q';\nimport Enums from './Enums';\nconst SWAP_PAGE_TIME = 200;\nconst fn = {};\n\nfunction zoom($el, start, finish) {\n const deferred = Q.defer();\n\n $el.animate(\n {\n 'text-indent': 1,\n },\n {\n duration: 200,\n easing: 'swing',\n step: function(now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'scale(' + now + ', ' + now + ')');\n },\n always: function() {\n deferred.resolve($el);\n },\n }\n );\n return deferred.promise;\n}\n\nfunction rotate($el, start, finish) {\n const deferred = Q.defer();\n\n $el.animate(\n {\n 'text-indent': 1,\n },\n {\n duration: 150,\n easing: 'swing',\n step: function(now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'rotate(' + now + 'deg)');\n },\n always: function() {\n deferred.resolve($el);\n },\n }\n );\n return deferred.promise;\n}\n\n// Note: It is necessary to pass in a success callback because we must\n// remove the old dom node (and controller) in the same tick of the event\n// loop. Waiting for \"then\" results in a glitchy animation.\nfn.swapPages = function(options) {\n const deferred = Q.defer();\n const $parent = options.$parent;\n const $oldRoot = options.$oldRoot;\n const $newRoot = options.$newRoot;\n const success = options.success;\n const ctx = options.ctx;\n let directionClassName = 'transition-from-right';\n\n if (options.dir && options.dir === Enums.DIRECTION_BACK) {\n directionClassName = 'transition-from-left';\n }\n\n $newRoot.addClass(directionClassName);\n $parent.append($newRoot);\n\n $parent.addClass('animation-container-overflow');\n const newRootAnimations = { left: '0px', top: '0px', opacity: 1 };\n $newRoot.animate(newRootAnimations, SWAP_PAGE_TIME, function() {\n $parent.removeClass('animation-container-overflow');\n $newRoot.removeClass(directionClassName);\n const clearStyles = Object.keys(newRootAnimations).reduce((styles, attr) => ({ ...styles, [attr]: '' }), {});\n $newRoot.css(clearStyles);\n success.call(ctx);\n deferred.resolve();\n });\n\n $oldRoot.animate({ height: $newRoot.height(), opacity: 0 }, SWAP_PAGE_TIME * 0.8);\n\n return deferred.promise;\n};\n\nfn.swapBeacons = function(options) {\n const $el = options.$el;\n const swap = options.swap;\n const ctx = options.ctx;\n\n return this.implode($el)\n .then(function() {\n swap.call(ctx);\n return $el;\n })\n .then(this.explode);\n};\n\nfn.explode = function($el) {\n return zoom($el, 0, 1); //zoom in\n};\n\nfn.implode = function($el) {\n return zoom($el, 1, 0); //zoom out\n};\n\nfn.radialProgressBar = function(options) {\n const radialProgressBar = options.$el;\n const swap = options.swap;\n const circles = radialProgressBar.children();\n\n return rotate(circles, 0, 180)\n .then(function() {\n radialProgressBar.css({ clip: 'auto' });\n })\n .then(function() {\n const leftHalf = circles.eq(0);\n\n swap();\n return rotate(leftHalf, 180, 360);\n })\n .then(function() {\n //reset values to initial state\n radialProgressBar.css({ clip: 'rect(0px, 96px, 96px, 48px)' });\n circles.css({\n transform: 'rotate(0deg)',\n 'text-indent': '1px',\n });\n });\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2018-Present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Enums from 'util/Enums';\nconst fn = {};\n\nconst template = function(colors) {\n return `\n#okta-sign-in.auth-container .button-primary,\n#okta-sign-in.auth-container .button-primary:active,\n#okta-sign-in.auth-container .button-primary:focus { background: ${colors.brand}; }\n#okta-sign-in.auth-container .button-primary:hover { background: ${fn.lighten(colors.brand, 0.05)}; }\n#okta-sign-in.auth-container .button.button-primary.link-button-disabled {\n background: ${colors.brand};\n opacity: 0.5;\n}\n `;\n};\n\n// visible for testing\nfn.lighten = function(hex, lum) {\n lum = lum || 0;\n hex = hex.substr(1);\n let newHex = '#';\n\n for (var i = 0; i < 3; i++) {\n let c = parseInt(hex.substr(i * 2, 2), 16);\n\n c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16);\n newHex += ('00' + c).substr(c.length);\n }\n return newHex;\n};\n\nfn.addStyle = function(colors, cspNonce) {\n const css = template(colors);\n const main = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n const style = document.createElement('style');\n\n style.id = Enums.WIDGET_CONFIG_COLORS_ID;\n style.type = 'text/css';\n if (cspNonce) {\n style.nonce = cspNonce;\n }\n style.appendChild(document.createTextNode(css));\n\n main.appendChild(style);\n};\n\nfn.isLoaded = function() {\n return !!document.getElementById(Enums.WIDGET_CONFIG_COLORS_ID);\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { internal } from '@okta/courage';\nconst Cookie = internal.util.Cookie;\nconst LAST_USERNAME_COOKIE_NAME = 'ln';\nconst DAYS_SAVE_REMEMBER = 365;\nconst fn = {};\n\nfn.getCookieUsername = function() {\n return Cookie.getCookie(LAST_USERNAME_COOKIE_NAME);\n};\n\nfn.setUsernameCookie = function(username) {\n Cookie.setCookie(LAST_USERNAME_COOKIE_NAME, username, {\n expires: DAYS_SAVE_REMEMBER,\n path: '/',\n });\n};\n\nfn.removeUsernameCookie = function() {\n Cookie.removeCookie(LAST_USERNAME_COOKIE_NAME, { path: '/' });\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport _ from 'underscore';\nimport { loc } from './loc';\nimport bundles from './Bundles';\nimport countryCallingCodes from './countryCallingCodes';\nconst fn = {};\n\n// () => [{ countryCode: countryName }], sorted by countryName\nfn.getCountries = function() {\n const countries = _.omit(bundles.country, 'HM', 'BV', 'TF');\n // HM, BV, and TF do not have phone prefixes, so don't give the\n // user the option to choose these countries. FYI it appears that these\n // countries do not have calling codes because they are ~~uninhabited~~\n\n let collection = _.map(countries, function(name, code) {\n return { name: name, code: code };\n });\n\n // Sort it; figure out if there is a better way to do this (best would\n // be to sort it in the properties file!!)\n\n collection = _.sortBy(collection, 'name');\n const sorted = {};\n\n _.each(collection, function(country) {\n sorted[country.code] = country.name;\n });\n\n return sorted;\n};\n\nfn.getCountryCode = function(){\n\n const countries = _.omit(bundles.country, 'HM', 'BV', 'TF');\n // HM, BV, and TF do not have phone prefixes, so don't give the\n // user the option to choose these countries. FYI it appears that these\n // countries do not have calling codes because they are ~~uninhabited~~\n\n let collection = _.map(countries, function(name, code) {\n return { name: name, code: code };\n });\n\n collection = _.sortBy(collection, 'name');\n const sorted = {};\n\n _.each(collection, function(country) {\n sorted[country.code] = loc('country.option.label', 'login', [country.name, country.code]);\n });\n\n return sorted;\n};\n\nfn.getCallingCodeForCountry = function(countryCode) {\n return countryCallingCodes[countryCode];\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global Uint8Array, atob, btoa */\n\nconst fn = {};\n\n/**\n * Light weight hashing algorithm that hashes string into an integer between 0 and 4294967295\n * Not recommended for data set of size greater than 10000\n * https://www.npmjs.com/package/string-hash\n *\n * @param str the string to be hashed\n * @returns string hash of integer type\n */\nfn.getStringHash = function(str) {\n let hash = 5381;\n let i = str.length;\n\n while (i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0;\n};\n\n/**\n * Converts any url safe characters in a base64 string to regular base64 characters\n * @param str base64 string that might contain url safe characters\n * @returns base64 formatted string\n */\nfn.base64UrlSafeToBase64 = function(str) {\n return str.replace(new RegExp('_', 'g'), '/').replace(new RegExp('-', 'g'), '+');\n};\n\n/**\n * Converts an ArrayBuffer object that contains binary data to base64 encoded string\n * @param bin ArrayBuffer object\n * @returns base64 encoded string\n */\nfn.binToStr = function(bin) {\n return btoa(new Uint8Array(bin).reduce((s, byte) => s + String.fromCharCode(byte), ''));\n};\n\n/**\n * Converts base64 string to binary data view\n * @param str in base64 or base64UrlSafe format\n * @returns converted Uint8Array view of binary data\n */\nfn.strToBin = function(str) {\n return Uint8Array.from(atob(this.base64UrlSafeToBase64(str)), c => c.charCodeAt(0));\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport default {\n API_RATE_LIMIT: 30000, //milliseconds\n\n WIDGET_LOGIN_CONTAINER_ID: 'signin-container',\n WIDGET_CONTAINER_ID: 'okta-sign-in',\n WIDGET_CONFIG_COLORS_ID: 'okta-sign-in-config-colors',\n\n DIRECTION_BACK: 'DIRECTION_BACK',\n\n RECOVERY_TYPE_PASSWORD: 'PASSWORD',\n RECOVERY_TYPE_UNLOCK: 'UNLOCK',\n RECOVERY_FACTOR_TYPE_SMS: 'SMS',\n RECOVERY_FACTOR_TYPE_EMAIL: 'EMAIL',\n RECOVERY_FACTOR_TYPE_CALL: 'CALL',\n\n IOS: 'ios',\n ANDROID: 'android',\n\n ODA: 'oda',\n MDM: 'mdm',\n WS1: 'ws1',\n\n // Global success messages\n SUCCESS: 'SUCCESS',\n FORGOT_PASSWORD_EMAIL_SENT: 'FORGOT_PASSWORD_EMAIL_SENT',\n UNLOCK_ACCOUNT_EMAIL_SENT: 'UNLOCK_ACCOUNT_EMAIL_SENT',\n\n // Global error messages\n CONFIG_ERROR: 'CONFIG_ERROR',\n UNSUPPORTED_BROWSER_ERROR: 'UNSUPPORTED_BROWSER_ERROR',\n OAUTH_ERROR: 'OAUTH_ERROR',\n AUTH_STOP_POLL_INITIATION_ERROR: 'AUTH_STOP_POLL_INITIATION_ERROR',\n U2F_ERROR: 'U2F_ERROR',\n WEB_AUTHN_ERROR: 'WEB_AUTHN_ERROR',\n WEBAUTHN_ABORT_ERROR: 'WEBAUTHN_ABORT_ERROR',\n CONFIGURED_FLOW_ERROR: 'CONFIGURED_FLOW_ERROR',\n\n // Enroll choice page types\n ALL_OPTIONAL_NONE_ENROLLED: 'ALL_OPTIONAL_NONE_ENROLLED',\n ALL_OPTIONAL_SOME_ENROLLED: 'ALL_OPTIONAL_SOME_ENROLLED',\n HAS_REQUIRED_NONE_ENROLLED: 'HAS_REQUIRED_NONE_ENROLLED',\n HAS_REQUIRED_SOME_REQUIRED_ENROLLED: 'HAS_REQUIRED_SOME_REQUIRED_ENROLLED',\n HAS_REQUIRED_ALL_REQUIRED_ENROLLED: 'HAS_REQUIRED_ALL_REQUIRED_ENROLLED',\n\n // Operations\n PRIMARY_AUTH: 'PRIMARY_AUTH',\n FORGOT_PASSWORD: 'FORGOT_PASSWORD',\n UNLOCK_ACCOUNT: 'UNLOCK_ACCOUNT',\n\n // Auth Types\n SESSION_SSO: 'SESSION_SSO',\n SESSION_STEP_UP: 'SESSION_STEP_UP',\n\n //Registration\n ACTIVATION_EMAIL_SENT: 'ACTIVATION_EMAIL_SENT',\n REGISTRATION_COMPLETE: 'REGISTRATION_COMPLETE',\n REGISTRATION_FAILED: 'REGISTRATION_FAILED',\n\n //IDP Discovery\n IDP_DISCOVERY: 'IDP_DISCOVERY',\n\n //App Store Links\n OKTA_VERIFY_APPLE_APP_STORE_URL: 'https://apps.apple.com/us/app/okta-verify/id490179405',\n OKTA_VERIFY_GOOGLE_PLAY_STORE_URL: 'https://play.google.com/store/apps/details?id=com.okta.android.auth',\n\n // Device Challenge Method\n LOOPBACK_CHALLENGE: 'LOOPBACK',\n CUSTOM_URI_CHALLENGE: 'CUSTOM_URI',\n UNIVERSAL_LINK_CHALLENGE: 'UNIVERSAL_LINK',\n APP_LINK_CHALLENGE: 'APP_LINK',\n CHROME_DTC: 'CHROME_DTC',\n\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport default {\n INVALID_TOKEN_EXCEPTION: 'E0000011',\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 38], max-statements: [2, 38] */\nimport _ from 'underscore';\nimport { loc } from './loc';\nimport TimeUtil from 'util/TimeUtil';\nconst fn = {};\nconst factorData = {\n OKTA_VERIFY: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.totpSoft.oktaVerify',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1,\n },\n OKTA_VERIFY_PUSH: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.oktaVerifyPush',\n description: 'factor.push.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1,\n },\n U2F: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.u2f',\n description: brandName => {\n return brandName ? 'factor.u2f.description.specific' : 'factor.u2f.description.generic';\n },\n iconClassName: 'mfa-u2f',\n sortOrder: 2,\n },\n WEBAUTHN: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.webauthn.biometric',\n description: 'factor.webauthn.biometric.description',\n iconClassName: 'mfa-webauthn',\n sortOrder: 2,\n },\n WINDOWS_HELLO: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.windowsHello',\n description: brandName => {\n return brandName\n ? 'factor.windowsHello.signin.description.specific'\n : 'factor.windowsHello.signin.description.generic';\n },\n iconClassName: 'mfa-windows-hello',\n sortOrder: 3,\n },\n YUBIKEY: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.totpHard.yubikey',\n description: 'factor.totpHard.yubikey.description',\n iconClassName: 'mfa-yubikey',\n sortOrder: 4,\n },\n GOOGLE_AUTH: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.totpSoft.googleAuthenticator',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-google-auth',\n sortOrder: 5,\n },\n CUSTOM_HOTP: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: '',\n description: 'factor.hotp.description',\n iconClassName: 'mfa-hotp',\n sortOrder: 6,\n },\n SMS: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.sms',\n description: 'factor.sms.description',\n iconClassName: 'mfa-okta-sms',\n sortOrder: 7,\n },\n CALL: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.call',\n description: 'factor.call.description',\n iconClassName: 'mfa-okta-call',\n sortOrder: 8,\n },\n EMAIL: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.email',\n description: 'factor.email.description',\n iconClassName: 'mfa-okta-email',\n sortOrder: 9,\n },\n QUESTION: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.securityQuestion',\n description: 'factor.securityQuestion.description',\n iconClassName: 'mfa-okta-security-question',\n sortOrder: 10,\n },\n DUO: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.duo',\n description: 'factor.duo.description',\n iconClassName: 'mfa-duo',\n sortOrder: 11,\n },\n SYMANTEC_VIP: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.totpHard.symantecVip',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-symantec',\n sortOrder: 12,\n },\n RSA_SECURID: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.totpHard.rsaSecurId',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-rsa',\n sortOrder: 13,\n },\n ON_PREM: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: '',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-onprem',\n sortOrder: 14,\n },\n PASSWORD: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: 'factor.password',\n description: '',\n iconClassName: 'mfa-okta-password',\n sortOrder: 15,\n },\n CUSTOM_CLAIMS: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: '',\n description: 'factor.customFactor.description',\n iconClassName: 'mfa-custom-factor',\n sortOrder: 16,\n },\n GENERIC_SAML: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: '',\n description: brandName => {\n return brandName ? 'factor.customFactor.description.specific' : 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 17,\n },\n GENERIC_OIDC: {\n /* eslint-disable-next-line @okta/okta/no-unlocalized-text */\n label: '',\n description: brandName => {\n return brandName ? 'factor.customFactor.description.specific' : 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 18,\n },\n};\n\nconst getPasswordComplexityRequirementsAsArray = function(policy, i18nKeys) {\n const setExcludeAttributes = function(policyComplexity) {\n const excludeAttributes = policyComplexity.excludeAttributes;\n\n policyComplexity.excludeFirstName = _.contains(excludeAttributes, 'firstName');\n policyComplexity.excludeLastName = _.contains(excludeAttributes, 'lastName');\n return _.omit(policyComplexity, 'excludeAttributes');\n };\n\n if (policy.complexity) {\n const complexityFields = i18nKeys.complexity;\n\n const policyComplexity = setExcludeAttributes(policy.complexity);\n let filteredPolicyComplexity = policyComplexity;\n\n // If useADComplexityRequirements is true, ignore casing, number, and symbol rules since\n // AD validator handles those requirements\n if (policyComplexity.useADComplexityRequirements) {\n const allowed = ['minLength', 'useADComplexityRequirements', 'excludeUsername', 'excludeFirstName',\n 'excludeLastName', 'excludeAttributes'];\n filteredPolicyComplexity = _.pick(policyComplexity, allowed);\n }\n\n const requirements = _.map(filteredPolicyComplexity, function(complexityValue, complexityType) {\n if (complexityValue <= 0) {\n // to skip 0 and -1\n return;\n }\n\n const params = complexityFields[complexityType];\n\n return params.args ? loc(params.i18n, 'login', [complexityValue]) : loc(params.i18n, 'login');\n });\n\n return _.compact(requirements);\n }\n return [];\n};\n\nconst getPasswordHistoryRequirementDescription = function(policy, i18nKeys, isUpdatedPasswordRequirementsText) {\n if (policy.age && policy.age.historyCount > 0) {\n if (isUpdatedPasswordRequirementsText) {\n return policy.age.historyCount === 1 ?\n loc(i18nKeys.history.one.i18n, 'login')\n : loc(i18nKeys.history.many.i18n, 'login', [policy.age.historyCount]);\n } else {\n return loc(i18nKeys.history.i18n, 'login', [policy.age.historyCount]);\n }\n }\n return null;\n};\n\nconst getPasswordAgeRequirementDescription = function(policy, i18nKeys) {\n const getPasswordAgeRequirement = function(displayableTime) {\n let propertiesString;\n\n switch (displayableTime.unit) {\n case 'DAY':\n propertiesString = i18nKeys.age.days.i18n;\n break;\n case 'HOUR':\n propertiesString = i18nKeys.age.hours.i18n;\n break;\n case 'MINUTE':\n propertiesString = i18nKeys.age.minutes.i18n;\n }\n return loc(propertiesString, 'login', [displayableTime.time]);\n };\n\n if (policy.age && policy.age.minAgeMinutes > 0) {\n const displayableTime = TimeUtil.getTimeInHighestRelevantUnit(policy.age.minAgeMinutes, 'MINUTE');\n\n return getPasswordAgeRequirement(displayableTime);\n }\n return null;\n};\n\nconst getPasswordRequirements = function(policy, i18nKeys, isUpdatedPasswordRequirementsText) {\n const passwordRequirements = {\n complexity: [],\n history: [],\n age: [],\n };\n\n passwordRequirements.complexity = getPasswordComplexityRequirementsAsArray(policy, i18nKeys);\n\n const historyRequirement =\n getPasswordHistoryRequirementDescription(policy, i18nKeys, isUpdatedPasswordRequirementsText);\n\n if (historyRequirement) {\n passwordRequirements.history.push(historyRequirement);\n }\n\n const ageRequirement = getPasswordAgeRequirementDescription(policy, i18nKeys);\n\n if (ageRequirement) {\n passwordRequirements.age.push(ageRequirement);\n }\n\n return passwordRequirements;\n};\n\nfn.getFactorName = function(provider, factorType) {\n if (provider === 'OKTA' && factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (provider === 'OKTA' && factorType === 'push') {\n return 'OKTA_VERIFY_PUSH';\n }\n if (provider === 'GOOGLE') {\n return 'GOOGLE_AUTH';\n }\n if (provider === 'SYMANTEC' && factorType === 'token') {\n return 'SYMANTEC_VIP';\n }\n if (provider === 'RSA' && factorType === 'token') {\n return 'RSA_SECURID';\n }\n if (provider === 'DEL_OATH' && factorType === 'token') {\n return 'ON_PREM';\n }\n if (provider === 'DUO' && factorType === 'web') {\n return 'DUO';\n }\n if (provider === 'YUBICO' && factorType === 'token:hardware') {\n return 'YUBIKEY';\n }\n if (provider === 'OKTA' && factorType === 'sms') {\n return 'SMS';\n }\n if (provider === 'OKTA' && factorType === 'call') {\n return 'CALL';\n }\n if (provider === 'OKTA' && factorType === 'question') {\n return 'QUESTION';\n }\n if (provider === 'OKTA' && factorType === 'email') {\n return 'EMAIL';\n }\n if (provider === 'OKTA' && factorType === 'password') {\n return 'PASSWORD';\n }\n if (provider === 'GENERIC_SAML' && factorType === 'assertion:saml2') {\n return 'GENERIC_SAML';\n }\n if (provider === 'GENERIC_OIDC' && factorType === 'assertion:oidc') {\n return 'GENERIC_OIDC';\n }\n return fn.getFactorNameForFactorType.call(this, factorType);\n};\n\nfn.getFactorNameForFactorType = function(factorType) {\n if (factorType === 'u2f') {\n return 'U2F';\n }\n if (factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (factorType === 'webauthn') {\n if (this.settings.get('features.webauthn')) {\n return 'WEBAUTHN';\n } else {\n return 'WINDOWS_HELLO';\n }\n }\n if (factorType === 'token:hotp') {\n return 'CUSTOM_HOTP';\n }\n if (factorType === 'claims_provider') {\n return 'CUSTOM_CLAIMS';\n }\n};\n\nfn.isOktaVerify = function(provider, factorType) {\n return provider === 'OKTA' && (factorType === 'token:software:totp' || factorType === 'push');\n};\n\nfn.getFactorLabel = function(provider, factorType) {\n const key = factorData[fn.getFactorName.apply(this, [provider, factorType])].label;\n\n return loc(key, 'login');\n};\n\nfn.getFactorDescription = function(provider, factorType) {\n const descriptionKey = factorData[fn.getFactorName.apply(this, [provider, factorType])].description;\n\n if (_.isFunction(descriptionKey)) {\n const brandName = this.settings.get('brandName');\n const key = descriptionKey(brandName);\n\n return brandName ? loc(key, 'login', [brandName]) : loc(key, 'login');\n } else {\n return descriptionKey ? loc(descriptionKey, 'login') : '';\n }\n};\n\nfn.getFactorIconClassName = function(provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].iconClassName;\n};\n\nfn.getFactorSortOrder = function(provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].sortOrder;\n};\n\nfn.getRememberDeviceValue = function(appState) {\n return appState && appState.get('rememberDeviceByDefault');\n};\n\nfn.getSecurityQuestionLabel = function(questionObj) {\n const localizedQuestion = loc('security.' + questionObj.question);\n\n return localizedQuestion.indexOf('L10N_ERROR') < 0 ? localizedQuestion : questionObj.questionText;\n};\n\nfn.removeRequirementsFromError = function(responseJSON, policy) {\n const passwordRequirementsAsString = this.getPasswordComplexityDescription(policy);\n\n if (\n responseJSON.errorCauses &&\n responseJSON.errorCauses.length > 0 &&\n _.isString(responseJSON.errorCauses[0].errorSummary)\n ) {\n responseJSON.errorCauses[0].errorSummary = responseJSON.errorCauses[0].errorSummary\n .replace(passwordRequirementsAsString, '')\n .trim();\n }\n return responseJSON;\n};\n\nfn.getPasswordComplexityDescriptionForHtmlList = function(policy) {\n const passwordRequirementHtmlI18nKeys = {\n complexity: {\n minLength: { i18n: 'password.complexity.length.description', args: true },\n minLowerCase: { i18n: 'password.complexity.lowercase.description' },\n minUpperCase: { i18n: 'password.complexity.uppercase.description' },\n minNumber: { i18n: 'password.complexity.number.description' },\n minSymbol: { i18n: 'password.complexity.symbol.description' },\n excludeUsername: { i18n: 'password.complexity.no_username.description' },\n excludeFirstName: { i18n: 'password.complexity.no_first_name.description' },\n excludeLastName: { i18n: 'password.complexity.no_last_name.description' },\n useADComplexityRequirements: { i18n: 'password.complexity.adRequirements.description' },\n maxConsecutiveRepeatingCharacters:\n { i18n: 'password.complexity.maxConsecutiveRepeatingCharacters.description', args: true },\n },\n history: {\n one: { i18n: 'password.complexity.history.one.description' },\n many: { i18n: 'password.complexity.history.description' }\n },\n age: {\n minutes: { i18n: 'password.complexity.minAgeMinutes.description' },\n hours: { i18n: 'password.complexity.minAgeHours.description' },\n days: { i18n: 'password.complexity.minAgeDays.description' },\n },\n };\n const passwordRequirements = getPasswordRequirements(policy, passwordRequirementHtmlI18nKeys, true);\n\n return _.union(passwordRequirements.complexity, passwordRequirements.history, passwordRequirements.age);\n};\n\nfn.getPasswordComplexityDescription = function(policy) {\n const passwordRequirementI18nKeys = {\n complexity: {\n minLength: { i18n: 'password.complexity.length', args: true },\n minLowerCase: { i18n: 'password.complexity.lowercase' },\n minUpperCase: { i18n: 'password.complexity.uppercase' },\n minNumber: { i18n: 'password.complexity.number' },\n minSymbol: { i18n: 'password.complexity.symbol' },\n excludeUsername: { i18n: 'password.complexity.no_username' },\n excludeFirstName: { i18n: 'password.complexity.no_first_name' },\n excludeLastName: { i18n: 'password.complexity.no_last_name' },\n useADComplexityRequirements: { i18n: 'password.complexity.adRequirements' },\n maxConsecutiveRepeatingCharacters: { i18n: 'password.complexity.maxConsecutiveRepeatingCharacters', args: true },\n },\n history: { i18n: 'password.complexity.history' },\n age: {\n minutes: { i18n: 'password.complexity.minAgeMinutes' },\n hours: { i18n: 'password.complexity.minAgeHours' },\n days: { i18n: 'password.complexity.minAgeDays' },\n },\n };\n const result = [];\n const passwordRequirements = getPasswordRequirements(policy, passwordRequirementI18nKeys, false);\n let requirements = passwordRequirements.complexity;\n\n // Generate and add complexity string to result\n if (requirements.length > 0) {\n requirements = _.reduce(requirements, function(result, requirement) {\n return result ? result + loc('password.complexity.list.element', 'login', [requirement]) : requirement;\n });\n\n result.push(loc('password.complexity.requirements', 'login', [requirements]));\n }\n\n // Only 1 value expected in history and age for now\n result.push(passwordRequirements.history[0]);\n result.push(passwordRequirements.age[0]);\n\n return _.compact(result).join(' ');\n};\n\nfn.getCardinalityText = function(enrolled, required, cardinality) {\n if (cardinality) {\n if (enrolled) {\n return cardinality.enrolled === 1 ? '' : loc('enroll.choices.cardinality.setup', 'login', [cardinality.enrolled]);\n } else if (required && cardinality.maximum > 1) {\n return loc('enroll.choices.cardinality.setup.remaining', 'login', [cardinality.enrolled, cardinality.minimum]);\n }\n }\n return '';\n};\n\nfn.findFactorInFactorsArray = function(factors, provider, factorType) {\n let factor = factors.findWhere({ provider: provider, factorType: factorType });\n\n if (factor === undefined) {\n //for factors that support cardinality and only have factorType\n factor = factors.findWhere({ factorType: factorType });\n }\n return factor;\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 9] */\n\nimport { loc } from './loc';\nconst fn = {};\n\nfn.getU2fEnrollErrorMessageKeyByCode = function(errorCode) {\n switch (errorCode) {\n default:\n case 1:\n return 'u2f.error.other';\n case 2:\n case 3:\n return 'u2f.error.badRequest';\n case 4:\n return 'u2f.error.unsupported';\n case 5:\n return 'u2f.error.timeout';\n }\n};\n\nfn.getU2fVerifyErrorMessageKeyByCode = function(errorCode, isOneFactor) {\n switch (errorCode) {\n case 1:\n // OTHER_ERROR\n return isOneFactor ? 'u2f.error.other.oneFactor' : 'u2f.error.other';\n case 2: // BAD_REQUEST\n case 3:\n // CONFIGURATION_UNSUPPORTED\n return isOneFactor ? 'u2f.error.badRequest.oneFactor' : 'u2f.error.badRequest';\n case 4:\n // DEVICE_INELIGIBLE\n return isOneFactor ? 'u2f.error.unsupported.oneFactor' : 'u2f.error.unsupported';\n case 5:\n // TIMEOUT\n return 'u2f.error.timeout';\n }\n};\n\nfn.getU2fEnrollErrorMessageByCode = function(errorCode) {\n return loc(fn.getU2fEnrollErrorMessageKeyByCode(errorCode), 'login');\n};\n\nfn.getU2fVerifyErrorMessageByCode = function(errorCode, isOneFactor) {\n return loc(fn.getU2fVerifyErrorMessageKeyByCode(errorCode, isOneFactor), 'login');\n};\n\nfn.getU2fVersion = function() {\n return 'U2F_V2';\n};\n\nfn.isU2fAvailable = function() {\n return Object.prototype.hasOwnProperty.call(window, 'u2f');\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport async function executeHookFunctions(functions) {\n for (let i = 0; i < functions.length; i++) {\n await functions[i]();\n }\n}\n\nexport async function executeHooksBefore(hook) {\n if (!hook || !hook.before || !hook.before.length) {\n return;\n }\n await executeHookFunctions(hook.before);\n}\n\nexport async function executeHooksAfter(hook) {\n if (!hook || !hook.after || !hook.after.length) {\n return;\n }\n await executeHookFunctions(hook.after);\n}\n\nexport function mergeHook(hooks, formName, hookToMerge) {\n const existingHook = hooks[formName] = hooks[formName] || { before: [], after: [] };\n if (hookToMerge.before) {\n existingHook.before = (existingHook.before || []).concat(hookToMerge.before);\n }\n if (hookToMerge.after) {\n existingHook.after = (existingHook.after || []).concat(hookToMerge.after);\n }\n}\n","const SUPPORTED_SOCIAL_IDPS = [\n 'facebook',\n 'google',\n 'linkedin',\n 'microsoft',\n 'apple',\n 'github',\n 'gitlab',\n 'yahoo',\n 'line',\n 'paypal',\n 'paypal_sandbox',\n 'salesforce',\n 'amazon',\n 'yahoojp',\n 'discord',\n 'adobe',\n 'orcid',\n 'spotify',\n 'xero',\n 'quickbooks',\n];\nexport default {\n SUPPORTED_SOCIAL_IDPS,\n};\n","import Bundles from 'util/Bundles';\nimport config from 'config/config.json';\n\nfunction loadLanguage(appState, settings) {\n const languageCode = appState.get('languageCode') || settings.get('languageCode') || config.defaultLanguage;\n const i18n = settings.get('i18n');\n const assetBaseUrl = settings.get('assets.baseUrl');\n const assetRewrite = settings.get('assets.rewrite');\n const supportedLanguages = settings.get('supportedLanguages');\n\n const timeout = setTimeout(function() {\n // Trigger a spinner if we're waiting on a request for a new language.\n appState.trigger('loading', true);\n }, 200);\n\n return Bundles.loadLanguage(languageCode, i18n, {\n baseUrl: assetBaseUrl,\n rewrite: assetRewrite,\n }, supportedLanguages).then(function() {\n clearTimeout(timeout);\n appState.trigger('loading', false);\n appState.trigger('removeLoading');\n });\n // TODO: what if load language error?\n}\n\nexport default {\n loadLanguage,\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nfunction log(level, args) {\n // Only log statements in development mode\n // or if throwing an error through console.error\n // or if debugger is enabled\n if (DEBUG || level === 'error' || window?.OktaSignInDebug?.isEnabled?.()) {\n window.console[level].apply(window.console, args);\n }\n}\n\n/**\n * Utility library of logging functions.\n */\nexport default {\n trace: function() {\n return log('trace', arguments);\n },\n\n dir: function() {\n return log('dir', arguments);\n },\n\n time: function() {\n return log('time', arguments);\n },\n\n timeEnd: function() {\n return log('timeEnd', arguments);\n },\n\n group: function() {\n return log('group', arguments);\n },\n\n groupEnd: function() {\n return log('groupEnd', arguments);\n },\n\n assert: function() {\n return log('assert', arguments);\n },\n\n log: function() {\n return log('log', arguments);\n },\n\n info: function() {\n return log('info', arguments);\n },\n\n warn: function() {\n return log('warn', arguments);\n },\n\n error: function() {\n return log('error', arguments);\n },\n\n deprecate: function(msg) {\n return log('warn', ['[okta-signin-widget] DEPRECATED:', msg]);\n },\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport _ from 'underscore';\nimport { loc } from './loc';\nimport Enums from './Enums';\nimport { getTypedOAuthError, NonRecoverableError } from './OAuthErrors';\nimport Util from './Util';\nconst util = {};\n\n// https://github.com/okta/okta-auth-js#authorize-options\nconst AUTH_PARAMS = [\n 'responseType',\n 'scopes',\n 'state',\n 'nonce',\n 'idp',\n 'idpScope',\n 'display',\n 'prompt',\n 'maxAge',\n 'loginHint'\n];\nutil.AUTH_PARAMS = AUTH_PARAMS;\n\n/**\n * Get the tokens in the OIDC/OAUTH flows\n *\n * @param settings - settings model object\n * @param params - {idp: 'xxx'} for social auth\n * {sessionToken: 'xxx'} for okta idp\n */\nutil.getTokens = function(settings, params, controller) {\n function success(result) {\n settings.callGlobalSuccess(Enums.SUCCESS, result);\n }\n\n function error(error) {\n const typedError = getTypedOAuthError(error);\n if (typedError.is('terminal')) {\n controller.model.appState.set('flashError', typedError);\n controller.model.appState.trigger('navigate', 'signin/error');\n } else if (typedError.is('inline')) {\n controller.model.trigger('error', controller.model, {\n responseJSON: {\n errorSummary: typedError.errorDetails.errorSummary\n }\n });\n controller.model.appState.trigger('removeLoading');\n }\n\n if (!typedError.is('terminal')) {\n Util.triggerAfterError(controller, typedError, settings);\n }\n\n if (typedError instanceof NonRecoverableError) {\n settings.callGlobalError(typedError);\n }\n }\n\n const authClient = settings.getAuthClient();\n const isAuthorizationCodeFlow = authClient.isAuthorizationCodeFlow() && !authClient.isPKCE();\n const options = settings.toJSON({ verbose: true });\n const getTokenOptions = {};\n\n _.extend(\n getTokenOptions,\n _.pick(options, 'clientId', 'redirectUri'),\n _.pick(options.authParams, AUTH_PARAMS),\n params\n );\n\n // Extra Options for Social Idp popup window title and id_token response timeout\n getTokenOptions.popupTitle = loc('socialauth.popup.title', 'login');\n getTokenOptions.timeout = options.oAuthTimeout;\n\n // Redirect flow - this can be used when logging into an external IDP, or\n // converting the Okta sessionToken to an access_token, id_token, and/or\n // authorization code. Note: The authorization code flow will always redirect.\n if (options.redirect === 'always' || isAuthorizationCodeFlow) {\n authClient.token.getWithRedirect(getTokenOptions).catch(error);\n } else if (getTokenOptions.sessionToken) {\n // Default flow if logging in with Okta as the IDP - convert sessionToken to\n // tokens in a hidden iframe. Used in Single Page Apps where the app does\n // not want to redirect away from the page to convert the token.\n authClient.token.getWithoutPrompt(getTokenOptions).then(success).catch(error);\n } else {\n // Default flow if logging in with an external IDP - opens a popup and\n // gets the token from a postMessage response.\n authClient.token.getWithPopup(getTokenOptions).then(success).catch(error);\n }\n};\n\nexport default util;\n","import toMilliseconds from '@sindresorhus/to-milliseconds';\nimport parseMs from 'parse-ms';\n\nconst MS_PER_DAY = 60 * 60 * 24 * 1000;\n\nconst MOMENT_UNIT = {\n MILLISECOND: 'milliseconds',\n SECOND: 'seconds',\n MINUTE: 'minutes',\n HOUR: 'hours',\n DAY: 'days',\n};\n\nconst MOMENT_UNIT_KEYS = Object.keys(MOMENT_UNIT);\n\n/**\n * @method convertMomentUnits\n * Conversion between moment's units and our units internally\n *\n * @param {String} momentUnit The units that val is in\n * @return {String} The key in the MOMENT_UNIT hash\n */\nconst convertMomentUnits = function(momentUnit) {\n const entry = MOMENT_UNIT_KEYS.filter(k => MOMENT_UNIT[k] === momentUnit);\n\n return entry.length === 1 ? entry[0] : momentUnit;\n};\n\nexport default {\n /**\n * @method getTimeInHighestRelevantUnit\n * Will return a number in the units of the highest relevant time unit.\n * Only checks milliseconds, seconds, minutes, hours, and days.\n * E.g.\n * 15 MINUTE -> 15 MINUTE\n * 15 minutes -> 15 MINUTE\n * 60 minutes -> 1 HOUR\n * 90 minutes -> 90 MINUTE\n * 24 HOUR -> 1 DAY\n * 24 hours -> 1 DAY\n * 30 DAY -> 30 DAY\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" } TimeUnit\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" |\n * \"milliseconds\" | \"seconds\" | \"minutes\" | \"hours\" | \"days\"\n * } FlexibleTimeUnit\n *\n * @typedef TimeAndUnit\n * @property {number} time the consolidated time\n * @property {TimeUnit} unit the unit of the time\n *\n * @param {FlexibleTimeUnit} unit The time unit\n * @return {TimeAndUnit} An object containing the amount of time and the unit\n */\n getTimeInHighestRelevantUnit: function(val, unit) {\n const defaultTimeObj = {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n };\n const normalizedUnit = MOMENT_UNIT[unit] || unit;\n let timeObj;\n\n try {\n const ms = toMilliseconds(Object.assign(defaultTimeObj, { [normalizedUnit]: val }));\n timeObj = parseMs(ms);\n } catch (error) {\n timeObj = {};\n }\n\n const duration = Object.keys(timeObj).reduce((init, k) => {\n if (timeObj[k] !== 0) {\n init[k] = timeObj[k];\n }\n return init;\n }, {});\n\n let highestUnit;\n let time;\n if (Object.keys(duration).length === 1) {\n Object.keys(duration).forEach(k => {\n time = duration[k];\n highestUnit = k;\n });\n } else {\n time = val;\n highestUnit = normalizedUnit;\n }\n\n return {\n time: time,\n unit: convertMomentUnits(highestUnit),\n };\n },\n\n /**\n * @method formatDateToDeviceAssuranceGracePeriodExpiryLocaleString\n * Conversion from a Date object to a locale string that mimics Okta's `short-with-timezone` format\n * but rounded down to the nearest hour\n * e.g. new Date(2024-09-05T00:00:00.000Z) -> 09/05/2024, 8:00 PM EDT\n *\n * @param {Date} date The Date object for the grace period expiry\n * @param {LanguageCode} languageCode The user's language code / locale\n * @param {RoundDownToNearestHour} boolean Whether to round down to nearest hour. Defaults to true\n * @return {string} The formatted `short-with-timezone` local string\n */\n formatDateToDeviceAssuranceGracePeriodExpiryLocaleString: (date, languageCode, roundDownToNearestHour = true) => {\n try {\n // Invalid Date objects will return NaN for valueOf()\n if (date && !isNaN(date.valueOf()) && languageCode !== null) {\n // eslint-disable-next-line max-depth\n if (roundDownToNearestHour) {\n // Round down the date to the nearest hour\n date.setMinutes(0, 0, 0);\n }\n return date.toLocaleString(languageCode, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n timeZoneName: 'short',\n });\n } else {\n return null;\n }\n } catch (e) {\n // If `languageCode` isn't in a valid format `toLocaleString()` will throw a `RangeError`\n return null;\n }\n },\n \n /**\n * @method calculateDaysBetween\n * Calculate the number of days between two epoch milliseconds timestamps\n * rounded down to the nearest day\n *\n * @param {Integer} epoch1 epoch timestamp in milliseconds as an integer\n * @param {Integer} epoch2 epoch timestamp in milliseconds as an integer\n * @return {Integer} The number of days between the two epoch timestamps\n */\n calculateDaysBetween(epoch1, epoch2) {\n try {\n if (typeof epoch1 === 'number' && typeof epoch2 === 'number') {\n const diffInMs = Math.abs(epoch2 - epoch1);\n \n const days = Math.floor(diffInMs / MS_PER_DAY);\n \n return days;\n }\n } catch (e) {\n // continue even with error\n }\n return null;\n }\n};\n","/* eslint-disable max-statements */\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13], max-depth: [2, 3] */\nimport _ from 'underscore';\nimport { loc, doesTranslationExist } from './loc';\nimport Enums from './Enums';\nimport Logger from './Logger';\nimport BrowserFeatures from './BrowserFeatures';\n\nconst Util = {};\nconst ovDeepLink = 'https://login.okta.com/oauth/callback';\n\nconst buildInputForParameter = function(name, value) {\n const input = document.createElement('input');\n\n input.name = name;\n input.value = decodeURIComponent(value);\n input.type = 'hidden';\n return input;\n};\n\nconst buildSubmitInput = function() {\n const input = document.createElement('input');\n input.type = 'submit';\n return input;\n};\n\nconst buildDynamicForm = function(url = '', method) {\n const splitOnFragment = url.split('#');\n const fragment = splitOnFragment[1];\n const splitOnQuery = (splitOnFragment[0] || '').split('?');\n const query = splitOnQuery[1];\n let targetUrl = splitOnQuery[0];\n\n if (fragment) {\n targetUrl += '#' + fragment;\n }\n\n const form = document.createElement('form');\n\n form.method = method;\n form.style.display = 'none';\n form.action = targetUrl;\n if (query && query.length) {\n const queryParts = query.split('&');\n\n queryParts.forEach(queryPart => {\n const parameterParts = queryPart.split('=');\n const input = buildInputForParameter(parameterParts[0], parameterParts[1]);\n\n form.appendChild(input);\n });\n }\n form.appendChild(buildSubmitInput());\n\n return form;\n};\n\n// eslint-disable-next-line complexity\nUtil.transformErrorXHR = function(xhr) {\n // Handle network connection error\n if (xhr.status === 0 && _.isEmpty(xhr.responseJSON)) {\n xhr.responseJSON = { errorSummary: loc('error.network.connection', 'login') };\n return xhr;\n }\n if (!xhr.responseJSON) {\n if (!xhr.responseText) {\n // Empty server response\n xhr.responseJSON = { errorSummary: loc('error.unsupported.response', 'login') };\n return xhr;\n }\n if (typeof xhr.responseText === 'string') {\n try {\n xhr.responseJSON = JSON.parse(xhr.responseText);\n } catch (e) {\n // Malformed server response\n xhr.responseJSON = { errorSummary: loc('error.unsupported.response', 'login') };\n return xhr;\n }\n } else if (typeof xhr.responseText === 'object') {\n xhr.responseJSON = xhr.responseText;\n }\n }\n // Temporary solution to display field errors\n // Assuming there is only one field error in a response\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n xhr.responseJSON.errorSummary = xhr.responseJSON.errorCauses[0].errorSummary;\n }\n // Replace error messages\n if (!_.isEmpty(xhr.responseJSON)) {\n const { errorCode } = xhr.responseJSON;\n const errorMsg = errorCode && doesTranslationExist('errors.' + errorCode, 'login')\n // We don't pass parameters to the `loc()` util\n // However some i18n keys like `errors.E0000001` require one parameter\n // Don't dispatch custom 'okta-i18n-error' event in this case\n ? loc('errors.' + errorCode, 'login', [], true)\n : undefined;\n\n if (errorMsg?.indexOf('L10N_ERROR[') === -1) {\n xhr.responseJSON.errorSummary = errorMsg;\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n // BaseForm will consume errorCauses before errorSummary if it is an array,\n // so, we have to make sure to remove it when we have a valid error code\n delete xhr.responseJSON.errorCauses;\n }\n }\n }\n return xhr;\n};\n\n// Simple helper function to lowercase all strings in the given array\nUtil.toLower = function(strings) {\n return _.map(strings, function(str) {\n return str.toLowerCase();\n });\n};\n\n// A languageCode can be composed of multiple parts, i.e:\n// {{language}}-{{region}}-{{dialect}}\n//\n// In these cases, it's necessary to generate a list of other possible\n// combinations that we might support (in preferred order).\n//\n// For example:\n// en-US -> [en-US, en]\n// de-DE-bavarian -> [de-DE-bavarian, de-DE, de]\nfunction expandLanguage(language) {\n const expanded = [language];\n const parts = language.split('-');\n\n while (parts.pop() && parts.length > 0) {\n expanded.push(parts.join('-'));\n }\n return expanded;\n}\n\n// Following the rules of expanding one language, this will generate\n// all potential languages in the given order (where higher priority is\n// given to expanded languages over other downstream languages).\nUtil.expandLanguages = function(languages) {\n return _.chain(languages).map(expandLanguage).flatten().uniq().value();\n};\n\n//helper to call setTimeout\nUtil.callAfterTimeout = function(callback, time) {\n return setTimeout(callback, time);\n};\n\n// Invokes the callback after a delay, if the window remains in focus\n// If the window becomes unfocused, the callback execution is delayed until\n// focus has been returned to the window\nUtil.callAfterTimeoutOrWindowRefocus = function(callback, time, delayAfterRefocus = false) {\n let timeoutId;\n let visHandler;\n\n const invokeCallbackFn = () => {\n document.removeEventListener('visibilitychange', visHandler);\n if (!delayAfterRefocus) {\n return callback();\n }\n\n setTimeout(callback, time);\n };\n\n visHandler = () => {\n if (document.hidden) {\n clearTimeout(timeoutId);\n }\n else {\n invokeCallbackFn();\n }\n };\n\n document.addEventListener('visibilitychange', visHandler);\n timeoutId = setTimeout(invokeCallbackFn, time);\n\n // returns a \"cancel\" function, so the execution of the callback can be prevented\n return () => {\n clearTimeout(timeoutId);\n document.removeEventListener('visibilitychange', visHandler);\n };\n};\n\n// Helper function to provide consistent formatting of template literals\n// that are logged when in development mode.\nUtil.debugMessage = function(message) {\n Logger.warn(`\\n${message.replace(/^(\\s)+/gm, '')}`);\n};\n\nUtil.logConsoleError = function(message) {\n Logger.error(message);\n};\n\n// Trigger an afterError event\nUtil.triggerAfterError = function(controller, err = {}) {\n if (!err.statusCode && err.xhr && err.xhr.status) {\n // Bring the statusCode to the top-level of the Error\n err.statusCode = err.xhr.status;\n }\n // Some controllers return the className as a function - process it here:\n const className = _.isFunction(controller.className) ? controller.className() : controller.className;\n\n const error = _.pick(err, 'name', 'message', 'statusCode', 'xhr');\n\n controller.trigger('afterError', { controller: className }, error);\n // Logs to console only in dev mode\n Logger.warn('controller: ' + className + ', error: ' + error);\n};\n\nUtil.redirect = function(url, win = window, isAppLink = false) {\n if (BrowserFeatures.isAndroid() && !isAppLink) {\n Util.redirectWithFormGet(url);\n } else {\n Util.changeLocation(url, win);\n }\n};\n\nUtil.changeLocation = function(url, win = window) {\n if (!url) {\n Logger.error(`Cannot redirect to empty URL: (${url})`);\n return;\n }\n win.location.href = url;\n};\n\nUtil.executeOnVisiblePage = function(cb) {\n if (document.visibilityState === 'hidden') {\n const visibilityChangeHandler = () => {\n if (document.visibilityState === 'visible') {\n document.removeEventListener('visibilitychange', visibilityChangeHandler);\n cb();\n }\n };\n document.addEventListener('visibilitychange', visibilityChangeHandler);\n } else {\n cb();\n }\n};\n\nUtil.isAndroidOVEnrollment = function(authentication) {\n const redirectUri = authentication?.request?.redirect_uri;\n const ovEnrollment = redirectUri?.includes(ovDeepLink);\n return BrowserFeatures.isAndroid() && !!ovEnrollment;\n};\n\n/**\n * Why redirect via Form get rather using `window.location.href`?\n * At the time of writing, Chrome (<72) in Android would block window location change\n * at following case\n * 1. An AJAX is trigger because of user action.\n * 2. 5+ seconds passed without any further user interaction.\n * 3. User takes an action results in window location change.\n *\n * Luckily we discovered that uses Form submit would work around this problem\n * even though it changed window location.\n *\n * Check the commit history for more details.\n */\nUtil.redirectWithFormGet = function(url) {\n Util.redirectWithForm(url, 'get');\n};\n\nUtil.redirectWithForm = function(url, method = 'post') {\n if (!url) {\n Logger.error(`Cannot redirect to empty URL: (${url})`);\n return;\n }\n\n const mainContainer = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n\n if (!mainContainer) {\n Logger.error('Cannot find okta-sign-in container append to which a form');\n return;\n }\n\n const form = buildDynamicForm(url, method);\n\n mainContainer.appendChild(form);\n form.querySelector('input[type=\"submit\"]').click();\n};\n\n/**\n * When we want to show an explain text, we need to check if this is different from\n * the label text, to not have an explain that look like a duplicated label.\n * okta-signin-widget gives the possibility to customize every i18n, so we cannot\n * know ahead if these two are equal or different, we need to call this function everytime.\n */\nUtil.createInputExplain = function(explainKey, labelKey, bundleName, explainParams, labelParams) {\n const explain = explainParams ? loc(explainKey, bundleName, explainParams) : loc(explainKey, bundleName);\n const label = labelParams ? loc(labelKey, bundleName, labelParams) : loc(labelKey, bundleName);\n\n if (explain === label) {\n return false;\n }\n return explain;\n};\n\nUtil.isV1StateToken = function(token) {\n return !!(token && _.isString(token) && token.startsWith('00'));\n};\n\nUtil.getAutocompleteValue = function(settings, defaultValue) {\n const shouldDisableAutocomplete = settings?.get('features.disableAutocomplete');\n if (shouldDisableAutocomplete) {\n return 'off';\n }\n return defaultValue;\n};\n\n/**\n * Equivalent of `new URLSearchParams(params).toString()` with broadest browser support.\n * Does not include params with nullish values.\n */\nUtil.searchParamsToString = function(params) {\n return Object.keys(params)\n .filter((key) => {\n const val = params[key];\n return val !== undefined && val !== null;\n })\n .map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n })\n .join('&');\n};\n\nexport default Util;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len:0 */\n\nexport default {\n US: '1',\n AG: '1',\n AI: '1',\n AS: '1',\n BB: '1',\n BM: '1',\n BS: '1',\n CA: '1',\n DM: '1',\n DO: '1',\n GD: '1',\n GU: '1',\n JM: '1',\n KN: '1',\n KY: '1',\n LC: '1',\n MP: '1',\n MS: '1',\n PR: '1',\n SX: '1',\n TC: '1',\n TT: '1',\n VC: '1',\n VG: '1',\n VI: '1',\n RU: '7',\n KZ: '7',\n EG: '20',\n ZA: '27',\n GR: '30',\n NL: '31',\n BE: '32',\n FR: '33',\n ES: '34',\n HU: '36',\n IT: '39',\n VA: '39',\n RO: '40',\n CH: '41',\n AT: '43',\n GB: '44',\n GG: '44',\n IM: '44',\n JE: '44',\n DK: '45',\n SE: '46',\n NO: '47',\n SJ: '47',\n PL: '48',\n DE: '49',\n PE: '51',\n MX: '52',\n CU: '53',\n AR: '54',\n BR: '55',\n CL: '56',\n CO: '57',\n VE: '58',\n MY: '60',\n AU: '61',\n CC: '61',\n CX: '61',\n ID: '62',\n PH: '63',\n NZ: '64',\n SG: '65',\n TH: '66',\n JP: '81',\n KR: '82',\n VN: '84',\n CN: '86',\n TR: '90',\n IN: '91',\n PK: '92',\n AF: '93',\n LK: '94',\n MM: '95',\n IR: '98',\n SS: '211',\n MA: '212',\n EH: '212',\n DZ: '213',\n TN: '216',\n LY: '218',\n GM: '220',\n SN: '221',\n MR: '222',\n ML: '223',\n GN: '224',\n CI: '225',\n BF: '226',\n NE: '227',\n TG: '228',\n BJ: '229',\n MU: '230',\n LR: '231',\n SL: '232',\n GH: '233',\n NG: '234',\n TD: '235',\n CF: '236',\n CM: '237',\n CV: '238',\n ST: '239',\n GQ: '240',\n GA: '241',\n CG: '242',\n CD: '243',\n AO: '244',\n GW: '245',\n IO: '246',\n AC: '247',\n SC: '248',\n SD: '249',\n RW: '250',\n ET: '251',\n SO: '252',\n DJ: '253',\n KE: '254',\n TZ: '255',\n UG: '256',\n BI: '257',\n MZ: '258',\n ZM: '260',\n MG: '261',\n RE: '262',\n YT: '262',\n ZW: '263',\n NA: '264',\n MW: '265',\n LS: '266',\n BW: '267',\n SZ: '268',\n KM: '269',\n SH: '290',\n TA: '290',\n ER: '291',\n AW: '297',\n FO: '298',\n GL: '299',\n GI: '350',\n PT: '351',\n LU: '352',\n IE: '353',\n IS: '354',\n AL: '355',\n MT: '356',\n CY: '357',\n FI: '358',\n AX: '358',\n BG: '359',\n LT: '370',\n LV: '371',\n EE: '372',\n MD: '373',\n AM: '374',\n BY: '375',\n AD: '376',\n MC: '377',\n SM: '378',\n UA: '380',\n RS: '381',\n ME: '382',\n XK: '383',\n HR: '385',\n SI: '386',\n BA: '387',\n MK: '389',\n CZ: '420',\n SK: '421',\n LI: '423',\n FK: '500',\n BZ: '501',\n GT: '502',\n SV: '503',\n HN: '504',\n NI: '505',\n CR: '506',\n PA: '507',\n PM: '508',\n HT: '509',\n GP: '590',\n BL: '590',\n MF: '590',\n BO: '591',\n GY: '592',\n EC: '593',\n GF: '594',\n PY: '595',\n MQ: '596',\n SR: '597',\n UY: '598',\n CW: '599',\n BQ: '599',\n TL: '670',\n NF: '672',\n BN: '673',\n NR: '674',\n PG: '675',\n TO: '676',\n SB: '677',\n VU: '678',\n FJ: '679',\n PW: '680',\n WF: '681',\n CK: '682',\n NU: '683',\n WS: '685',\n KI: '686',\n NC: '687',\n TV: '688',\n PF: '689',\n TK: '690',\n FM: '691',\n MH: '692',\n '001': '979',\n KP: '850',\n HK: '852',\n MO: '853',\n KH: '855',\n LA: '856',\n BD: '880',\n TW: '886',\n MV: '960',\n LB: '961',\n JO: '962',\n SY: '963',\n IQ: '964',\n KW: '965',\n SA: '966',\n YE: '967',\n OM: '968',\n PS: '970',\n AE: '971',\n IL: '972',\n BH: '973',\n QA: '974',\n BT: '975',\n MN: '976',\n NP: '977',\n TJ: '992',\n TM: '993',\n AZ: '994',\n GE: '995',\n KG: '996',\n UZ: '998',\n GS: '500',\n PN: '64',\n AQ: '672',\n UM: '1',\n AN: '599',\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Q from 'q';\nimport FidoUtil from 'util/FidoUtil';\n\nfunction adaptToOkta(promise) {\n return new Q(promise);\n}\n\nfunction makeCredential(accountInfo, cryptoParams, challenge) {\n cryptoParams = cryptoParams.map(function(param) {\n return { type: 'FIDO_2_0', algorithm: param.algorithm };\n });\n\n const promise = window.msCredentials.makeCredential(accountInfo, cryptoParams, challenge).then(function(cred) {\n return Object.freeze({\n credential: { id: cred.id },\n publicKey: JSON.parse(cred.publicKey),\n attestation: cred.attestation,\n });\n });\n\n return adaptToOkta(promise);\n}\n\nfunction getAssertion(challenge, allowList) {\n const accept = allowList.map(function(item) {\n return { type: 'FIDO_2_0', id: item.id };\n });\n const filters = { accept: accept };\n const promise = window.msCredentials.getAssertion(challenge, filters).then(function(attestation) {\n const signature = attestation.signature;\n\n return Object.freeze({\n credential: { id: attestation.id },\n clientData: signature.clientData,\n authenticatorData: signature.authnrData,\n signature: signature.signature,\n });\n });\n\n return adaptToOkta(promise);\n}\n\nfunction processWebAuthnResponse(inputFunction, context) {\n if (typeof inputFunction === 'undefined') {\n return null;\n }\n const responseValue = inputFunction.apply(context);\n if (responseValue === undefined || responseValue === null) {\n return null;\n }\n return JSON.stringify(responseValue);\n}\n\nexport default {\n makeCredential: makeCredential,\n getAssertion: getAssertion,\n processWebAuthnResponse: processWebAuthnResponse,\n isAvailable: function() {\n return Object.prototype.hasOwnProperty.call(window, 'msCredentials');\n },\n isNewApiAvailable: function() {\n // navigator.credentials is not supported in IE11\n // eslint-disable-next-line compat/compat\n return navigator && navigator.credentials && navigator.credentials.create;\n },\n isWebauthnOrU2fAvailable: function() {\n return this.isNewApiAvailable() || FidoUtil.isU2fAvailable();\n },\n isConditionalMediationAvailable: function() {\n // eslint-disable-next-line compat/compat, no-undef\n return typeof PublicKeyCredential !== 'undefined'\n // eslint-disable-next-line compat/compat, no-undef\n && typeof PublicKeyCredential.isConditionalMediationAvailable !== 'undefined';\n },\n // checks if the browser supports passkey autofill by making sure it supports conditional mediation\n // https://passkeys.dev/docs/reference/terms/#autofill-ui\n isPasskeyAutofillAvailable: async function() {\n let isAvailable = false;\n if (this.isConditionalMediationAvailable()) {\n // eslint-disable-next-line compat/compat, no-undef\n isAvailable = await PublicKeyCredential.isConditionalMediationAvailable();\n }\n return isAvailable;\n }\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-params: [2, 16], max-statements: [2, 20] */\n// BaseLoginRouter contains the more complicated router logic - rendering/\n// transition, etc. Most router changes should happen in LoginRouter (which is\n// responsible for adding new routes)\nimport { _, $, Backbone, Router, loc } from '@okta/courage';\nimport AppState from 'v1/models/AppState';\nimport Settings from 'models/Settings';\nimport Bundles from 'util/Bundles';\nimport Logger from 'util/Logger';\nimport AuthContainer from 'v1/views/shared/AuthContainer';\nimport Header from 'v1/views/shared/Header';\nimport SecurityBeacon from 'v1/views/shared/SecurityBeacon';\nimport Animations from 'util/Animations';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport ColorsUtil from 'util/ColorsUtil';\nimport Enums from 'util/Enums';\nimport { ConfigError } from 'util/Errors';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport Util from 'util/Util';\nimport LanguageUtil from 'util/LanguageUtil';\n\nfunction isStateLessRouteHandler(router, fn) {\n return _.find(router.stateLessRouteHandlers, function(routeName) {\n return fn === router[routeName];\n });\n}\n\nfunction beaconIsAvailable(Beacon, settings) {\n if (!Beacon) {\n return false;\n }\n if (Beacon === SecurityBeacon) {\n return settings.get('features.securityImage');\n }\n return true;\n}\n\nexport default Router.extend({\n Events: Backbone.Events,\n\n initialize: function(options) {\n // Create a default success and/or error handler if\n // one is not provided.\n if (!options.globalSuccessFn) {\n options.globalSuccessFn = function() {};\n }\n if (!options.globalErrorFn) {\n options.globalErrorFn = function(err) {\n Logger.error(err);\n };\n }\n\n this.settings = new Settings(_.omit(options, 'el'), { parse: true });\n\n if (!options.el) {\n this.settings.callGlobalError(new ConfigError(loc('error.required.el')));\n }\n\n $('body > div').on('click', function() {\n // OKTA-69769 Tooltip wont close on iPhone/iPad\n // Registering a click handler on the first div\n // allows a tap that falls outside the tooltip\n // to be registered as a tap by iOS\n // and then the open tooltip will lose focus and close.\n });\n\n this.appState = new AppState(\n {\n baseUrl: this.settings.get('baseUrl'),\n settings: this.settings,\n },\n { parse: true }\n );\n\n const wrapper = new AuthContainer({ appState: this.appState });\n\n $(options.el).append(wrapper.render().$el);\n this.el = `#${Enums.WIDGET_CONTAINER_ID}`;\n\n this.header = new Header({\n el: this.el,\n appState: this.appState,\n settings: this.settings,\n });\n\n // Hide until unitial render\n this.hide();\n\n this.listenTo(this.appState, 'change:transactionError', function(appState, err) {\n RouterUtil.routeAfterAuthStatusChangeError(this, err);\n });\n\n this.listenTo(this.appState, 'change:transaction', function(appState, trans) {\n RouterUtil.routeAfterAuthStatusChange(this, trans.data);\n });\n\n this.listenTo(this.appState, 'navigate', function(url) {\n this.navigate(url, { trigger: true });\n });\n },\n\n execute: function(cb, args) {\n const recoveryToken = this.settings.get('recoveryToken');\n // Recovery flow with a token passed through widget settings\n\n if (recoveryToken) {\n this.settings.unset('recoveryToken');\n this.navigate(RouterUtil.createRecoveryUrl(recoveryToken), { trigger: true });\n return;\n }\n\n // Refresh flow with a stateToken passed through widget settings\n const stateToken = this.settings.get('stateToken');\n\n if (stateToken) {\n this.settings.unset('stateToken');\n this.navigate(RouterUtil.createRefreshUrl(stateToken), { trigger: true });\n return;\n }\n\n // Normal flow - we've either navigated to a stateless page, or are\n // in the middle of an auth flow\n const trans = this.appState.get('transaction');\n\n if ((trans && trans.data) || isStateLessRouteHandler(this, cb)) {\n cb.apply(this, args);\n return;\n }\n\n // StateToken cookie exists on page load, and we are on a stateful url\n if (this.settings.getAuthClient().tx.exists()) {\n this.navigate(RouterUtil.createRefreshUrl(), { trigger: true });\n return;\n }\n\n // We've hit a page that requires state, but have no stateToken - redirect\n // back to primary auth\n this.navigate('', { trigger: true });\n },\n\n // Overriding the default navigate method to allow the widget consumer\n // to \"turn off\" routing - if features.router is false, the browser\n // location bar will not update when the router navigates\n navigate: function(fragment, options) {\n if (this.settings.get('features.router')) {\n return Router.prototype.navigate.apply(this, arguments);\n }\n if (options && options.trigger) {\n return Backbone.history.loadUrl(fragment);\n }\n },\n\n render: function(Controller, options) {\n options || (options = {});\n\n let Beacon = options.Beacon;\n\n const controllerOptions = _.extend({ settings: this.settings, appState: this.appState }, _.omit(options, 'Beacon'));\n\n // Since we have a wrapper view, render our wrapper and use its content\n // element as our new el.\n // Note: Render it here because we know dom is ready at this point\n if (!this.header.rendered()) {\n this.el = this.header.render().getContentEl();\n }\n\n // If we need to load a language (or apply custom i18n overrides), do\n // this now and re-run render after it's finished.\n if (!Bundles.isLoaded(this.appState.get('languageCode'))) {\n return LanguageUtil.loadLanguage(this.appState, this.settings)\n .then(_.bind(this.render, this, Controller, options));\n }\n\n // Load the custom colors only on the first render\n if (this.settings.get('colors.brand') && !ColorsUtil.isLoaded()) {\n const colors = {\n brand: this.settings.get('colors.brand'),\n };\n const cspNonce = this.settings.get('cspNonce');\n\n ColorsUtil.addStyle(colors, cspNonce);\n }\n\n const oldController = this.controller;\n\n this.controller = new Controller(controllerOptions);\n\n // Bubble up all controller events\n this.listenTo(this.controller, 'all', this.trigger);\n\n // First run fetchInitialData, in case the next controller needs data\n // before it's initial render. This will leave the current page in a\n // loading state.\n return this.controller\n .fetchInitialData()\n .then(() => {\n // Beacon transition occurs in parallel to page swap\n if (!beaconIsAvailable(Beacon, this.settings)) {\n Beacon = null;\n }\n this.header.setBeacon(Beacon, controllerOptions);\n\n // Show before initial render\n this.show();\n\n this.controller.render();\n\n if (!oldController) {\n this.el.append(this.controller.el);\n this.controller.postRenderAnimation();\n return;\n }\n\n return Animations.swapPages({\n $parent: this.el,\n $oldRoot: oldController.$el,\n $newRoot: this.controller.$el,\n dir: oldController.state.get('navigateDir'),\n ctx: this,\n success: function() {\n const flashError = this.appState.get('flashError');\n const model = this.controller.model;\n\n oldController.remove();\n oldController.$el.remove();\n this.controller.postRenderAnimation();\n if (flashError) {\n let errorSummary;\n const isTerminalError = flashError.is && flashError.is('terminal');\n if (isTerminalError) {\n errorSummary = flashError.errorDetails.errorSummary;\n } else {\n errorSummary = loc((this.settings.get('features.mfaOnlyFlow')) ?\n 'error.mfa.only.expired.session' : 'error.expired.session');\n }\n model.trigger('error', model, {\n responseJSON: {\n errorSummary\n },\n });\n this.appState.unset('flashError');\n Util.triggerAfterError(this.controller, flashError);\n }\n },\n });\n })\n .catch(function() {\n // OKTA-69665 - if an error occurs in fetchInitialData, we're left in\n // a state with two active controllers. Therefore, we clean up the\n // old one. Note: This explicitly handles the invalid token case -\n // if we get some other type of error which doesn't force a redirect,\n // we will probably be left in a bad state. I.e. old controller is\n // dropped and new controller is not rendered.\n if (oldController) {\n oldController.remove();\n oldController.$el.remove();\n }\n });\n },\n\n start: function() {\n let pushState = false;\n\n // Support for browser's back button.\n if (window.addEventListener && this.settings.get('features.router')) {\n window.addEventListener('popstate', e => {\n if (this.controller.back) {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.controller.back();\n }\n });\n pushState = BrowserFeatures.supportsPushState();\n }\n Router.prototype.start.call(this, { pushState: pushState });\n },\n\n hide: function() {\n this.header.$el.hide();\n },\n\n show: function() {\n this.header.$el.show();\n },\n\n remove: function() {\n if (this.controller) {\n this.controller.remove();\n }\n this.header.$el.remove();\n Bundles.remove();\n Backbone.history.stop();\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nexport default FormController.extend({\n className: 'account-unlocked',\n Model: function() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')],\n },\n };\n },\n\n Form: {\n title: _.partial(loc, 'account.unlock.unlocked.title', 'login'),\n subtitle: _.partial(loc, 'account.unlock.unlocked.desc', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'account-unlocked' },\n formChildren: function() {\n return [\n FormType.Button({\n title: loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n }),\n ];\n },\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport FormController from 'v1/util/FormController';\nimport EnterPasscodeForm from 'v1/views/enroll-factors/EnterPasscodeForm';\nimport Footer from 'v1/views/enroll-factors/Footer';\nexport default FormController.extend({\n className: 'activate-totp',\n Model: function() {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true],\n },\n local: {\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.activate({\n passCode: this.get('passCode'),\n });\n });\n },\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport ScopeList from 'v1/views/admin-consent/ScopeList';\nimport consentLogoHeaderTemplate from 'v1/views/shared/templates/consentLogoHeaderTemplate';\n\nconst ConsentModel = {\n props: {\n scopes: ['array', true]\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.consent({\n consent: {\n scopes: _.pluck(this.get('scopes'), 'name')\n }\n });\n });\n },\n cancel: function() {\n var self = this;\n return this.doTransaction(function(transaction) {\n return transaction.cancel();\n }).then(function() {\n var consentCancelFn = self.settings.get('consent.cancel');\n if (_.isFunction(consentCancelFn)) {\n consentCancelFn();\n }\n });\n }\n};\n\nconst ConsentHeader = View.extend({\n className: 'consent-title detail-row',\n template: consentLogoHeaderTemplate,\n getTemplateData: function() {\n var appState = this.options.appState;\n return {\n appName: appState.escape('targetLabel'),\n customLogo: appState.get('targetLogo') && appState.get('targetLogo').href,\n defaultLogo: appState.get('defaultAppLogo'),\n clientURI: appState.get('targetClientURI') && appState.get('targetClientURI').href,\n issuer: appState.get('issuer'),\n };\n }\n});\n\nconst ConsentForm = {\n noCancelButton: false,\n buttonOrder: ['cancel', 'save'],\n autoSave: true,\n save: _.partial(loc, 'consent.required.consentButton', 'login'),\n cancel: _.partial(loc, 'consent.required.cancelButton', 'login'),\n formChildren: [\n FormType.View({\n View: ConsentHeader\n }),\n FormType.View({\n View: ScopeList,\n }),\n ],\n};\n\nconst AdminConsentRequiredController = FormController.extend({\n Model: ConsentModel,\n\n Form: ConsentForm,\n\n className: 'admin-consent-required',\n\n initialize: function() {\n this.model.set('scopes', this.options.appState.get('scopes'));\n this.listenTo(this.form, 'cancel', () => {\n this.model.cancel();\n });\n },\n});\n\nexport default AdminConsentRequiredController;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport BarcodeView from 'v1/views/enroll-factors/BarcodeView';\nimport Footer from 'v1/views/enroll-factors/Footer';\nconst PUSH_INTERVAL = 6000;\n\n// Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n// in network connection lost errors in Safari and IE.\n\nexport default FormController.extend({\n className: 'barcode-push',\n Model: function() {\n return {\n local: {\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n };\n },\n\n Form: {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n initialize: function() {\n this.listenTo(this.model, 'error errors:clear', function() {\n this.clearErrors();\n });\n },\n\n formChildren: [FormType.View({ View: BarcodeView })],\n },\n\n Footer: Footer,\n\n initialize: function() {\n this.pollForEnrollment().catch(()=>{\n // Ignoring the errors for now. \n // clean up will be done based on OKTA-324849\n });\n },\n\n pollForEnrollment: function() {\n return this.model.doTransaction(function(transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport BarcodeView from 'v1/views/enroll-factors/BarcodeView';\nimport Footer from 'v1/views/enroll-factors/Footer';\nexport default FormController.extend({\n className: 'barcode-totp',\n Model: function() {\n return {\n local: {\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n };\n },\n\n Form: {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n save: _.partial(loc, 'oform.next', 'login'),\n noCancelButton: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n\n formChildren: [FormType.View({ View: BarcodeView })],\n },\n\n Footer: Footer,\n\n initialize: function() {\n this.listenTo(this.form, 'save', function() {\n const url = RouterUtil.createActivateFactorUrl(\n this.model.get('__provider__'),\n this.model.get('__factorType__'),\n 'activate'\n );\n\n this.options.appState.trigger('navigate', url);\n });\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 160] */\nimport { _, $, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport ScopeList from 'v1/views/consent/ScopeList';\nimport ScopeCheckBox from 'v1/views/consent/ScopeCheckBox';\nimport SkipLink from 'v1/views/shared/SkipLink';\nimport consentLogoHeaderTemplate from 'v1/views/shared/templates/consentLogoHeaderTemplate';\n\nconst granularConsentHeaderTemplate = hbs`\n {{#if clientURI}}\n \n {{/if}}\n {{#if customLogo}}\n \n {{else}}\n \n {{/if}}\n {{#if clientURI}}\n \n {{/if}}\n

          \n \n {{i18n \n code=\"granular.consent.scopes.title\" bundle=\"login\" \n arguments=\"appName\"\n $1=\"$1\"\n $2=\"

          $2

          \"\n }}\n
          \n {{#if issuer}}\n
          {{issuer}}
          \n {{/if}}\n

          `;\n\nconst getConsentHeader = (template) => FormType.View({\n View: View.extend({\n className: 'consent-title detail-row',\n template,\n getTemplateData: function() {\n const appState = this.options.appState;\n return {\n appName: appState.escape('targetLabel'),\n customLogo: appState.get('targetLogo') && appState.get('targetLogo').href,\n defaultLogo: appState.get('defaultAppLogo'),\n clientURI: appState.get('targetClientURI') && appState.get('targetClientURI').href,\n };\n },\n }),\n});\n\nconst consentRequiredDescription = FormType.View({\n View: View.extend({\n className: 'consent-description detail-row',\n template: hbs`

          {{i18n code=\"consent.required.description\" bundle=\"login\"}}

          `,\n }),\n});\n\nconst granularConsentDescription = FormType.View({\n View: View.extend({\n className: 'consent-description',\n template: hbs`

          {{i18n code=\"granular.consent.scopes.description\" bundle=\"login\"}}

          `,\n }),\n});\n\nconst getScopeCheckBoxes = (scopes) => {\n const sortedScopes = scopes.slice().sort((scope1, scope2) => scope2.optional - scope1.optional);\n return _.map(sortedScopes, ({name, displayName, description, optional, isCustomized}) => FormType.Input({\n name: name,\n input: ScopeCheckBox,\n placeholder: displayName,\n label: false,\n modelType: 'boolean',\n required: true,\n options:\n {\n description,\n optional,\n isCustomized\n }\n }));\n};\n\nconst isGranularConsent = (appState) => {\n return 'optional' in appState.get('scopes')[0];\n};\n\nexport default FormController.extend({\n className: 'consent-required',\n initialize: function() {\n this.model.set('expiresAt', this.options.appState.get('expiresAt'));\n this.model.set('scopes', this.options.appState.get('scopes'));\n this.listenTo(this.form, 'cancel', _.bind(this.model.cancel, this.model));\n\n // add Skip to main content link\n const skipLink = new SkipLink();\n $(`#${Enums.WIDGET_LOGIN_CONTAINER_ID}`).prepend(skipLink.render().$el);\n\n if (isGranularConsent(this.options.appState)) {\n this.$el.addClass('granular-consent').removeClass('consent-required');\n this.form.cancel = _.partial(loc, 'oform.cancel', 'login');\n _.forEach(this.options.appState.get('scopes'), scope => {\n this.model.set(scope.name, true);\n });\n }\n },\n postRender: function() {\n FormController.prototype.postRender.apply(this, arguments);\n\n // Update the \"don't allow\" and \"allow access\" buttons to be neutral by changing \"allow button\" to be gray.\n this.$('.o-form-button-bar .button-primary').removeClass('button-primary');\n },\n Model: {\n props: {\n expiresAt: ['string', true],\n scopes: ['array', true],\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n let scopeNames = _.pluck(this.get('scopes'), 'name');\n let consent = { expiresAt: this.get('expiresAt') };\n if (isGranularConsent(this)) {\n consent['optedScopes'] = _.reduce(scopeNames, (optedScopes, scope) => { optedScopes[scope] = this.get(scope); return optedScopes; }, {});\n } else {\n consent['scopes'] = scopeNames;\n }\n return transaction.consent({ consent });\n });\n },\n cancel: function() {\n const self = this;\n\n return this.doTransaction(function(transaction) {\n return transaction.cancel();\n }).then(function() {\n const consentCancelFn = self.settings.get('consent.cancel');\n\n if (_.isFunction(consentCancelFn)) {\n consentCancelFn();\n }\n });\n },\n },\n Form: {\n noCancelButton: false,\n buttonOrder: ['cancel', 'save'],\n autoSave: true,\n save: _.partial(loc, 'consent.required.consentButton', 'login'),\n cancel: _.partial(loc, 'consent.required.cancelButton', 'login'),\n formChildren: function() {\n if (isGranularConsent(this.options.appState)) {\n return [\n getConsentHeader(granularConsentHeaderTemplate),\n granularConsentDescription,\n ].concat(getScopeCheckBoxes(this.options.appState.get('scopes')));\n } else {\n return [\n getConsentHeader(consentLogoHeaderTemplate),\n FormType.View({\n View: new ScopeList({ model: this.model }),\n }),\n consentRequiredDescription\n ];\n }\n },\n },\n Footer: View.extend({\n className: 'consent-footer',\n template: hbs(\n '\\\n {{#if termsOfService}}\\\n {{i18n code=\"consent.required.termsOfService\" bundle=\"login\"}}\\\n {{#if privacyPolicy}}\\\n •\\\n {{/if}}\\\n {{/if}}\\\n {{#if privacyPolicy}}\\\n {{i18n code=\"consent.required.privacyPolicy\" bundle=\"login\"}}\\\n {{/if}}\\\n '\n ),\n getTemplateData: function() {\n const appState = this.options.appState;\n\n return {\n termsOfService: appState.get('targetTermsOfService') && appState.get('targetTermsOfService').href,\n privacyPolicy: appState.get('targetPrivacyPolicy') && appState.get('targetPrivacyPolicy').href,\n };\n },\n }),\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, internal } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Footer from 'v1/views/expired-password/Footer';\nconst { Util } = internal.util;\nexport default FormController.extend({\n className: 'custom-password-expired',\n Model: {},\n Form: {\n noButtonBar: true,\n title: function() {\n const expiringSoon = this.options.appState.get('isPwdExpiringSoon');\n const numDays = this.options.appState.get('passwordExpireDays');\n\n if (expiringSoon && numDays > 0) {\n return loc('password.expiring.title', 'login', [numDays]);\n } else if (expiringSoon && numDays === 0) {\n return loc('password.expiring.today', 'login');\n } else if (expiringSoon) {\n return loc('password.expiring.soon', 'login');\n } else {\n return this.settings.get('brandName')\n ? loc('password.expired.title.specific', 'login', [this.settings.get('brandName')])\n : loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function() {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return this.settings.get('brandName')\n ? loc('password.expiring.soon.subtitle.specific', 'login', [this.settings.get('brandName')])\n : loc('password.expiring.soon.subtitle.generic', 'login');\n }\n\n return loc('password.expired.custom.subtitle', 'login');\n },\n formChildren: function() {\n return [\n FormType.Button({\n title: _.partial(loc, 'password.expired.custom.submit', 'login', [\n this.options.appState.get('passwordExpiredWebsiteName'),\n ]),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'custom-button' },\n click: function() {\n Util.redirect(this.options.appState.get('passwordExpiredLinkUrl'));\n },\n }),\n ];\n },\n },\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 160] */\nimport hbs from '@okta/handlebars-inline-precompile';\nimport {loc, View} from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport TextBox from 'v1/views/shared/TextBox';\n\nconst InvalidUserCodeErrorView = View.extend({\n template: hbs`\n
          \n \n

          {{i18n code=\"api.authn.error.PASSCODE_INVALID\" bundle=\"login\"}}

          \n
          \n `\n});\n\nexport default FormController.extend({\n className: 'device-code-activate',\n Model: function() {\n return {\n props: {\n userCode: ['string', true, this.options?.appState?.get('userCode')],\n stateToken: 'string',\n },\n save: function() {\n const self = this;\n return this.doTransaction(function(transaction) {\n return transaction.deviceActivate({\n userCode: self.get('userCode')\n });\n });\n }\n };\n },\n Form: {\n noCancelButton: true,\n autoSave: true,\n save: function() {\n return loc('oform.next', 'login');\n },\n title: function() {\n return loc('device.code.activate.title', 'login');\n },\n subtitle() {\n return loc('device.code.activate.subtitle', 'login');\n },\n formChildren: function() {\n if (this.options.appState.get('deviceActivationStatus') === 'INVALID_USER_CODE') {\n this.add(InvalidUserCodeErrorView, '.o-form-error-container');\n }\n\n return [\n FormType.Input({\n label: loc('device.code.activate.label', 'login'),\n 'label-top': true,\n name: 'userCode',\n input: TextBox,\n inputId: 'user-code',\n type: 'text',\n inlineValidation: false,\n })\n ];\n },\n events: {\n 'keyup input[name=\"userCode\"]': function(e) {\n e.preventDefault();\n this.addHyphen(e);\n }\n },\n addHyphen(evt) {\n const currentVal = evt.target.value;\n // add hyphen after 4th character\n if (currentVal && currentVal.length === 4 && !['Backspace', 'Delete', '-'].includes(evt.key)) {\n evt.target.value = currentVal.concat('-');\n }\n }\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 160] */\nimport {_, loc, View} from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\n\nconst DEVICE_ACTIVATED = 'DEVICE_ACTIVATED';\nconst DEVICE_NOT_ACTIVATED_CONSENT_DENIED = 'DEVICE_NOT_ACTIVATED_CONSENT_DENIED';\nconst DEVICE_NOT_ACTIVATED = 'DEVICE_NOT_ACTIVATED';\nconst DEVICE_CODE_ERROR_KEYS = [\n DEVICE_NOT_ACTIVATED_CONSENT_DENIED,\n DEVICE_NOT_ACTIVATED\n];\n\nexport default FormController.extend({\n className: 'device-code-terminal',\n postRender: function() {\n FormController.prototype.postRender.apply(this, arguments);\n\n // show device code terminal icons\n const iconClass = this.options.appState.get('deviceActivationStatus') === DEVICE_ACTIVATED\n ? 'success-24-green' : 'error-24-red';\n this.$('.o-form-head').before('
          ' +\n '' +\n '
          ');\n },\n Model: {},\n Form: {\n noCancelButton: true,\n noButtonBar: true,\n title: function() {\n const deviceActivationStatus = this.options.appState.get('deviceActivationStatus');\n if (deviceActivationStatus === DEVICE_ACTIVATED) {\n return loc('device.code.activated.success.title', 'login');\n }\n if (_.contains(DEVICE_CODE_ERROR_KEYS, deviceActivationStatus)) {\n return loc('device.code.activated.error.title', 'login');\n }\n },\n subtitle: function() {\n const deviceActivationStatus = this.options.appState.get('deviceActivationStatus');\n if (deviceActivationStatus === DEVICE_ACTIVATED) {\n return loc('idx.device.activated', 'login');\n }\n if (deviceActivationStatus === DEVICE_NOT_ACTIVATED_CONSENT_DENIED) {\n return loc('idx.device.not.activated.consent.denied', 'login');\n }\n if (deviceActivationStatus === DEVICE_NOT_ACTIVATED) {\n return loc('idx.device.not.activated.internal.error', 'login');\n }\n },\n formChildren: function() {\n return [\n FormType.View({\n View: View.extend({\n template: hbs(\n '{{#if isDeviceCodeError}}\\\n \\\n {{i18n code=\"oie.try.again\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n '\n ),\n getTemplateData: function() {\n return {\n isDeviceCodeError: _.contains(DEVICE_CODE_ERROR_KEYS, this.options.appState.get('deviceActivationStatus'))\n };\n },\n }),\n }),\n ];\n }\n }\n});\n","/*!\n * Copyright (c) 2019-2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc, internal } from '@okta/courage';\nimport EnrollCustomFactorController from './EnrollCustomFactorController';\nimport Factor from 'v1/models/Factor';\nimport FormType from 'v1/util/FormType';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nconst { Util } = internal.util;\nexport default EnrollCustomFactorController.extend({\n Model: {\n local: {\n provider: 'string',\n factorType: 'string',\n },\n save: function() {\n return this.manageTransaction(() => {\n const url = this.appState.get('enrollCustomFactorRedirectUrl');\n\n if (url !== null) {\n Util.redirect(url);\n }\n });\n },\n },\n\n Form: function() {\n const factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n const vendorName = factor.get('vendorName');\n const subtitle = loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n const saveText = loc('enroll.customFactor.save', 'login');\n\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText,\n formChildren: function() {\n const result = [];\n\n if (this.options.appState.get('isFactorResultFailed')) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: this.options.appState.get('factorResultErrorMessage') }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n return result;\n },\n };\n },\n});\n","/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport ResendEmailView from 'v1/views/ResendEmailView';\nimport Footer from 'v1/views/enroll-factors/Footer';\n\nconst Model = {\n props: {\n passCode: 'string',\n },\n\n resend: function() {\n this.trigger('form:clear-errors');\n return this.doTransaction(function(transaction) {\n // authn support multiple `resend` hence has to specify name.\n return transaction.resend('email');\n });\n },\n\n save: function() {\n this.trigger('save');\n const formData = this.toJSON();\n return this.doTransaction(function(transaction) {\n return transaction.activate(formData);\n });\n },\n};\n\nconst Form = function() {\n return {\n title: _.partial(loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(loc, 'oform.verify', 'login'), // TODO: deprecated by mfa.challenge.verify\n formChildren: [\n // message\n FormType.View({\n View: View.extend({\n className: 'enroll-activate-email-content',\n attributes: {\n 'data-se': 'enroll-activate-email-content',\n },\n\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: hbs('{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}'),\n\n getTemplateData: function() {\n const factor = this.options.appState.get('factor');\n const factorEmailVal = factor && factor.profile ? factor.profile.email : '';\n const factorEmail = hbs('{{email}}')({ email: factorEmailVal });\n return {\n factorEmail,\n };\n },\n }),\n }),\n // send again callout message and link button\n FormType.View({\n View: ResendEmailView,\n }),\n // passcode input\n FormType.Input({\n label: loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'passCode',\n type: 'text',\n wide: true,\n }),\n ],\n };\n};\n\nexport default FormController.extend({\n className: 'enroll-activate-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 8] */\nimport { _, loc, internal, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport CountryUtil from 'util/CountryUtil';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport PhoneTextBox from 'v1/views/enroll-factors/PhoneTextBox';\nimport TextBox from 'v1/views/shared/TextBox';\nlet { Keys } = internal.util;\nconst EnrollCallAndSmsControllerwarningTemplate = View.extend({\n className: 'okta-form-infobox-warning infobox infobox-warning login-timeout-warning',\n attributes: {\n 'aria-live': 'polite',\n },\n template: hbs`\n \n

          {{{warning}}}

          \n `,\n});\nconst factorIdIsDefined = {\n factorId: function(val) {\n return !_.isUndefined(val);\n },\n};\n\nfunction isCallFactor(factorType) {\n return factorType === 'call';\n}\n\nfunction getClassName(factorType) {\n return isCallFactor(factorType) ? 'enroll-call' : 'enroll-sms';\n}\n\nfunction sendCode(e) {\n if (Keys.isEnter(e)) {\n e.stopPropagation();\n e.preventDefault();\n if (e.type === 'keyup' && e.data && e.data.model) {\n e.data.model.sendCode();\n }\n }\n}\n\nexport default FormController.extend({\n className: function() {\n return getClassName(this.options.factorType);\n },\n Model: function() {\n return {\n props: {\n phoneNumber: ['string', true],\n phoneExtension: ['string', false],\n lastEnrolledPhoneNumber: 'string',\n passCode: ['string', true],\n factorId: 'string',\n },\n local: {\n countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n hasExistingPhones: 'boolean',\n trapEnrollment: 'boolean',\n ableToResend: 'boolean',\n factorType: 'string',\n skipPhoneValidation: 'boolean',\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n },\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function(countryCallingCode, phoneNumber) {\n return phoneNumber ? countryCallingCode + phoneNumber : '';\n },\n },\n enrolled: {\n deps: ['lastEnrolledPhoneNumber', 'fullPhoneNumber'],\n fn: function(lastEnrolled, current) {\n return lastEnrolled === current;\n },\n },\n },\n limitResending: function() {\n this.set({ ableToResend: false });\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, { ableToResend: true });\n },\n sendCode: function() {\n const self = this;\n const phoneNumber = this.get('fullPhoneNumber');\n const phoneExtension = this.get('phoneExtension');\n \n self.trigger('errors:clear');\n \n if (!phoneNumber.length) {\n self.trigger('invalid', self, { phoneNumber: 'model.validation.field.blank' });\n return;\n }\n \n return this.doTransaction(function(transaction) {\n const isMfaEnroll = transaction.status === 'MFA_ENROLL' || transaction.status === 'FACTOR_ENROLL';\n const profileData = {\n phoneNumber: phoneNumber,\n updatePhone: isMfaEnroll ? self.get('hasExistingPhones') : true,\n };\n \n if (isCallFactor(self.get('factorType'))) {\n profileData['phoneExtension'] = phoneExtension;\n }\n \n if (self.get('skipPhoneValidation')) {\n profileData['validatePhone'] = false;\n }\n \n const doEnroll = function(trans) {\n const factor = _.findWhere(trans.factors, {\n factorType: self.get('factorType'),\n provider: 'OKTA',\n });\n \n return factor\n .enroll({\n profile: profileData,\n })\n .catch(function(error) {\n if (error.errorCode === 'E0000098') {\n // E0000098: \"This phone number is invalid.\"\n self.set('skipPhoneValidation', true);\n error.xhr.responseJSON.errorSummary = loc('enroll.sms.try_again', 'login');\n }\n throw error;\n });\n };\n \n if (isMfaEnroll) {\n return doEnroll(transaction);\n } else {\n // We must transition to MfaEnroll before updating the phone number\n self.set('trapEnrollment', true);\n return transaction.prev().then(doEnroll).then(function(trans) {\n self.set('trapEnrollment', false);\n return trans;\n });\n }\n // Rethrow errors so we can change state\n // AFTER setting the new transaction\n }, true)\n .then(function() {\n self.set('lastEnrolledPhoneNumber', phoneNumber);\n self.limitResending();\n })\n .catch(function() {\n self.set('trapEnrollment', false);\n });\n },\n resendCode: function() {\n this.trigger('errors:clear');\n this.limitResending();\n return this.doTransaction(function(transaction) {\n return transaction.resend(this.get('factorType'));\n });\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.activate({\n passCode: this.get('passCode'),\n });\n });\n },\n };\n },\n Form: function() {\n const factorType = this.options.factorType;\n const isCall = isCallFactor(factorType);\n const formTitle = loc(isCall ? 'enroll.call.setup' : 'enroll.sms.setup', 'login');\n const formSubmit = loc(isCall ? 'mfa.call' : 'mfa.sendCode', 'login');\n const formRetry = loc(isCall ? 'mfa.redial' : 'mfa.resendCode', 'login');\n const formSubmitted = loc(isCall ? 'mfa.calling' : 'mfa.sent', 'login');\n const numberFieldClassName = isCall ? 'enroll-call-phone' : 'enroll-sms-phone';\n const buttonClassName = isCall ? 'call-request-button' : 'sms-request-button';\n const formChildren = [\n FormType.Input({\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries(),\n }),\n FormType.Input({\n label: loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: numberFieldClassName,\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n render: function() {\n this.$('input[name=\"phoneNumber\"]')\n .off('keydown keyup', sendCode)\n .keydown(sendCode)\n .keyup({ model: this.model }, sendCode);\n },\n }),\n ];\n\n if (isCall) {\n formChildren.push(\n FormType.Input({\n label: loc('mfa.phoneNumber.ext.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-call-extension',\n name: 'phoneExtension',\n input: TextBox,\n type: 'text',\n })\n );\n }\n formChildren.push(\n FormType.Button({\n title: formSubmit,\n attributes: { 'data-se': buttonClassName },\n className: 'button button-primary js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function() {\n this.model.sendCode();\n },\n }),\n FormType.Button({\n title: formRetry,\n attributes: { 'data-se': buttonClassName },\n className: 'button js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function() {\n this.model.resendCode();\n },\n initialize: function() {\n this.$el.css({ display: 'none' });\n this.listenTo(this.model, 'change:ableToResend', function(model, ableToResend) {\n if (ableToResend) {\n this.options.title = formRetry;\n this.enable();\n } else {\n this.options.title = formSubmitted;\n this.disable();\n }\n this.render();\n });\n },\n }),\n FormType.Divider({\n showWhen: factorIdIsDefined,\n }),\n FormType.Input({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'mfa.challenge.enterCode.tooltip',\n 'mfa.challenge.enterCode.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel',\n showWhen: factorIdIsDefined,\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('mfa.challenge.verify', 'login'),\n showWhen: factorIdIsDefined,\n })\n );\n\n return {\n title: formTitle,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(factorType),\n\n showWarning: function(msg) {\n this.clearWarnings();\n this.add(EnrollCallAndSmsControllerwarningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n\n clearWarnings: function() {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function() {\n const callTimeWarning = hbs`{{i18n\n code=\"factor.call.time.warning\"\n bundle=\"login\"\n $1=\"$1\"\n }}`;\n const smsTimeWarning = hbs`{{i18n\n code=\"factor.sms.time.warning\"\n bundle=\"login\"\n $1=\"$1\"\n }}`;\n this.listenTo(this.model, 'change:ableToResend', function(model, ableToResend) {\n if (ableToResend) {\n this.showWarning(isCall ? callTimeWarning : smsTimeWarning);\n } else {\n this.clearWarnings();\n }\n });\n this.listenTo(this.model, 'error errors:clear', function() {\n this.clearWarnings();\n this.clearErrors();\n });\n this.listenTo(this.model, 'change:enrolled', function() {\n this.$('.js-enroll-phone').toggle();\n });\n },\n formChildren: formChildren,\n };\n },\n\n Footer: Footer,\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.set('factorId', this.options.appState.get('activatedFactorId'));\n return true;\n }\n if (this.options.appState.get('isMfaEnroll') && this.model.get('trapEnrollment')) {\n return true;\n }\n },\n\n initialize: function() {\n if (isCallFactor(this.options.factorType)) {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhonesForCall'));\n } else {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhones'));\n }\n this.model.set('factorType', this.options.factorType);\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13] */\n\nimport { _, loc, Collection } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorList from 'v1/views/enroll-choices/FactorList';\nimport Footer from 'v1/views/enroll-choices/Footer';\nimport RequiredFactorList from 'v1/views/enroll-choices/RequiredFactorList';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport RouterUtil from 'v1/util/RouterUtil';\nconst subtitleTpl = hbs('{{{subtitle}}}');\nexport default FormController.extend({\n className: 'enroll-choices',\n state: {\n pageType: null,\n },\n\n Model: {},\n\n Form: {\n noCancelButton: true,\n\n title: _.partial(loc, 'enroll.choices.title', 'login'),\n\n noButtonBar: function() {\n return this.state.get('pageType') === Enums.ALL_OPTIONAL_NONE_ENROLLED;\n },\n\n subtitle: ' ',\n\n getSubtitle: function() {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return loc('enroll.choices.optional', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED: {\n const remainingDays = this.options.appState.get('gracePeriodRemainingDays');\n\n // remainingDays is null if there is no grace period, 0 if we are still in grace period\n return (remainingDays !== null && remainingDays >= 0)\n ? this.getGracePeriodSubtitle(remainingDays)\n : this.getDefaultSubtitle();\n }\n default:\n return this.getDefaultSubtitle();\n }\n },\n\n getDefaultSubtitle: function() {\n return this.settings.get('brandName')\n ? loc('enroll.choices.description.specific', 'login', [this.settings.get('brandName')])\n : loc('enroll.choices.description.generic', 'login');\n },\n\n getGracePeriodSubtitle: function(remainingDays) {\n return remainingDays >= 1\n ? loc('enroll.choices.description.gracePeriod.bold', 'login', [remainingDays])\n : loc('enroll.choices.description.gracePeriod.oneDay.bold', 'login');\n },\n\n save: function() {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return loc('enroll.choices.submit.finish', 'login');\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n return loc('enroll.choices.submit.configure', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n return loc('enroll.choices.submit.next', 'login');\n default:\n return '';\n }\n },\n\n initialize: function(options) {\n this.listenTo(this, 'save', function() {\n let current;\n\n switch (this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n current = options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n options.appState.trigger(\n 'navigate',\n RouterUtil.createEnrollFactorUrl(current.get('provider'), current.get('factorType'))\n );\n break;\n default:\n return this.model.doTransaction(function(transaction) {\n return transaction.skip();\n });\n }\n });\n },\n\n preRender: function() {\n // form subtitle does not support unescaped strings, and we need some html elements\n // in the subtitle for this form. So instead of a regular subtitle, we add a \n // with the text we need\n this.add(subtitleTpl({ subtitle: this.getSubtitle() }), 'p.okta-form-subtitle');\n\n const factors = this.options.appState.get('factors');\n\n switch (this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n this.add(\n new RequiredFactorList({\n minimize: true,\n collection: new Collection(factors.where({ required: true })),\n appState: this.options.appState,\n })\n );\n break;\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.ALL_OPTIONAL_NONE_ENROLLED: {\n const enrolled = factors.where({ enrolled: true });\n const notEnrolled = factors.filter(function(factor) {\n // pick factors that are not enrolled or have additional enrollments\n return !factor.get('enrolled') || factor.get('additionalEnrollment');\n });\n let notEnrolledListTitle;\n\n if (enrolled.length > 0) {\n notEnrolledListTitle = loc('enroll.choices.list.optional', 'login');\n this.add(\n new FactorList({\n listTitle: loc('enroll.choices.list.enrolled', 'login'),\n minimize: true,\n collection: new Collection(enrolled),\n appState: this.options.appState,\n })\n );\n }\n this.add(\n new FactorList({\n listTitle: notEnrolledListTitle,\n collection: new Collection(notEnrolled),\n appState: this.options.appState,\n showInlineSetupButton: true,\n })\n );\n break;\n }\n }\n },\n },\n\n initialize: function(options) {\n let numRequiredEnrolled = 0;\n let numRequiredNotEnrolled = 0;\n let numOptionalEnrolled = 0;\n let numOptionalNotEnrolled = 0;\n let hasRequired;\n let pageType;\n\n options.appState.get('factors').each(function(factor) {\n const required = factor.get('required');\n const enrolled = factor.get('enrolled');\n const additionalEnrollment = factor.get('additionalEnrollment');\n\n if (required && enrolled) {\n numRequiredEnrolled++;\n } else if (required && !enrolled) {\n numRequiredNotEnrolled++;\n } else if (!required && enrolled) {\n numOptionalEnrolled++;\n } else if (!required && !enrolled) {\n numOptionalNotEnrolled++;\n }\n // If a factor has multiple instances and\n // additional optional enrollments\n if (enrolled && additionalEnrollment) {\n numOptionalNotEnrolled++;\n }\n });\n\n hasRequired = numRequiredEnrolled > 0 || numRequiredNotEnrolled > 0;\n\n // There are 5 possible states this screen can be in:\n\n // 1. Has required, but none have been enrolled. Wizard start page.\n if (hasRequired && numRequiredEnrolled === 0) {\n pageType = Enums.HAS_REQUIRED_NONE_ENROLLED;\n } else if (hasRequired && numRequiredNotEnrolled > 0) {\n // 2. Has required, and have enrolled at least one. The page layout\n // to configure the remaining required factors.\n pageType = Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED;\n } else if (hasRequired && numOptionalNotEnrolled > 0) {\n // 3. Has required, and finished enrolling all required factors. The\n // page layout you see to configure any optional factors or skip.\n pageType = Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED;\n } else if (numOptionalEnrolled === 0 && numOptionalNotEnrolled > 0) {\n // 4. Factors are all optional, no factors enrolled.\n pageType = Enums.ALL_OPTIONAL_NONE_ENROLLED;\n } else if (numOptionalNotEnrolled > 0) {\n // 5. Factors are all optional, some factors have already been\n // enrolled (can either enroll more or skip).\n pageType = Enums.ALL_OPTIONAL_SOME_ENROLLED;\n } else {\n // 6. Factors are all optional, all factors have already been\n // enrolled, among them there is OktaVerify with Push enrolled as totp\n // (API return OktaVerify push factor as unenrolled in this case and as we always merge\n // push and totp in UI so we redirect to skip link here).\n this.model.doTransaction(function(transaction) {\n return transaction.skip();\n });\n }\n\n this.state.set('pageType', pageType);\n\n if (this.options.appState.get('skipLink') && pageType === Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED) {\n this.add(new Footer(this.toJSON()));\n }\n },\n});\n","/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, internal } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport Footer from 'v1/views/enroll-factors/Footer';\nconst { Util } = internal.util;\nexport default FormController.extend({\n className: 'enroll-custom-factor',\n Model: {\n local: {\n provider: 'string',\n factorType: 'string',\n },\n save: function() {\n return this.manageTransaction((transaction, setTransaction) => {\n const factor = _.findWhere(transaction.factors, {\n provider: this.get('provider'),\n factorType: this.get('factorType'),\n });\n\n return factor\n .enroll()\n .then(trans => {\n setTransaction(trans);\n const url = this.appState.get('enrollCustomFactorRedirectUrl');\n\n if (url !== null) {\n Util.redirect(url);\n }\n })\n .catch(function(err) {\n throw err;\n });\n });\n },\n },\n\n Form: function() {\n const factors = this.options.appState.get('factors');\n const factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType,\n });\n const vendorName = factor.get('vendorName');\n const subtitle = loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n const saveText = loc('enroll.customFactor.save', 'login');\n\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText,\n };\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n },\n\n initialize: function() {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n },\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0*/\nimport { $, _, loc } from '@okta/courage';\nimport Duo from '@okta/duo';\nimport Q from 'q';\nimport FormController from 'v1/util/FormController';\nimport Footer from 'v1/views/enroll-factors/Footer';\nexport default FormController.extend({\n className: 'enroll-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string',\n },\n\n getInitOptions: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'web',\n provider: 'DUO',\n });\n\n return factor.enroll();\n });\n },\n\n activate: function(signedResponse) {\n const url = this.get('postAction');\n const factorId = this.get('factorId');\n const self = this;\n const data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse,\n };\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n return Q($.post(url, data))\n .then(function() {\n return self.doTransaction(function(transaction) {\n return transaction.poll();\n });\n })\n .catch(function(err) {\n self.trigger('error', self, err.xhr);\n });\n },\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(loc, 'enroll.duo.title', 'login'),\n\n postRender: function() {\n this.add('');\n Duo.init({\n host: this.model.get('host'),\n sig_request: this.model.get('signature'),\n iframe: this.$('iframe').get(0),\n post_action: _.bind(this.model.activate, this.model),\n });\n },\n },\n\n Footer: Footer,\n\n fetchInitialData: function() {\n const self = this;\n\n return this.model.getInitOptions(this.options.appState).then(function(trans) {\n const res = trans.data;\n\n if (\n !res ||\n !res._embedded ||\n !res._embedded.factor ||\n !res._embedded.factor._embedded ||\n !res._embedded.factor._embedded.activation\n ) {\n throw new Error('Response does not have duo activation options');\n }\n\n const factor = res._embedded.factor;\n const activation = factor._embedded.activation;\n\n self.model.set({\n host: activation.host,\n signature: activation.signature,\n postAction: activation._links.complete.href,\n factorId: factor.id,\n stateToken: res.stateToken,\n });\n });\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Footer from 'v1/views/enroll-factors/Footer';\n\nconst Model = {\n local: {\n factorType: 'string',\n provider: 'string',\n },\n save: function() {\n this.trigger('save');\n const factorOpt = this.pick('factorType', 'provider');\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, factorOpt);\n\n return factor.enroll();\n });\n },\n};\n\nconst Form = function() {\n return {\n title: _.partial(loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(loc, 'email.button.send', 'login'),\n formChildren: [\n FormType.View({\n View: View.extend({\n attributes: {\n 'data-se': 'enroll-email-content',\n },\n template: hbs('{{i18n code=\"email.enroll.description\" bundle=\"login\"}}'),\n }),\n }),\n ],\n };\n};\n\nexport default FormController.extend({\n className: 'enroll-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer,\n\n initialize: function() {\n this.model.set(_.pick(this.options, 'factorType', 'provider'));\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nexport default FormController.extend({\n className: 'enroll-hotp',\n Model: function() {\n return {\n local: {\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n };\n },\n Form: {\n title: function() {\n const factors = this.options.appState.get('factors');\n const hotpFactor = factors.findWhere({\n provider: this.model.get('__provider__'),\n factorType: this.model.get('__factorType__'),\n });\n return loc('enroll.totp.title', 'login', [hotpFactor.get('factorLabel')]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'restrict-enroll' },\n\n formChildren: function() {\n const children = [\n FormType.View({\n View: new HtmlErrorMessageView({ message: loc('enroll.hotp.restricted', 'login') }),\n }),\n ];\n\n return children;\n },\n },\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport TextBox from 'v1/views/shared/TextBox';\n\nfunction isRSA(provider) {\n return provider === 'RSA';\n}\n\nfunction getClassName(provider) {\n return isRSA(provider) ? 'enroll-rsa' : 'enroll-onprem';\n}\n\nexport default FormController.extend({\n className: function() {\n return getClassName(this.options.provider);\n },\n Model: function() {\n const provider = this.options.provider;\n const factors = this.options.appState.get('factors');\n const factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n const profile = factor.get('profile');\n const credentialId = profile && profile.credentialId ? profile.credentialId : '';\n\n return {\n props: {\n credentialId: ['string', true, credentialId],\n passCode: ['string', true],\n factorId: 'string',\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: provider,\n });\n\n return factor.enroll({\n passCode: this.get('passCode'),\n profile: { credentialId: this.get('credentialId') },\n });\n });\n },\n };\n },\n\n Form: function() {\n const provider = this.options.provider;\n const factors = this.options.appState.get('factors');\n const factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n const vendorName = factor.get('vendorName');\n const title = isRSA(provider) ? loc('factor.totpHard.rsaSecurId', 'login') : vendorName;\n\n return {\n title: title,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(provider),\n initialize: function() {\n this.listenTo(this.model, 'error', (source, error) => {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.o-form-input-name-passCode input').val('');\n this.$('.o-form-input-name-passCode input').trigger('change');\n this.$('.o-form-input-name-passCode input').focus();\n }\n });\n },\n formChildren: [\n FormType.Input({\n label: loc('enroll.onprem.username.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.onprem.username.tooltip',\n 'enroll.onprem.username.placeholder',\n 'login',\n [vendorName],\n [vendorName]\n ),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text',\n }),\n FormType.Input({\n label: loc('enroll.onprem.passcode.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.onprem.passcode.tooltip',\n 'enroll.onprem.passcode.placeholder',\n 'login',\n [vendorName],\n [vendorName]\n ),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'password',\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('mfa.challenge.verify', 'login'),\n }),\n ],\n };\n },\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport ValidationUtil from 'v1/util/ValidationUtil';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'enroll-password',\n Model: {\n props: {\n password: ['string', true],\n confirmPassword: ['string', true],\n },\n validate: function() {\n return ValidationUtil.validateFieldsMatch(\n this,\n 'password',\n 'confirmPassword',\n loc('password.enroll.error.match', 'login')\n );\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'password',\n provider: 'OKTA',\n });\n\n return factor.enroll({\n profile: {\n password: this.get('password'),\n },\n });\n });\n },\n },\n\n Form: {\n autoSave: true,\n title: _.partial(loc, 'enroll.password.setup', 'login'),\n inputs: function() {\n return [\n {\n label: loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'password',\n input: TextBox,\n type: 'password',\n },\n {\n label: loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'confirmPassword',\n input: TextBox,\n type: 'password',\n },\n ];\n },\n },\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport Util from 'util/Util';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'enroll-question',\n Model: {\n props: {\n question: 'string',\n answer: ['string', true],\n },\n local: {\n securityQuestions: 'object',\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA',\n });\n\n return factor.enroll({\n profile: {\n question: this.get('question'),\n answer: this.get('answer'),\n },\n });\n });\n },\n },\n\n Form: {\n autoSave: true,\n title: _.partial(loc, 'enroll.securityQuestion.setup', 'login'),\n inputs: function() {\n return [\n {\n label: false,\n 'label-top': true,\n name: 'question',\n type: 'select',\n wide: true,\n options: function() {\n return this.model.get('securityQuestions');\n },\n params: {\n searchThreshold: 25,\n },\n },\n {\n label: loc('mfa.challenge.answer.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('mfa.challenge.answer.tooltip', 'mfa.challenge.answer.placeholder', 'login'),\n 'explain-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'text',\n },\n ];\n },\n },\n\n Footer: Footer,\n\n fetchInitialData: function() {\n const self = this;\n\n return this.model\n .manageTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA',\n });\n\n return factor.questions();\n })\n .then(function(questionsRes) {\n const questions = {};\n\n _.each(questionsRes, function(question) {\n questions[question.question] = FactorUtil.getSecurityQuestionLabel(question);\n });\n self.model.set('securityQuestions', questions);\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'enroll-symantec',\n Model: {\n props: {\n credentialId: ['string', true],\n passCode: ['string', true],\n nextPassCode: ['string', true],\n factorId: 'string',\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: 'SYMANTEC',\n });\n\n return factor.enroll({\n passCode: this.get('passCode'),\n nextPassCode: this.get('nextPassCode'),\n profile: { credentialId: this.get('credentialId') },\n });\n });\n },\n },\n\n Form: {\n title: _.partial(loc, 'factor.totpHard.symantecVip', 'login'),\n subtitle: _.partial(loc, 'enroll.symantecVip.subtitle', 'login'),\n noButtonBar: true,\n autoSave: true,\n className: 'enroll-symantec',\n formChildren: function() {\n return [\n FormType.Input({\n label: loc('enroll.symantecVip.credentialId.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.credentialId.tooltip',\n 'enroll.symantecVip.credentialId.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text',\n }),\n FormType.Input({\n label: loc('enroll.symantecVip.passcode1.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.passcode1.tooltip',\n 'enroll.symantecVip.passcode1.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'text',\n }),\n FormType.Input({\n label: loc('enroll.symantecVip.passcode2.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.passcode2.tooltip',\n 'enroll.symantecVip.passcode2.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'nextPassCode',\n input: TextBox,\n type: 'text',\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('mfa.challenge.verify', 'login'),\n }),\n ];\n },\n },\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport StoreLinks from 'v1/util/StoreLinks';\nimport Footer from 'v1/views/enroll-factors/Footer';\nconst showWhenDeviceTypeSelected = {\n __deviceType__: function(val) {\n return val !== undefined;\n },\n};\nconst EnrollTotpControllerAppDownloadInstructionsView = View.extend({\n attributes: { 'data-se': 'app-download-instructions' },\n className: 'app-download-instructions',\n template: hbs(\n '\\\n \\\n

          {{{appStoreLinkText}}}

          \\\n '\n ),\n initialize: function() {\n this.listenTo(this.model, 'change:__deviceType__', this.render);\n },\n postRender: function() {\n const link = this.$el.find('.instructions a');\n if (link.length) {\n link[0].setAttribute('target', '_blank');\n link[0].setAttribute('rel', 'noreferer noopener');\n }\n },\n getTemplateData: function() {\n let appStoreLink;\n let appIcon;\n let appStoreName;\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n appStoreName = StoreLinks.STORE[this.model.get('__deviceType__')];\n if (this.model.get('__provider__') === 'GOOGLE') {\n appStoreLink = StoreLinks.GOOGLE[this.model.get('__deviceType__')];\n appIcon = 'google-auth-38';\n } else {\n appStoreLink = StoreLinks.OKTA[this.model.get('__deviceType__')];\n appIcon = 'okta-verify-download-icon';\n }\n const appStoreLinkText = appStoreName\n ? loc('enroll.totp.downloadApp', 'login', [appStoreLink, factorName, appStoreName])\n : null;\n return {\n appStoreLinkText: appStoreLinkText,\n appIcon: appIcon,\n };\n },\n});\nconst EnrollTotpControllerEnrollTotpController = FormController.extend({\n className: 'enroll-totp',\n Model: function() {\n return {\n local: {\n __deviceType__: 'string',\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: this.get('__factorType__'),\n provider: this.get('__provider__'),\n });\n\n return factor.enroll();\n });\n },\n };\n },\n\n Form: {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'step-device-type' },\n\n formChildren: function() {\n const inputOptions = {\n APPLE: loc('iphone', 'login'),\n ANDROID: loc('android', 'login'),\n };\n const children = [\n FormType.Input({\n name: '__deviceType__',\n type: 'radio',\n options: inputOptions,\n group: true,\n label: _.partial(loc, 'enroll.totp.selectDevice', 'login'),\n }),\n FormType.Divider({ showWhen: showWhenDeviceTypeSelected }),\n FormType.View({\n View: EnrollTotpControllerAppDownloadInstructionsView,\n showWhen: showWhenDeviceTypeSelected,\n }),\n FormType.Button({\n title: loc('oform.next', 'login'),\n attributes: {\n 'data-type': 'save'\n },\n className: 'button button-primary default-custom-button',\n click: function() {\n this.model.save();\n },\n showWhen: showWhenDeviceTypeSelected,\n }),\n ];\n\n return children;\n },\n },\n\n Footer: Footer,\n});\nexport default EnrollTotpControllerEnrollTotpController;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Q from 'q';\nimport 'u2f-api-polyfill';\nimport { U2FError } from 'util/Errors';\nimport FidoUtil from 'util/FidoUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nexport default FormController.extend({\n className: 'enroll-u2f',\n Model: {\n local: {\n __enrolled__: 'boolean',\n },\n\n save: function() {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO',\n });\n\n return factor.enroll();\n });\n },\n\n activate: function() {\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n\n return this.doTransaction(function(transaction) {\n const activation = transaction.factor.activation;\n const appId = activation.appId;\n const registerRequests = [\n {\n version: FidoUtil.getU2fVersion(),\n challenge: activation.nonce,\n },\n ];\n const self = this;\n const deferred = Q.defer();\n\n u2f.register(appId, registerRequests, [], function(data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n deferred.reject(\n new U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode),\n },\n },\n })\n );\n } else {\n deferred.resolve(\n transaction.activate({\n registrationData: data.registrationData,\n version: data.version,\n challenge: data.challenge,\n clientData: data.clientData,\n })\n );\n }\n });\n return deferred.promise;\n });\n },\n },\n\n Form: {\n title: _.partial(loc, 'enroll.u2f.title', 'login'),\n save: _.partial(loc, 'enroll.u2f.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-u2f-form',\n noButtonBar: function() {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n },\n formChildren: function() {\n const result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n let errorMessageKey = 'u2f.error.factorNotSupported';\n\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc(errorMessageKey, 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n } else {\n //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n result.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '
            \\\n
          1. {{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}
          2. \\\n
          3. {{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}
          4. \\\n
          '\n ),\n }),\n })\n );\n\n result.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n
          \\\n

          {{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}

          \\\n

          {{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n
          \\\n
          \\\n
          \\\n
          \\\n
          \\\n
          '\n ),\n }),\n })\n );\n }\n\n return result;\n },\n\n _startEnrollment: function() {\n this.$('.u2f-instructions').addClass('hide');\n this.$('.u2f-enroll-text').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function() {\n this.$('.u2f-instructions').removeClass('hide');\n this.$('.u2f-enroll-text').addClass('hide');\n this.$('.o-form-button-bar').show();\n },\n },\n\n Footer: Footer,\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport EnrollUser from 'v1/models/EnrollUser';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport EnrollUserForm from 'v1/views/enrollUser/EnrollUserForm';\nimport FooterWithBackLink from 'v1/views/shared/FooterWithBackLink';\nexport default BaseLoginController.extend({\n className: 'enroll-user',\n initialize: function(options) {\n this.options = options || {};\n // create model\n this.model = new EnrollUser(this.options);\n },\n fetchInitialData: function() {\n // If user is unauthenticated and starts enroll flow make a post call to transition state to PROFILE_REQUIRED\n if (this.options.appState.get('isUnauthenticated')) {\n return this.model.getEnrollFormData();\n } else {\n return BaseLoginController.prototype.fetchInitialData.call();\n }\n },\n trapAuthResponse: function() {\n if (this.options.appState.get('isProfileRequired')) {\n return true;\n }\n },\n postRender: function() {\n const form = new EnrollUserForm(this.toJSON());\n\n this.add(form);\n this.add(new FooterWithBackLink(this.toJSON()));\n this.addListeners();\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Q from 'q';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport CryptoUtil from 'util/CryptoUtil';\nimport { WebauthnAbortError, WebAuthnError } from 'util/Errors';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport webauthn from 'util/webauthn';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\n\nfunction getExcludeCredentials(credentials) {\n const excludeCredentials = [];\n\n _.each(credentials, function(credential) {\n excludeCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(credential.id),\n });\n });\n return excludeCredentials;\n}\n\nexport default FormController.extend({\n className: 'enroll-webauthn',\n Model: {\n local: {\n __enrolled__: 'boolean',\n },\n\n save: function() {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO',\n });\n\n return factor.enroll();\n });\n },\n\n activate: function() {\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n this.appState.on('backToFactors', () => {\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n });\n\n return this.doTransaction(function(transaction) {\n const activation = transaction.factor.activation;\n // enroll via browser webauthn js\n\n const self = this;\n\n if (webauthn.isNewApiAvailable()) {\n const options = _.extend({}, activation, {\n challenge: CryptoUtil.strToBin(activation.challenge),\n user: {\n id: CryptoUtil.strToBin(activation.user.id),\n name: activation.user.name,\n displayName: activation.user.displayName,\n },\n excludeCredentials: getExcludeCredentials(activation.excludeCredentials),\n });\n\n // AbortController is not supported in IE11\n if (typeof AbortController !== 'undefined') {\n self.webauthnAbortController = new AbortController();\n }\n return new Q(\n navigator.credentials.create({\n publicKey: options,\n signal: self.webauthnAbortController && self.webauthnAbortController.signal,\n })\n )\n .then(function(newCredential) {\n return transaction.activate({\n attestation: CryptoUtil.binToStr(newCredential.response.attestationObject),\n clientData: CryptoUtil.binToStr(newCredential.response.clientDataJSON),\n // example data: [\"nfc\", \"usb\"]\n transports: webauthn.processWebAuthnResponse(newCredential.response.getTransports,\n newCredential.response),\n // example data: {\"credProps\":{\"rk\":true}}\n clientExtensions: webauthn.processWebAuthnResponse(newCredential.getClientExtensionResults,\n newCredential)\n });\n })\n .catch(function(error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code.\n if (!self.webauthnAbortController) {\n throw new WebauthnAbortError();\n } else {\n throw new WebAuthnError({\n xhr: { responseJSON: { errorSummary: error.message } },\n });\n }\n })\n .finally(function() {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n }\n });\n },\n },\n\n Form: {\n title: _.partial(loc, 'enroll.webauthn.biometric.title', 'login'),\n save: _.partial(loc, 'enroll.webauthn.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-webauthn-form',\n noButtonBar: function() {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n },\n formChildren: function() {\n const children = [];\n\n if (webauthn.isNewApiAvailable()) {\n //enroll.webauthn.biometric.instructions.edge is unescaped because it contains html\n children.push(\n FormType.View({\n View: View.extend({\n className: 'webauthn-enroll-text',\n template: hbs(\n '\\\n
          \\\n

          {{i18n code=\"enroll.webauthn.biometric.instructions\" bundle=\"login\"}}

          \\\n
          \\\n {{#if isEdge}}\\\n
          \\\n

          {{{i18n code=\"enroll.webauthn.biometric.instructions.edge\" bundle=\"login\"}}}

          \\\n
          \\\n {{/if}}\\\n {{#if onlySupportsSecurityKey}}\\\n
          \\\n

          {{{i18n code=\"enroll.webauthn.instructions.noSupportForBiometric\" bundle=\"login\"}}}

          \\\n
          \\\n {{/if}}\\\n
          \\\n '\n ),\n getTemplateData: function() {\n return {\n isEdge: BrowserFeatures.isEdge(),\n onlySupportsSecurityKey: (BrowserFeatures.isFirefox() || BrowserFeatures.isSafari()) &&\n BrowserFeatures.isMac(),\n };\n },\n }),\n })\n );\n } else {\n let errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc(errorMessageKey, 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n\n return children;\n },\n\n _startEnrollment: function() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n },\n },\n\n Footer: Footer,\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport webauthn from 'util/webauthn';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nimport Spinner from 'v1/views/shared/Spinner';\nexport default FormController.extend({\n className: 'enroll-windows-hello',\n Model: {\n local: {\n __isEnrolled__: 'boolean',\n },\n\n save: function() {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n\n if (this.get('__isEnrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function(transaction) {\n return this._enroll(transaction);\n });\n },\n\n _enroll: function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO',\n });\n\n return factor.enroll();\n },\n\n activate: function() {\n this.set('__isEnrolled__', true);\n\n return this.doTransaction(function(transaction) {\n const activation = transaction.factor.activation;\n const user = transaction.user;\n const model = this;\n const accountInfo = {\n rpDisplayName: activation.rpDisplayName,\n userDisplayName: user.profile.displayName,\n accountName: user.profile.login,\n userId: user.id,\n };\n const cryptoParams = [\n {\n algorithm: activation.algorithm,\n },\n ];\n const challenge = activation.nonce;\n\n return webauthn\n .makeCredential(accountInfo, cryptoParams, challenge)\n .then(function(creds) {\n return transaction.activate({\n credentialId: creds.credential.id,\n publicKey: creds.publicKey,\n attestation: null,\n });\n })\n .catch(function(error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(loc, 'enroll.windowsHello.title', 'login'),\n subtitle: function() {\n return webauthn.isAvailable() ? loc('enroll.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(loc, 'enroll.windowsHello.save', 'login'),\n\n customSavingState: {\n stop: 'abort',\n },\n\n modelEvents: function() {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n abort: '_stopEnrollment',\n };\n },\n\n noButtonBar: function() {\n return !webauthn.isAvailable();\n },\n\n formChildren: function() {\n const result = [];\n\n if (!webauthn.isAvailable()) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc('enroll.windowsHello.error.notWindows', 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n _startEnrollment: function() {\n this.subtitle = loc('enroll.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _stopEnrollment: function(errorMessage) {\n this.subtitle = loc('enroll.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n\n let message;\n\n switch (errorMessage) {\n case 'NotSupportedError':\n message = loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message) {\n const messageView = new HtmlErrorMessageView({\n message: message,\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, { selector: '.o-form-error-container' });\n this._errorMessageView = this.last();\n }\n\n this.render();\n this.$('.o-form-button-bar').removeClass('hide');\n },\n\n _resetErrorMessage: function() {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n },\n },\n\n Footer: Footer,\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Footer from 'v1/views/enroll-factors/Footer';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'enroll-yubikey',\n Model: {\n props: {\n passCode: ['string', true],\n factorId: 'string',\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'token:hardware',\n provider: 'YUBICO',\n });\n\n return factor.enroll({\n passCode: this.get('passCode'),\n });\n });\n },\n },\n\n Form: {\n title: _.partial(loc, 'enroll.yubikey.title', 'login'),\n subtitle: _.partial(loc, 'enroll.yubikey.subtitle', 'login'),\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n autoSave: true,\n className: 'enroll-yubikey',\n formChildren: [\n FormType.View({\n View: '
          ',\n }),\n FormType.Input({\n name: 'passCode',\n input: TextBox,\n type: 'password',\n }),\n ],\n },\n\n Footer: Footer,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport CountryUtil from 'util/CountryUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport RouterUtil from 'v1/util/RouterUtil';\nconst PUSH_INTERVAL = 6000;\n\n// Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n// in network connection lost errors in Safari and IE.\n\nconst EnrollmentLinkSentControllerFooter = View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n const url = RouterUtil.createActivateFactorUrl(\n this.options.appState.get('activatedFactorProvider'),\n this.options.appState.get('activatedFactorType'),\n 'manual'\n );\n\n this.options.appState.trigger('navigate', url);\n },\n});\nconst emailSentForm = {\n title: _.partial(loc, 'enroll.totp.enrollViaEmail.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-email-activation-link' },\n formChildren: [\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n

          {{i18n code=\"enroll.totp.enrollViaEmail.msg\" bundle=\"login\"}}

          \\\n

          {{email}}

          \\\n '\n ),\n getTemplateData: function() {\n return { email: this.options.appState.get('userEmail') };\n },\n }),\n }),\n ],\n};\nconst smsSentForm = {\n title: _.partial(loc, 'enroll.totp.enrollViaSms.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-sms-activation-link' },\n formChildren: [\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n

          {{i18n code=\"enroll.totp.enrollViaSms.msg\" bundle=\"login\"}}

          \\\n

          {{phoneNumber}}

          \\\n '\n ),\n getTemplateData: function() {\n return { phoneNumber: this.model.get('fullPhoneNumber') };\n },\n }),\n }),\n ],\n};\nexport default FormController.extend({\n className: 'enroll-activation-link-sent',\n Model: function() {\n return {\n local: {\n countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n phoneNumber: ['string', false, this.options.appState.get('userPhoneNumber')],\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n },\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function(countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n },\n },\n },\n };\n },\n\n Form: function() {\n const activationType = this.options.appState.get('factorActivationType');\n\n switch (activationType) {\n case 'SMS':\n return smsSentForm;\n case 'EMAIL':\n return emailSentForm;\n default:\n throw new Error('Unknown activation option: ' + activationType);\n }\n },\n\n Footer: EnrollmentLinkSentControllerFooter,\n\n initialize: function() {\n this.pollForEnrollment();\n },\n\n remove: function() {\n return FormController.prototype.remove.apply(this, arguments);\n },\n\n pollForEnrollment: function() {\n return this.model.doTransaction(function(transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isWaitingForActivation')) {\n this.pollForEnrollment();\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FormController from 'v1/util/FormController';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport EnterPasscodeForm from 'v1/views/enroll-factors/EnterPasscodeForm';\nconst EnterPasscodePushFlowControllerFooter = View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n const url = RouterUtil.createActivateFactorUrl(\n this.options.appState.get('activatedFactorProvider'),\n 'push',\n 'manual'\n );\n\n this.options.appState.trigger('navigate', url);\n },\n});\nexport default FormController.extend({\n className: 'activate-push',\n Model: function() {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true],\n },\n local: {\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.activate({\n passCode: this.get('passCode'),\n });\n });\n },\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: EnterPasscodePushFlowControllerFooter,\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport FormController from 'v1/util/FormController';\nimport FooterWithBackLinkOnError from 'v1/views/shared/FooterWithBackLinkOnError';\nexport default FormController.extend({\n className: 'error-state',\n Model: {},\n Form: {\n noButtonBar: true,\n },\n Footer: FooterWithBackLinkOnError,\n});\n","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Spinner from 'v1/views/shared/Spinner';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport Util from 'util/Util';\n\nexport default BaseLoginController.extend({\n className: 'force-idp-discovery',\n\n View: Spinner,\n\n Model: {},\n\n initialize: function() {\n const OKTA_IDP_TYPE = 'OKTA';\n const RESOURCE = 'okta:acct:';\n\n const options = this.options;\n const lastAuthResponse = options.appState.get('lastAuthResponse');\n const stateToken = lastAuthResponse && lastAuthResponse?.stateToken;\n\n const webfingerArgs = {\n resource: RESOURCE,\n requestContext: stateToken,\n };\n\n options.appState.settings.getAuthClient()\n .webfinger(webfingerArgs)\n .then(res => {\n if (res?.links && res.links[0]) {\n if (res.links[0].properties['okta:idp:type'] !== OKTA_IDP_TYPE && res.links[0].href) {\n const redirectFn = res.links[0].href.includes('OKTA_INVALID_SESSION_REPOST%3Dtrue')\n ? Util.redirectWithFormGet.bind(Util)\n : this.settings.get('redirectUtilFn');\n //override redirectFn to only use Util.redirectWithFormGet if OKTA_INVALID_SESSION_REPOST is included\n //it will be encoded since it will be included in the encoded fromURI\n\n redirectFn(res.links[0].href);\n return;\n }\n }\n options.appState.trigger('navigate', '');\n })\n .catch(() => {\n // TODO: OKTA-436775 Show error instead of navigating to default route\n options.appState.trigger('navigate', '');\n });\n },\n\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport ValidationUtil from 'v1/util/ValidationUtil';\nimport ContactSupport from 'v1/views/shared/ContactSupport';\nimport TextBox from 'v1/views/shared/TextBox';\nconst ForgotPasswordControllernoFactorsError = View.extend({\n template: hbs`\n
          \n \n

          {{i18n code=\"password.forgot.noFactorsEnabled\" bundle=\"login\"}}

          \n
          \n `,\n});\nconst ForgotPasswordControllerFooter = View.extend({\n template: hbs(\n '\\\n {{#unless hideBackToSignInForReset}}\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n {{/unless}}\\\n {{#if helpSupportNumber}}\\\n \\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function(e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n },\n },\n getTemplateData: function() {\n return {\n hideBackToSignInForReset: this.settings.get('features.hideBackToSignInForReset'),\n helpSupportNumber: this.settings.get('helpSupportNumber'),\n };\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n});\nexport default FormController.extend({\n className: 'forgot-password',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true],\n },\n validate: function() {\n return ValidationUtil.validateUsername(this);\n },\n save: function() {\n const self = this;\n const relayState = this.settings.get('relayState');\n\n this.startTransaction(function(authClient) {\n return authClient.forgotPassword({\n username: self.settings.transformUsername(self.get('username'), Enums.FORGOT_PASSWORD),\n factorType: self.get('factorType'),\n relayState: relayState,\n });\n }).catch(function() {\n //need empty fail handler on model to display errors on form\n });\n },\n },\n Form: {\n noButtonBar: true,\n title: _.partial(loc, 'password.reset', 'login'),\n formChildren: function() {\n const smsEnabled = this.settings.get('features.smsRecovery');\n /*eslint complexity: [2, 9] max-statements: [2, 23] */\n\n const callEnabled = this.settings.get('features.callRecovery');\n const emailEnabled = this.settings.get('features.emailRecovery');\n const noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n const formChildren = [];\n\n if (noFactorsEnabled) {\n this.add(ForgotPasswordControllernoFactorsError, '.o-form-error-container');\n } else {\n formChildren.push(\n FormType.Input({\n label: loc('password.forgot.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'password.forgot.email.or.username.tooltip',\n 'password.forgot.email.or.username.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n autoComplete: Util.getAutocompleteValue(this.settings, 'username'),\n type: 'text',\n inlineValidation: false,\n })\n );\n if (smsEnabled || callEnabled) {\n formChildren.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n

          \\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n

          '\n ),\n getTemplateData: function() {\n let mobileFactors;\n\n if (smsEnabled && callEnabled) {\n mobileFactors = loc('recovery.smsOrCall');\n } else if (callEnabled) {\n mobileFactors = loc('recovery.call');\n } else {\n mobileFactors = loc('recovery.sms');\n }\n return { mobileFactors: mobileFactors };\n },\n }),\n })\n );\n }\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'sms-button',\n 'password.forgot.sendText',\n Enums.RECOVERY_FACTOR_TYPE_SMS,\n this\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'call-button',\n 'password.forgot.call',\n Enums.RECOVERY_FACTOR_TYPE_CALL,\n this\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'email-button',\n 'password.forgot.sendEmail',\n Enums.RECOVERY_FACTOR_TYPE_EMAIL,\n this\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function() {\n this.listenTo(this.state, 'contactSupport', function() {\n this.add(ContactSupport, '.o-form-error-container');\n });\n\n this.listenTo(this, 'save', function() {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n },\n setDefaultFactorType: function(factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function(className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className },\n className: 'button button-primary button-wide ' + className,\n title: loc(labelCode, 'login'),\n click: function() {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n },\n });\n },\n },\n Footer: ForgotPasswordControllerFooter,\n\n initialize: function() {\n this.options.appState.unset('username');\n },\n});\n","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport PrimaryAuthController from 'v1/controllers/PrimaryAuthController';\nimport IDPDiscoveryModel from 'v1/models/IDPDiscovery';\nimport PrimaryAuthModel from 'v1/models/PrimaryAuth';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport IDPDiscoveryForm from 'v1/views/idp-discovery/IDPDiscoveryForm';\nimport CustomButtons from 'v1/views/primary-auth/CustomButtons';\nimport DeviceFingerprint from 'v1/util/DeviceFingerprint';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport Util from 'util/Util';\n\nexport default PrimaryAuthController.extend({\n className: 'idp-discovery',\n\n View: IDPDiscoveryForm,\n\n constructor: function(options) {\n options.appState.unset('username');\n let requestContext = options.settings.get('idpDiscovery.requestContext');\n const lastAuthResponse = options.appState.get('lastAuthResponse');\n const stateToken = lastAuthResponse && lastAuthResponse?.stateToken;\n\n //Update requestContext with last stateToken, if the context was stateToken and not a fromUri\n if(Util.isV1StateToken(requestContext)) {\n requestContext = stateToken;\n }\n\n this.model = new IDPDiscoveryModel(\n {\n requestContext: requestContext,\n settings: options.settings,\n appState: options.appState,\n },\n { parse: true }\n );\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this,\n },\n });\n }\n\n this.addFooter(options);\n\n this.setUsername();\n },\n\n initialize: function() {\n PrimaryAuthController.prototype.initialize.apply(this);\n\n this.listenTo(this.model, 'goToPrimaryAuth', function() {\n this.settings.set('username', this.model.get('username'));\n const self = this;\n if (this.settings.get('features.deviceFingerprinting')) {\n DeviceFingerprint.generateDeviceFingerprint(this.settings.getAuthClient(), this.$el[0])\n .then(function(fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n self.options.appState.set('username', self.model.get('username'));\n })\n .catch(function() {\n // Keep going even if device fingerprint fails\n self.options.appState.set('username', self.model.get('username'));\n })\n .finally(function() {\n self.doPrimaryAuth();\n });\n } else {\n self.doPrimaryAuth();\n }\n });\n },\n\n doPrimaryAuth : function() {\n if (this.settings.get('features.passwordlessAuth')) {\n const primaryAuthModel = new PrimaryAuthModel(\n {\n username: this.model.get('username'),\n multiOptionalFactorEnroll: this.options.settings.get('features.multiOptionalFactorEnroll'),\n settings: this.options.settings,\n appState: this.options.appState,\n },\n { parse: true }\n );\n\n // Events to set the transaction attributes on the app state.\n this.listenTo(primaryAuthModel, 'error', function(src, errObj) {\n this.toggleButtonState(false);\n this.model.trigger('error', this.model, errObj);\n });\n this.addModelListeners(primaryAuthModel);\n // Make the primary auth request\n primaryAuthModel.save();\n } else {\n this.options.appState.set('disableUsername', true);\n const url = RouterUtil.createSigninUrl(\n this.settings.get('features.prefillUsernameFromIdpDiscovery') && this.model.get('username')\n );\n this.options.appState.trigger('navigate', url);\n }\n },\n\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport CountryUtil from 'util/CountryUtil';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport Footer from 'v1/views/enroll-factors/ManualSetupPushFooter';\nimport PhoneTextBox from 'v1/views/enroll-factors/PhoneTextBox';\n\nfunction goToFactorActivation(view, step) {\n const url = RouterUtil.createActivateFactorUrl(\n view.options.appState.get('activatedFactorProvider'),\n view.options.appState.get('activatedFactorType'),\n step\n );\n\n view.options.appState.trigger('navigate', url);\n}\n\nconst sharedSecretIsDefined = {\n sharedSecret: function(val) {\n return !_.isUndefined(val);\n },\n activationType: 'MANUAL'\n};\n\nfunction setStateValues(view) {\n let userPhoneNumber;\n let userCountryCode;\n\n if (view.model.get('activationType') === 'SMS') {\n userCountryCode = view.model.get('countryCode');\n userPhoneNumber = view.model.get('phoneNumber');\n }\n view.options.appState.set({\n factorActivationType: view.model.get('activationType'),\n userCountryCode: userCountryCode,\n userPhoneNumber: userPhoneNumber,\n });\n}\n\nfunction enrollFactor(view, factorType) {\n return view.model.doTransaction(function(transaction) {\n return transaction\n .prev()\n .then(function(trans) {\n const factor = _.findWhere(trans.factors, {\n factorType: factorType,\n provider: 'OKTA',\n });\n\n return factor.enroll();\n })\n .then(function(trans) {\n let textActivationLinkUrl;\n let emailActivationLinkUrl;\n let sharedSecret;\n const res = trans.data;\n\n if (\n res &&\n res._embedded &&\n res._embedded.factor &&\n res._embedded.factor._embedded &&\n res._embedded.factor._embedded.activation\n ) {\n const factor = res._embedded.factor;\n\n // Shared secret\n sharedSecret = factor._embedded.activation.sharedSecret;\n\n if (factor._embedded.activation._links && factor._embedded.activation._links.send) {\n const activationSendLinks = factor._embedded.activation._links.send;\n\n const smsItem = _.findWhere(activationSendLinks, { name: 'sms' });\n\n // SMS activation url\n\n textActivationLinkUrl = smsItem ? smsItem.href : null;\n\n // Email activation url\n\n const emailItem = _.findWhere(activationSendLinks, { name: 'email' });\n\n emailActivationLinkUrl = emailItem ? emailItem.href : null;\n }\n }\n\n view.model.set({\n SMS: textActivationLinkUrl,\n EMAIL: emailActivationLinkUrl,\n sharedSecret: sharedSecret,\n });\n\n return trans;\n });\n });\n}\n\nexport default FormController.extend({\n className: 'enroll-manual-push',\n Model: function() {\n return {\n local: {\n activationType: ['string', true, this.options.appState.get('factorActivationType') || 'SMS'],\n countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n phoneNumber: 'string',\n SMS: ['string', false, this.options.appState.get('textActivationLinkUrl')],\n EMAIL: ['string', false, this.options.appState.get('emailActivationLinkUrl')],\n sharedSecret: ['string', false, this.options.appState.get('sharedSecret')],\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n },\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function(countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n },\n },\n },\n };\n },\n\n Form: {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function() {\n const instructions = this.settings.get('brandName')\n ? loc('enroll.totp.sharedSecretInstructions.specific', 'login', [this.settings.get('brandName')])\n : loc('enroll.totp.sharedSecretInstructions.generic', 'login');\n const children = [\n FormType.Input({\n name: 'activationType',\n label:loc('mfa.setupOptions', 'login'),\n type: 'select',\n wide: true,\n options: {\n SMS: loc('enroll.totp.sendSms', 'login'),\n EMAIL: loc('enroll.totp.sendEmail', 'login'),\n MANUAL: loc('enroll.totp.setupManually', 'login'),\n },\n }),\n FormType.Input({\n label:loc('mfa.country', 'login'),\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries(),\n showWhen: { activationType: 'SMS' },\n }),\n FormType.Input({\n label: loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n showWhen: { activationType: 'SMS' },\n }),\n FormType.View({\n View: View.extend({\n className: 'secret-key-instructions',\n attributes: { 'data-se': 'secret-key-instructions'},\n template: hbs`\n
          \n

          \n {{instructions}}\n

          \n

          {{sharedSecretKey}}

          \n
          \n `,\n initialize: function(){\n this.listenTo(this.model, 'change:sharedSecret', this.render);\n },\n getTemplateData: function() {\n return {\n instructions: instructions,\n sharedSecretKey: this.model.get('sharedSecret')\n };\n },\n }),\n showWhen: { activationType: 'MANUAL' },\n }),\n FormType.View({\n View: View.extend({\n template: hbs('
          '),\n }),\n showWhen: sharedSecretIsDefined,\n }),\n FormType.Button(\n {\n title: loc('oform.next', 'login'),\n className: 'button button-primary button-wide button-next',\n attributes: { 'data-se': 'next-button' },\n click: () => {\n setStateValues(this);\n goToFactorActivation(this, 'passcode');\n },\n },\n '[data-type=\"next-button-wrap\"]'\n ),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('oform.send', 'login'),\n showWhen: {\n activationType: function(val) {\n return val === 'SMS' || val === 'EMAIL';\n },\n },\n }),\n ];\n\n return children;\n },\n },\n\n Footer: Footer,\n\n initialize: function() {\n this.setInitialModel();\n // Move this logic to a model when AuthClient supports sending email and sms\n this.listenTo(this.form, 'save', function() {\n const self = this;\n\n this.model.doTransaction(function(transaction) {\n const activationType = this.get('activationType').toLowerCase();\n const opts = {};\n\n if (activationType === 'sms') {\n opts.profile = { phoneNumber: this.get('fullPhoneNumber') };\n }\n\n return transaction.factor.activation.send(activationType, opts).then(function(trans) {\n setStateValues(self);\n // Note: Need to defer because OktaAuth calls our router success\n // handler on the next tick - if we immediately called, appState would\n // still be populated with the last response\n _.defer(function() {\n goToFactorActivation(self, 'sent');\n });\n return trans;\n });\n });\n });\n\n this.listenTo(this.model, 'change:activationType', function(model, value) {\n this.form.clearErrors();\n if (value === 'MANUAL' && this.options.appState.get('activatedFactorType') !== 'token:software:totp') {\n enrollFactor(this, 'token:software:totp');\n } else if (this.options.appState.get('activatedFactorType') !== 'push') {\n enrollFactor(this, 'push');\n }\n });\n },\n\n setInitialModel: function() {\n if (this.options.appState.get('factorActivationType') === 'SMS') {\n this.model.set({\n countryCode: this.options.appState.get('userCountryCode') || 'US',\n phoneNumber: this.options.appState.get('userPhoneNumber'),\n });\n }\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaEnrollActivate') || this.options.appState.get('isMfaEnroll')) {\n return true;\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport RouterUtil from 'v1/util/RouterUtil';\nimport ManualSetupFooter from 'v1/views/enroll-factors/ManualSetupFooter';\nexport default FormController.extend({\n className: 'enroll-manual-totp',\n Model: function() {\n return {\n local: {\n sharedSecret: ['string', false, this.options.appState.get('sharedSecret')],\n __factorType__: ['string', false, this.options.factorType],\n __provider__: ['string', false, this.options.provider],\n },\n };\n },\n\n Form: {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function() {\n const instructions = this.settings.get('brandName')\n ? loc('enroll.totp.manualSetupInstructions.specific', 'login', [this.settings.get('brandName')])\n : loc('enroll.totp.manualSetupInstructions.generic', 'login');\n\n return [\n FormType.View({\n View: View.extend({\n className: 'secret-key-instructions',\n attributes: { 'data-se': 'secret-key-instructions'},\n template: hbs`\n
          \n

          \n {{instructions}}\n

          \n

          {{sharedSecretKey}}

          \n
          \n `,\n initialize: function(){\n this.listenTo(this.model, 'change:sharedSecret', this.render);\n },\n getTemplateData: function() {\n return {\n instructions: instructions,\n sharedSecretKey: this.model.get('sharedSecret')\n };\n },\n })\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('oform.next', 'login'),\n }),\n ];\n },\n },\n\n Footer: ManualSetupFooter,\n\n initialize: function() {\n this.listenTo(this.form, 'save', function() {\n const url = RouterUtil.createActivateFactorUrl(\n this.model.get('__provider__'),\n this.model.get('__factorType__'),\n 'activate'\n );\n\n this.options.appState.trigger('navigate', url);\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 21] max-statements: [2, 25] max-params: 0 */\nimport { loc, internal } from '@okta/courage';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport EmailMagicLinkForm from 'v1/views/factor-verify/EmailMagicLinkForm';\nimport InlineTOTPForm from 'v1/views/mfa-verify/InlineTOTPForm';\nimport PassCodeForm from 'v1/views/mfa-verify/PassCodeForm';\nimport PasswordForm from 'v1/views/mfa-verify/PasswordForm';\nimport PushForm from 'v1/views/mfa-verify/PushForm';\nimport SecurityQuestionForm from 'v1/views/mfa-verify/SecurityQuestionForm';\nimport SendEmailAndVerifyCodeForm from 'v1/views/mfa-verify/SendEmailAndVerifyCodeForm';\nimport TOTPForm from 'v1/views/mfa-verify/TOTPForm';\nimport YubikeyForm from 'v1/views/mfa-verify/YubikeyForm';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\nlet { CheckBox } = internal.views.forms.inputs;\nexport default BaseLoginController.extend({\n className: 'mfa-verify',\n\n initialize: function(options) {\n const factorType = options.factorType;\n let View;\n\n switch (factorType) {\n case 'question':\n View = SecurityQuestionForm;\n break;\n case 'email':\n if (this.options.appState.get('isIdxStateToken')) {\n View = EmailMagicLinkForm;\n } else {\n View = SendEmailAndVerifyCodeForm;\n }\n break;\n case 'sms':\n case 'call':\n View = PassCodeForm;\n break;\n case 'token':\n case 'token:software:totp':\n case 'token:hotp':\n View = TOTPForm;\n break;\n case 'token:hardware':\n View = YubikeyForm;\n break;\n case 'push':\n View = PushForm;\n break;\n case 'password':\n View = PasswordForm;\n break;\n default:\n throw new Error('Unrecognized factor type');\n }\n\n this.model = this.findModel(factorType, options);\n if (!this.model) {\n // TODO: recover from this more gracefully - probably to redirect\n // to default factor\n throw new Error('Unrecognized factor/provider');\n }\n\n this.addListeners();\n this.add(new View(this.toJSON()));\n\n // If Okta Verify Push and Okta Verify totp are both enabled,\n // then we show Push first, and totp is the \"backup\" factor,\n // which is rendered in an additional InlineTOTPForm\n if (factorType === 'push' && this.model.get('isOktaFactor')) {\n if (this.model.get('backupFactor')) {\n this.inlineTotpForm = this.add(InlineTOTPForm, {\n options: { model: this.model.get('backupFactor') },\n }).last();\n }\n\n if (this.settings.get('features.autoPush')) {\n this.autoPushCheckBox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'autoPush',\n placeholder: loc('autoPush', 'login'),\n label: false,\n 'label-top': false,\n className: 'margin-btm-0',\n },\n }).last();\n }\n\n // Remember Device checkbox resides outside of the Push and TOTP forms.\n if (this.options.appState.get('allowRememberDevice')) {\n this.rememberDeviceCheckbox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'rememberDevice',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n label: false,\n 'label-top': true,\n className: 'margin-btm-0',\n },\n }).last();\n }\n // Set rememberDevice on the backup factor (totp) if available\n if (this.model.get('backupFactor')) {\n this.listenTo(this.model, 'change:rememberDevice', function(model, rememberDevice) {\n model.get('backupFactor').set('rememberDevice', rememberDevice);\n });\n }\n }\n\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', function(\n state,\n isWaitingForNumberChallenge\n ) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.hide();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.hide();\n this.inlineTotpForm && this.inlineTotpForm.$el.hide();\n } else {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.show();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.show();\n this.inlineTotpForm && this.inlineTotpForm.$el.show();\n }\n });\n\n this.add(new FooterMFA(this.toJSON()));\n },\n\n findModel: function(factorType, options) {\n const factors = options.appState.get('factors');\n const provider = options.provider;\n const factorIndex = options.factorIndex;\n\n if (!provider) {\n return factors.findWhere({ factorType: factorType, isFactorTypeVerification: true });\n } else if (factors.hasMultipleFactorsOfSameType(factorType) && factorIndex) {\n return factors.getFactorByTypeAndIndex(factorType, factorIndex);\n } else {\n return factors.findWhere({ provider: provider, factorType: factorType });\n }\n },\n\n trapAuthResponse: function() {\n if (\n (this.options.appState.get('isMfaRequired') && this.options.appState.get('trapMfaRequiredResponse')) ||\n this.options.appState.get('isMfaChallenge')\n ) {\n this.options.appState.set('trapMfaRequiredResponse', false);\n return true;\n }\n return false;\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport ValidationUtil from 'v1/util/ValidationUtil';\nimport Footer from 'v1/views/expired-password/Footer';\nimport PasswordRequirements from 'v1/views/shared/PasswordRequirements';\nimport TextBox from 'v1/views/shared/TextBox';\n\nexport default FormController.extend({\n className: 'password-expired',\n Model: {\n props: {\n oldPassword: ['string', true],\n newPassword: ['string', true],\n confirmPassword: ['string', true],\n },\n validate: function() {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function() {\n this.trigger('save');\n return this.doTransaction(function(transaction) {\n return transaction.changePassword({\n oldPassword: this.get('oldPassword'),\n newPassword: this.get('newPassword'),\n });\n });\n },\n },\n Form: {\n save: _.partial(loc, 'password.expired.submit', 'login'),\n title: function() {\n const expiringSoon = this.options.appState.get('isPwdExpiringSoon');\n const numDays = this.options.appState.get('passwordExpireDays');\n\n if (expiringSoon && numDays > 0) {\n return loc('password.expiring.title', 'login', [numDays]);\n } else if (expiringSoon && numDays === 0) {\n return loc('password.expiring.today', 'login');\n } else if (expiringSoon) {\n return loc('password.expiring.soon', 'login');\n } else {\n return this.settings.get('brandName')\n ? loc('password.expired.title.specific', 'login', [this.settings.get('brandName')])\n : loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function() {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return this.settings.get('brandName')\n ? loc('password.expiring.subtitle.specific', 'login', [this.settings.get('brandName')])\n : loc('password.expiring.subtitle.generic', 'login');\n }\n\n const policy = this.options.appState.get('policy');\n\n if (!policy || this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n parseErrorMessage: function(responseJSON) {\n const policy = this.options.appState.get('policy');\n\n if (!!policy && this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n /*\n - This is a specific case where don't want to repeat the requirements again in the error message, since this\n is already shown in the description. The description as bullet-points itself should give an indication\n of the requirements.\n - We cannot check for error code this in this case, as the error code is shared between\n requirements not met message, common password message, etc. So error summary is the only differentiating\n factor. Replace the password requirements string with empty string in this case.\n */\n responseJSON = FactorUtil.removeRequirementsFromError(responseJSON, policy);\n }\n return responseJSON;\n },\n formChildren: function() {\n let children = [];\n\n if (this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n children.push(\n FormType.View({\n View: new PasswordRequirements({ policy: this.options.appState.get('policy') }),\n })\n );\n }\n\n children = children.concat([\n FormType.Input({\n 'label-top': true,\n label: loc('password.oldPassword.placeholder', 'login'),\n explain: Util.createInputExplain('password.oldPassword.tooltip', 'password.oldPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'oldPassword',\n input: TextBox,\n type: 'password',\n }),\n FormType.Divider(),\n FormType.Input({\n className: 'margin-btm-5',\n 'label-top': true,\n label: loc('password.newPassword.placeholder', 'login'),\n explain: Util.createInputExplain('password.newPassword.tooltip', 'password.newPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password',\n }),\n FormType.Input({\n 'label-top': true,\n label: loc('password.confirmPassword.placeholder', 'login'),\n explain: Util.createInputExplain(\n 'password.confirmPassword.tooltip',\n 'password.confirmPassword.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password',\n }),\n ]);\n\n return children;\n },\n },\n Footer: Footer,\n\n initialize: function() {\n this.listenTo(this.form, 'save', function() {\n const creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword'),\n };\n\n this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, internal } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport ValidationUtil from 'v1/util/ValidationUtil';\nimport FooterSignout from 'v1/views/shared/FooterSignout';\nimport PasswordRequirements from 'v1/views/shared/PasswordRequirements';\nimport TextBox from 'v1/views/shared/TextBox';\nlet { CheckBox } = internal.views.forms.inputs;\n\nexport default FormController.extend({\n className: 'password-reset',\n Model: {\n props: {\n newPassword: ['string', true],\n confirmPassword: ['string', true],\n revokeSessions: ['boolean', false]\n },\n validate: function() {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function() {\n this.trigger('save');\n const self = this;\n\n return this.doTransaction(function(transaction) {\n const payload = { newPassword: self.get('newPassword') };\n if (self.settings.get('features.showSessionRevocation')) {\n payload.revokeSessions = self.get('revokeSessions');\n }\n\n return transaction.resetPassword(payload);\n });\n },\n },\n Form: {\n save: _.partial(loc, 'password.reset', 'login'),\n title: function() {\n return this.settings.get('brandName')\n ? loc('password.reset.title.specific', 'login', [this.settings.get('brandName')])\n : loc('password.reset.title.generic', 'login');\n },\n subtitle: function() {\n const policy = this.options.appState.get('policy');\n\n if (!policy || this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n parseErrorMessage: function(responseJSON) {\n const policy = this.options.appState.get('policy');\n\n if (!!policy && this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n /*\n - This is a specific case where don't want to repeat the requirements again in the error message, since this\n is already shown in the description. The description as bullet-points itself should give an indication\n of the requirements.\n - We cannot check for error code this in this case, as the error code is shared between\n requirements not met message, common password message, etc. So error summary is the only differentiating\n factor. Replace the password requirements string with empty string in this case.\n */\n responseJSON = FactorUtil.removeRequirementsFromError(responseJSON, policy);\n }\n return responseJSON;\n },\n formChildren: function() {\n let children = [];\n\n if (this.settings.get('features.showPasswordRequirementsAsHtmlList')) {\n children.push(\n FormType.View({\n View: new PasswordRequirements({ policy: this.options.appState.get('policy') }),\n })\n );\n }\n\n children = children.concat([\n FormType.Input({\n className: 'margin-btm-5',\n label: loc('password.newPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('password.newPassword.tooltip', 'password.newPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password',\n autoComplete: Util.getAutocompleteValue(this.settings, 'new-password'),\n }),\n FormType.Input({\n label: loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'password.confirmPassword.tooltip',\n 'password.confirmPassword.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password',\n autoComplete: Util.getAutocompleteValue(this.settings, 'new-password'),\n }),\n ]);\n\n if (this.settings.get('features.showSessionRevocation')) {\n children = children.concat([\n FormType.Input({\n placeholder: loc('password.reset.revokeSessions', 'login'),\n name: 'revokeSessions',\n input: CheckBox,\n type: 'checkbox',\n })\n ]);\n }\n\n return children;\n },\n },\n\n initialize: function() {\n this.listenTo(this.form, 'save', function() {\n const creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword'),\n };\n\n this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n });\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout);\n }\n },\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nexport default FormController.extend({\n className: 'poll',\n Model: {\n save: function() {\n this.trigger('cancelRequest');\n return this.appState\n .get('transaction')\n .cancel()\n .then(() => {\n this.options.appState.trigger('navigate', '');\n })\n .catch(() => {\n this._stopCountDown();\n });\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: function() {\n return this.title;\n },\n className: 'poll-controller',\n noCancelButton: true,\n save: loc('oform.cancel', 'login'),\n modelEvents: {\n cancelRequest: '_stopCountDown',\n },\n formChildren: [\n FormType.View({\n View: '
          \\\n
          \\\n
          ',\n }),\n ],\n _checkStatus: function() {\n // start polling request\n this.transactionObject\n .poll()\n .then(resp => {\n if (resp.data && resp.status !== 'POLL') {\n this.options.appState.set('transaction', resp);\n return;\n }\n this.$('.okta-waiting-spinner').hide();\n let factorPollingIntervalSeconds = Math.ceil(resp.transaction.profile.refresh / 1000);\n this._startCountDown(factorPollingIntervalSeconds);\n })\n .catch(() => {\n this._stopCountDown();\n });\n },\n\n _startCountDown: function(factorPollingIntervalSeconds) {\n // start one second countdown for next poll request\n this.countDown = setInterval(() => {\n // update title after every second and check if countdown == 1 to poll again\n this._updateTitle(factorPollingIntervalSeconds);\n if (factorPollingIntervalSeconds === 0) {\n /* when countdown hits 0\n - stop current poll\n - show spinner\n - check status\n */\n this._stopCountDown();\n this.$('.okta-waiting-spinner').show();\n // start after a small delay so that the spinner does not get hidden too soon\n this.checkStatusTimeout = setTimeout(() => {\n this._checkStatus();\n }, 200);\n } else {\n // reduce countdown after every second\n factorPollingIntervalSeconds = factorPollingIntervalSeconds - 1;\n }\n }, 1000);\n },\n\n _updateTitle: function(factorPollingIntervalSeconds) {\n this.title = loc('polling.title', 'login', [factorPollingIntervalSeconds]);\n this.$el.find('.okta-form-title').text(this.title);\n },\n\n _stopCountDown: function() {\n // clear countdown setInterval\n if (this.countDown) {\n clearInterval(this.countDown);\n }\n // clear checkstatus setTimeout\n if (this.checkStatusTimeout) {\n clearInterval(this.checkStatusTimeout);\n }\n },\n\n initialize: function(options) {\n this.transactionObject = options.appState.get('transaction');\n this.factorPollingIntervalSeconds = Math.ceil(this.transactionObject.transaction.profile.refresh / 1000);\n this._updateTitle(this.factorPollingIntervalSeconds);\n this._startCountDown(this.factorPollingIntervalSeconds);\n },\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n remove: function() {\n this.form._stopCountDown();\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { $ } from '@okta/courage';\nimport PrimaryAuthModel from 'v1/models/PrimaryAuth';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport DeviceFingerprint from 'v1/util/DeviceFingerprint';\nimport CustomButtons from 'v1/views/primary-auth/CustomButtons';\nimport PrimaryAuthForm from 'v1/views/primary-auth/PrimaryAuthForm';\nimport Footer from 'v1/views/shared/Footer';\nimport FooterRegistration from 'v1/views/shared/FooterRegistration';\nimport FooterWithBackLink from 'v1/views/shared/FooterWithBackLink';\nexport default BaseLoginController.extend({\n className: 'primary-auth',\n\n state: { enabled: true },\n\n View: PrimaryAuthForm,\n\n constructor: function(options) {\n options.appState.unset('username');\n\n this.model = new PrimaryAuthModel(\n {\n multiOptionalFactorEnroll: options.settings.get('features.multiOptionalFactorEnroll'),\n settings: options.settings,\n appState: options.appState,\n },\n { parse: true }\n );\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this,\n },\n });\n }\n\n this.addFooter(options);\n if (this.options.appState.get('disableUsername')) {\n this.addFooterWithBackLink(this.options);\n }\n\n this.setUsername();\n },\n\n addFooter: function(options) {\n this.add(new Footer(this.toJSON({ appState: options.appState })));\n\n if (options.settings.get('features.registration') || options.appState.get('isIdxStateToken')) {\n this.add(\n new FooterRegistration({\n settings: this.settings,\n appState: options.appState,\n })\n );\n }\n },\n\n addFooterWithBackLink: function(options) {\n if (!this.$el.find('.footer-back-link').length) {\n this.add(new FooterWithBackLink(this.toJSON({ \n appState: options.appState,\n className: 'auth-footer footer-back-link',\n })));\n }\n },\n\n setUsername: function() {\n const username = this.model.get('username');\n\n if (username) {\n this.options.appState.set('username', username);\n }\n },\n\n setUsernameFromIdpDiscovery: function() {\n const username = this.options.username;\n if (username) {\n this.model.set('username', username);\n this.options.appState.set('disableUsername', true);\n }\n },\n\n events: {\n 'focusout input[name=username]': function() {\n if (this.shouldComputeDeviceFingerprint() && this.model.get('username')) {\n const self = this;\n\n this.options.appState.trigger('loading', true);\n DeviceFingerprint.generateDeviceFingerprint(this.settings.getAuthClient(), this.$el[0])\n .then(function(fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n self.options.appState.set('username', self.model.get('username'));\n })\n .catch(function() {\n // Keep going even if device fingerprint fails\n self.options.appState.set('username', self.model.get('username'));\n })\n .finally(function() {\n self.options.appState.trigger('loading', false);\n });\n } else {\n this.options.appState.set('username', this.model.get('username'));\n }\n },\n 'focusin input': function(e) {\n $(e.target.parentElement).addClass('focused-input');\n },\n 'focusout input': function(e) {\n $(e.target.parentElement).removeClass('focused-input');\n },\n },\n\n // This model and the AppState both have a username property.\n // The controller updates the AppState's username when the user is\n // done editing (on blur) or deletes the username (see below).\n initialize: function() {\n this.options.appState.unset('deviceFingerprint');\n if (this.settings.get('features.prefillUsernameFromIdpDiscovery')) {\n this.setUsernameFromIdpDiscovery();\n }\n this.listenTo(this.model, 'change:username', function(model, value) {\n if (!value) {\n // reset AppState to an undefined user.\n this.options.appState.set('username', '');\n }\n });\n this.listenTo(this.model, 'save', function() {\n this.state.set('enabled', false);\n });\n this.listenTo(this.model, 'error', function() {\n this.state.set('enabled', true);\n if (this.options.appState.get('disableUsername')) {\n this.state.set('disableUsername', true);\n this.addFooterWithBackLink(this.options);\n }\n });\n this.listenTo(this.state, 'togglePrimaryAuthButton', function(buttonState) {\n this.toggleButtonState(buttonState);\n });\n },\n\n shouldComputeDeviceFingerprint: function() {\n return (\n this.settings.get('features.securityImage') &&\n this.settings.get('features.deviceFingerprinting') &&\n this.settings.get('features.useDeviceFingerprintForSecurityImage')\n );\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nexport default FormController.extend({\n className: 'password-reset-email-sent',\n Model: function() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')],\n },\n };\n },\n\n Form: {\n title: _.partial(loc, 'password.forgot.emailSent.title', 'login'),\n subtitle: function() {\n const username = this.options.appState.get('username');\n\n return loc('password.forgot.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'pwd-reset-email-sent' },\n formChildren: function() {\n let children = [\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n {{alert}}\\\n '\n ),\n getTemplateData: function() {\n return { alert: loc('password.forgot.emailSent.title', 'login') };\n },\n }),\n }),\n ];\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n children.push(\n FormType.Button({\n title: loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function() {\n const self = this;\n\n return this.model\n .doTransaction(function(transaction) {\n return transaction.cancel();\n })\n .then(function() {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n });\n },\n })\n );\n }\n\n return children;\n },\n },\n\n initialize: function(options) {\n this.settings.callGlobalSuccess(Enums.FORGOT_PASSWORD_EMAIL_SENT, {\n username: options.appState.get('username'),\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport FooterSignout from 'v1/views/shared/FooterSignout';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'recovery-challenge',\n Model: {\n props: {\n passCode: ['string', true],\n },\n local: {\n ableToResend: 'boolean',\n },\n resendCode: function() {\n // Note: This does not require a trapAuthResponse because Backbone's\n // router will not navigate if the url path is the same\n this.limitResending();\n return this.doTransaction(function(transaction) {\n return transaction.resend();\n });\n },\n limitResending: function() {\n this.set({ ableToResend: false });\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, { ableToResend: true });\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.verify({\n passCode: this.get('passCode'),\n });\n });\n },\n },\n Form: {\n autoSave: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n title: function() {\n if (this.options.appState.get('factorType') === Enums.RECOVERY_FACTOR_TYPE_CALL) {\n return loc('recoveryChallenge.call.title', 'login');\n } else {\n return loc('recoveryChallenge.sms.title', 'login');\n }\n },\n className: 'recovery-challenge',\n initialize: function() {\n this.listenTo(this.model, 'error', function() {\n this.clearErrors();\n });\n },\n formChildren: function() {\n return [\n FormType.Button({\n title: loc('mfa.resendCode', 'login'),\n attributes: { 'data-se': 'resend-button' },\n className: 'button sms-request-button margin-top-30',\n click: function() {\n this.model.resendCode();\n },\n initialize: function() {\n this.listenTo(this.model, 'change:ableToResend', function(model, ableToResend) {\n if (ableToResend) {\n this.options.title = loc('mfa.resendCode', 'login');\n this.enable();\n this.render();\n } else {\n this.options.title = loc('mfa.sent', 'login');\n this.disable();\n this.render();\n }\n });\n },\n }),\n FormType.Input({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'passCode',\n input: TextBox,\n type: 'text',\n }),\n ];\n },\n },\n\n events: {\n 'click .send-email-link': function(e) {\n e.preventDefault();\n const settings = this.model.settings;\n const username = this.options.appState.get('username');\n const recoveryType = this.options.appState.get('recoveryType');\n\n this.model.startTransaction(function(authClient) {\n // The user could have landed here via the Forgot Password/Unlock Account flow\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n return authClient.forgotPassword({\n username: settings.transformUsername(username, Enums.FORGOT_PASSWORD),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL,\n });\n case Enums.RECOVERY_TYPE_UNLOCK:\n return authClient.unlockAccount({\n username: settings.transformUsername(username, Enums.UNLOCK_ACCOUNT),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL,\n });\n default:\n return;\n }\n })\n .catch(() => {});\n },\n },\n\n initialize: function() {\n const recoveryType = this.options.appState.get('recoveryType');\n let sendEmailLink;\n\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n sendEmailLink = hbs`{{i18n code=\"password.forgot.code.notReceived\" bundle=\"login\"}}`;\n break;\n case Enums.RECOVERY_TYPE_UNLOCK:\n sendEmailLink = hbs`{{i18n code=\"account.unlock.code.notReceived\" bundle=\"login\"}}`;\n break;\n default:\n break;\n }\n\n if (sendEmailLink && this.settings.get('features.emailRecovery')) {\n this.add(\n View.extend({\n className: 'link send-email-link',\n tagName: 'a',\n attributes: {\n href: '#',\n 'data-se': 'send-email-link',\n },\n template: sendEmailLink,\n })\n );\n }\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout);\n }\n },\n\n postRender: function() {\n this.model.limitResending();\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport FormController from 'v1/util/FormController';\nexport default FormController.extend({\n className: 'recovery-loading',\n\n Model: {},\n Form: {\n noButtonBar: true,\n },\n\n initialize: function(options) {\n const self = this;\n\n return this.model\n .startTransaction(function(authClient) {\n return authClient.verifyRecoveryToken({\n recoveryToken: options.token,\n });\n })\n .catch(function() {\n self.options.appState.trigger('loading', false);\n self.options.appState.trigger('removeLoading');\n });\n },\n\n preRender: function() {\n this.options.appState.trigger('loading', true);\n },\n\n trapAuthResponse: function() {\n this.options.appState.trigger('loading', false);\n return false;\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport FooterSignout from 'v1/views/shared/FooterSignout';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default FormController.extend({\n className: 'recovery-question',\n Model: {\n props: {\n answer: ['string', true],\n showAnswer: 'boolean',\n },\n save: function() {\n return this.doTransaction(function(transaction) {\n return transaction.answer({ answer: this.get('answer') });\n });\n },\n },\n Form: {\n autoSave: true,\n save: function() {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return loc('password.forgot.question.submit', 'login');\n case 'UNLOCK':\n return loc('account.unlock.question.submit', 'login');\n default:\n return loc('mfa.challenge.verify', 'login');\n }\n },\n title: function() {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return loc('password.forgot.question.title', 'login');\n case 'UNLOCK':\n return loc('account.unlock.question.title', 'login');\n default:\n return '';\n }\n },\n formChildren: function() {\n return [\n FormType.Input({\n label: this.options.appState.get('recoveryQuestion'),\n placeholder: loc('mfa.challenge.answer.placeholder', 'login'),\n name: 'answer',\n input: TextBox,\n type: 'password',\n initialize: function() {\n this.listenTo(this.model, 'change:showAnswer', function() {\n const type = this.model.get('showAnswer') ? 'text' : 'password';\n\n this.getInputs()[0].changeType(type);\n });\n },\n }),\n FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: loc('mfa.challenge.answer.showAnswer', 'login'),\n className: 'recovery-question-show margin-btm-0',\n name: 'showAnswer',\n type: 'checkbox',\n }),\n ];\n },\n },\n initialize: function() {\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout);\n }\n },\n});\n","/* eslint-disable max-depth */\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport FormController from 'v1/util/FormController';\nexport default FormController.extend({\n className: 'refresh-auth-state',\n\n Model: {},\n\n Form: {\n noButtonBar: true,\n },\n\n preRender: function() {\n const appState = this.options.appState;\n const token = this.options.token;\n\n this.model.startTransaction(function(authClient) {\n appState.trigger('loading', true);\n if (token) {\n return authClient.tx.introspect({\n stateToken: token,\n });\n }\n\n // get stateToken from cookie\n // currently only applies to old pipeline\n if (authClient.tx.exists()) {\n return authClient.tx.resume();\n }\n\n appState.trigger('navigate', '');\n });\n },\n\n remove: function() {\n this.options.appState.trigger('loading', false);\n return FormController.prototype.remove.apply(this, arguments);\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nexport default FormController.extend({\n events: {\n 'click .back-btn': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n className: 'registration-complete',\n Model: function() {},\n initialize: function() {\n this.settings.callGlobalSuccess(Enums.ACTIVATION_EMAIL_SENT, {\n username: this.options.appState.get('username'),\n });\n },\n Form: {\n noButtonBar: true,\n formChildren: function() {\n return [\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n
          \\\n \\\n

          {{title}}

          \\\n
          {{desc}}
          \\\n
          \\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n '\n ),\n getTemplateData: function() {\n return {\n desc: loc('registration.complete.confirm.text', 'login'),\n title: loc('registration.complete.title', 'login'),\n };\n },\n }),\n }),\n ];\n },\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { _, Backbone, Model, loc, Form, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport LoginModel from 'v1/models/LoginModel';\nimport RegistrationSchema from 'v1/models/RegistrationSchema';\nimport Q from 'q';\nimport BaseLoginController from 'v1/util/BaseLoginController';\nimport Enums from 'util/Enums';\nimport { RegistrationError } from 'util/Errors';\nimport RegistrationFormFactory from 'v1/util/RegistrationFormFactory';\nimport Util from 'util/Util';\nimport SubSchema from 'v1/views/registration/SubSchema';\nconst RegistrationControllerFooter = View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .help': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n});\nexport default BaseLoginController.extend({\n className: 'registration',\n initialize: function() {\n const RegistrationControllerSchema = RegistrationSchema.extend({\n settings: this.options.settings,\n url: this.options.settings.get('baseUrl') + '/api/v1/registration/form',\n });\n // setup schema\n\n const schema = new RegistrationControllerSchema();\n\n this.state.set('schema', schema);\n },\n getRegistrationApiUrl: function() {\n const defaultPolicyId = this.settings.get('defaultPolicyId');\n // default policyId\n\n const orgPolicyId = this.options.settings.get('policyId');\n // org policyId\n\n const apiUrl = defaultPolicyId\n ? this.getRegistrationPolicyApi(defaultPolicyId)\n : this.getRegistrationPolicyApi(orgPolicyId);\n\n return apiUrl;\n },\n getRegistrationPolicyApi: function(policyId) {\n return this.options.settings.get('baseUrl') + '/api/v1/registration/' + policyId;\n },\n doPostSubmit: function() {\n if (this.model.get('activationToken')) {\n const self = this;\n // register via activation token\n\n self.settings.callGlobalSuccess(Enums.REGISTRATION_COMPLETE, {\n activationToken: this.model.get('activationToken'),\n });\n\n const loginModel = new LoginModel({\n settings: self.model.appState.settings,\n });\n\n loginModel.loginWithActivationToken(this.model.get('activationToken')).then(function(transaction) {\n self.model.trigger('setTransaction', transaction);\n });\n } else {\n // register via activation email\n this.model.appState.set('username', this.model.get('email'));\n this.model.appState.trigger('navigate', 'signin/register-complete');\n }\n },\n registerUser: function(postData) {\n const self = this;\n\n Object.keys(postData).forEach((k) =>\n (_.isNull(postData[k]) || _.isUndefined(postData[k]) || postData[k] === '') && delete postData[k]);\n this.model.attributes = postData;\n // Model.save returns a jqXHR\n Backbone.Model.prototype.save\n .call(this.model)\n .then(function() {\n self.model.trigger('startSaving');\n const activationToken = self.model.get('activationToken');\n const postSubmitData = activationToken ? activationToken : self.model.get('email');\n\n self.settings.postRegistrationSubmit(\n postSubmitData,\n function() {\n self.doPostSubmit();\n },\n function(errors) {\n self.showErrors(errors);\n }\n );\n })\n .fail((err) => {\n const responseJSON = err.responseJSON;\n\n if (responseJSON && responseJSON.errorCauses.length) {\n const { errorCode, errorCauses } = responseJSON;\n const { errorSummary, reason, location } = errorCauses[0];\n\n const isNotUniqueValue =\n errorCode === 'E0000001' &&\n reason === 'UNIQUE_CONSTRAINT';\n\n if (isNotUniqueValue) {\n this.renderIsNotUniqueError(responseJSON);\n }\n\n this.renderLegacyLocationErrorIfNeeded(location, errorSummary);\n\n Util.triggerAfterError(\n this,\n new RegistrationError(errorSummary)\n );\n }\n });\n },\n\n renderIsNotUniqueError: function(error) {\n const { location } = error.errorCauses[0];\n const errorSummary = loc(\n 'registration.error.userName.notUniqueWithinOrg',\n 'login',\n [location]\n );\n // replace generic error message with more specific one\n // without using backbone events because there was a race condition\n // between clearing and triggering errors\n this.$el.find('.okta-form-infobox-error p').text(errorSummary);\n },\n\n renderLegacyLocationErrorIfNeeded: function(location, errorSummary) {\n // replace generic error message with errorSummary for v1 SIW\n // this makes sure that with legacy location that starts with `data.userProfile`\n // we still see the errorSummary in the error banner instead of only a generic error\n // See example in https://developer.okta.com/docs/reference/registration-hook/#sample-json-payload-of-request\n if (location && /^data\\.userProfile.*/.test(location)) {\n this.$el.find('.okta-form-infobox-error p').text(errorSummary);\n }\n },\n\n createRegistrationModel: function(modelProperties) {\n const self = this;\n const RegistrationControllerModel = Model.extend({\n url: self.getRegistrationApiUrl() + '/register',\n settings: this.settings,\n appState: this.options.appState,\n props: modelProperties,\n local: {\n activationToken: 'string',\n },\n toJSON: function() {\n const data = Model.prototype.toJSON.apply(this, arguments);\n\n return {\n userProfile: data,\n relayState: this.settings.get('relayState'),\n };\n },\n parse: function(resp) {\n this.set('activationToken', resp.activationToken);\n delete resp.activationToken;\n return resp;\n },\n save: function() {\n this.settings.preRegistrationSubmit(\n this.attributes,\n function(postData) {\n self.registerUser(postData);\n },\n function(errors) {\n self.showErrors(errors);\n }\n );\n },\n });\n\n return new RegistrationControllerModel();\n },\n showErrors: function(error, hideRegisterButton) {\n //for parseSchema error hide form and show error at form level\n if (error.callback === 'parseRegistrationSchema' && error.errorCauses) {\n error.errorSummary = _.clone(error.errorCauses[0].errorSummary);\n delete error.errorCauses;\n }\n //show error on form\n this.model.trigger('error', this.model, {\n responseJSON: error,\n });\n\n //throw registration error\n const errMsg = error.callback ? error.callback + ':' + error.errorSummary : error.errorSummary;\n\n Util.triggerAfterError(this, new RegistrationError(errMsg));\n\n if (hideRegisterButton) {\n this.$el.find('.button-primary').hide();\n }\n },\n fetchInitialData: function() {\n const self = this;\n\n // register parse complete event listener\n self.state.get('schema').on('parseComplete', function(updatedSchema) {\n const modelProperties = updatedSchema.properties.createModelProperties();\n\n self.settings.set('defaultPolicyId', updatedSchema.properties.defaultPolicyId);\n\n // create model\n self.model = self.createRegistrationModel(modelProperties);\n // create form\n const RegistrationControllerForm = Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title: loc('registration.form.title', 'login'),\n save: loc('registration.form.submit', 'login'),\n modelEvents : { 'invalid' : 'modifyErrors' },\n hasSavingState: true,\n customSavingState: {\n start: 'startSaving',\n stop: 'stopSaving',\n },\n modifyErrors: function(model, errorResp) {\n // overwrite courage errorResp object to show custom error message\n for (let formFieldName in errorResp) {\n if (errorResp[formFieldName] === 'model.validation.field.string.minLength') {\n errorResp[formFieldName] = loc('registration.model.validation.field.string.too.short', 'login', \n [model.props[formFieldName].minLength]\n );\n } else if (errorResp[formFieldName] === 'model.validation.field.string.maxLength') {\n errorResp[formFieldName] = loc('registration.model.validation.field.string.too.long', 'login', \n [model.props[formFieldName].maxLength + 1]\n );\n }\n }\n },\n });\n const form = new RegistrationControllerForm(self.toJSON());\n\n // add form\n self.add(form);\n // add footer\n self.footer = new self.Footer(self.toJSON());\n self.add(self.footer);\n self.addListeners();\n if (updatedSchema.error) {\n self.showErrors(updatedSchema.error, true);\n } else {\n // add fields\n updatedSchema.properties.each(function(schemaProperty) {\n const inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n const subSchemas = schemaProperty.get('subSchemas');\n const name = schemaProperty.get('name');\n\n form.addInput(inputOptions);\n if (name === 'password' && subSchemas) {\n form.add(SubSchema.extend({ id: 'subschemas-' + name, subSchemas: subSchemas }));\n }\n });\n const requiredFieldsLabel = hbs('{{label}}')({\n label: loc('registration.required.fields.label', 'login'),\n });\n\n form.add(requiredFieldsLabel);\n }\n });\n // fetch schema from API, returns a jqXHR. Wrap it in a Q\n return Q(this.state.get('schema').fetch());\n },\n Footer: RegistrationControllerFooter,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport ValidationUtil from 'v1/util/ValidationUtil';\nimport ContactSupport from 'v1/views/shared/ContactSupport';\nimport TextBox from 'v1/views/shared/TextBox';\nconst UnlockAccountControllernoFactorsError = View.extend({\n template: hbs`\n
          \n \n

          {{i18n code=\"account.unlock.noFactorsEnabled\" bundle=\"login\"}}

          \n
          \n `,\n});\nconst UnlockAccountControllerFooter = View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n {{#if helpSupportNumber}}\\\n \\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function(e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n },\n },\n getTemplateData: function() {\n return this.settings.pick('helpSupportNumber');\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n});\nexport default FormController.extend({\n className: 'account-unlock',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true],\n },\n validate: function() {\n return ValidationUtil.validateUsername(this);\n },\n save: function() {\n const self = this;\n\n return this.startTransaction(function(authClient) {\n return authClient.unlockAccount({\n username: self.settings.transformUsername(self.get('username'), Enums.UNLOCK_ACCOUNT),\n factorType: self.get('factorType'),\n });\n }).catch(function() {\n //need empty fail handler on model to display errors on form\n });\n },\n },\n Form: {\n noButtonBar: true,\n title: _.partial(loc, 'account.unlock.title', 'login'),\n formChildren: function() {\n const smsEnabled = this.settings.get('features.smsRecovery');\n /*eslint complexity: [2, 9] max-statements: [2, 24] */\n\n const callEnabled = this.settings.get('features.callRecovery');\n const emailEnabled = this.settings.get('features.emailRecovery');\n const noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n const formChildren = [];\n const form = this;\n\n if (noFactorsEnabled) {\n this.add(UnlockAccountControllernoFactorsError, '.o-form-error-container');\n } else {\n formChildren.push(\n FormType.Input({\n label: loc('account.unlock.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'account.unlock.email.or.username.tooltip',\n 'account.unlock.email.or.username.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n type: 'text',\n inlineValidation: false,\n })\n );\n\n if (smsEnabled || callEnabled) {\n formChildren.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n

          \\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n

          '\n ),\n getTemplateData: function() {\n let mobileFactors;\n\n if (smsEnabled && callEnabled) {\n mobileFactors = loc('recovery.smsOrCall');\n } else if (callEnabled) {\n mobileFactors = loc('recovery.call');\n } else {\n mobileFactors = loc('recovery.sms');\n }\n return { mobileFactors: mobileFactors };\n },\n }),\n })\n );\n }\n\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'sms-button',\n 'account.unlock.sendText',\n Enums.RECOVERY_FACTOR_TYPE_SMS,\n form\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'call-button',\n 'account.unlock.voiceCall',\n Enums.RECOVERY_FACTOR_TYPE_CALL,\n form\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(\n this.createRecoveryFactorButton(\n 'email-button',\n 'account.unlock.sendEmail',\n Enums.RECOVERY_FACTOR_TYPE_EMAIL,\n form\n )\n );\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function() {\n this.listenTo(this, 'save', function() {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n\n this.listenTo(this.state, 'contactSupport', function() {\n this.add(ContactSupport, '.o-form-error-container');\n });\n },\n setDefaultFactorType: function(factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function(className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className },\n className: 'button button-primary button-wide ' + className,\n title: loc(labelCode, 'login'),\n click: function() {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n },\n });\n },\n },\n Footer: UnlockAccountControllerFooter,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport Enums from 'util/Enums';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nexport default FormController.extend({\n className: 'account-unlock-email-sent',\n Model: function() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')],\n },\n };\n },\n\n Form: {\n title: _.partial(loc, 'account.unlock.emailSent.title', 'login'),\n subtitle: function() {\n const username = this.options.appState.get('username');\n\n return loc('account.unlock.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'unlock-email-sent' },\n formChildren: function() {\n return [\n FormType.Button({\n title: loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n }),\n ];\n },\n },\n\n initialize: function(options) {\n this.settings.callGlobalSuccess(Enums.UNLOCK_ACCOUNT_EMAIL_SENT, {\n username: options.appState.get('username'),\n });\n },\n});\n","/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, internal } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\nconst { Util } = internal.util;\nexport default FormController.extend({\n className: 'verify-custom-factor custom-factor-form',\n\n Model: {\n props: {\n rememberDevice: 'boolean',\n },\n\n initialize: function() {\n const rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n if (this.settings.get('features.skipIdpFactorVerificationBtn') &&\n !this.appState.get('lastFailedChallengeFactorData')) {\n this.set('provider', 'CUSTOM');\n this.set('factorType', 'claims_provider');\n this.save();\n }\n },\n\n save: function() {\n const rememberDevice = !!this.get('rememberDevice');\n\n return this.manageTransaction((transaction, setTransaction) => {\n const data = {\n rememberDevice: rememberDevice,\n };\n\n const factor = _.findWhere(transaction.factors, {\n provider: this.get('provider'),\n factorType: this.get('factorType'),\n });\n\n return factor\n .verify(data)\n .then(trans => {\n setTransaction(trans);\n const url = this.appState.get('verifyCustomFactorRedirectUrl');\n\n if (url !== null) {\n Util.redirect(url);\n }\n })\n .catch(function(err) {\n throw err;\n });\n });\n },\n },\n\n Form: function() {\n const factors = this.options.appState.get('factors');\n const factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType,\n });\n const vendorName = factor.get('vendorName');\n const saveText = loc('mfa.challenge.verify', 'login');\n const lastFailedChallengeFactorData = this.options.appState.get('lastFailedChallengeFactorData');\n let subtitle = loc('verify.customFactor.subtitle', 'login', [vendorName]);\n\n if (this.settings.get('features.skipIdpFactorVerificationBtn') && !lastFailedChallengeFactorData) {\n subtitle = loc('verify.customFactor.subtitle.redirect', 'login', [vendorName]);\n\n this.listenTo(this.model, 'error', () => {\n subtitle = loc('verify.customFactor.subtitle', 'login', [vendorName]);\n this.$('.o-form-explain').text(subtitle);\n });\n }\n return {\n autoSave: true,\n title: vendorName,\n save: saveText,\n subtitle: subtitle,\n attributes: { 'data-se': 'factor-custom' },\n initialize: function() {\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n },\n\n formChildren: function() {\n const result = [];\n const lastFailedChallengeFactorData = this.options.appState.get('lastFailedChallengeFactorData');\n\n if (this.settings.get('features.skipIdpFactorVerificationBtn') && !lastFailedChallengeFactorData) {\n result.push(\n FormType.View({\n View:\n '
          '\n })\n );\n }\n\n if (lastFailedChallengeFactorData) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: lastFailedChallengeFactorData.errorMessage }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n return result;\n },\n };\n },\n\n postRender() {\n if (this.settings.get('features.skipIdpFactorVerificationBtn') &&\n !this.options.appState.get('lastFailedChallengeFactorData')) {\n this.$('.o-form-button-bar').hide();\n this.$('.okta-waiting-spinner').show();\n }\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n initialize: function() {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n\n if (this.settings.get('features.skipIdpFactorVerificationBtn')) {\n this.listenTo(this.model, 'error', () => {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n });\n }\n this.addFooter(FooterMFA);\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0 */\nimport { $, _, loc } from '@okta/courage';\nimport Duo from '@okta/duo';\nimport Q from 'q';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\n\nexport default FormController.extend({\n className: 'mfa-verify-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string',\n rememberDevice: 'boolean',\n },\n\n initialize: function() {\n const rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n getInitOptions: function() {\n const rememberDevice = !!this.get('rememberDevice');\n\n return this.doTransaction(function(transaction) {\n const data = {\n rememberDevice: rememberDevice,\n };\n\n const factor = _.findWhere(transaction.factors, {\n provider: 'DUO',\n factorType: 'web',\n });\n\n return factor.verify(data).catch(function(err) {\n // Clean up the cookie on failure.\n throw err;\n });\n }, true /* rethrow errors */);\n },\n\n verify: function(signedResponse) {\n const url = this.get('postAction');\n const factorId = this.get('factorId');\n const self = this;\n let data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse,\n };\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n\n const rememberDevice = this.get('rememberDevice');\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n\n return Q($.post(url, data))\n .then(function() {\n return self.doTransaction(function(transaction) {\n let data;\n\n if (rememberDevice) {\n data = { rememberDevice: rememberDevice };\n }\n return transaction.poll(data);\n });\n })\n .catch(function(err) {\n self.trigger('error', self, err.xhr);\n });\n },\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(loc, 'factor.duo'),\n attributes: { 'data-se': 'factor-duo' },\n\n postRender: function() {\n this.add('');\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n Duo.init({\n host: this.model.get('host'),\n sig_request: this.model.get('signature'),\n iframe: this.$('iframe').get(0),\n post_action: _.bind(this.model.verify, this.model),\n });\n },\n },\n\n fetchInitialData: function() {\n const self = this;\n\n return this.model.getInitOptions().then(function(trans) {\n const res = trans.data;\n\n if (\n !res._embedded ||\n !res._embedded.factor ||\n !res._embedded.factor._embedded ||\n !res._embedded.factor._embedded.verification\n ) {\n throw new Error('Response does not have duo verification options');\n }\n const verification = res._embedded.factor._embedded.verification;\n\n self.model.set({\n host: verification.host,\n signature: verification.signature,\n postAction: verification._links.complete.href,\n factorId: res._embedded.factor.id,\n stateToken: res.stateToken,\n });\n });\n },\n\n trapAuthResponse: function() {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterMFA,\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\nimport { _, $, loc, View, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport FooterWithBackLink from 'v1/views/shared/FooterWithBackLink';\nlet { Util } = internal.util;\nexport default FormController.extend({\n className: 'piv-cac-card',\n Model: {\n save: async function() {\n this.trigger('request');\n const self = this;\n const pivConfig = this.settings.get('piv');\n const data = {\n fromURI: this.settings.get('relayState'),\n isCustomDomain: pivConfig.isCustomDomain,\n customDomain: pivConfig.customDomain,\n };\n\n try {\n await this.getCert(pivConfig.certAuthUrl);\n const res = await this.postCert(pivConfig.certAuthUrl, data);\n Util.redirect(res.redirectUrl);\n } catch (err) {\n if (_.isEmpty(err.responseJSON) && !err.responseText) {\n err.responseJSON = {\n errorSummary: loc('piv.cac.error', 'login'),\n };\n }\n self.trigger('error', self, err);\n }\n },\n\n getCert: function(certAuthUrl) {\n return $.get({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true,\n },\n beforeSend: function() {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n },\n });\n },\n\n postCert: function(certAuthUrl, data) {\n return $.post({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true,\n },\n data: JSON.stringify(data),\n contentType: 'text/plain',\n beforeSend: function() {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n },\n });\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(loc, 'piv.cac.title', 'login'),\n className: 'piv-cac-card',\n noCancelButton: true,\n save: _.partial(loc, 'retry', 'login'),\n modelEvents: {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n },\n\n formChildren: [\n FormType.View({\n View: View.extend({\n template: hbs(\n '
          \\\n

          {{i18n code=\"piv.cac.card.insert\" bundle=\"login\"}}

          \\\n
          \\\n
          '\n ),\n }),\n }),\n ],\n\n _startEnrollment: function() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n },\n\n postRender: function() {\n _.defer(() => {\n this.model.save();\n });\n },\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterWithBackLink,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Q from 'q';\nimport 'u2f-api-polyfill';\nimport { U2FError } from 'util/Errors';\nimport FactorUtil from 'util/FactorUtil';\nimport FidoUtil from 'util/FidoUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\n\nfunction getRegisteredKeysSequence(factors) {\n const keys = [];\n\n _.each(factors, function(factor) {\n keys.push({\n version: factor.profile.version,\n keyHandle: factor.profile.credentialId,\n });\n });\n return keys;\n}\n\nexport default FormController.extend({\n className: 'mfa-verify verify-u2f',\n Model: {\n props: {\n rememberDevice: 'boolean',\n },\n\n initialize: function() {\n const rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n save: function() {\n this.trigger('request');\n\n return this.doTransaction(function(transaction) {\n let factor;\n\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'u2f',\n });\n } else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO',\n });\n }\n const self = this;\n\n return factor.verify().then(function(transaction) {\n let registeredKeys;\n let appId;\n let nonce;\n\n if (transaction.factors) {\n const factors = transaction.factors;\n\n appId = factors[0]['profile']['appId'];\n nonce = transaction.challenge.nonce;\n registeredKeys = getRegisteredKeysSequence(factors);\n } else {\n const factorData = transaction.factor;\n\n appId = factorData.profile.appId;\n nonce = factorData.challenge.nonce;\n registeredKeys = [{ version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n }\n self.trigger('request');\n\n const deferred = Q.defer();\n\n u2f.sign(appId, nonce, registeredKeys, function(data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n const isOneFactor = self.options.appState.get('factors').length === 1;\n\n deferred.reject(\n new U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fVerifyErrorMessageByCode(data.errorCode, isOneFactor),\n },\n },\n })\n );\n } else {\n const rememberDevice = !!self.get('rememberDevice');\n\n return factor\n .verify({\n clientData: data.clientData,\n signatureData: data.signatureData,\n rememberDevice: rememberDevice,\n })\n .then(deferred.resolve);\n }\n });\n return deferred.promise;\n });\n })\n .catch(() => {});\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(loc, 'factor.u2f', 'login'),\n className: 'verify-u2f-form',\n noCancelButton: true,\n save: _.partial(loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function() {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n },\n\n formChildren: function() {\n const result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n let errorMessageKey = 'u2f.error.factorNotSupported';\n\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc(errorMessageKey, 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n } else {\n result.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '\\\n
          \\\n

          {{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}

          \\\n

          {{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n
          \\\n
          '\n ),\n }),\n })\n );\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n result.push(\n FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n })\n );\n }\n\n return result;\n },\n\n postRender: function() {\n _.defer(() => {\n if (FidoUtil.isU2fAvailable()) {\n this.model.save();\n } else {\n this.$('[data-se=\"u2f-waiting\"]').addClass('hide');\n }\n });\n },\n\n _startEnrollment: function() {\n this.$('.okta-waiting-spinner').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function() {\n this.$('.okta-waiting-spinner').addClass('hide');\n this.$('.o-form-button-bar').show();\n },\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterMFA,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\nimport { _, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Q from 'q';\nimport CryptoUtil from 'util/CryptoUtil';\nimport { WebauthnAbortError, WebAuthnError } from 'util/Errors';\nimport FactorUtil from 'util/FactorUtil';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport webauthn from 'util/webauthn';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\n\nfunction getAllowCredentials(factors) {\n const allowCredentials = [];\n\n _.each(factors, function(factor) {\n allowCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(factor.profile.credentialId),\n });\n });\n return allowCredentials;\n}\n\nexport default FormController.extend({\n className: 'mfa-verify verify-webauthn',\n Model: {\n props: {\n rememberDevice: 'boolean',\n },\n\n initialize: function() {\n const rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n this.appState.on('factorSwitched signOut', () => {\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n });\n },\n\n save: function() {\n this.trigger('request');\n\n return this.doTransaction(function(transaction) {\n let factor;\n\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'webauthn',\n });\n } else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO',\n });\n }\n\n const self = this;\n\n return factor.verify().then(function(transaction) {\n let allowCredentials;\n let challenge;\n\n if (transaction.factors) {\n const factors = transaction.factors;\n\n challenge = transaction.challenge;\n allowCredentials = getAllowCredentials(factors);\n } else {\n const factorData = transaction.factor;\n\n challenge = factorData.challenge;\n allowCredentials = getAllowCredentials([factorData]);\n }\n self.trigger('request');\n // verify via browser webauthn js\n\n const options = _.extend({}, challenge, {\n allowCredentials: allowCredentials,\n challenge: CryptoUtil.strToBin(challenge.challenge),\n });\n\n // AbortController is not supported in IE11\n if (typeof AbortController !== 'undefined') {\n self.webauthnAbortController = new AbortController();\n }\n return new Q(\n // navigator.credentials is not supported in IE11\n // eslint-disable-next-line compat/compat\n navigator.credentials.get({\n publicKey: options,\n signal: self.webauthnAbortController && self.webauthnAbortController.signal,\n })\n )\n .then(function(assertion) {\n const rememberDevice = !!self.get('rememberDevice');\n\n return factor.verify({\n clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n signatureData: CryptoUtil.binToStr(assertion.response.signature),\n rememberDevice: rememberDevice,\n });\n })\n .catch(function(error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code.\n if (!self.webauthnAbortController) {\n throw new WebauthnAbortError();\n } else {\n throw new WebAuthnError({\n xhr: { responseJSON: { errorSummary: error.message } },\n });\n }\n })\n .finally(function() {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n });\n })\n .catch(() => {});\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(loc, 'factor.webauthn.biometric', 'login'),\n className: 'verify-webauthn-form',\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n noButtonBar: function() {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n },\n\n formChildren: function() {\n const children = [];\n\n if (webauthn.isNewApiAvailable()) {\n children.push(\n FormType.View({\n View: View.extend({\n template: hbs(\n '
          \\\n

          {{i18n code=\"verify.webauthn.biometric.instructions\" bundle=\"login\"}}

          \\\n
          \\\n
          '\n ),\n }),\n })\n );\n } else {\n let errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc(errorMessageKey, 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n children.push(\n FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n })\n );\n }\n\n return children;\n },\n\n _startEnrollment: function() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar [type=\"submit\"]')[0].value = loc('verify.u2f.retry', 'login');\n this.$('.o-form-button-bar').show();\n },\n },\n\n postRender: function() {\n _.defer(() => {\n // Trigger browser prompt automatically for other browsers for better UX.\n if (webauthn.isNewApiAvailable() && !BrowserFeatures.isSafari()) {\n this.model.save();\n }\n });\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterMFA,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FormController from 'v1/util/FormController';\nimport FormType from 'v1/util/FormType';\nimport webauthn from 'util/webauthn';\nimport HtmlErrorMessageView from 'v1/views/mfa-verify/HtmlErrorMessageView';\nimport FooterMFA from 'v1/views/shared/FooterMFA';\nimport Spinner from 'v1/views/shared/Spinner';\nexport default FormController.extend({\n className: 'mfa-verify verify-windows-hello',\n Model: {\n local: {\n __autoTriggered__: 'boolean',\n },\n\n save: function() {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n const model = this;\n\n return this.doTransaction(function(transaction) {\n const factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO',\n });\n\n return factor.verify().then(function(verifyData) {\n const factorData = verifyData.factor;\n\n return webauthn\n .getAssertion(factorData.challenge.nonce, [{ id: factorData.profile.credentialId }])\n .then(function(assertion) {\n return factor.verify({\n authenticatorData: assertion.authenticatorData,\n clientData: assertion.clientData,\n signatureData: assertion.signature,\n });\n })\n .then(function(data) {\n model.trigger('sync');\n model.trigger('signIn');\n return data;\n })\n .catch(function(error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n });\n },\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(loc, 'factor.windowsHello', 'login'),\n subtitle: function() {\n return webauthn.isAvailable() ? loc('verify.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(loc, 'verify.windowsHello.save', 'login'),\n\n customSavingState: {\n stop: 'abort',\n },\n\n modelEvents: function() {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n request: '_startEnrollment',\n error: '_stopEnrollment',\n abort: '_stopEnrollment',\n signIn: '_successEnrollment',\n };\n },\n\n noButtonBar: function() {\n return !webauthn.isAvailable();\n },\n\n formChildren: function() {\n const result = [];\n\n if (!webauthn.isAvailable()) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView({ message: loc('enroll.windowsHello.error.notWindows', 'login') }) },\n { selector: '.o-form-error-container' }\n )\n );\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n postRender: function() {\n if (this.options.appState.get('factors').length === 1 && !this.model.get('__autoTriggered__')) {\n this.model.set('__autoTriggered__', true);\n this.model.save();\n }\n },\n\n _startEnrollment: function() {\n this.subtitle = loc('verify.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _stopEnrollment: function(errorMessage) {\n this.subtitle = loc('verify.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n this.$('.o-form-button-bar').removeClass('hide');\n\n let message;\n\n switch (errorMessage) {\n case 'NotFoundError':\n message = this.options.appState.get('factors').length > 1\n ? loc('verify.windowsHello.error.notFound.selectAnother', 'login')\n : loc('verify.windowsHello.error.notFound', 'login');\n break;\n\n case 'NotSupportedError':\n message = loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message) {\n const messageView = new HtmlErrorMessageView({\n message: message,\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, { selector: '.o-form-error-container' });\n this._errorMessageView = this.last();\n }\n\n this.render();\n },\n\n _successEnrollment: function() {\n this.subtitle = this.settings.get('brandName')\n ? loc('verify.windowsHello.subtitle.signingIn.specific', 'login', [this.settings.get('brandName')])\n : loc('verify.windowsHello.subtitle.signingIn.generic', 'login');\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _resetErrorMessage: function() {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n },\n },\n\n back: function() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterMFA,\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, $, loc, Model } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Factor from 'v1/models/Factor';\nimport Q from 'q';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport { UnsupportedBrowserError } from 'util/Errors';\nconst DEFAULT_APP_LOGO = '/img/logos/default.png';\n\n// Keep track of stateMachine with this special model. Some reasons to not\n// keep it generic:\n// 1. We know exactly what we're using appState for by requiring props\n// 2. Can have some derived functions to help us translate the lastAuthRes\n\nconst USER_NOT_SEEN_ON_DEVICE = '/img/security/unknown.png';\nconst UNDEFINED_USER = '/img/security/default.png';\nconst NEW_USER = '/img/security/unknown-device.png';\nconst NEW_USER_IMAGE_DESCRIPTION = '';\nconst UNDEFINED_USER_IMAGE_DESCRIPTION = '';\nconst UNKNOWN_IMAGE_DESCRIPTION = '';\nconst securityImageUrlTpl = hbs('{{baseUrl}}/login/getimage?username={{username}}');\n\nfunction getSecurityImage(baseUrl, username, deviceFingerprint) {\n // When the username is empty, we want to show the default image.\n if (_.isEmpty(username) || _.isUndefined(username)) {\n return Q({\n securityImage: UNDEFINED_USER,\n securityImageDescription: UNDEFINED_USER_IMAGE_DESCRIPTION,\n });\n }\n\n // Reserved characters in the username must be escaped before the query can be safely executed\n username = encodeURIComponent(username);\n const url = securityImageUrlTpl({ baseUrl: baseUrl, username: username });\n const data = {\n url: url,\n dataType: 'json',\n };\n\n if (deviceFingerprint) {\n data['headers'] = { 'X-Device-Fingerprint': deviceFingerprint };\n }\n return Q($.ajax(data)).then(function(res) {\n if (res.pwdImg === USER_NOT_SEEN_ON_DEVICE) {\n // When we get an unknown.png security image from OKTA,\n // we want to show the unknown-device security image.\n // We are mapping the server's img url to a new one because\n // we still need to support the original login page.\n return {\n securityImage: NEW_USER,\n securityImageDescription: NEW_USER_IMAGE_DESCRIPTION,\n };\n }\n return {\n securityImage: res.pwdImg,\n securityImageDescription: res.imageDescription || UNKNOWN_IMAGE_DESCRIPTION,\n };\n });\n}\n\nfunction getMinutesString(factorLifetimeInMinutes) {\n if (factorLifetimeInMinutes > 60 && factorLifetimeInMinutes <= 1440) {\n const lifetimeInHours = factorLifetimeInMinutes / 60;\n\n return loc('hours', 'login', [lifetimeInHours]);\n } else if (factorLifetimeInMinutes > 1440) {\n const lifetimeInDays = factorLifetimeInMinutes / 1440;\n\n return loc('days', 'login', [lifetimeInDays]);\n }\n //Use minutes as the time unit by default\n if (factorLifetimeInMinutes === 1) {\n return loc('minutes.oneMinute', 'login');\n }\n return loc('minutes', 'login', [factorLifetimeInMinutes]);\n}\n\nfunction getGracePeriodRemainingDays(gracePeriodEndDate) {\n const endDate = new Date(gracePeriodEndDate).getTime();\n const remainingDays = Math.floor((endDate - new Date().getTime()) / (1000 * 3600 * 24));\n\n return remainingDays;\n}\n\nfunction combineFactorsObjects(factorTypes, factors) {\n const addedFactorTypes = [];\n const combinedFactors = [];\n\n _.each(factors, function(factor) {\n const factorType = factor.factorType;\n\n if (!_.contains(addedFactorTypes, factorType)) {\n const factorTypeObj = _.findWhere(factorTypes, { factorType: factorType });\n\n if (factorTypeObj) {\n addedFactorTypes.push(factorType);\n combinedFactors.push(factorTypeObj);\n } else {\n combinedFactors.push(factor);\n }\n }\n });\n return combinedFactors;\n}\n\nexport default Model.extend({\n initialize: function() {\n // Handle this in initialize (as opposed to a derived property) because\n // the operation is asynchronous\n if (this.settings.get('features.securityImage')) {\n const self = this;\n\n this.listenTo(this, 'change:username', function(model, username) {\n getSecurityImage(this.get('baseUrl'), username, this.get('deviceFingerprint'))\n .then(function(image) {\n model.set('securityImage', image.securityImage);\n model.set('securityImageDescription', image.securityImageDescription);\n model.unset('deviceFingerprint'); //Fingerprint can only be used once\n })\n .fail(function(jqXhr) {\n // Only notify the consumer on a CORS error\n if (BrowserFeatures.corsIsNotEnabled(jqXhr)) {\n self.settings.callGlobalError(new UnsupportedBrowserError(loc('error.enabled.cors')));\n } else {\n self.settings.callGlobalError(new Error(`Failed to fetch security image: ${jqXhr.statusText}`));\n }\n })\n .done();\n });\n }\n },\n\n local: {\n baseUrl: 'string',\n lastAuthResponse: ['object', true, {}],\n transaction: 'object',\n transactionError: 'object',\n username: 'string',\n factors: 'object',\n policy: 'object',\n securityImage: ['string', true, UNDEFINED_USER],\n securityImageDescription: ['string', true, UNDEFINED_USER_IMAGE_DESCRIPTION],\n userCountryCode: 'string',\n userPhoneNumber: 'string',\n factorActivationType: 'string',\n flashError: 'object',\n beaconType: 'string',\n deviceFingerprint: 'string', // valid only once\n typingPattern: 'string',\n // Note: languageCode is special in that it is shared between Settings\n // and AppState. Settings is the *configured* language, and is static.\n // AppState is the dynamic language state - it can be changed via a\n // language picker, etc.\n // Note: this is conceptial feasible but not yet being implemented.\n languageCode: ['string', true],\n disableUsername: ['boolean', false, false],\n trapMfaRequiredResponse: ['boolean', false, false],\n lastFailedChallengeFactorData: ['object', false],\n },\n\n setAuthResponse: function(res) {\n // Because of MFA_CHALLENGE (i.e. DUO), we need to remember factors\n // across auth responses. Not doing this, for example, results in being\n // unable to switch away from the duo factor dropdown.\n if (res._embedded && res._embedded.policy) {\n this.set('policy', res._embedded.policy);\n }\n\n if (res._embedded && res._embedded.factors) {\n let factors = res._embedded.factors;\n\n if (res._embedded.factorTypes) {\n factors = combineFactorsObjects(res._embedded.factorTypes, factors);\n }\n\n const factorsObject = _.map(factors, factor => {\n factor.settings = this.settings;\n factor.appState = this;\n return factor;\n });\n\n this.set('factors', new Factor.Collection(factorsObject, { parse: true }));\n }\n\n this.set('lastAuthResponse', res);\n },\n\n clearLastAuthResponse: function() {\n this.set('lastAuthResponse', {});\n },\n\n setLastFailedChallengeFactorData: function() {\n this.set('lastFailedChallengeFactorData', {\n factor: this.get('factor'),\n errorMessage: this.get('factorResultErrorMessage'),\n });\n },\n\n clearLastFailedChallengeFactorData: function() {\n this.unset('lastFailedChallengeFactorData');\n },\n\n getUser: function() {\n return this.get('user');\n },\n\n derived: {\n isSuccessResponse: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'SUCCESS';\n },\n },\n isMfaRequired: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'MFA_REQUIRED' || res.status === 'FACTOR_REQUIRED';\n },\n },\n isProfileRequired: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'PROFILE_REQUIRED';\n },\n },\n isMfaEnroll: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL';\n },\n },\n isMfaChallenge: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'MFA_CHALLENGE' || res.status === 'FACTOR_CHALLENGE';\n },\n },\n isSMSPasswordRecovery: {\n deps: ['lastAuthResponse'],\n fn: function({ status, factorType, recoveryType }) {\n return status === 'RECOVERY_CHALLENGE' &&\n factorType?.toLowerCase() === 'sms' &&\n recoveryType?.toLowerCase() === 'password';\n }\n },\n isUnauthenticated: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'UNAUTHENTICATED';\n },\n },\n isMfaRejected: {\n // MFA failures are usually error responses\n // except in the case of Okta Push, when a\n // user clicks 'deny' on his phone or OV app\n // version is below a required version no.\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.factorResult === 'REJECTED';\n },\n },\n isMfaTimeout: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.factorResult === 'TIMEOUT';\n },\n },\n isMfaEnrollActivate: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE';\n },\n },\n isWaitingForActivation: {\n deps: ['isMfaEnrollActivate', 'lastAuthResponse'],\n fn: function(isMfaEnrollActivate, res) {\n return isMfaEnrollActivate && res.factorResult === 'WAITING';\n },\n },\n isWaitingForNumberChallenge: {\n deps: ['lastAuthResponse', 'isMfaChallenge'],\n fn: function(res, isMfaChallenge) {\n if (\n isMfaChallenge &&\n res &&\n res.factorResult === 'WAITING' &&\n res._embedded &&\n res._embedded.factor &&\n res._embedded.factor._embedded &&\n res._embedded.factor._embedded.challenge\n ) {\n return true;\n }\n return false;\n },\n },\n hasMultipleFactorsAvailable: {\n deps: ['factors', 'isMfaRequired', 'isMfaChallenge', 'isUnauthenticated'],\n fn: function(factors, isMfaRequired, isMfaChallenge, isUnauthenticated) {\n if (!isMfaRequired && !isMfaChallenge && !isUnauthenticated) {\n return false;\n }\n return factors && factors.length > 1;\n },\n },\n promptForFactorInUnauthenticated: {\n deps: ['lastAuthResponse', 'factors'],\n fn: function(res, factors) {\n if (res.status !== 'UNAUTHENTICATED') {\n return false;\n }\n return factors && factors.length > 0;\n },\n },\n userId: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user.id;\n },\n },\n isIdxStateToken: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res && _.isString(res.stateToken) && res.stateToken.startsWith('01');\n },\n },\n isPwdExpiringSoon: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.status === 'PASSWORD_WARN';\n },\n },\n passwordExpireDays: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.policy || !res._embedded.policy.expiration) {\n return null;\n }\n return res._embedded.policy.expiration.passwordExpireDays;\n },\n },\n isPwdManagedByOkta: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return true;\n }\n return false;\n },\n },\n passwordExpiredWebsiteName: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return null;\n }\n return res._links.next.title;\n },\n },\n passwordExpiredLinkUrl: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._links || !res._links.next || !res._links.next.title || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n },\n },\n recoveryType: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.recoveryType;\n },\n },\n factorType: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.factorType;\n },\n },\n factor: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.factor) {\n return null;\n }\n return res._embedded.factor;\n },\n },\n activatedFactorId: {\n deps: ['factor'],\n fn: function(factor) {\n return factor ? factor.id : null;\n },\n },\n activatedFactorType: {\n deps: ['factor'],\n fn: function(factor) {\n return factor ? factor.factorType : null;\n },\n },\n activatedFactorProvider: {\n deps: ['factor'],\n fn: function(factor) {\n return factor ? factor.provider : null;\n },\n },\n qrcode: {\n deps: ['factor'],\n fn: function(factor) {\n try {\n return factor._embedded.activation._links.qrcode.href;\n } catch (err) {\n return null;\n }\n },\n },\n activationSendLinks: {\n deps: ['factor'],\n fn: function(factor) {\n let sendLinks;\n\n try {\n sendLinks = factor._embedded.activation._links.send;\n } catch (err) {\n sendLinks = [];\n }\n return sendLinks;\n },\n },\n textActivationLinkUrl: {\n deps: ['activationSendLinks'],\n fn: function(activationSendLinks) {\n const item = _.findWhere(activationSendLinks, { name: 'sms' });\n\n return item ? item.href : null;\n },\n },\n emailActivationLinkUrl: {\n deps: ['activationSendLinks'],\n fn: function(activationSendLinks) {\n const item = _.findWhere(activationSendLinks, { name: 'email' });\n\n return item ? item.href : null;\n },\n },\n sharedSecret: {\n deps: ['factor'],\n fn: function(factor) {\n try {\n return factor._embedded.activation.sharedSecret;\n } catch (err) {\n return null;\n }\n },\n },\n duoEnrollActivation: {\n deps: ['factor'],\n fn: function(factor) {\n if (!factor || !factor._embedded || !factor._embedded.activation) {\n return null;\n }\n return factor._embedded.activation;\n },\n },\n prevLink: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (res._links && res._links.prev) {\n return res._links.prev.href;\n }\n return null;\n },\n },\n skipLink: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (res._links && res._links.skip) {\n return res._links.skip.href;\n }\n return null;\n },\n },\n gracePeriodRemainingDays: {\n deps: ['policy'],\n fn: function(policy) {\n if (policy && policy.gracePeriod && policy.gracePeriod.endDate) {\n return getGracePeriodRemainingDays(policy.gracePeriod.endDate);\n }\n return null;\n },\n },\n user: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user;\n },\n },\n recoveryQuestion: {\n deps: ['user'],\n fn: function(user) {\n if (!user || !user.recovery_question) {\n return null;\n }\n return user.recovery_question.question;\n },\n },\n userProfile: {\n deps: ['user'],\n fn: function(user) {\n if (!user || !user.profile) {\n return null;\n }\n return user.profile;\n },\n },\n userConsentName: {\n deps: ['userProfile', 'username'],\n fn: function(userProfile, username) {\n if (!userProfile || _.isEmpty(userProfile.firstName)) {\n return username;\n }\n if (_.isEmpty(userProfile.lastName)) {\n return userProfile.firstName;\n }\n return userProfile.firstName + ' ' + userProfile.lastName.charAt(0) + '.';\n },\n },\n userEmail: {\n deps: ['userProfile'],\n fn: function(userProfile) {\n if (!userProfile || !userProfile.login) {\n return null;\n }\n return userProfile.login;\n },\n },\n userFullName: {\n deps: ['userProfile'],\n fn: function(userProfile) {\n if (!userProfile || (!userProfile.firstName && !userProfile.lastName)) {\n return '';\n }\n return userProfile.firstName + ' ' + userProfile.lastName;\n },\n },\n defaultAppLogo: {\n deps: ['baseUrl'],\n fn: function(baseUrl) {\n return baseUrl + DEFAULT_APP_LOGO;\n },\n },\n expiresAt: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.expiresAt;\n },\n },\n target: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.target;\n },\n },\n targetLabel: {\n deps: ['target'],\n fn: function(target) {\n if (!target) {\n return null;\n }\n return target.label;\n },\n },\n targetLogo: {\n deps: ['target'],\n fn: function(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links.logo;\n },\n },\n targetTermsOfService: {\n deps: ['target'],\n fn: function(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['terms-of-service'];\n },\n },\n targetPrivacyPolicy: {\n deps: ['target'],\n fn: function(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['privacy-policy'];\n },\n },\n targetClientURI: {\n deps: ['target'],\n fn: function(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['client-uri'];\n },\n },\n scopes: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.scopes;\n },\n },\n issuer: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res?._embedded?.authentication?.issuer?.uri;\n }\n },\n hasExistingPhones: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n const factors = res._embedded.factors;\n\n const factor = _.findWhere(factors, { factorType: 'sms', provider: 'OKTA' });\n\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n },\n },\n hasExistingPhonesForCall: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n const factors = res._embedded.factors;\n\n const factor = _.findWhere(factors, { factorType: 'call', provider: 'OKTA' });\n\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n },\n },\n isUndefinedUser: {\n deps: ['securityImage'],\n fn: function(securityImage) {\n return securityImage === UNDEFINED_USER;\n },\n },\n isNewUser: {\n deps: ['securityImage'],\n fn: function(securityImage) {\n return securityImage === NEW_USER;\n },\n },\n allowRememberDevice: {\n deps: ['policy'],\n fn: function(policy) {\n return policy && policy.allowRememberDevice;\n },\n },\n rememberDeviceLabel: {\n deps: ['policy'],\n fn: function(policy) {\n if (policy && policy.rememberDeviceLifetimeInMinutes > 0) {\n const timeString = getMinutesString(policy.rememberDeviceLifetimeInMinutes);\n\n return loc('rememberDevice.timebased', 'login', [timeString]);\n } else if (policy && policy.rememberDeviceLifetimeInMinutes === 0) {\n return loc('rememberDevice.devicebased', 'login');\n }\n return loc('rememberDevice', 'login');\n },\n },\n rememberDeviceByDefault: {\n deps: ['policy'],\n fn: function(policy) {\n return policy && policy.rememberDeviceByDefault;\n },\n },\n factorsPolicyInfo: {\n deps: ['policy'],\n fn: function(policy) {\n return policy && policy.factorsPolicyInfo ? policy.factorsPolicyInfo : null;\n },\n },\n verifyCustomFactorRedirectUrl: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'redirect' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n },\n },\n enrollCustomFactorRedirectUrl: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'activate' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n },\n },\n isFactorResultFailed: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res.factorResult === 'FAILED';\n },\n },\n factorResultErrorMessage: {\n deps: ['lastAuthResponse', 'isFactorResultFailed'],\n fn: function(res, isFactorResultFailed) {\n if (isFactorResultFailed) {\n return res.factorResultMessage || loc('oform.error.unexpected', 'login');\n }\n return null;\n },\n },\n deviceActivationStatus: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.deviceActivationStatus;\n },\n },\n usingDeviceFlow: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return !!(res._embedded && res._embedded.usingDeviceFlow);\n },\n },\n userCode: {\n deps: ['lastAuthResponse'],\n fn: function(res) {\n return res?._embedded?.userCode;\n },\n },\n },\n\n parse: function(options) {\n this.settings = options.settings;\n return _.extend(_.omit(options, 'settings'), {\n languageCode: this.settings.get('languageCode'),\n userCountryCode: this.settings.get('countryCode'),\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Model } from '@okta/courage';\nimport Q from 'q';\nimport Enums from 'util/Enums';\nconst KNOWN_ERRORS = ['OAuthError', 'AuthSdkError', 'AuthPollStopError', 'AuthApiError'];\nexport default Model.extend({\n // May return either a \"standard\" promise or a Q promise\n doTransaction: function(fn, rethrow) {\n const self = this;\n\n return fn\n .call(this, this.appState.get('transaction'))\n .then(function(trans) {\n self.trigger('setTransaction', trans);\n return trans;\n })\n .catch(function(err) {\n // Q may still consider AuthPollStopError to be unhandled\n if (\n err.name === 'AuthPollStopError' ||\n err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR ||\n err.name === Enums.WEBAUTHN_ABORT_ERROR\n ) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n if (rethrow || _.indexOf(KNOWN_ERRORS, err.name) === -1) {\n throw err;\n }\n });\n },\n\n manageTransaction: function(fn) {\n const self = this;\n const res = fn.call(this, this.appState.get('transaction'), _.bind(this.setTransaction, this));\n\n // If it's a promise, listen for failures\n if (Q.isPromiseAlike(res)) {\n return res.catch(function(err) {\n if (\n err.name === 'AuthPollStopError' ||\n err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR ||\n err.name === Enums.WEBAUTHN_ABORT_ERROR\n ) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n });\n }\n\n return Q.resolve(res);\n },\n\n startTransaction: function(fn) {\n const self = this;\n const res = fn.call(this, this.settings.getAuthClient());\n\n // If it's a promise, then chain to it\n if (Q.isPromiseAlike(res)) {\n return res\n .then(function(trans) {\n self.trigger('setTransaction', trans);\n return trans;\n })\n .catch(function(err) {\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n throw err;\n });\n }\n\n return Q.resolve(res);\n },\n\n setTransaction: function(trans) {\n this.appState.set('transaction', trans);\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the 'License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport BaseLoginModel from './BaseLoginModel';\nexport default BaseLoginModel.extend({\n initialize: function(options) {\n this.options = options || {};\n this.appState = this.options.appState;\n },\n constructPostData: function(profileAttributes) {\n const postData = {\n registration: {\n profile: profileAttributes,\n },\n };\n\n // send createNewAccount flag for new user creation\n if (this.appState.get('policy').registration.createNewAccount) {\n postData.registration['createNewAccount'] = true;\n }\n return postData;\n },\n getEnrollFormData: function() {\n return this.manageTransaction(function(transaction, setTransaction) {\n return transaction.enroll().then(function(trans) {\n setTransaction(trans);\n });\n });\n },\n save: function() {\n let data = BaseLoginModel.prototype.toJSON.apply(this, arguments);\n\n data = _.omit(data, ['appState', 'settings', 'createNewAccount']);\n if (_.isEmpty(data)) {\n const error = {\n errorSummary: loc('oform.errorbanner.title', 'login'),\n };\n\n this.trigger('error', this, {\n responseJSON: error,\n });\n } else {\n return this.manageTransaction(function(transaction, setTransaction) {\n transaction.enroll(this.constructPostData(data)).then(function(trans) {\n setTransaction(trans);\n });\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 13] */\nimport { _, loc, Collection } from '@okta/courage';\nimport Q from 'q';\nimport { AuthStopPollInitiationError } from 'util/Errors';\nimport factorUtil from 'util/FactorUtil';\nimport Util from 'util/Util';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport BaseLoginModel from './BaseLoginModel';\nconst PUSH_INTERVAL = 4000;\n\n// Avoid setting interval to same value as keep-alive time (5 seconds) because it\n// caused an occasional issue with network connection lost errors in Safari and IE\n\nconst FactorFactor = BaseLoginModel.extend({\n extraProperties: true,\n flat: false,\n\n props: {\n id: 'string',\n factorType: {\n type: 'string',\n values: [\n 'sms',\n 'call',\n 'email',\n 'token',\n 'token:software:totp',\n 'token:hotp',\n 'token:hardware',\n 'question',\n 'push',\n 'u2f',\n 'password',\n 'assertion:saml2',\n 'assertion:oidc',\n 'claims_provider',\n 'webauthn',\n ],\n },\n provider: {\n type: 'string',\n values: [\n 'OKTA',\n 'RSA',\n 'DEL_OATH',\n 'SYMANTEC',\n 'GOOGLE',\n 'YUBICO',\n 'FIDO',\n 'CUSTOM',\n 'GENERIC_SAML',\n 'GENERIC_OIDC',\n ],\n },\n enrollment: {\n type: 'string',\n values: ['OPTIONAL', 'REQUIRED'],\n },\n status: {\n type: 'string',\n values: ['NOT_SETUP', 'ACTIVE'],\n },\n profile: ['object'],\n vendorName: 'string',\n policy: ['object'],\n profiles: ['object'],\n },\n\n local: {\n answer: 'string',\n password: 'string',\n backupFactor: 'object',\n showAnswer: 'boolean',\n rememberDevice: 'boolean',\n autoPush: ['boolean', true, false],\n },\n\n derived: {\n isOktaFactor: {\n deps: ['provider'],\n fn: function(provider) {\n return provider === 'OKTA';\n },\n },\n factorName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorName,\n },\n factorLabel: {\n deps: ['provider', 'factorType', 'vendorName'],\n fn: function(provider, factorType, vendorName) {\n if (_.contains(['DEL_OATH', 'GENERIC_SAML', 'GENERIC_OIDC', 'CUSTOM'], provider)) {\n return vendorName;\n }\n return factorUtil.getFactorLabel.apply(this, [provider, factorType]);\n },\n },\n factorDescription: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorDescription,\n },\n sortOrder: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorSortOrder,\n },\n iconClassName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorIconClassName,\n },\n securityQuestion: {\n deps: ['profile', 'factorType'],\n fn: function(profile, factorType) {\n if (factorType !== 'question') {\n return null;\n }\n return profile && factorUtil.getSecurityQuestionLabel(profile);\n },\n },\n phoneNumber: {\n deps: ['profile', 'factorType'],\n fn: function(profile, factorType) {\n if (_.contains(['sms', 'call'], factorType)) {\n return profile && profile.phoneNumber;\n }\n return null;\n },\n },\n email: {\n deps: ['profile', 'factorType'],\n fn: function(profile, factorType) {\n if (factorType === 'email') {\n return profile && profile.email;\n }\n return null;\n },\n },\n deviceName: {\n deps: ['profile', 'factorType'],\n fn: function(profile, factorType) {\n if (factorType !== 'push') {\n return null;\n }\n return profile && profile.name;\n },\n },\n enrolled: {\n deps: ['status'],\n fn: function(status) {\n return status === 'ACTIVE';\n },\n },\n cardinality: {\n deps: ['policy', 'profiles'],\n fn: function(policy, profiles) {\n if (profiles && profiles.length > 0) {\n const profile = profiles[0];\n //assume for now we only get one profile (multiple profiles are not supported yet)\n\n const enrolled = profile._embedded.enrolledFactors.length;\n\n const adoption = _.findWhere(profile._embedded.features, { type: 'adoption' });\n\n if (adoption && adoption.cardinality) {\n return {\n enrolled: enrolled,\n minimum: adoption.cardinality.min,\n maximum: adoption.cardinality.max,\n };\n }\n return false;\n } else if (policy && policy.enrollment) {\n return policy.enrollment;\n } else {\n return false;\n }\n },\n },\n additionalEnrollment: {\n deps: ['cardinality'],\n fn: function(cardinality) {\n if (cardinality) {\n return cardinality.enrolled !== 0 && cardinality.enrolled < cardinality.maximum;\n } else {\n return false;\n }\n },\n },\n required: {\n deps: ['enrollment'],\n fn: function(enrollment) {\n return enrollment === 'REQUIRED';\n },\n },\n canUseResend: {\n deps: ['provider', 'factorType'],\n fn: function(provider, factorType) {\n // Only push, sms and call have resend links.\n return provider === 'OKTA' && _.contains(['push', 'sms', 'call', 'email'], factorType);\n },\n },\n isAnswerRequired: {\n deps: ['factorType'],\n fn: function(factorType) {\n return _.contains(['sms', 'call', 'email', 'token', 'token:software:totp', 'question'], factorType);\n },\n },\n isFactorTypeVerification: {\n deps: ['provider', 'id'],\n fn: function(provider, id) {\n return provider === undefined && id === undefined;\n },\n },\n },\n\n parse: function(attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n // set the initial value for remember device.\n attributes.rememberDevice = factorUtil.getRememberDeviceValue(this.appState);\n\n // Add vendorname for custom totp enroll\n this.setCustomHotpVendorName(attributes);\n return _.omit(attributes, ['settings', 'appState']);\n },\n\n validate: function() {\n if (this.get('isAnswerRequired') && !this.get('answer')) {\n return { answer: loc('model.validation.field.blank') };\n } else if (this.get('factorType') === 'password' && !this.get('password')) {\n return { password: loc('error.password.required') };\n }\n },\n needsPasscode: function() {\n // we don't need passcode for email with magic link flow\n return !(this.options.appState.get('isIdxStateToken') && this.get('factorType') === 'email');\n },\n resend: function() {\n this.trigger('form:clear-errors');\n return this.manageTransaction(function(transaction) {\n const firstLink = transaction.data._links.resend[0];\n\n return transaction.resend(firstLink.name);\n });\n },\n\n save: function() {\n const rememberDevice = !!this.get('rememberDevice');\n const self = this;\n // Set/Remove the remember device cookie based on the remember device input.\n\n return this.manageTransaction(function(transaction, setTransaction) {\n const data = {\n rememberDevice: rememberDevice,\n };\n\n if (this.get('factorType') === 'question') {\n data.answer = this.get('answer');\n } else if (this.get('factorType') === 'password') {\n data.password = this.get('password');\n } else if (this.needsPasscode()) {\n data.passCode = this.get('answer');\n }\n\n if (this.pushFactorHasAutoPush()) {\n data.autoPush = this.get('autoPush');\n }\n\n let promise;\n\n // MFA_REQUIRED, FACTOR_REQUIRED or UNAUTHENTICATED with factors (passwordlessAuth)\n if (\n transaction.status === 'MFA_REQUIRED' ||\n transaction.status === 'FACTOR_REQUIRED' ||\n this.appState.get('promptForFactorInUnauthenticated')\n ) {\n const factor = this._findFactor(transaction);\n\n promise = factor.verify(data);\n } else if (this.get('canUseResend') && !this.get('answer') && transaction.resend) {\n // MFA_CHALLENGE/ FACTOR_CHALLENGE\n const firstLink = transaction.data._links.resend[0];\n\n promise = transaction.resend(firstLink.name);\n } else {\n promise = transaction.verify(data);\n }\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the factor form\n this.trigger('save');\n\n return promise.then(function(trans) {\n let pollingHasStarted = false;\n const options = {\n delay: PUSH_INTERVAL,\n transactionCallBack: transaction => {\n pollingHasStarted = true;\n self.options.appState.set('lastAuthResponse', transaction);\n },\n };\n\n setTransaction(trans);\n // In Okta verify case we initiate poll.\n if ((trans.status === 'MFA_CHALLENGE' && trans.poll) || (trans.status === 'FACTOR_CHALLENGE' && trans.poll)) {\n const deferred = Q.defer();\n const cancelPollInitiation = Util.callAfterTimeoutOrWindowRefocus(deferred.resolve, PUSH_INTERVAL);\n self.listenToOnce(self.options.appState, 'factorSwitched', () => {\n cancelPollInitiation();\n deferred.reject(new AuthStopPollInitiationError());\n });\n return deferred.promise.then(function() {\n // Stop listening if factor was not switched before poll.\n self.stopListening(self.options.appState, 'factorSwitched');\n if (self.pushFactorHasAutoPush()) {\n options.autoPush = function() {\n return self.get('autoPush');\n };\n options.rememberDevice = function() {\n return self.get('rememberDevice');\n };\n }\n\n let innerPromise;\n if (BrowserFeatures.isIOS()) {\n let cancelRedundantPoll;\n innerPromise = Q.race([\n trans.poll(options),\n (() => {\n const _deferred = Q.defer();\n cancelRedundantPoll = Util.callAfterTimeoutOrWindowRefocus(_deferred.resolve, 2000, true);\n return _deferred.promise.then(() => {\n if (!pollingHasStarted) {\n return trans.poll(options);\n }\n return Q.defer().promise; // never resolve this promise\n });\n })()\n ])\n .then(result => {\n cancelRedundantPoll();\n return result;\n });\n }\n else {\n innerPromise = trans.poll(options);\n }\n\n return innerPromise.then(function(trans) {\n self.options.appState.set('lastAuthResponse', trans.data);\n setTransaction(trans);\n });\n });\n }\n });\n });\n },\n\n _findFactor: function(transaction) {\n let factor;\n\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: this.get('factorType'),\n });\n }\n if (!factor) {\n factor = _.findWhere(transaction.factors, {\n id: this.get('id'),\n });\n }\n return factor;\n },\n\n pushFactorHasAutoPush: function() {\n return this.settings.get('features.autoPush') && this.get('factorType') === 'push';\n },\n\n setCustomHotpVendorName: function(attributes) {\n // If factor is token:hotp and not enrolled, we assume the first profile is the default.\n // If factor is enrolled, we only support one profile to be enrolled, so find that one\n // and display as enrolled profile. We do this by populating profile name in vendorName.\n if (attributes.factorType === 'token:hotp' && attributes.profiles) {\n if (attributes.status === 'NOT_SETUP') {\n attributes.vendorName = attributes.profiles[0].name;\n } else if (attributes.status === 'ACTIVE') {\n const enrolledProfiles = attributes.profiles.filter(profile => {\n return profile._embedded.enrolledFactors.length > 0;\n });\n attributes.vendorName = enrolledProfiles[0].name;\n }\n }\n return attributes;\n },\n});\nconst FactorFactors = Collection.extend({\n model: FactorFactor,\n comparator: 'sortOrder',\n\n // One override necessary here - When Okta Verify OTP and Push are in the list,\n // they are presented in the view as one factor - in the beacon menu,\n // there's only one option (Okta Verify), and we show a form with Push\n // with an inline totp option. What we need to do is to add totp\n // as a \"backupFactor\" for push\n parse: function(factors) {\n // Keep a track of the last used factor, since\n // we need it to determine the default factor.\n this.lastUsedFactor = factors[0];\n\n const oktaPushFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'push' });\n\n let totpFactor;\n\n if (_.where(factors, { factorType: 'push' }).length > 1) {\n totpFactor = _.findWhere(factors, { factorType: 'token:software:totp' });\n } else {\n totpFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'token:software:totp' });\n }\n if (!oktaPushFactor || !totpFactor) {\n return factors;\n }\n\n const isTotpFirst = totpFactor === factors[0];\n\n const parsedFactors = _.reduce(\n factors,\n function(memo, factor) {\n const isOkta = factor.provider === 'OKTA';\n const isOktaTotp = isOkta && factor.factorType === 'token:software:totp';\n const isOktaPush = isOkta && factor.factorType === 'push';\n const notEnrolled = factor.status !== 'ACTIVE';\n const hideOktaTotp = isOktaTotp && (notEnrolled || oktaPushFactor.status === 'ACTIVE');\n const hideOktaPush = isOktaPush && notEnrolled && totpFactor.status === 'ACTIVE';\n\n if (hideOktaTotp || hideOktaPush) {\n return memo;\n }\n\n if (isOktaPush) {\n factor.backupFactor = new FactorFactor(totpFactor, { parse: true });\n }\n memo.push(factor);\n return memo;\n },\n []\n );\n\n // Use push factor instead of TOTP, if TOTP is first in the list\n // (since it is stored as backupFactor for push).\n if (isTotpFirst) {\n this.lastUsedFactor = oktaPushFactor;\n }\n\n return parsedFactors;\n },\n\n // Will need to update this to use HAL link to get last used factor:\n // https://oktainc.atlassian.net/browse/OKTA-58380\n // However, current code returns last used factor as first factor in list.\n // Also, will need to add priority - i.e. if they do not have a last used\n // factor, should try Okta Verify, then Okta SMS, etc.\n getDefaultFactor: function() {\n const factor = _.pick(this.lastUsedFactor, 'factorType', 'provider');\n\n return this.findWhere(factor);\n },\n\n getFirstUnenrolledRequiredFactor: function() {\n return this.findWhere({ required: true, enrolled: false });\n },\n\n _getFactorsOfType: function(factorType) {\n return this.where({ factorType: factorType });\n },\n\n getFactorIndex: function(factorType, factorId) {\n return this._getFactorsOfType(factorType).findIndex(function(factor) {\n return factor.get('id') === factorId;\n });\n },\n\n hasMultipleFactorsOfSameType: function(factorType) {\n return this._getFactorsOfType(factorType).length > 1;\n },\n\n getFactorByTypeAndIndex: function(factorType, factorIndex) {\n return this._getFactorsOfType(factorType)[factorIndex];\n },\n});\nexport default {\n Model: FactorFactor,\n Collection: FactorFactors,\n};\n","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nimport PrimaryAuthModel from 'v1/models/PrimaryAuth';\nimport CookieUtil from 'util/CookieUtil';\nimport Enums from 'util/Enums';\nimport Util from 'util/Util';\nexport default PrimaryAuthModel.extend({\n props: function() {\n const cookieUsername = CookieUtil.getCookieUsername();\n const properties = this.getUsernameAndRemember(cookieUsername);\n\n return {\n username: ['string', true, properties.username],\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember],\n };\n },\n\n local: {},\n\n save: function() {\n const username = this.settings.transformUsername(this.get('username'), Enums.IDP_DISCOVERY);\n const remember = this.get('remember');\n const lastUsername = this.get('lastUsername');\n const resource = 'okta:acct:' + username;\n const requestContext = this.get('requestContext');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n const webfingerArgs = {\n resource: resource,\n requestContext: requestContext,\n };\n const authClient = this.appState.settings.getAuthClient();\n\n authClient\n .webfinger(webfingerArgs)\n .then(res => {\n if (res && res.links && res.links[0]) {\n if (res.links[0].properties['okta:idp:type'] === 'OKTA') {\n this.trigger('goToPrimaryAuth');\n } else if (res.links[0].href) {\n const redirectFn = res.links[0].href.includes('OKTA_INVALID_SESSION_REPOST%3Dtrue')\n ? Util.redirectWithFormGet.bind(Util)\n : this.settings.get('redirectUtilFn');\n //override redirectFn to only use Util.redirectWithFormGet if OKTA_INVALID_SESSION_REPOST is included\n //it will be encoded since it will be included in the encoded fromURI\n\n redirectFn(res.links[0].href);\n }\n }\n })\n .catch(() => {\n // webfinger request might fail when corporate proxy checks if request is 'authenticated' using cookies\n const error = {\n errorSummary: loc('oform.error.webfinger', 'login'),\n };\n this.trigger('error', this, {\n responseJSON: error,\n });\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n })\n .finally(() => {\n this.appState.trigger('loading', false);\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Model } from '@okta/courage';\nimport BaseLoginModel from './BaseLoginModel';\nexport default BaseLoginModel.extend({\n constructor: function(options) {\n this.settings = options && options.settings;\n Model.apply(this, arguments);\n },\n loginWithActivationToken: function(activationToken) {\n return this.startTransaction(function(authClient) {\n return authClient.signInWithCredentials({ token: activationToken });\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc, Model } from '@okta/courage';\nimport CookieUtil from 'util/CookieUtil';\nimport Enums from 'util/Enums';\nimport BaseLoginModel from './BaseLoginModel';\n\nexport default BaseLoginModel.extend({\n props: function() {\n const cookieUsername = CookieUtil.getCookieUsername();\n const properties = this.getUsernameAndRemember(cookieUsername);\n const props = {\n username: {\n type: 'string',\n validate: function(value) {\n if (_.isEmpty(value)) {\n return loc('error.username.required', 'login');\n }\n },\n value: properties.username,\n },\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember],\n multiOptionalFactorEnroll: ['boolean', true],\n };\n\n if (!(this.settings && this.settings.get('features.passwordlessAuth'))) {\n props.password = {\n type: 'string',\n validate: function(value) {\n if (_.isEmpty(value)) {\n return loc('error.password.required', 'login');\n }\n },\n };\n }\n return props;\n },\n\n getUsernameAndRemember: function(cookieUsername) {\n const settingsUsername = this.settings && this.settings.get('username');\n const rememberMeEnabled = this.settings && this.settings.get('features.rememberMe');\n let remember = false;\n let username;\n\n if (settingsUsername) {\n username = settingsUsername;\n remember = rememberMeEnabled && username === cookieUsername;\n } else if (rememberMeEnabled && cookieUsername) {\n // Only respect the cookie if the feature is enabled.\n // Allows us to force prompting when necessary, e.g. SAML ForceAuthn\n username = cookieUsername;\n remember = true;\n }\n\n return {\n username: username,\n remember: remember,\n };\n },\n\n constructor: function(options) {\n this.settings = options && options.settings;\n this.appState = options && options.appState;\n Model.apply(this, arguments);\n this.listenTo(this, 'change:username', function(model, username) {\n this.set({ remember: username === this.get('lastUsername') });\n });\n },\n parse: function(options) {\n return _.omit(options, ['settings', 'appState']);\n },\n\n save: function() {\n const username = this.settings.transformUsername(this.get('username'), Enums.PRIMARY_AUTH);\n const remember = this.get('remember');\n const lastUsername = this.get('lastUsername');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the primary auth form\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n const signInArgs = this.getSignInArgs(username);\n let primaryAuthPromise;\n\n if (this.appState.get('isUnauthenticated')) {\n const authClient = this.appState.settings.getAuthClient();\n\n // bootstrapped with stateToken\n if (this.appState.get('isIdxStateToken')) {\n // if its an idx stateToken, we send the parameter as identifier to login API\n primaryAuthPromise = this.doTransaction(function(transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.login);\n });\n } else {\n primaryAuthPromise = this.doTransaction(function(transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.authenticate);\n }, true);\n }\n } else {\n //normal username/password flow without stateToken\n primaryAuthPromise = this.startTransaction(function(authClient) {\n return this.doPrimaryAuth(authClient, signInArgs, _.bind(authClient.signInWithCredentials, authClient));\n });\n }\n\n return primaryAuthPromise\n .catch(() => {\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n })\n .finally(() => {\n this.appState.trigger('loading', false);\n });\n },\n\n getSignInArgs: function(username) {\n const multiOptionalFactorEnroll = this.get('multiOptionalFactorEnroll');\n const signInArgs = {};\n\n if (!this.settings.get('features.passwordlessAuth')) {\n signInArgs.password = this.get('password');\n }\n\n // if its an idx stateToken, we send the parameter as identifier to login API\n if (this.appState.get('isIdxStateToken')) {\n signInArgs.identifier = username;\n } else {\n //only post options param for non-idx flows\n signInArgs.username = username;\n signInArgs.options = {\n warnBeforePasswordExpired: true,\n multiOptionalFactorEnroll: multiOptionalFactorEnroll,\n };\n }\n return signInArgs;\n },\n\n setUsernameCookie: function(username, remember, lastUsername) {\n // Do not modify the cookie when feature is disabled, relevant for SAML ForceAuthn prompts\n if (this.settings.get('features.rememberMe')) {\n // Only delete the cookie if its owner says so. This allows other\n // users to log in on a one-off basis.\n if (!remember && lastUsername === username) {\n CookieUtil.removeUsernameCookie();\n } else if (remember) {\n CookieUtil.setUsernameCookie(username);\n }\n }\n },\n\n doPrimaryAuth: function(authClient, signInArgs, func) {\n const deviceFingerprintEnabled = this.settings.get('features.deviceFingerprinting');\n const typingPatternEnabled = this.settings.get('features.trackTypingPattern');\n\n // Add the custom header for fingerprint, typing pattern if needed, and then remove it afterwards\n // Since we only need to send it for primary auth\n if (deviceFingerprintEnabled && this.appState.get('deviceFingerprint')) {\n authClient.http.setRequestHeader('X-Device-Fingerprint', this.appState.get('deviceFingerprint'));\n }\n if (typingPatternEnabled && this.appState.get('typingPattern')) {\n authClient.http.setRequestHeader('X-Typing-Pattern', this.appState.get('typingPattern'));\n }\n\n const self = this;\n\n return func(signInArgs).finally(function() {\n if (deviceFingerprintEnabled) {\n authClient.http.setRequestHeader('X-Device-Fingerprint', undefined);\n self.appState.unset('deviceFingerprint'); //Fingerprint can only be used once\n }\n if (typingPatternEnabled) {\n authClient.http.setRequestHeader('X-Typing-Pattern', undefined);\n self.appState.unset('typingPattern');\n }\n });\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, internal } from '@okta/courage';\nlet { BaseSchema } = internal.models;\nexport default BaseSchema.Model.extend({\n expand: ['schema'],\n setFieldPlaceholder: function(formFields) {\n _.each(formFields, function(formField) {\n formField.title = formField.label;\n });\n return formFields;\n },\n initialize: function(options) {\n let profileAttributes = options.profileSchemaAttributes;\n\n profileAttributes = this.setFieldPlaceholder(profileAttributes);\n if (profileAttributes) {\n const userProfileSchema = {\n properties: {},\n };\n\n for (var i = 0; i < profileAttributes.length; i++) {\n const profileAttributeObject = profileAttributes[i];\n\n userProfileSchema.properties[profileAttributeObject.name] = profileAttributeObject;\n }\n this.parse.apply(this, [{ schema: userProfileSchema }]);\n }\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, BaseModel, internal } from '@okta/courage';\nlet { BaseSchema, SchemaProperty } = internal.models;\nconst RegistrationSchemaRegistrationSchemaPropertyCollection = SchemaProperty.Collection.extend({\n createModelProperties: function() {\n const modelProperties = SchemaProperty.Collection.prototype.createModelProperties.apply(this);\n\n _.each(\n modelProperties,\n function(modelProperty, name) {\n modelProperty.required = !!this.get(name).get('required');\n },\n this\n );\n return modelProperties;\n },\n});\nexport default BaseSchema.Model.extend({\n expand: ['schema'],\n\n constructor: function() {\n this.properties = new RegistrationSchemaRegistrationSchemaPropertyCollection();\n BaseModel.apply(this, arguments);\n },\n\n parse: function(resp) {\n const parseResponseData = resp => {\n const requireFields = resp.schema.required;\n\n if (_.isArray(requireFields)) {\n _.each(\n requireFields,\n function(requireField) {\n const field = this.properties.get(requireField);\n\n if (field) {\n field.set('required', true);\n }\n },\n this\n );\n }\n\n const fieldOrderIds = resp.schema.fieldOrder;\n\n if (_.isArray(fieldOrderIds)) {\n _.each(\n fieldOrderIds,\n function(fieldOrderId, sortOrder) {\n const field = this.properties.get(fieldOrderId);\n\n if (field) {\n field.set('sortOrder', sortOrder);\n }\n },\n this\n );\n this.properties.comparator = 'sortOrder';\n this.properties.sort();\n }\n this.properties.defaultPolicyId = resp.policyId;\n return resp;\n };\n\n const self = this;\n this.settings.parseRegistrationSchema(\n resp,\n function(resp) {\n if (resp.profileSchema) {\n resp.schema = resp.profileSchema;\n BaseSchema.Model.prototype.parse.apply(self, [resp]);\n resp = parseResponseData(resp);\n }\n self.trigger('parseComplete', { properties: self.properties });\n },\n function(error) {\n self.trigger('parseComplete', { properties: self.properties, error: error });\n }\n );\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, Controller } from '@okta/courage';\nimport Q from 'q';\n\nfunction getForm(controller) {\n return _.find(controller.getChildren(), function(item) {\n return item instanceof Form;\n });\n}\n\nexport default Controller.extend({\n // Ideally we should be attaching the listeners in the constructor, but because of the way\n // we construct the FormController (this.model is generated after the BaseLoginController's\n // constructor is called), this.model is undefined in when try to attach the events and\n // therefore we don't listen to events for such forms. And changing the order in which we call\n // the constructor doesn't help either (JS errors etc.). This at least guarantees that we\n // are listening to the model events.\n // Note - Figure out a way to call the constructor in the right order.\n addListeners: function() {\n // Events to enable/disable the primary button on the forms\n this.listenTo(this.model, 'save', function() {\n const form = getForm(this);\n //disable the submit button on forms while making the request\n //to prevent users from hitting rate limiting exceptions of\n //1 per second on the auth api\n\n const disableSubmitButton = form.disableSubmitButton;\n\n if (disableSubmitButton && !form.disableSubmitButton()) {\n return;\n }\n this.toggleButtonState(true);\n });\n\n this.listenTo(this.model, 'error', function() {\n this.toggleButtonState(false);\n });\n\n this.addModelListeners(this.model);\n },\n\n addModelListeners: function(model) {\n const setTransactionHandler = transaction => {\n this.options.appState.set('transaction', transaction);\n };\n\n const transactionErrorHandler = err => {\n this.options.appState.set('transactionError', err);\n };\n\n // Events to set the transaction attributes on the app state.\n this.listenTo(model, 'setTransaction', setTransactionHandler);\n this.listenTo(model, 'setTransactionError', transactionErrorHandler);\n\n // For TOTP factor model\n // TOTP model is special, its model will not be attached to a controller, but will\n // tag along with the push factor model. We need to listen to the transaction\n // changes on this as well (in case of the push+totp form).\n const totpModel = model.get('backupFactor');\n\n if (totpModel) {\n this.listenTo(totpModel, 'setTransaction', setTransactionHandler);\n this.listenTo(totpModel, 'setTransactionError', transactionErrorHandler);\n }\n },\n\n // Override this method to delay switching to this screen until return\n // promise is resolved. This is useful for cases like enrolling a security\n // question, which requires an additional request to fetch the question\n // list.\n fetchInitialData: function() {\n return Q();\n },\n\n // Override this method to prevent route navigation. This is useful for\n // intermediate status changes that do not trigger a full refresh of the\n // page, like MFA_ENROLL_ACTIVATE and MFA_CHALLENGE.\n trapAuthResponse: function() {\n return false;\n },\n\n toJSON: function() {\n const data = Controller.prototype.toJSON.apply(this, arguments);\n\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n toggleButtonState: function(state) {\n const button = this.$el.find('.button');\n\n button.toggleClass('link-button-disabled', state).prop('disabled', state);\n },\n\n postRenderAnimation: function() {\n // Event triggered after a page is rendered along with the classname to identify the page\n // TODO: Deprecate this event in the next major version in favor of 'afterRender'\n this.trigger('pageRendered', { page: this.className });\n\n this.trigger('afterRender', { controller: this.className });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport default {\n generateDeviceFingerprint: function(authClient, container) {\n return authClient.fingerprint({\n timeout: 2000,\n container,\n });\n },\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, internal, Form, createButton } from '@okta/courage';\nimport BaseLoginModel from 'v1/models/BaseLoginModel';\nimport BaseLoginController from './BaseLoginController';\nimport FormType from './FormType';\nlet { Toolbar } = internal.views.forms.components;\nlet { FormUtil } = internal.views.forms.helpers;\nconst FormControllerSimpleForm = Form.extend({\n layout: 'o-form-theme',\n noCancelButton: true,\n constructor: function(options) {\n Form.call(this, options);\n _.each(\n _.result(this, 'formChildren') || [],\n function(child) {\n switch (child.type) {\n case FormType.INPUT:\n this.addInput(\n _.extend(\n {\n label: false,\n 'label-top': true,\n },\n child.viewOptions\n )\n );\n break;\n case FormType.BUTTON:\n this.add(createButton(_.extend({ model: this.model }, child.viewOptions)), child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.DIVIDER:\n this.addDivider(child.viewOptions);\n break;\n case FormType.TOOLBAR:\n this.add(Toolbar, { options: child.viewOptions });\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.VIEW:\n this.add(child.viewOptions.View, child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions.showWhen);\n break;\n default:\n throw new Error('Unrecognized child type: ' + child.type);\n }\n },\n this\n );\n },\n});\nexport default BaseLoginController.extend({\n constructor: function() {\n const initialize = this.initialize;\n\n this.initialize = function() {};\n\n BaseLoginController.apply(this, arguments);\n\n if (this.Model && this.Form) {\n const Model = BaseLoginModel.extend(\n _.extend(\n {\n parse: function(attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n return _.omit(attributes, ['settings', 'appState']);\n },\n },\n _.result(this, 'Model')\n )\n );\n\n this.model = new Model(\n {\n settings: this.settings,\n appState: this.options.appState,\n },\n { parse: true }\n );\n const Form = FormControllerSimpleForm.extend(_.result(this, 'Form', this));\n\n this.form = new Form(this.toJSON());\n this.add(this.form);\n }\n\n if (this.Footer) {\n this.addFooter(this.Footer);\n }\n\n this.addListeners();\n initialize.apply(this, arguments);\n },\n\n addFooter: function(Footer, args) {\n this.footer = new Footer(_.extend(this.toJSON(), args || {}));\n this.add(this.footer);\n },\n\n toJSON: function() {\n const data = BaseLoginController.prototype.toJSON.apply(this, arguments);\n\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n back: function() {\n if (this.footer && this.footer.back) {\n this.footer.back();\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nconst INPUT = 'INPUT';\n\n// Syntactic sugar to provide some structure to SimpleForm inputs - Just\n// wraps options with { type: type, viewOptions: viewOptions, addOptions: addOptions }\n\nconst BUTTON = 'BUTTON';\nconst DIVIDER = 'DIVIDER';\nconst TOOLBAR = 'TOOLBAR';\nconst VIEW = 'VIEW';\n\nfunction wrap(type) {\n return function(viewOptions, addOptions) {\n return { type: type, viewOptions: viewOptions, addOptions: addOptions };\n };\n}\n\nexport default {\n Input: wrap(INPUT),\n Button: wrap(BUTTON),\n Divider: wrap(DIVIDER),\n Toolbar: wrap(TOOLBAR),\n View: wrap(VIEW),\n\n INPUT: INPUT,\n BUTTON: BUTTON,\n DIVIDER: DIVIDER,\n TOOLBAR: TOOLBAR,\n VIEW: VIEW,\n};\n","/* eslint max-statements: [2, 23], max-depth: [2, 3], complexity: [2, 13] */\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, internal, $ } from '@okta/courage';\nimport TextBox from 'v1/views/shared/TextBox';\nlet { SchemaFormFactory } = internal.views.forms.helpers;\nlet { CheckBox } = internal.views.forms.inputs;\n\nconst getParts = function(username) {\n const usernameArr = username.split('');\n const minPartsLength = 4;\n const userNameParts = [];\n const delimiters = [',', '.', '-', '_', '#', '@'];\n let userNamePart = '';\n\n _.each(usernameArr, function(part) {\n if (delimiters.indexOf(part) === -1) {\n userNamePart += part;\n } else {\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n userNamePart = '';\n }\n });\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n return userNameParts.filter(Boolean);\n};\n\nconst passwordContainsFormField = function(formField, password) {\n if (!formField) {\n return false;\n }\n formField = formField.toLowerCase();\n password = password.toLowerCase();\n const formFieldArr = getParts(formField);\n\n //check if each formField part contains password\n for (var i = 0; i < formFieldArr.length; i++) {\n const formFieldPart = formFieldArr[i];\n\n if (password.indexOf(formFieldPart) !== -1) {\n return true;\n }\n }\n return false;\n};\n\nconst checkSubSchema = function(subSchema, value, model) {\n const minLength = subSchema.get('minLength');\n const maxLength = subSchema.get('maxLength');\n const regex = subSchema.get('format');\n\n if (_.isNumber(minLength)) {\n if (value.length < minLength) {\n return false;\n }\n }\n\n if (_.isNumber(maxLength)) {\n if (value.length > maxLength) {\n return false;\n }\n }\n const password = value;\n\n if (_.isString(regex)) {\n // call passwordContainsFormField if regex is userName, firstName, lastName\n if (regex === '^[#/userName]' || regex === '^[#/firstName]' || regex === '^[#/lastName]') {\n const fieldName = regex.split('^[#/')[1].split(']')[0];\n let fieldValue = model.get(fieldName);\n\n if (fieldName === 'userName') {\n // with email as login enabled, we only have email populated\n // Therefore we fallback and run validation with email attribute.\n fieldValue = model.has('userName') ? model.get('userName') : model.get('email');\n }\n return !passwordContainsFormField(fieldValue, password);\n } else {\n if (!new RegExp(regex).test(value)) {\n return false;\n }\n }\n }\n\n return true;\n};\n\nconst checkSubSchemas = function(fieldName, model, subSchemas, showError) {\n const value = model.get(fieldName);\n\n if (!_.isString(value)) {\n return;\n }\n\n subSchemas.each(function(subSchema, index) {\n const ele = $('#subschemas-' + fieldName + ' .subschema-' + index);\n\n //hide password complexity if no password\n if (value) {\n ele.children('p').removeClass('default-schema');\n } else {\n ele.children('p').addClass('default-schema');\n }\n\n // clear aria role and live-region for re-validation\n ele.children('p')\n .removeAttr('role')\n .removeAttr('aria-live');\n\n // reset errors\n ele.removeClass('subschema-satisfied subschema-unsatisfied subschema-error');\n\n // validate\n if (checkSubSchema(subSchema, value, model)) {\n // passed\n ele.addClass('subschema-satisfied');\n ele.find('p span').removeClass('error error-16-small');\n ele.find('p span').addClass('confirm-16');\n } else {\n // failed\n if (showError) {\n ele.find('p span').removeClass('confirm-16');\n ele.find('p span').addClass('error error-16-small');\n ele.addClass('subschema-error subschema-unsatisfied');\n\n ele.find('p')\n // set role=\"alert\" so the password requirement is read by\n // screen-readers\n .attr('role', 'alert')\n // set aria-live=\"polite\" so it will \"debounce\" and wait to read the\n // message between keystrokes\n .attr('aria-live', 'polite');\n }\n }\n });\n};\n\nconst fnCreateInputOptions = function(schemaProperty) {\n let inputOptions = SchemaFormFactory.createInputOptions(schemaProperty);\n if (schemaProperty.options?.type === 'boolean') {\n // change BooleanSelect to CheckBox\n inputOptions.input = CheckBox;\n }\n\n if (inputOptions.type === 'select') {\n inputOptions = _.extend(inputOptions, {\n label: schemaProperty.get('title'),\n });\n } else {\n let placeholder = schemaProperty.get('title');\n\n if (schemaProperty.get('required')) {\n placeholder += ' *';\n }\n inputOptions = _.extend(inputOptions, {\n label: false,\n 'label-top': true,\n placeholder: placeholder,\n });\n }\n\n const fieldName = schemaProperty.get('name');\n\n switch (fieldName) {\n case 'userName':\n inputOptions.input = TextBox;\n inputOptions.params = {\n icon: 'person-16-gray',\n };\n break;\n case 'password':\n inputOptions.type = 'password';\n inputOptions.input = TextBox;\n inputOptions.params = {\n icon: 'remote-lock-16',\n };\n }\n\n const subSchemas = schemaProperty.get('subSchemas');\n\n if (subSchemas) {\n inputOptions.events = {\n input: function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n focusout: function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:userName': function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:firstName': function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:lastName': function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:email': function() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n };\n }\n\n return inputOptions;\n};\n\nexport default {\n createInputOptions: fnCreateInputOptions,\n getUsernameParts: getParts,\n passwordContainsFormField: passwordContainsFormField,\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 47], max-statements: [2, 63] */\n\nimport { _, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport Enums from 'util/Enums';\nimport ErrorCodes from 'util/ErrorCodes';\nimport { ConfigError, UnsupportedBrowserError } from 'util/Errors';\nimport OAuth2Util from 'util/OAuth2Util';\nimport Util from 'util/Util';\nconst fn = {};\nconst verifyUrlTpl = hbs('signin/verify/{{provider}}/{{factorType}}');\nconst verifyUrlMultipleTpl = hbs('signin/verify/{{provider}}/{{factorType}}/{{factorIndex}}');\nconst verifyUrlNoProviderTpl = hbs('signin/verify/{{factorType}}');\nconst enrollFactorUrlTpl = hbs('signin/enroll/{{provider}}/{{factorType}}');\nconst activateFactorUrlTpl = hbs('signin/enroll-activate/{{provider}}/{{factorType}}{{#if step}}/{{step}}{{/if}}');\nconst recoveryUrlTpl = hbs('signin/recovery/{{recoveryToken}}');\nconst refreshUrlTpl = hbs('signin/refresh-auth-state{{#if token}}/{{token}}{{/if}}');\nconst signinWithUsernameUrlTpl = hbs('signin/okta/{{username}}');\nconst sessionCookieRedirectTpl = hbs(\n // eslint-disable-next-line max-len\n '{{baseUrl}}/login/sessionCookieRedirect?checkAccountSetupComplete=true&token={{{token}}}&redirectUrl={{{redirectUrl}}}'\n);\nconst deviceActivationStatuses = ['DEVICE_ACTIVATED', 'DEVICE_NOT_ACTIVATED_CONSENT_DENIED', 'DEVICE_NOT_ACTIVATED'];\n\nfn.isHostBackgroundChromeTab = function() {\n // Checks if the SIW is loaded in a chrome webview and\n // it is in an app that is in background.\n if (navigator.userAgent.match(/Android/) && navigator.userAgent.match(/Chrome/) && document.hidden) {\n return true;\n } else {\n return false;\n }\n};\n\nfn.isDocumentVisible = function() {\n return document.visibilityState === 'visible';\n};\n\nfn.createVerifyUrl = function(provider, factorType, factorIndex) {\n if (provider && factorIndex) {\n return verifyUrlMultipleTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n factorIndex: encodeURIComponent(factorIndex),\n });\n } else if (provider) {\n return verifyUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n });\n } else {\n return verifyUrlNoProviderTpl({\n factorType: encodeURIComponent(factorType),\n });\n }\n};\n\nfn.createEnrollFactorUrl = function(provider, factorType) {\n return enrollFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n });\n};\n\nfn.createActivateFactorUrl = function(provider, factorType, step) {\n return activateFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n step: step ? encodeURIComponent(step) : false,\n });\n};\n\nfn.createRecoveryUrl = function(recoveryToken) {\n return recoveryUrlTpl({\n recoveryToken: encodeURIComponent(recoveryToken),\n });\n};\n\nfn.createRefreshUrl = function(stateToken) {\n const token = stateToken ? encodeURIComponent(stateToken) : null;\n\n return refreshUrlTpl({ token: token });\n};\n\nfn.createSigninUrl = function(username) {\n return username ? signinWithUsernameUrlTpl({ username: encodeURIComponent(username) }) : 'signin';\n};\n\nfn.routeAfterAuthStatusChangeError = function(router, err) {\n if (!err) {\n return;\n }\n\n // Global error handling for CORS enabled errors\n if (err.xhr && BrowserFeatures.corsIsNotEnabled(err.xhr)) {\n router.settings.callGlobalError(new UnsupportedBrowserError(loc('error.enabled.cors')));\n return;\n }\n\n // Token has expired - no longer valid. Navigate back to primary auth.\n if (err.errorCode === ErrorCodes.INVALID_TOKEN_EXCEPTION) {\n router.appState.set('flashError', err);\n router.controller.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (router.settings.get('features.mfaOnlyFlow')) {\n router.navigate('signin/error', { trigger: true });\n } else {\n router.navigate('', { trigger: true });\n }\n return;\n }\n\n Util.triggerAfterError(router.controller, err);\n};\n\nfn.routeAfterAuthStatusChange = function(router, res) {\n // Other errors are handled by the function making the authClient request\n if (!res || !res.status) {\n router.appState.clearLastAuthResponse();\n return;\n }\n\n router.appState.setAuthResponse(res);\n\n if (router.controller && router.controller.trapAuthResponse(res)) {\n return;\n }\n\n fn.handleResponseStatus(router, res);\n};\n\nfn.handleResponseStatus = function(router, res) {\n switch (res.status) {\n case 'SUCCESS': {\n handleSuccessResponseStatus(router, res);\n return;\n }\n case 'ADMIN_CONSENT_REQUIRED':\n router.navigate('signin/admin-consent', { trigger: true });\n return;\n case 'CONSENT_REQUIRED':\n router.navigate('signin/consent', { trigger: true });\n return;\n case 'DEVICE_ACTIVATE':\n router.navigate('signin/device-activate', { trigger: true });\n return;\n // We want the same view for FACTOR_REQUIRED & FACTOR_CHALLENGE\n // In the new idx pipeline FACTOR_CHALLENGE API response does not contain a prev link\n case 'FACTOR_REQUIRED':\n case 'FACTOR_CHALLENGE':\n case 'MFA_REQUIRED': {\n const lastFailedChallengeFactorData = router.appState.get('lastFailedChallengeFactorData');\n // When the widget is bootstrapped with an error in MFA_CHALLENGE state, we pass the\n // lastFailedChallengeFactorData to MFA_REQUIRED, in order to show the error message\n // on the correct factor view\n\n if (lastFailedChallengeFactorData && lastFailedChallengeFactorData.factor) {\n router.appState.get('factors').lastUsedFactor = lastFailedChallengeFactorData.factor;\n }\n const factor = router.appState.get('factors').getDefaultFactor();\n const url = fn.createVerifyUrl(factor.get('provider'), factor.get('factorType'));\n\n router.navigate(url, { trigger: true });\n router.appState.clearLastFailedChallengeFactorData();\n return;\n }\n case 'POLL': {\n const pollUrl = 'signin/poll';\n\n router.navigate(pollUrl, { trigger: true });\n return;\n }\n case 'MFA_CHALLENGE':\n // Since we normally trap MFA_CHALLENGE, this will only get called on a\n // page refresh or when an error is returned on verification with an IdP.\n // We need to return to MFA_REQUIRED to initialize the\n // page correctly (i.e. factors dropdown, etc)\n if (router.appState.get('isFactorResultFailed')) {\n router.appState.setLastFailedChallengeFactorData();\n }\n router.appState.get('transaction').prev().then(function(trans) {\n router.appState.set('transaction', trans);\n });\n // TODO: catch/handle error here?\n return;\n case 'MFA_ENROLL':\n case 'FACTOR_ENROLL':\n router.navigate('signin/enroll', { trigger: true });\n return;\n case 'MFA_ENROLL_ACTIVATE':\n case 'FACTOR_ENROLL_ACTIVATE': {\n const activateUrl = fn.createActivateFactorUrl(\n router.appState.get('activatedFactorProvider'),\n router.appState.get('activatedFactorType')\n );\n\n router.navigate(activateUrl, { trigger: true });\n return;\n }\n case 'PASSWORD_WARN':\n case 'PASSWORD_EXPIRED':\n if (router.settings.get('features.customExpiredPassword') && !router.appState.get('isPwdManagedByOkta')) {\n router.navigate('signin/custom-password-expired', { trigger: true });\n } else {\n router.navigate('signin/password-expired', { trigger: true });\n }\n return;\n case 'RECOVERY_CHALLENGE': {\n const fromEmail = res.factorType.toLowerCase() === Enums.RECOVERY_FACTOR_TYPE_EMAIL.toLowerCase();\n const isForgotPassword = res.recoveryType === Enums.RECOVERY_TYPE_PASSWORD;\n const isUnlock = res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK;\n // Will use this workaround (lowercasing response) until OKTA-69083 is resolved\n\n if (isForgotPassword && fromEmail) {\n router.navigate('signin/recovery-emailed', { trigger: true });\n } else if (isUnlock && fromEmail) {\n router.navigate('signin/unlock-emailed', { trigger: true });\n } else {\n router.navigate('signin/recovery-challenge', { trigger: true });\n }\n return;\n }\n case 'RECOVERY':\n router.navigate('signin/recovery-question', { trigger: true });\n return;\n case 'PASSWORD_RESET':\n router.navigate('signin/password-reset', { trigger: true });\n return;\n case 'LOCKED_OUT': {\n if (router.settings.get('features.selfServiceUnlock')) {\n router.navigate('signin/unlock', { trigger: true });\n } else {\n const errorMessage = loc('error.auth.lockedOut', 'login');\n const resError = {\n responseJSON: {\n errorCauses: [],\n errorSummary: errorMessage,\n errorCode: 'E0000119',\n },\n };\n const err = {\n name: 'AuthApiError',\n message: errorMessage,\n xhr: resError\n };\n router.controller.model.appState.trigger('removeLoading');\n router.controller.model.trigger('error', router.controller.model, resError);\n Util.triggerAfterError(router.controller, err);\n }\n return;\n }\n case 'PROFILE_REQUIRED':\n router.navigate('signin/enroll-user', { trigger: true });\n return;\n case 'UNAUTHENTICATED':\n // Either we have factors and we are in passwordlessAuth mode\n if (router.appState.get('promptForFactorInUnauthenticated')) {\n const defaultFactor = router.appState.get('factors').getDefaultFactor();\n const factorURL = fn.createVerifyUrl(defaultFactor.get('provider'), defaultFactor.get('factorType'));\n\n router.navigate(factorURL, { trigger: true });\n return;\n }\n // Or we're in device flow and we need to force idp discovery check\n if (router.appState.get('usingDeviceFlow')) {\n router.navigate('signin/idp-discovery-check', { trigger: true });\n return;\n }\n // Or we don't have anything and we need to show the login page\n router.navigate('', { trigger: true });\n return;\n default:\n throw new Error('Unknown status: ' + res.status);\n }\n};\n\nfunction handleSuccessResponseStatus(router, res) {\n if (res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK) {\n router.navigate('signin/account-unlocked', { trigger: true });\n return;\n }\n\n if (_.contains(deviceActivationStatuses, res._embedded?.deviceActivationStatus)) {\n router.navigate('signin/device-activate-complete', { trigger: true });\n return;\n }\n\n // If the desired end result object needs to have idToken (and not sessionToken),\n // get the id token from session token before calling the global success function.\n if (router.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(router.settings, { sessionToken: res.sessionToken }, router.controller);\n return;\n }\n\n const successData = {\n user: res._embedded.user,\n type: res.type || Enums.SESSION_SSO,\n };\n\n if (res.relayState) {\n successData.relayState = res.relayState;\n }\n\n const redirectFn = router.settings.get('redirectUtilFn');\n const nextUrl = res?._links?.original?.href || res?._links?.next?.href;\n\n if (res.type === Enums.SESSION_STEP_UP) {\n const targetUrl = res?._links?.next?.href;\n\n successData.stepUp = {\n url: targetUrl,\n finish: function() {\n redirectFn(targetUrl);\n },\n };\n } else {\n if (nextUrl) {\n successData.next = function() {\n redirectFn(nextUrl);\n };\n } else {\n // Add the type for now until the API returns it.\n successData.type = Enums.SESSION_SSO;\n }\n\n if (res.sessionToken) {\n successData.session = {\n token: res.sessionToken,\n setCookieAndRedirect: function(redirectUri) {\n if (redirectUri) {\n Util.debugMessage(`\n Passing a \"redirectUri\" to \"setCookieAndRedirect\" is strongly discouraged.\n It is recommended to set a \"redirectUri\" option in the config object passed to the widget constructor.\n `);\n }\n\n redirectUri = redirectUri || router.settings.get('redirectUri');\n if (!redirectUri) {\n throw new ConfigError('\"redirectUri\" is required');\n }\n\n redirectFn(\n sessionCookieRedirectTpl({\n baseUrl: router.settings.get('baseUrl'),\n token: encodeURIComponent(res.sessionToken),\n redirectUrl: encodeURIComponent(redirectUri),\n })\n );\n },\n };\n }\n }\n\n // Check if we need to wait for redirect based on host.\n if (fn.isHostBackgroundChromeTab()) {\n document.addEventListener('visibilitychange', function checkVisibilityAndCallSuccess() {\n if (fn.isDocumentVisible()) {\n document.removeEventListener('visibilitychange', checkVisibilityAndCallSuccess);\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n });\n } else {\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n}\n\nexport default fn;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport default {\n OKTA: {\n APPLE: 'https://itunes.apple.com/us/app/okta-verify/id490179405',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.okta.android.auth',\n },\n GOOGLE: {\n APPLE: 'https://itunes.apple.com/us/app/google-authenticator/id388497605',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2',\n },\n STORE: {\n APPLE: 'App Store',\n ANDROID: 'Google Play Store',\n },\n};\n","/*!\n * Copyright (c) 2018, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport TypingDNA from '@okta/typingdna';\nlet tdna;\nexport default {\n track: function(selectorId) {\n try {\n tdna = new TypingDNA();\n tdna.addTarget(selectorId);\n tdna.start();\n } catch (e) {\n // Issues in typing should not stop Primary auth.\n }\n },\n getTypingPattern: function() {\n try {\n return tdna.getTypingPattern({\n type: 1,\n });\n } catch (e) {\n return null;\n }\n },\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc } from '@okta/courage';\nconst fn = {};\n\n// Validate the 'username' field on the model.\nfn.validateUsername = function(model) {\n const username = model.get('username');\n\n if (username && username.length > 256) {\n return {\n username: loc('model.validation.field.username', 'login'),\n };\n }\n};\n\n// Validate that the field1 and field2 fields on the model are a match.\nfn.validateFieldsMatch = function(model, field1, field2, message) {\n if (model.get(field1) !== model.get(field2)) {\n const ret = {};\n\n ret[field2] = message;\n return ret;\n }\n};\n\n// Validate that the 'newPassword' and 'confirmPassword' fields on the model are a match.\nfn.validatePasswordMatch = function(model) {\n return fn.validateFieldsMatch(model, 'newPassword', 'confirmPassword', loc('password.error.match', 'login'));\n};\n\nexport default fn;\n","/*!\n * Copyright (c) 2020-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nexport default View.extend({\n className: 'hide resend-email-infobox',\n template: hbs`\n
          \n \n

          \n {{i18n code=\"email.code.not.received\" bundle=\"login\"}}\n \n {{i18n code=\"email.button.resend\" bundle=\"login\"}}\n \n

          \n
          \n `,\n\n events: {\n 'click .resend-email-btn': 'resendEmail',\n },\n\n postRender: function() {\n this.showResendCallout();\n },\n\n showResendCallout: function() {\n _.delay(() => {\n this.$el.removeClass('hide');\n }, Enums.API_RATE_LIMIT);\n },\n\n hideResendCallout: function() {\n this.$el.addClass('hide');\n },\n\n resendEmail: function(e) {\n e.preventDefault();\n this.hideResendCallout();\n this.model.resend().finally(this.showResendCallout.bind(this));\n },\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, _ } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport '@okta/qtip';\n\nexport default View.extend({\n className: 'scope-item',\n template: hbs`\n

          {{name}}

          \n {{#if description}}\n \n {{/if}}`,\n\n postRender: function() {\n this.$('.scope-item-tooltip').qtip({\n content: {\n text: _.escape(this.options.description)\n },\n style: { classes: 'okta-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom left',\n target: 'mouse'\n }\n });\n }\n});\n\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len: [2, 131] */\nimport hbs from '@okta/handlebars-inline-precompile';\nimport { _, View, loc } from '@okta/courage';\nimport ScopeItem from './ScopeItem';\n\nconst SCOPE_N_GROUP_CONFIG = {\n groups: 'user',\n myAccount: 'user',\n users: 'user',\n apps: 'resource',\n authenticators: 'resource',\n authorizationServers: 'resource',\n clients: 'resource',\n domains: 'resource',\n factors: 'resource',\n idps: 'resource',\n linkedObjects: 'resource',\n policies: 'resource',\n templates: 'resource',\n eventHooks: 'hook',\n inlineHooks: 'hook',\n events: 'system',\n logs: 'system',\n orgs: 'system',\n roles: 'system',\n schemas: 'system',\n sessions: 'system',\n trustedOrigins: 'system',\n};\n\nconst DEFAULT_GROUP = 'system';\n\nconst findScopeGroupKey = ({ name = '' }) => {\n const xs = name.split('.');\n const groupType = xs[1];\n\n return SCOPE_N_GROUP_CONFIG[groupType] || DEFAULT_GROUP;\n};\n\nconst ScopeGroupHeaderView = View.extend({\n className: 'scope-group',\n\n events: {\n 'click': 'expandScopes',\n },\n\n template: hbs`\n
          \n

          {{groupName}}

          \n \n \n \n \n \n \n
          `,\n\n expandScopes() {\n this.$el.toggleClass('scope-group--is-expanded');\n this.$('.caret').toggleClass('caret--is-rotated');\n },\n\n preRender() {\n _.chain(this.options.scopes)\n .sortBy(({ name }) => name)\n .each(({ name, displayName, description }) => {\n this.add(ScopeItem, {\n options: {\n name: displayName || name,\n description,\n },\n });\n });\n }\n});\n\nexport default View.extend({\n className: 'scope-list detail-row',\n\n postRender: function() {\n const allScopes = this.model.get('scopes');\n const scopesWithGroup = _.groupBy(allScopes, findScopeGroupKey);\n\n const SCOPE_GROUP_NAMES_CONFIG = {\n 'user': loc('admin.consent.group.user.group', 'login'),\n 'resource': loc('admin.consent.group.resource.policy', 'login'),\n 'hook': loc('admin.consent.group.hook', 'login'),\n 'system': loc('admin.consent.group.system', 'login'),\n };\n\n // loop through SCOPE_GROUP_NAMES_CONFIG to keep group order consistent in UI.\n _.each(SCOPE_GROUP_NAMES_CONFIG, (groupName, groupKey) => {\n const scopes = scopesWithGroup[groupKey];\n if (!Array.isArray(scopes)) {\n return;\n }\n // add scope group header and scopes\n this.add(ScopeGroupHeaderView, {\n options: {\n groupName,\n scopes,\n }\n });\n });\n },\n});\n","import { _, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nconst CheckBox = internal.views.forms.inputs.CheckBox;\n\nexport default CheckBox.extend({\n template: hbs`\n \n \n `,\n\n /**\n * @Override\n */\n enable: function() {\n if (this.options.options.optional) {\n this.$(':input').prop('disabled', false);\n }\n },\n\n /**\n * @Override\n */\n editMode: function() {\n\n this.$el.html(this.template(_.extend(_.omit(this.options, 'placeholder'), {\n placeholder: this.options.placeholder || this.options.name,\n desc: this.options.options.description\n })));\n\n this.$(':checkbox').prop('checked', this.getModelValue() || false);\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n if (!this.options.options.optional) {\n const input = this.$('input').get(0);\n this.$(input.parentElement).addClass('o-form-read-mode');\n this.$(':checkbox').prop('disabled', true);\n }\n\n if (this.options.name === 'openid' || this.options.options.isCustomized) {\n this.$('label > b').addClass('no-translate');\n if (this.options.options.isCustomized) {\n this.$('label > p').addClass('no-translate');\n }\n }\n\n return this;\n },\n\n});","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, _ } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport '@okta/qtip';\nexport default View.extend({\n className: 'scope-item',\n template: hbs(\n '\\\n
          \\\n

          {{name}}

          \\\n
          \\\n {{#if description}}\\\n \\\n {{/if}}\\\n '\n ),\n getTemplateData() {\n const { name, description, isCustomized } = this.options;\n const baseClass = 'scope-item-text';\n const classNames = (name === 'openid' || isCustomized)\n ? `${baseClass} no-translate`: baseClass;\n return { classNames, name, description };\n },\n\n postRender: function() {\n this.$('.scope-item-tooltip').qtip({\n content: {\n text: _.escape(this.options.description),\n },\n style: { classes: 'okta-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom right',\n target: 'mouse',\n },\n });\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport ScopeItem from './ScopeItem';\nexport default View.extend({\n className: 'scope-list detail-row',\n\n postRender: function() {\n this.model.get('scopes').forEach(scope => {\n this.add(ScopeItem, {\n options: {\n name: scope.displayName || scope.name,\n description: scope.description,\n isCustomized: scope.isCustomized,\n },\n });\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, ListView, View, createButton, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorUtil from 'util/FactorUtil';\nimport RouterUtil from 'v1/util/RouterUtil';\nconst cardinalityTextTpl = hbs('{{cardinalityText}}');\nconst FactorListFactorRow = View.extend({\n tagName: 'li',\n\n className: 'enroll-factor-row clearfix',\n\n template: hbs(\n '\\\n
          \\\n
          \\\n
          \\\n
          \\\n
          \\\n

          {{factorLabel}}

          \\\n {{#if factorDescription}}\\\n

          {{factorDescription}}

          \\\n {{/if}}\\\n
          \\\n
          \\\n '\n ),\n\n attributes: function() {\n return { 'data-se': this.model.get('factorName') };\n },\n\n children: function() {\n const children = [];\n const enrolled = this.model.get('enrolled');\n const required = this.model.get('required');\n const cardinality = this.model.get('cardinality');\n\n if (this.options.showInlineSetupButton) {\n return [\n [\n createButton({\n className: 'button',\n title: this.getSetupButtonText(),\n click: function() {\n this.options.appState.trigger(\n 'navigate',\n RouterUtil.createEnrollFactorUrl(this.model.get('provider'), this.model.get('factorType'))\n );\n },\n }),\n '.enroll-factor-button',\n ],\n ];\n } else if (enrolled) {\n children.push(['', '.enroll-factor-label']);\n } else if (required) {\n children.push(['', '.enroll-factor-label']);\n }\n\n const cardinalityText = FactorUtil.getCardinalityText(enrolled, required, cardinality);\n\n if (cardinalityText) {\n children.push([cardinalityTextTpl({ cardinalityText: cardinalityText }), '.enroll-factor-description']);\n }\n return children;\n },\n\n minimize: function() {\n this.$el.addClass('enroll-factor-row-min');\n },\n\n maximize: function() {\n this.$el.removeClass('enroll-factor-row-min');\n },\n\n getSetupButtonText: function() {\n return this.model.get('additionalEnrollment')\n ? loc('enroll.choices.setup.another', 'login')\n : loc('enroll.choices.setup', 'login');\n },\n});\nexport default ListView.extend({\n className: 'enroll-factor-list',\n\n item: FactorListFactorRow,\n\n itemSelector: '.list-content',\n\n template: hbs(\n '\\\n {{#if listTitle}}\\\n

          {{listTitle}}

          \\\n {{/if}}\\\n
            \\\n '\n ),\n\n getTemplateData: function() {\n const json = ListView.prototype.getTemplateData.call(this);\n\n _.extend(json, this);\n return json;\n },\n\n postRender: function() {\n if (this.options.minimize) {\n this.invoke('minimize');\n }\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n template: hbs`\n \n {{i18n code=\"enroll.choices.setup.skip\" bundle=\"login\"}}\n \n `,\n className: 'auth-footer clearfix',\n events: {\n 'click .js-skip': function(e) {\n e.preventDefault();\n this.model.doTransaction(function(transaction) {\n return transaction.skip();\n });\n },\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FactorList from './FactorList';\nexport default FactorList.extend({\n listTitle: _.partial(loc, 'enroll.choices.list.setup', 'login'),\n\n className: function() {\n return FactorList.prototype.className + ' enroll-required-factor-list';\n },\n\n postRender: function() {\n let currentModel;\n let currentRow;\n\n FactorList.prototype.postRender.apply(this, arguments);\n currentModel = this.options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n currentRow = this.find(function(view) {\n return view.model === currentModel;\n });\n currentRow.maximize();\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorUtil from 'util/FactorUtil';\nimport RouterUtil from 'v1/util/RouterUtil';\nexport default View.extend({\n className: 'scan-instructions clearfix',\n template: hbs`\n
            \n
            \n

            {{instructions}}

            \n
            \n
            \n \n `,\n\n events: {\n 'click [data-type=\"manual-setup\"]': function(e) {\n e.preventDefault();\n const url = RouterUtil.createActivateFactorUrl(\n this.model.get('__provider__'),\n this.model.get('__factorType__'),\n 'manual'\n );\n if (this.model.get('__factorType__') === 'push') {\n // cancel the poll and navigate to manual setup.\n this.model\n .doTransaction(function(transaction) {\n return transaction.prev().then(function(trans) {\n const factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA',\n });\n\n return factor.enroll();\n });\n })\n .then(() => {\n this.options.appState.trigger('navigate', url);\n });\n } else {\n this.options.appState.trigger('navigate', url);\n }\n },\n 'click [data-type=\"refresh-qrcode\"]': function(e) {\n e.preventDefault();\n this.model.trigger('errors:clear');\n\n const self = this;\n\n this.model\n .doTransaction(function(transaction) {\n if (this.appState.get('isWaitingForActivation')) {\n return transaction.poll();\n } else {\n return transaction.activate();\n }\n })\n .then(function(trans) {\n const res = trans.data;\n\n if (\n (res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE') &&\n res.factorResult === 'WAITING'\n ) {\n // defer the render here to have a lastResponse set in AppState\n // so that we get new QRcode rendered\n _.defer(_.bind(self.render, self));\n }\n });\n },\n },\n\n initialize: function() {\n this.listenTo(this.options.appState, 'change:lastAuthResponse', function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', !this.options.appState.get('isWaitingForActivation'));\n } else if (this.options.appState.get('isSuccessResponse')) {\n this.$el.addClass('qrcode-success');\n }\n });\n this.listenTo(this.model, 'error', function() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', true);\n }\n });\n },\n\n getTemplateData: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n let instructions;\n\n if (this.model.get('__provider__') === 'GOOGLE') {\n instructions = loc('enroll.totp.setupGoogleAuthApp', 'login', [factorName]);\n } else {\n instructions = loc('enroll.totp.setupApp', 'login', [factorName]);\n }\n return {\n instructions: instructions,\n qrcode: this.options.appState.get('qrcode'),\n altQRCode: loc('mfa.altQrCode', 'login')\n };\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport FormType from 'v1/util/FormType';\nimport Util from 'util/Util';\nimport TextBox from 'v1/views/shared/TextBox';\nconst form = {\n title: function() {\n const factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\n return loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(loc, 'enroll.totp.enterCode', 'login'),\n autoSave: true,\n noButtonBar: true,\n attributes: { 'data-se': 'step-sendcode' },\n\n formChildren: function() {\n return [\n FormType.Input({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'mfa.challenge.enterCode.tooltip',\n 'mfa.challenge.enterCode.placeholder',\n 'login'\n ),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel',\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: loc('oform.verify', 'login'), // TODO: deprecated by mfa.challenge.verify\n }),\n ];\n },\n};\nexport default form;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.options.appState.trigger('backToFactors');\n this.back();\n },\n },\n\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function(transaction) {\n return transaction.prev();\n });\n } else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\n\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n \\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto': function(e) {\n e.preventDefault();\n // go to a different screen with current auth status:\n // refresh the latest response\n this.model.startTransaction(function(authClient) {\n return authClient.tx.resume();\n });\n },\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function(transaction) {\n return transaction.prev();\n });\n } else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport RouterUtil from 'v1/util/RouterUtil';\n\nfunction goToFactorActivation(appState) {\n const url = RouterUtil.createActivateFactorUrl(\n appState.get('activatedFactorProvider'),\n appState.get('activatedFactorType')\n );\n\n appState.trigger('navigate', url);\n}\n\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n \\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .js-back': function(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto': function(e) {\n e.preventDefault();\n\n const goToFactor = _.partial(goToFactorActivation, this.options.appState);\n\n this.options.appState.unset('factorActivationType');\n this.model\n .doTransaction(function(transaction) {\n return transaction.prev().then(function(trans) {\n const factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA',\n });\n\n return factor.enroll();\n });\n })\n .then(goToFactor);\n },\n },\n back: function() {\n const self = this;\n\n self.options.appState.unset('factorActivationType');\n if (self.options.appState.get('prevLink')) {\n this.model\n .doTransaction(function(transaction) {\n return transaction.prev();\n })\n .then(function() {\n // we trap 'MFA_ENROLL' response that's why we need to trigger navigation from here\n self.options.appState.trigger('navigate', 'signin/enroll');\n });\n } else {\n self.options.appState.trigger('navigate', 'signin/enroll');\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Util from 'util/Util';\n\nlet { TextBox } = internal.views.forms.inputs;\nexport default TextBox.extend({\n template: hbs(\n '\\\n {{countryCallingCode}}\\\n \\\n \\\n \\\n '\n ),\n\n initialize: function() {\n this.listenTo(this.model, 'change:countryCallingCode', function() {\n this.$('.o-form-label-inline').text(this.model.get('countryCallingCode'));\n });\n },\n\n preRender: function() {\n this.options.countryCallingCode = this.model.get('countryCallingCode');\n this.options.autocomplete = Util.getAutocompleteValue(this.options.model.settings, 'tel');\n },\n\n postRender: function() {\n // This is a hack - once inputGroups are done, get rid of it!!\n this.$el.removeClass('input-fix o-form-control');\n _.defer(() => {\n this.$el.parent().addClass('o-form-input-group');\n });\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 130] */\nimport { Form, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport ProfileSchema from 'v1/models/ProfileSchema';\nimport RegistrationFormFactory from 'v1/util/RegistrationFormFactory';\nexport default Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title() {\n return loc('registration.form.title', 'login');\n },\n save() {\n return loc('registration.form.submit', 'login');\n },\n initialize: function(options) {\n this.options = options || {};\n this.schema = new ProfileSchema({\n profileSchemaAttributes: this.options.appState.get('policy').registration.profile,\n });\n this.schema.properties.each(schemaProperty => {\n const inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n\n this.addInput(inputOptions);\n });\n const requiredFieldsLabel = hbs('{{label}}')({\n label: loc('registration.required.fields.label', 'login'),\n });\n\n this.add(requiredFieldsLabel);\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nconst { Util } = internal.util;\nexport default View.extend({\n template: hbs(\n '\\\n {{#if passwordWarn}}\\\n \\\n {{i18n code=\"password.expiring.later\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n \\\n {{i18n code=\"signout\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer clearfix',\n events: {\n 'click .js-signout': function(e) {\n e.preventDefault();\n const self = this;\n const authClient = self.settings.getAuthClient();\n\n this.model\n .doTransaction(function(transaction) {\n return transaction.cancel();\n })\n .then(function() {\n return authClient.session.exists();\n })\n .then(function(sessionExists) {\n if (sessionExists) {\n return authClient.closeSession().catch(() => {});\n }\n })\n .then(function() {\n if (self.settings.get('backToSignInUri')) {\n Util.redirect(self.settings.get('backToSignInUri'));\n } else {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n }\n });\n },\n 'click .js-skip': function(e) {\n e.preventDefault();\n this.model.doTransaction(function(transaction) {\n return transaction.skip();\n });\n },\n },\n getTemplateData: function() {\n return { passwordWarn: this.options.appState.get('isPwdExpiringSoon') };\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 7] */\nimport { Form, createButton, loc } from '@okta/courage';\nimport Q from 'q';\nimport Enums from 'util/Enums';\nexport default Form.extend({\n layout: 'o-form-theme',\n className: 'factor-verify-magiclink',\n autoSave: true,\n noCancelButton: true,\n initialize: function() {\n const form = this;\n // for FACTOR_REQUIRED with email magic link we dont need to show otp code input field and verify button\n\n this.title = this.model.get('factorLabel');\n //TODO: OKTA-211618 Temp fix for demo. FACTOR_REQUIRED after sign up is missing the profile object in API response\n\n const email = this.model.get('email') || this.options.appState.get('lastAuthResponse')._embedded.user.profile.login;\n\n this.subtitle = '(' + email + ')';\n this.add(\n createButton({\n attributes: { 'data-se': 'email-send-code' },\n className: 'button email-request-button',\n title: loc('mfa.sendEmail', 'login'),\n click: function() {\n form.clearErrors();\n this.disable();\n this.options.title = loc('mfa.sent', 'login');\n this.render();\n this.model\n .save()\n .then(() => {\n return Q.delay(Enums.API_RATE_LIMIT);\n })\n .then(() => {\n this.options.title = loc('mfa.resendEmail', 'login');\n this.enable();\n this.render();\n });\n },\n })\n );\n },\n});\n","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, loc } from '@okta/courage';\nimport PrimaryAuthForm from 'v1/views/primary-auth/PrimaryAuthForm';\nexport default PrimaryAuthForm.extend({\n className: 'idp-discovery-form',\n save: function() {\n return loc('oform.next', 'login');\n },\n saveId: 'idp-discovery-submit',\n\n initialize: function() {\n this.listenTo(this, 'save', _.bind(this.model.save, this.model));\n this.stateEnableChange();\n },\n\n inputs: function() {\n const inputs = [];\n const usernameProps = {\n className: 'margin-btm-30',\n label: loc('primaryauth.username.placeholder', 'login'),\n inputId: 'idp-discovery-username',\n disabled: false,\n };\n\n inputs.push(_.extend(this.getUsernameField(), usernameProps));\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n focus: function() {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n } else if (this.getInputs().toArray()[1]) {\n this.getInputs().toArray()[1].focus();\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nconst template = hbs('\\\n \\\n

            {{{message}}}

            \\\n ');\n\n// Have to be unescaped for the html in enroll.windowsHello.error.notConfiguredHtml\n\nexport default View.extend({\n template: template,\n className: 'okta-infobox-error infobox infobox-error infobox-md margin-btm-25',\n attributes: {\n 'data-se': 'o-form-error-html',\n },\n\n message: '',\n\n initialize: function(options) {\n if (options && options.message) {\n this.message = options.message;\n }\n },\n\n getTemplateData: function() {\n return {\n message: this.message,\n };\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { loc, createButton, Form } from '@okta/courage';\nimport TextBox from 'v1/views/shared/TextBox';\n\nfunction addInlineTotp(form) {\n form.addDivider();\n form.addInput({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top inline-input auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel',\n });\n form.add(\n createButton({\n attributes: { 'data-se': 'inline-totp-verify' },\n className: 'button inline-totp-verify margin-top-30',\n title: loc('mfa.challenge.verify', 'login'),\n click: function() {\n form.clearErrors();\n if (!form.isValid()) {\n return;\n }\n form.model.manageTransaction(function(transaction, setTransaction) {\n // This is the case where we enter the TOTP code and verify while there is an\n // active Push request (or polling) running. We need to invoke previous() on authClient\n // and then call model.save(). If not, we would still be in MFA_CHALLENGE state and\n // verify would result in a wrong request (push verify instead of a TOTP verify).\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n form.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev().then(function(trans) {\n setTransaction(trans);\n form.model.save();\n });\n } else {\n // Push is not active and we enter the code to verify.\n form.model.save();\n }\n });\n },\n })\n );\n form.at(1).focus();\n}\n\nexport default Form.extend({\n autoSave: true,\n noButtonBar: true,\n scrollOnError: false,\n layout: 'o-form-theme',\n\n className: 'mfa-verify-totp-inline',\n\n attributes: { 'data-se': 'factor-inline-totp' },\n\n initialize: function() {\n const form = this;\n\n this.listenTo(this.model, 'error', function() {\n this.clearErrors();\n });\n this.add(\n createButton({\n className: 'link',\n attributes: { 'data-se': 'inline-totp-add' },\n title: loc('mfa.challenge.orEnterCode', 'login'),\n click: function() {\n this.remove();\n addInlineTotp(form);\n },\n })\n );\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n className: 'number-challenge-view',\n template: hbs`\n {{#if number includeZero=true}}\n

            \n {{{i18n code=\"oktaverify.numberchallenge.instruction\" bundle=\"login\" arguments=\"number\"}}}\n

            \n {{/if}}\n
            \n
            \n
            \n {{number}}\n
            \n
            \n
            \n
            \n

            {{i18n code=\"oktaverify.numberchallenge.explain\" bundle=\"login\"}}

            \n `,\n initialize() {\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', () => {\n if (this.options.appState.get('lastAuthResponse').status !== 'SUCCESS') {\n this.render();\n }\n });\n },\n getTemplateData() {\n const lastAuthResponse = this.options.appState.get('lastAuthResponse');\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n return {\n number: null,\n };\n }\n return {\n number: lastAuthResponse._embedded.factor._embedded.challenge.correctAnswer,\n };\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 7] */\nimport { _, loc, Form, createButton, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Q from 'q';\nimport Enums from 'util/Enums';\nimport TextBox from 'v1/views/shared/TextBox';\nconst subtitleTpl = hbs('({{subtitle}})');\nconst PassCodeFormwarningTemplate = View.extend({\n className: 'okta-form-infobox-warning infobox infobox-warning login-timeout-warning',\n attributes: {\n 'aria-live': 'polite',\n },\n template: hbs`\n \n

            {{{warning}}}

            \n `,\n});\n\nfunction getFormAndButtonDetails(factorType) {\n switch (factorType) {\n case 'sms':\n return {\n buttonDataSe: 'sms-send-code',\n buttonClassName: 'sms-request-button',\n formSubmit: loc('mfa.sendCode', 'login'),\n formRetry: loc('mfa.resendCode', 'login'),\n formSubmitted: loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: hbs`{{i18n\n code=\"factor.sms.time.warning\"\n bundle=\"login\"\n $1=\"$1\"\n }}`,\n };\n case 'call':\n return {\n buttonDataSe: 'make-call',\n buttonClassName: 'call-request-button',\n formSubmit: loc('mfa.call', 'login'),\n formRetry: loc('mfa.redial', 'login'),\n formSubmitted: loc('mfa.calling', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: hbs`{{i18n\n code=\"factor.call.time.warning\"\n bundle=\"login\"\n $1=\"$1\"\n }}`,\n };\n case 'email':\n return {\n buttonDataSe: 'email-send-code',\n buttonClassName: 'email-request-button',\n formSubmit: loc('mfa.sendEmail', 'login'),\n formRetry: loc('mfa.resendEmail', 'login'),\n formSubmitted: loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('email') }),\n };\n default:\n return {\n buttonDataSe: '',\n buttonClassName: '',\n formSubmit: '',\n formRetry: '',\n formSubmitted: '',\n };\n }\n}\n\nexport default Form.extend({\n className: 'mfa-verify-passcode',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n\n disableSubmitButton: function() {\n return this.model.appState.get('isMfaChallenge') && this.model.get('answer');\n },\n\n showWarning: function(msg) {\n this.clearWarnings();\n this.add(PassCodeFormwarningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n clearWarnings: function() {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function() {\n const form = this;\n\n this.title = this.model.get('factorLabel');\n\n const factorType = this.model.get('factorType');\n const formAndButtonDetails = getFormAndButtonDetails.call(this, factorType);\n const warningDetails = formAndButtonDetails.warning;\n\n this.$el.attr('data-se', 'factor-' + factorType);\n\n this.subtitle = formAndButtonDetails.subtitle;\n this.listenTo(this.model, 'error', function() {\n this.clearErrors();\n });\n this.addInput({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel',\n });\n this.add(\n createButton({\n attributes: { 'data-se': formAndButtonDetails.buttonDataSe },\n className: 'button ' + formAndButtonDetails.buttonClassName,\n title: formAndButtonDetails.formSubmit,\n click: function() {\n form.clearErrors();\n this.disable();\n form.clearWarnings();\n this.options.title = formAndButtonDetails.formSubmitted;\n this.render();\n // To send an OTP to the device, make the same request but use\n // an empty passCode\n this.model.set('answer', '');\n this.model\n .save()\n .then(function() {\n // render and focus on the passcode input field.\n form.getInputs().first().render().focus();\n return Q.delay(Enums.API_RATE_LIMIT);\n })\n .then(() => {\n this.options.title = formAndButtonDetails.formRetry;\n this.enable();\n if (factorType === 'call' || factorType === 'sms') {\n form.showWarning(warningDetails);\n }\n this.render();\n });\n },\n })\n );\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc } from '@okta/courage';\nexport default Form.extend({\n className: 'mfa-verify-password',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-password' },\n\n initialize: function() {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'auth-passcode',\n name: 'password',\n type: 'password',\n params: {\n showPasswordToggle: true,\n },\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Util from 'util/Util';\nimport NumberChallengeView from './NumberChallengeView';\n\nconst titleTpl = hbs('{{factorName}} ({{{deviceName}}})');\n// deviceName is escaped on BaseForm (see BaseForm's template)\n\nconst WARNING_TIMEOUT = 30000; // milliseconds\nconst PushFormwarningTemplate = View.extend({\n className: 'okta-form-infobox-warning infobox infobox-warning',\n attributes: {\n 'aria-live': 'polite',\n },\n template: hbs`\n \n

            {{warning}}

            \n `,\n});\n\nexport default Form.extend({\n className: 'mfa-verify-push',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'oktaverify.send', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-push' },\n events: {\n submit: 'submit',\n },\n\n initialize: function() {\n this.enabled = true;\n this.listenTo(this.options.appState, 'change:isMfaRejected', this.handleRejectStateChange);\n\n this.numberChallengeView = this.add(NumberChallengeView).last();\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', function(\n state,\n isWaitingForNumberChallenge\n ) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.clearWarnings();\n this.$el.find('.button').hide();\n this.numberChallengeView.$el.show();\n } else {\n this.numberChallengeView.$el.hide();\n this.$el.find('.button').show();\n }\n });\n this.listenTo(this.options.appState, 'change:isMfaTimeout', function(state, isMfaTimeout) {\n this.setSubmitState(isMfaTimeout);\n if (isMfaTimeout) {\n this.showError(loc('oktaverify.timeout', 'login'));\n }\n });\n this.listenTo(this.options.appState, 'change:isMfaRequired', function(state, isMfaRequired) {\n if (isMfaRequired) {\n this.clearErrors();\n this.clearWarnings();\n }\n });\n this.title = titleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName'),\n });\n },\n setSubmitState: function(ableToSubmit) {\n const button = this.$el.find('.button');\n const a11ySpan = this.$el.find('.accessibility-text');\n this.enabled = ableToSubmit;\n if (ableToSubmit) {\n button.removeClass('link-button-disabled');\n button.prop('value', loc('oktaverify.send', 'login'));\n button.prop('disabled', false);\n if (a11ySpan) {\n a11ySpan.remove();\n }\n } else {\n button.addClass('link-button-disabled');\n button.prop('value', loc('oktaverify.sent', 'login'));\n button.prop('disabled', true);\n this.add(\n `${loc('oktaverify.sent', 'login')}`,\n );\n }\n },\n submit: function(e) {\n if (e !== undefined) {\n e.preventDefault();\n }\n if (this.enabled) {\n this.setSubmitState(false);\n this.doSave();\n }\n },\n postRender: function() {\n const factorsPolicyInfo = this.options.appState.get('factorsPolicyInfo');\n const id = this.model.get('id');\n const isAutoPushEnabled = this.settings.get('features.autoPush') && factorsPolicyInfo && factorsPolicyInfo[id]\n ? factorsPolicyInfo[id]['autoPushEnabled']\n : false;\n\n if (isAutoPushEnabled) {\n this.model.set('autoPush', true);\n // bind after $el has been rendered, and trigger push once DOM is fully loaded\n _.defer(_.bind(this.submit, this));\n }\n },\n doSave: function() {\n let warningTimeout;\n\n this.clearErrors();\n this.clearWarnings();\n if (this.model.isValid()) {\n this.listenToOnce(this.model, 'error', function() {\n this.setSubmitState(true);\n this.clearWarnings();\n clearTimeout(warningTimeout);\n });\n this.trigger('save', this.model);\n warningTimeout = Util.callAfterTimeout(() => {\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n this.showWarning(loc('oktaverify.warning', 'login'));\n }\n }, WARNING_TIMEOUT);\n }\n },\n showError: function(msg) {\n this.clearWarnings();\n this.model.trigger('error', this.model, { responseJSON: { errorSummary: msg } });\n },\n showWarning: function(msg) {\n this.clearWarnings();\n this.add(PushFormwarningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n clearWarnings: function() {\n this.$('.okta-form-infobox-warning').remove();\n },\n handleRejectStateChange: function(state, isMfaRejected) {\n if (isMfaRejected) {\n this.setSubmitState(isMfaRejected);\n this.setRejectedErrorMessage();\n }\n },\n setRejectedErrorMessage: function() {\n // If rejection is due to outdated app, show error message per platform\n // else show user rejected message.\n if (this.options.appState.get('lastAuthResponse').factorResultMessage === 'OKTA_VERIFY_UPGRADE_REQUIRED') {\n if (this.options.appState.get('factor').profile.platform === 'IOS') {\n this.showError(loc('oktaverify.rejected.upgradeRequired.ios', 'login'));\n } else {\n this.showError(loc('oktaverify.rejected.upgradeRequired.android', 'login'));\n }\n } else {\n this.showError(loc('oktaverify.rejected', 'login'));\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc } from '@okta/courage';\nexport default Form.extend({\n className: 'mfa-verify-question',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-question' },\n\n initialize: function() {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: this.model.get('securityQuestion'),\n 'label-top': true,\n placeholder: loc('mfa.challenge.answer.placeholder', 'login'),\n className: 'auth-passcode',\n name: 'answer',\n type: 'password',\n params: {\n showPasswordToggle: true,\n },\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport ResendEmailView from 'v1/views/ResendEmailView';\nimport TextBox from 'v1/views/shared/TextBox';\n\nconst createEmailMaskElement = function() {\n const email = this.model.get('email');\n const emailTpl = hbs('{{email}}');\n return { factorEmail: emailTpl({ email }) };\n};\n\nconst SendEmailAndVerifyCodeFormVerifyEmailCodeForm = Form.extend({\n layout: 'o-form-theme',\n className: 'mfa-verify-email',\n title: _.partial(loc, 'email.mfa.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n noCancelButton: true,\n attributes: {\n 'data-se': 'factor-email',\n },\n save: function() {\n return this.options.appState.get('isMfaChallenge')\n ? loc('mfa.challenge.verify', 'login')\n : loc('email.button.send', 'login');\n },\n\n events: Object.assign({}, Form.prototype.events, {\n submit: function(e) {\n e.preventDefault();\n this.handleSubmit();\n },\n }),\n\n handleSubmit() {\n this.clearErrors();\n if (this.options.appState.get('isMfaChallenge')) {\n if (this.isValid()) {\n this.model.save();\n }\n } else {\n // Send email and switch to verification view\n this.model.set('answer', '');\n this.model.save().then(this.renderChallengView.bind(this));\n }\n },\n\n initialize: function() {\n Form.prototype.initialize.apply(this, arguments);\n\n // render 'Send Email' page at first place\n this.add(\n View.extend({\n attributes: {\n 'data-se': 'mfa-send-email-content',\n },\n className: 'mfa-send-email-content',\n template: hbs('{{{i18n code=\"email.mfa.description\" bundle=\"login\" arguments=\"factorEmail\"}}}'),\n getTemplateData: createEmailMaskElement,\n })\n );\n },\n\n renderChallengView: function() {\n this.removeChildren();\n this.add(\n View.extend({\n className: 'mfa-email-sent-content',\n attributes: {\n 'data-se': 'mfa-email-sent-content',\n },\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: hbs('{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}'),\n getTemplateData: createEmailMaskElement,\n })\n );\n\n this.add(ResendEmailView);\n\n this.addInput({\n label: loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'answer',\n input: TextBox,\n wide: true,\n type: 'tel',\n });\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n this.render();\n },\n});\n\nexport default SendEmailAndVerifyCodeFormVerifyEmailCodeForm;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc } from '@okta/courage';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default Form.extend({\n className: 'mfa-verify-totp',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-totp' },\n\n initialize: function() {\n const factorName = this.model.get('factorLabel');\n const maskPasswordField = this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH';\n\n this.title = factorName;\n if (this.model.get('isFactorTypeVerification')) {\n this.subtitle = loc('mfa.challenge.totp.subtitle.multiple', 'login', [factorName]);\n } else {\n this.subtitle = loc('mfa.challenge.title', 'login', [factorName]);\n }\n\n this.addInput({\n label: loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: maskPasswordField ? 'password' : 'tel',\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n\n if (this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH') {\n this.listenTo(this.model, 'error', (source, error) => {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.auth-passcode input').val('');\n this.$('.auth-passcode input').trigger('change');\n this.$('.auth-passcode input').focus();\n }\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Form, loc } from '@okta/courage';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default Form.extend({\n className: 'mfa-verify-yubikey',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-yubikey' },\n\n initialize: function() {\n const factorName = this.model.get('factorLabel');\n\n this.title = factorName;\n this.subtitle = loc('factor.totpHard.yubikey.description', 'login');\n\n this.addInput({\n label: loc('factor.totpHard.yubikey.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n inputId: 'mfa-answer',\n type: 'password',\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n className: 'margin-btm-0',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n name: 'rememberDevice',\n type: 'checkbox',\n });\n }\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, $, loc, internal } from '@okta/courage';\nimport FactorUtil from 'util/FactorUtil';\nimport Factor from 'v1//models/Factor';\nimport FactorsDropDownOptions from './FactorsDropDownOptions';\nconst { BaseDropDown } = internal.views.components;\n\n$(document).click(function(e) {\n const $target = $(e.target);\n const isDropdown = $target.closest('.option-selected').length > 0 && $target.closest('.dropdown').length > 0;\n\n if (!isDropdown) {\n $('.dropdown .options').hide();\n $('.dropdown a.option-selected').attr('aria-expanded', false);\n }\n});\n\nexport default BaseDropDown.extend({\n className: 'bg-helper icon-button',\n screenReaderText: function() {\n const factors = this.options.appState.get('factors');\n let factor;\n let factorLabel;\n\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider, this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n }\n factorLabel = factor.get('factorLabel');\n return loc('mfa.factors.dropdown.sr.text', 'login', [factorLabel]);\n },\n events: {\n 'click a.option-selected': function(e) {\n e.preventDefault();\n if (_.result(this, 'disabled')) {\n e.stopPropagation();\n } else {\n const expanded = this.$('.options').toggle().is(':visible');\n\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n }\n },\n 'click .dropdown-disabled': function(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n },\n initialize: function() {\n this.addOption(FactorsDropDownOptions.getDropdownOption('TITLE'));\n const factorsList = this.options.appState.get('factors');\n const multiplePushFactors = factorsList.hasMultipleFactorsOfSameType('push');\n\n factorsList.each(function(factor) {\n // Do not add okta totp if there are multiple okta push (each push will have an inline totp)\n if (!(factor.get('factorType') === 'token:software:totp' && multiplePushFactors)) {\n this.addOption(FactorsDropDownOptions.getDropdownOption(factor.get('factorName')), { model: factor });\n this.listenTo(this.last(), 'options:toggle', function() {\n this.$('.options').hide();\n this.$('a.option-selected').attr('aria-expanded', false);\n });\n }\n }, this);\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 16], complexity: [2, 10] */\nimport { _, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport RouterUtil from 'v1/util/RouterUtil';\nconst pushTitleTpl = hbs('{{factorName}} ({{{deviceName}}})');\n\n// deviceName is escaped on BaseForm (see BaseForm's template)\n\nconst action = function(model) {\n let factorIndex;\n const factorType = model.get('factorType');\n const factorsList = this.options.appState.get('factors');\n\n if (factorsList.hasMultipleFactorsOfSameType(factorType)) {\n factorIndex = factorsList.getFactorIndex(factorType, model.get('id'));\n }\n const url = RouterUtil.createVerifyUrl(model.get('provider'), factorType, factorIndex);\n const self = this;\n\n this.options.appState.trigger('factorSwitched');\n this.model.manageTransaction(function(transaction, setTransaction) {\n // FACTOR_CHALLENGE does not have a prev link\n if (transaction.status === 'FACTOR_CHALLENGE') {\n this.options.appState.set('trapMfaRequiredResponse', true);\n }\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n this.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev().then(function(trans) {\n self.trigger('options:toggle');\n setTransaction(trans);\n self.options.appState.trigger('navigate', url);\n });\n } else {\n self.trigger('options:toggle');\n self.options.appState.trigger('navigate', url);\n }\n });\n};\n\nconst dropdownOptions = {\n TITLE: {\n title: _.partial(loc, 'mfa.factors.dropdown.title', 'login'),\n className: 'dropdown-list-title',\n disabled: true,\n },\n\n OKTA_VERIFY: {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n OKTA_VERIFY_PUSH: {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function() {\n return pushTitleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName'),\n });\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n GOOGLE_AUTH: {\n icon: 'factor-icon mfa-google-auth-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n CUSTOM_HOTP: {\n icon: 'factor-icon mfa-hotp-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n SYMANTEC_VIP: {\n icon: 'factor-icon mfa-symantec-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n RSA_SECURID: {\n icon: 'factor-icon mfa-rsa-30',\n className: 'factor-option',\n title: _.partial(loc, 'factor.totpHard.rsaSecurId', 'login'),\n action: function() {\n action.call(this, this.model);\n },\n },\n\n ON_PREM: {\n icon: 'factor-icon mfa-onprem-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n DUO: {\n icon: 'factor-icon mfa-duo-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n DUO_PUSH: {\n icon: 'duo-push-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(loc, 'mfa.duoSecurity.push', 'login', ['XXX-XXX-7890']),\n },\n\n DUO_SMS: {\n icon: 'duo-sms-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(loc, 'mfa.duoSecurity.sms', 'login', ['XXX-XXX-7890']),\n },\n\n DUO_CALL: {\n icon: 'duo-call-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(loc, 'mfa.duoSecurity.call', 'login', ['XXX-XXX-7890']),\n },\n\n YUBIKEY: {\n icon: 'factor-icon mfa-yubikey-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n SMS: {\n icon: 'factor-icon mfa-sms-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n CALL: {\n icon: 'factor-icon mfa-call-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n QUESTION: {\n icon: 'factor-icon mfa-question-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n PASSWORD: {\n icon: 'factor-icon mfa-password-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n WINDOWS_HELLO: {\n icon: 'factor-icon mfa-windows-hello-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n U2F: {\n icon: 'factor-icon mfa-u2f-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n WEBAUTHN: {\n icon: 'factor-icon mfa-webauthn-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n EMAIL: {\n icon: 'factor-icon mfa-email-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n GENERIC_SAML: {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n GENERIC_OIDC: {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n\n CUSTOM_CLAIMS: {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function() {\n return this.model.get('factorLabel');\n },\n action: function() {\n action.call(this, this.model);\n },\n },\n};\nexport default {\n getDropdownOption: function(factorName) {\n return dropdownOptions[factorName];\n },\n};\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, $, View, loc, createButton, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport OAuth2Util from 'util/OAuth2Util';\nconst SharedUtil = internal.util.Util;\nconst dividerTpl = hbs('
            \\\n {{text}}\\\n
            ');\nconst formTitleTpl = hbs('

            {{title}}

            ');\nexport default View.extend({\n className: 'primary-auth-container',\n\n children: function() {\n const children = [];\n const socialIdpButtons = this.settings.get('configuredSocialIdps');\n const pivButton = this.settings.get('piv');\n const customButtons = this.settings.get('customButtons');\n const divider = dividerTpl({ text: loc('socialauth.divider.text', 'login') });\n\n if (this.settings.get('hasPivCard')) {\n children.push(this._createPivButton(pivButton));\n }\n\n _.each(\n socialIdpButtons,\n function(button) {\n children.push(this._createSocialIdpButton(button));\n },\n this\n );\n\n _.each(\n customButtons,\n function(button) {\n children.push(this._createCustomButton(button));\n },\n this\n );\n\n // If the social auth buttons have to be above the Okta form, the title moves from\n // primary auth form to the social auth (above the buttons) and the divider goes below\n // the buttons (in between social auth and primary auth). If social auth needs to go below\n // Okta form, just add the divider at the top of the social auth container. The title still\n // lives in primary auth form.\n if (this.settings.get('socialAuthPositionTop')) {\n children.unshift(formTitleTpl({ title: loc('primaryauth.title', 'login') }));\n // Divider between Primary Auth and the Social Auth\n children.push(divider);\n } else {\n children.unshift(divider);\n }\n\n return children;\n },\n\n _createSocialIdpButton: function(options) {\n return createButton({\n attributes: {\n 'data-se': options.dataAttr,\n },\n className: options.className,\n title: function() {\n return options.text || loc(options.i18nKey);\n },\n click: function(e) {\n e.preventDefault();\n if (this.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(this.settings, { idp: options.id }, this.options.currentController);\n } else {\n const baseUrl = this.settings.get('baseUrl');\n let params;\n const lastAuthResponse = this.options.appState.get('lastAuthResponse');\n if (this.options.appState.get('usingDeviceFlow')) {\n params = $.param({\n stateToken: lastAuthResponse?.stateToken,\n });\n } else {\n params = $.param({\n fromURI: this.settings.get('relayState'),\n });\n }\n const targetUri = `${baseUrl}/sso/idps/${options.id}?${params}`;\n SharedUtil.redirect(targetUri);\n }\n },\n });\n },\n\n _createPivButton: function(options) {\n let className = options.className || '';\n return createButton({\n attributes: {\n 'data-se': 'piv-card-button',\n },\n className: className + ' piv-button',\n title: options.text || loc('piv.cac.card', 'login'),\n click: function(e) {\n e.preventDefault();\n this.options.appState.trigger('navigate', 'signin/verify/piv');\n },\n });\n },\n\n _createCustomButton: function(options) {\n return createButton({\n attributes: {\n 'data-se': options.dataAttr,\n },\n className: options.className + ' default-custom-button',\n title: function() {\n return options.title || loc(options.i18nKey);\n },\n click: options.click,\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Form, loc } from '@okta/courage';\nimport DeviceFingerprint from 'v1/util/DeviceFingerprint';\nimport TypingUtil from 'v1/util/TypingUtil';\nimport Util from 'util/Util';\nimport TextBox from 'v1/views/shared/TextBox';\nexport default Form.extend({\n className: 'primary-auth-form',\n noCancelButton: true,\n attributes: { novalidate: 'novalidate' },\n save: function() {\n if (this.settings.get('features.passwordlessAuth')) {\n return loc('oform.next', 'login');\n }\n return loc('primaryauth.submit', 'login');\n },\n saveId: 'okta-signin-submit',\n layout: 'o-form-theme',\n\n // If socialAuth is configured, the title moves from the form to\n // the top of the container (and is rendered in socialAuth).\n title: function() {\n let formTitle = loc('primaryauth.title', 'login');\n\n if (this.settings.get('socialAuthPositionTop')) {\n formTitle = '';\n }\n return formTitle;\n },\n\n initialize: function() {\n const trackTypingPattern = this.settings.get('features.trackTypingPattern');\n\n this.listenTo(this, 'save', async function() {\n const { appState } = this.options;\n if (trackTypingPattern) {\n const typingPattern = TypingUtil.getTypingPattern();\n appState.set('typingPattern', typingPattern);\n }\n const creds = {\n username: this.model.get('username'),\n };\n\n if (!this.settings.get('features.passwordlessAuth')) {\n creds.password = this.model.get('password');\n }\n\n // show loading spinner and disable submit button before processCreds hook runs\n appState.trigger('loading', true);\n this.state.trigger('togglePrimaryAuthButton', true);\n \n await this.settings.processCreds(creds);\n\n if (this.settings.get('features.deviceFingerprinting')) {\n try {\n const fingerprint = await DeviceFingerprint.generateDeviceFingerprint(\n this.settings.getAuthClient(), this.$el[0]);\n appState.set('deviceFingerprint', fingerprint);\n } catch {\n // Keep going even if device fingerprint fails\n }\n }\n\n this.model.save();\n });\n\n this.stateEnableChange();\n this.stateUsernameChange();\n },\n\n stateEnableChange: function() {\n this.listenTo(this.state, 'change:enabled', function(model, enable) {\n if (enable) {\n this.enable();\n } else {\n this.disable();\n }\n });\n },\n\n stateUsernameChange: function() {\n this.listenTo(this.state, 'change:disableUsername', function(model, disable) {\n if (disable) {\n this.$el.find('#okta-signin-username').attr('disabled', true);\n } else {\n this.$el.find('#okta-signin-username').removeAttr('disabled');\n }\n });\n },\n\n inputs: function() {\n const inputs = [];\n\n inputs.push(this.getUsernameField());\n if (!this.settings.get('features.passwordlessAuth')) {\n inputs.push(this.getPasswordField());\n }\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n getUsernameField: function() {\n const userNameFieldObject = {\n className: 'margin-btm-5',\n label: loc('primaryauth.username.placeholder', 'login'),\n 'label-top': true,\n explain: () => {\n if (!this.isCustomized('primaryauth.username.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain('primaryauth.username.tooltip', 'primaryauth.username.placeholder', 'login');\n },\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'okta-signin-username',\n type: 'text',\n disabled: this.options.appState.get('disableUsername'),\n autoComplete: Util.getAutocompleteValue(this.settings, 'username'),\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function() {\n const that = this;\n function clearAriaInvalid() {\n that.$(this)\n .removeAttr('aria-invalid')\n .off('focusout', clearAriaInvalid)\n .off('change', clearAriaInvalid);\n }\n\n this.$(`input[name=${this.options.name}]`)\n // OKTA-430928: to prevent NVDA and JAWS screen readers from\n // announcing \"required invalid entry\" before the user has a chance to\n // complete the field, aria-invalid is set to \"false\" initially and\n // removed on focusout or change using clearAriaInvalid()\n .attr({\n 'aria-invalid': 'false',\n 'aria-required': 'true',\n })\n .prop({\n required: true,\n })\n .focusout(clearAriaInvalid)\n .change(clearAriaInvalid);\n },\n };\n\n return userNameFieldObject;\n },\n\n getPasswordField: function() {\n const passwordFieldObject = {\n className: 'margin-btm-30',\n label: loc('primaryauth.password.placeholder', 'login'),\n 'label-top': true,\n explain: () => {\n if (!this.isCustomized('primaryauth.password.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain('primaryauth.password.tooltip', 'primaryauth.password.placeholder', 'login');\n },\n 'explain-top': true,\n name: 'password',\n inputId: 'okta-signin-password',\n validateOnlyIfDirty: true,\n type: 'password',\n autoComplete: Util.getAutocompleteValue(this.settings, 'current-password'),\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function() {\n const that = this;\n function clearAriaInvalid() {\n that.$(this)\n .removeAttr('aria-invalid')\n .off('focusout', clearAriaInvalid)\n .off('change', clearAriaInvalid);\n }\n this.$(`input[name=${this.options.name}]`)\n // OKTA-430928: to prevent NVDA and JAWS screen readers from\n // announcing \"required invalid entry\" before the user has a chance to\n // complete the field, aria-invalid is set to \"false\" initially and\n // removed on focusout or change using clearAriaInvalid()\n .attr({\n 'aria-invalid': 'false',\n 'aria-required': 'true',\n })\n .prop({\n required: true\n })\n .focusout(clearAriaInvalid)\n .change(clearAriaInvalid);\n },\n };\n\n if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n passwordFieldObject.params = {};\n passwordFieldObject.params.showPasswordToggle = true;\n }\n return passwordFieldObject;\n },\n\n isCustomized: function(property) {\n const language = this.settings.get('language');\n const i18n = this.settings.get('i18n');\n const customizedProperty = i18n && i18n[language] && i18n[language][property];\n\n return !!customizedProperty;\n },\n\n // TODO fix method name typo\n getRemeberMeCheckbox: function() {\n return {\n label: false,\n placeholder: loc('remember', 'login'),\n name: 'remember',\n type: 'checkbox',\n 'label-top': true,\n className: 'margin-btm-0',\n initialize: function() {\n this.listenTo(this.model, 'change:remember', function(model, val) {\n // OKTA-98946: We normally re-render on changes to model values,\n // but in this case we will manually update the checkbox due to\n // iOS Safari and how it handles autofill - it will autofill the\n // form anytime the dom elements are re-rendered, which prevents\n // the user from editing their username.\n this.$(':checkbox').prop('checked', val).trigger('updateState');\n });\n },\n };\n },\n\n focus: function() {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n } else if (!this.settings.get('features.passwordlessAuth')) {\n this.getInputs().toArray()[1].focus();\n }\n if (this.settings.get('features.trackTypingPattern')) {\n TypingUtil.track('okta-signin-username');\n }\n },\n});\n","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nconst SubSchemaSubSchema = View.extend({\n index: '',\n message: '',\n class: function() {\n return;\n },\n className: function() {\n return 'subschema-unsatisfied subschema-' + this.index;\n },\n template: hbs(\n '\\\n

            \\\n \\\n {{message}}\\\n

            \\\n '\n ),\n getTemplateData: function() {\n return {\n message: this.message,\n };\n },\n});\nexport default View.extend({\n className: 'subschema',\n\n children: function() {\n return this.subSchemas.map(function(subSchema, index) {\n const description = subSchema.get('description');\n const message = description;\n // TODO API should send translated strings instead of i18n code inside description\n // or send param with i18n code\n\n return SubSchemaSubSchema.extend({\n index: index,\n message: message,\n });\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport Enums from 'util/Enums';\nconst CAN_REMOVE_BEACON_CLS = 'can-remove-beacon';\nexport default View.extend({\n tagName: 'main',\n className: 'auth-container main-container',\n id: Enums.WIDGET_CONTAINER_ID,\n attributes: { 'data-se': 'auth-container', tabindex: '-1' },\n initialize: function(options) {\n this.listenTo(options.appState, 'change:beaconType', function(model, type) {\n this.$el.toggleClass(CAN_REMOVE_BEACON_CLS, type === 'security');\n });\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n template: hbs(\n '\\\n
            \\\n \\\n

            {{i18n code=\"contact.support\" bundle=\"login\" arguments=\"helpSupportNumber\"}}

            \\\n
            '\n ),\n className: 'contact-support',\n\n getTemplateData: function() {\n return this.settings.pick('helpSupportNumber');\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 8] */\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Factor from 'v1/models/Factor';\nimport Q from 'q';\nimport FactorUtil from 'util/FactorUtil';\nimport FactorsDropDown from 'v1/views/mfa-verify/dropdown/FactorsDropDown';\nexport default View.extend({\n template: hbs(\n '\\\n
            \\\n
            \\\n
            \\\n
            \\\n \\\n
            \\\n
            \\\n '\n ),\n\n events: {\n 'click .auth-beacon-factor': function(e) {\n e.preventDefault();\n e.stopPropagation();\n const expanded = this.$('.dropdown .options').toggle().is(':visible');\n\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n },\n },\n\n initialize: function() {\n this.options.appState.set('beaconType', 'factor');\n },\n\n getTemplateData: function() {\n const factors = this.options.appState.get('factors');\n let factor;\n let className;\n\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider, this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'));\n }\n className = factor.get('iconClassName');\n return { className: className || '' };\n },\n\n postRender: function() {\n if (this.options.animate) {\n this.$('.auth-beacon-factor').fadeIn(200);\n }\n const appState = this.options.appState;\n\n if (appState.get('hasMultipleFactorsAvailable')) {\n this.add(FactorsDropDown, '[data-type=\"factor-types-dropdown\"]');\n }\n },\n\n fadeOut: function() {\n const deferred = Q.defer();\n\n this.$('.auth-beacon-factor').fadeOut(200, function() {\n deferred.resolve();\n });\n return deferred.promise;\n },\n\n equals: function(Beacon, options) {\n return (\n Beacon &&\n this instanceof Beacon &&\n options.provider === this.options.provider &&\n (options.factorType === this.options.factorType ||\n (FactorUtil.isOktaVerify(options.provider, options.factorType) &&\n FactorUtil.isOktaVerify(this.options.provider, this.options.factorType)))\n );\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nconst { Util } = internal.util;\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"needhelp\" bundle=\"login\"}}\\\n \\\n \\\n '\n ),\n className: 'auth-footer',\n\n initialize: function() {\n this.listenTo(this.state, 'change:enabled', function(model, enable) {\n this.$('.link').toggleClass('o-form-disabled', !enable);\n });\n },\n\n getTemplateData: function() {\n let helpLinkUrl;\n const customHelpPage = this.settings.get('helpLinks.help');\n\n if (customHelpPage) {\n helpLinkUrl = customHelpPage;\n } else {\n helpLinkUrl = hbs('{{baseUrl}}/help/login')({ baseUrl: this.settings.get('baseUrl') });\n }\n return _.extend(this.settings.toJSON({ verbose: true }), { helpLinkUrl: helpLinkUrl });\n },\n postRender: function() {\n this.$('.js-help-links').hide();\n },\n toggleLinks: function(e) {\n e.preventDefault();\n\n this.$('.js-help-links').slideToggle(200, () => {\n this.$('.js-help').attr('aria-expanded', this.$('.js-help-links').is(':visible'));\n });\n },\n events: {\n 'click .js-help': function(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n this.toggleLinks(e);\n },\n 'click .js-forgot-password': function(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n const customResetPasswordPage = this.settings.get('helpLinks.forgotPassword');\n\n if (customResetPasswordPage) {\n Util.redirect(customResetPasswordPage);\n } else {\n this.options.appState.trigger('navigate', 'signin/forgot-password');\n }\n },\n 'click .js-unlock': function(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n const customUnlockPage = this.settings.get('helpLinks.unlock');\n\n if (customUnlockPage) {\n Util.redirect(customUnlockPage);\n } else {\n this.options.appState.trigger('navigate', 'signin/unlock');\n }\n },\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FooterSignout from './FooterSignout';\n\nexport default FooterSignout.extend({\n template: hbs(\n '\\\n {{#if hasFactorPageCustomLink}}\\\n \\\n {{factorPageCustomLinkText}}\\\n \\\n {{/if}}\\\n {{#if showLink}}\\\n \\\n {{linkText}}\\\n \\\n {{/if}}\\\n '\n ),\n className: 'auth-footer clearfix',\n getTemplateData: function() {\n const signoutTemplateData = FooterSignout.prototype.getTemplateData.apply(this, arguments);\n const factorPageCustomLinkHref = this.settings.get('helpLinks.factorPage.href');\n const factorPageCustomLinkText = this.settings.get('helpLinks.factorPage.text');\n const showLink = !this.settings.get('features.hideSignOutLinkInMFA') &&\n !this.settings.get('features.mfaOnlyFlow');\n return Object.assign({}, signoutTemplateData, {\n hasFactorPageCustomLink: factorPageCustomLinkText && factorPageCustomLinkHref,\n factorPageCustomLinkHref,\n factorPageCustomLinkText,\n showLink,\n });\n },\n});\n","/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n template: hbs(\n '\\\n
            \\\n {{label}}\\\n {{text}}\\\n
            \\\n '\n ),\n className: 'registration-container',\n\n events: {\n 'click a.registration-link': 'handleClickEvent',\n },\n\n handleClickEvent: function(e) {\n e.preventDefault();\n const clickHandler = this.settings.get('registration.click');\n\n if (clickHandler) {\n clickHandler();\n } else if (this.options.appState.get('isIdxStateToken')) {\n this.options.appState.trigger('navigate', 'signin/enroll-user');\n } else {\n this.options.appState.trigger('navigate', 'signin/register');\n }\n },\n\n getTemplateData: function() {\n const templateData = {\n label: loc('registration.signup.label', 'login'),\n text: loc('registration.signup.text', 'login'),\n };\n\n return templateData;\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, View, loc, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nconst { Util } = internal.util;\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{linkText}}\\\n \\\n '\n ),\n className: 'auth-footer clearfix',\n events: {\n 'click a[data-se=\"signout-link\"]': 'handleSignout',\n },\n handleSignout: function(e) {\n e.preventDefault();\n\n const appState = this.options.appState;\n appState.trigger('signOut');\n const isSMSPasswordRecovery = appState.get('isSMSPasswordRecovery');\n\n this.model\n .doTransaction(function(transaction) {\n // `clearTransactionData` was added as a temporary fix for the issue reported in OKTA-487220\n // OKTA-515889 was created to address the underlying issue on the `transaction.cancel` level\n // and this temporary fix will be removed after that ticket is done\n return transaction.cancel().then(clearTransactionData);\n })\n .then(() => {\n if (this.settings.get('backToSignInUri') && !isSMSPasswordRecovery) {\n Util.redirect(this.settings.get('backToSignInUri'));\n } else {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n appState.trigger('navigate', '');\n }\n });\n },\n getTemplateData: function() {\n return {\n linkClassName: _.isUndefined(this.options.linkClassName) ? 'goto' : this.options.linkClassName,\n linkText: this.options.linkText || loc('goback', 'login'),\n };\n },\n});\n\n// TODO: remove after OKTA-515889 is done\nfunction clearTransactionData(transaction) {\n return { ...transaction, data: null };\n}\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nexport default View.extend({\n template: hbs(\n '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .help': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nexport default View.extend({\n template: hbs(\n '\\\n {{#if showLink}}\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n '\n ),\n className: 'auth-footer',\n events: {\n 'click .help': function(e) {\n e.preventDefault();\n this.back();\n },\n },\n back: function() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n getTemplateData: function() {\n const error = this.model.appState.get('flashError');\n const showLink = error.is && error.is('terminal');\n return {\n showLink: showLink\n };\n }\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n template: hbs(\n '\\\n
            \\\n
            \\\n \\\n
            \\\n '\n ),\n\n equals: function(Beacon) {\n return Beacon && this instanceof Beacon;\n },\n});\n","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nexport default View.extend({\n className: 'piv-beacon',\n template: hbs(\n '\\\n
            \\\n
            \\\n
            \\\n
            \\\n \\\n
            \\\n '\n ),\n\n equals: function(Beacon) {\n return Beacon && this instanceof Beacon;\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport FactorUtil from 'util/FactorUtil';\nexport default View.extend({\n template: hbs`{{#if requirements}}\n
            \n {{i18n code=\"password.complexity.requirements.header\" bundle=\"login\"}}\n
            \n
              \n {{#each requirements}}
            • {{this}}
            • {{/each}}\n
            \n {{/if}}`,\n\n attributes: {\n 'data-se': 'password-requirements-html',\n },\n\n allRequirements: [],\n\n initialize: function(options) {\n const policy = options.policy;\n\n if (!policy) {\n return;\n }\n\n this.allRequirements = FactorUtil.getPasswordComplexityDescriptionForHtmlList(policy);\n },\n\n getTemplateData: function() {\n return {\n requirements: this.allRequirements,\n };\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, $, loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Animations from 'util/Animations';\n\nfunction setBackgroundImage(el, appState) {\n const imgSrc = appState.get('securityImage');\n const imgDescription = appState.get('securityImageDescription');\n const isUndefinedUser = appState.get('isUndefinedUser');\n const isNewUser = appState.get('isNewUser');\n const isSecurityImage = !isUndefinedUser && !isNewUser;\n // NOTE: The imgSrc is returned by the server so that every\n // user has a unique image. However new and undefined user states\n // are hard coded into the css and the value returned by the server\n // is ignored.\n\n el.css('background-image', '');\n el.removeClass('new-user undefined-user');\n if (isNewUser) {\n el.addClass('new-user');\n return;\n }\n if (isUndefinedUser) {\n el.addClass('undefined-user');\n return;\n }\n if (isSecurityImage) {\n // TODO: Newer versions of qtip will remove aria-describedby on their own when destroy() is called.\n el.removeAttr('aria-describedby');\n el.find('.accessibility-text').text(imgDescription);\n el.css('background-image', 'url(' + _.escape(imgSrc) + ')');\n return;\n }\n}\n\nfunction antiPhishingMessage(image, host) {\n $(window).on(\n 'resize.securityBeaconQtip',\n _.debounce(function() {\n if (image.is(':visible')) {\n image.qtip('show');\n }\n }, 300)\n );\n\n // Show the message that the user has not logged in from this device before.\n image.qtip({\n prerender: true,\n content: {\n text: loc('primaryauth.newUser.tooltip', 'login', [_.escape(host)]),\n button: loc('primaryauth.newUser.tooltip.close', 'login'),\n },\n style: {\n classes: 'okta-security-image-tooltip security-image-qtip qtip-custom qtip-shadow qtip-rounded',\n tip: { height: 12, width: 16 },\n },\n position: {\n my: 'top center',\n at: 'center',\n target: $('.auth-beacon-security'),\n adjust: { method: 'flip', scroll: false, resize: true },\n effect: false,\n },\n hide: { event: false, fixed: true },\n show: { event: false, delay: 200 },\n events: {\n move: function(event, api) {\n if (!api.elements.target.is(':visible')) {\n // Have to hide it immediately, with no effect\n api.set('hide.effect', false);\n api.hide();\n api.set('hide.effect', true);\n }\n },\n },\n });\n\n // It is necessary to delay toggle to the next render cycle, since qtip internally defers some setup tasks.\n setTimeout(() => {\n image.qtip('toggle', image.is(':visible'));\n }, 0);\n}\n\nfunction destroyAntiPhishingMessage(image) {\n image.qtip('destroy');\n $(window).off('resize.securityBeaconQtip');\n}\n\nasync function updateSecurityImage($el, appState, animate) {\n const image = $el.find('.auth-beacon-security');\n const border = $el.find('.js-auth-beacon-border');\n const hasBorder = !appState.get('isUndefinedUser');\n const hasAntiPhishing = appState.get('isNewUser');\n const radialProgressBar = $el.find('.radial-progress-bar');\n const host = appState.get('baseUrl').match(/https?:\\/\\/(.[^/]+)/)[1];\n const duration = 200;\n\n if (!animate) {\n // Do not animate the security beacon\n // This occurs when initializing the form\n setBackgroundImage(image, appState);\n border.toggleClass('auth-beacon-border', hasBorder);\n return;\n }\n\n destroyAntiPhishingMessage(image);\n\n // Animate loading the security beacon\n if (!hasBorder) {\n // This occurs when appState username is blank\n // we do not yet know if the user is recognized\n image.fadeOut(duration, function() {\n setBackgroundImage(image, appState);\n border.removeClass('auth-beacon-border');\n image.fadeIn(duration);\n });\n } else {\n // Animate loading the security beacon with a loading bar for the border\n // This occurs when the username has been checked against Okta.\n border.removeClass('auth-beacon-border');\n await Animations.radialProgressBar({\n $el: radialProgressBar,\n swap() {\n image.fadeOut(duration, () => {\n setBackgroundImage(image, appState);\n image.fadeIn(duration);\n });\n },\n });\n border.addClass('auth-beacon-border');\n if (hasAntiPhishing) {\n antiPhishingMessage(image, host);\n }\n }\n}\n\nexport default View.extend({\n template: hbs(\n '\\\n
            \\\n
            \\\n
            \\\n
            \\\n
            \\\n
            \\\n
            \\\n \\\n \\\n
            \\\n '\n ),\n className: 'js-security-beacon',\n\n initialize: function(options) {\n this.update = _.partial(updateSecurityImage, this.$el, options.appState);\n this.listenTo(options.appState, 'change:securityImage', this.update);\n this.listenTo(options.appState, 'loading', function(isLoading) {\n this.$el.toggleClass('beacon-loading', isLoading);\n this.removeAntiPhishingMessage();\n });\n this.options.appState.set('beaconType', 'security');\n\n this.listenTo(options.appState, 'navigate', this.removeAntiPhishingMessage);\n },\n\n postRender: function() {\n this.update(false);\n },\n\n equals: function(Beacon) {\n return Beacon && this instanceof Beacon;\n },\n\n removeAntiPhishingMessage: function() {\n const image = this.$el.find('.auth-beacon-security');\n\n image.qtip('destroy');\n },\n});\n","import { loc, View } from '@okta/courage';\nimport Enums from 'util/Enums';\n\nexport default View.extend({\n tagName: 'a',\n className: 'skip-to-content-link',\n attributes: { href: `#${Enums.WIDGET_CONTAINER_ID}` },\n initialize: function initialize() {\n this.$el.append(loc('skip.to.main.content', 'login'));\n }\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nexport default View.extend({\n className: 'okta-waiting-spinner',\n attributes: {\n 'data-se': 'o-form-okta-waiting-spinner',\n },\n modelEvents: {\n 'spinner:show': 'show',\n 'spinner:hide': 'hide',\n },\n\n initialize: function(options) {\n if (options && options.visible === false) {\n this.hide();\n }\n },\n\n show: function() {\n this.$el.removeClass('hide');\n },\n\n hide: function() {\n this.$el.addClass('hide');\n },\n});\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n//note: not including Okta here and explicitly including jquery and Handlebars\n//because we want to be explicit about which TextBox we are extending here\n//and want to avoid the cirucular dependency that occurs if we\n//include Okta\nimport { internal } from '@okta/courage';\nimport '@okta/qtip';\nimport BrowserFeatures from 'util/BrowserFeatures';\nconst { TextBox } = internal.views.forms.inputs;\nexport default TextBox.extend({\n postRender: function() {\n if (this.options.type === 'number') {\n const input = this.$('input');\n\n input.attr({\n pattern: '[0-9]*',\n inputmode: 'numeric',\n });\n }\n TextBox.prototype.postRender.apply(this, arguments);\n },\n // Override the focus() to ignore focus in IE. IE (8-11) has a known bug where\n // the placeholder text disappears when the input field is focused.\n focus: function() {\n if (BrowserFeatures.isIE()) {\n return;\n }\n return TextBox.prototype.focus.apply(this, arguments);\n },\n});\n","import hbs from '@okta/handlebars-inline-precompile';\n\nconst consentLogoHeaderTemplate = hbs`{{#if clientURI}}\n \n{{/if}}\n{{#if customLogo}}\n \n{{/if}}\n

            \n {{{i18n code=\"consent.required.text\" bundle=\"login\" arguments=\"appName\"}}}\n {{#if issuer}}\n
            {{issuer}}
            \n {{/if}}\n

            `;\n\nexport default consentLogoHeaderTemplate;\n","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nconst CONFIGURED_FLOW = {\n DEFAULT: 'default',\n PROCEED: 'proceed',\n LOGIN: 'login',\n REGISTRATION: 'signup',\n RESET_PASSWORD: 'resetPassword',\n UNLOCK_ACCOUNT: 'unlockAccount',\n};\n\nexport {\n CONFIGURED_FLOW,\n};","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n// This file attempts to mimic the behavior of a popular hack of the V1 Router, which allowed for the widget to be\n// initialized into a specific form/flow (like Register or Reset Password). To achieve this, an attempt is made to\n// call `idxState.proceed()` with a known remediation depending on the `flow` configuration to \"step\" the widget\n// (and the server's state) to the desired flow/form. The remediation is not guaranteed to be available \n// and will default to the original idx response otherwise. This depends on the Org configurations\nimport { ConfigError } from 'util/Errors';\nimport Logger from 'util/Logger';\nimport { FORMS } from '../ion/RemediationConstants';\nimport { CONFIGURED_FLOW } from './constants';\n\n\n// checks if \"desired\" remeidation is available before calling `.proceed`\n// if not available, returns original idxResponse (and logs warning)\nasync function proceedIfAvailable(idxState, remediation, flow) {\n const rem = idxState.neededToProceed.find(item => item.name === remediation);\n if (!rem) {\n Logger.warn('Expected remediation not found, Org may be misconfigured for this flow');\n return idxState;\n }\n\n try {\n const nextIdxState = await idxState.proceed(remediation);\n return nextIdxState;\n }\n catch (err) {\n // catches and handles `Unknown remediation` errors thrown okta-idx-js\n if (typeof err === 'string' && err.startsWith('Unknown remediation choice')) {\n Logger.warn(`flow [${flow}] not valid with current Org configurations`);\n return idxState;\n }\n else {\n // do not catch non-`Unknown remediation` errors here\n throw err;\n }\n }\n}\n\n// attempts to \"step into\" a specific flow by calling `.proceed` with a specific remeidation (or calls an action)\n// the \"desired\" remeidation is not guaranteed to be available, depends upon Org configurations\nasync function stepIntoSpecificIdxFlow(idxState, flow='default') {\n switch (flow) {\n case CONFIGURED_FLOW.DEFAULT:\n case CONFIGURED_FLOW.PROCEED:\n case CONFIGURED_FLOW.LOGIN:\n // default IDX response from interact is \"Login\" page/flow. Do nothing\n return idxState;\n\n // step logic is handled by auth-js\n case CONFIGURED_FLOW.REGISTRATION:\n case CONFIGURED_FLOW.RESET_PASSWORD:\n return idxState;\n\n case CONFIGURED_FLOW.UNLOCK_ACCOUNT:\n // requires: introspect -> identify-recovery -> select-authenticator-unlock-account\n return await proceedIfAvailable(idxState, FORMS.UNLOCK_ACCOUNT, flow);\n\n default:\n Logger.warn(`Unknown \\`flow\\` value: ${flow}`);\n throw new ConfigError('Invalid \"flow\" configuration');\n }\n}\n\n// ensures the `flow` stored in the transaction meta matches the flow configuration\n// if they do not match, abandon the current (meta) flow and start a new (configured) flow\nexport async function handleConfiguredFlow(originalResp, settings) {\n const authClient = settings.getAuthClient();\n const configuredFlow = authClient.idx.getFlow();\n\n // attempts to step into the desired flow\n const idxState = await stepIntoSpecificIdxFlow(originalResp, configuredFlow);\n return idxState;\n}\n","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from './interactionCodeFlow';\nexport * from './startLoginFlow';\nexport * from './handleConfiguredFlow';\nexport * from './constants';\nexport * from './updateAppState';\n","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Enums from 'util/Enums';\nimport { ConfigError } from 'util/Errors';\nimport { toQueryString } from '@okta/okta-auth-js';\nimport { getTypedOAuthError, RecoverableError } from 'util/OAuthErrors';\n\n// eslint-disable-next-line max-statements\nexport async function interactionCodeFlow(settings, idxResponse) {\n const { interactionCode } = idxResponse;\n const authClient = settings.getAuthClient();\n const transactionMeta = await authClient.idx.getSavedTransactionMeta();\n const state = authClient.options.state || transactionMeta?.state;\n\n // In remediation mode the transaction is owned by another client.\n const isRemediationMode = settings.get('mode') === 'remediation';\n if (isRemediationMode) {\n authClient.idx.clearTransactionMeta();\n }\n \n // server-side applications will want to received interaction_code as a query parameter\n // this option can also be used to force a redirect for client-side/SPA applications\n const shouldRedirect = settings.get('redirect') === 'always';\n if (shouldRedirect) {\n const redirectUri = settings.get('redirectUri');\n if (!redirectUri) {\n throw new ConfigError('\"redirectUri\" is required');\n }\n const qs = toQueryString({ 'interaction_code': interactionCode, state });\n window.location.assign(redirectUri + qs);\n return;\n }\n \n // Return a promise (or call success callback) to client-side apps in remediation mode.\n if (isRemediationMode) {\n settings.callGlobalSuccess(Enums.SUCCESS, {\n 'interaction_code': interactionCode,\n state\n });\n return;\n }\n\n // Operating in \"relying-party\" mode. The widget owns this transaction.\n // Complete the transaction client-side and call success/resolve promise\n if (!transactionMeta) {\n throw new ConfigError('Could not load transaction data from storage');\n }\n const { codeVerifier } = transactionMeta;\n return authClient.token.exchangeCodeForTokens({ codeVerifier, interactionCode })\n .then(({ tokens }) => {\n settings.callGlobalSuccess(Enums.SUCCESS, { tokens });\n })\n .catch(err => {\n const typedError = getTypedOAuthError(err);\n if (typedError instanceof RecoverableError && typedError.is('terminal')) {\n throw typedError;\n }\n settings.callGlobalError(err);\n })\n .finally(() => {\n // clear all meta related to this transaction\n authClient.idx.clearTransactionMeta();\n });\n}\n","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nconst STATE_HANDLE_SESSION_STORAGE_KEY = 'osw-oie-state-handle';\nconst LAST_INITIATED_LOGIN_URL_SESSION_STORAGE_KEY = 'osw-oie-last-initiated-login-url';\nconst RESEND_TIMESTAMP_SESSION_STORAGE_KEY = 'osw-oie-resend-timestamp';\n\nconst removeStateHandle = () => {\n sessionStorage.removeItem(STATE_HANDLE_SESSION_STORAGE_KEY);\n sessionStorage.removeItem(LAST_INITIATED_LOGIN_URL_SESSION_STORAGE_KEY);\n};\nconst setStateHandle = (token) => {\n sessionStorage.setItem(STATE_HANDLE_SESSION_STORAGE_KEY, token);\n sessionStorage.setItem(LAST_INITIATED_LOGIN_URL_SESSION_STORAGE_KEY, window.location.href);\n};\nconst getStateHandle = () => {\n return sessionStorage.getItem(STATE_HANDLE_SESSION_STORAGE_KEY);\n};\nconst getLastInitiatedLoginUrl = () => {\n return sessionStorage.getItem(LAST_INITIATED_LOGIN_URL_SESSION_STORAGE_KEY);\n};\nconst removeResendTimestamp = () => {\n sessionStorage.removeItem(RESEND_TIMESTAMP_SESSION_STORAGE_KEY);\n};\nconst setResendTimestamp = (token) => {\n sessionStorage.setItem(RESEND_TIMESTAMP_SESSION_STORAGE_KEY, token);\n};\nconst getResendTimestamp = () => {\n return sessionStorage.getItem(RESEND_TIMESTAMP_SESSION_STORAGE_KEY);\n};\n\n\nexport default {\n removeStateHandle,\n setStateHandle,\n getStateHandle,\n getLastInitiatedLoginUrl,\n removeResendTimestamp,\n setResendTimestamp,\n getResendTimestamp\n};\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport _ from 'underscore';\nimport { getMessage, getMessageKey } from './i18nUtils';\n\nconst convertErrorMessageToErrorSummary = (formName, remediationValues = []) => {\n return _.chain(remediationValues)\n .filter(field => {\n return Array.isArray(field.messages?.value) && field.messages.value.length;\n })\n .map(field => {\n return {\n property: formName ? `${formName}.${field.name}` : field.name,\n errorSummary: field.messages.value.map(getMessage),\n errorKey: field.messages.value.map(getMessageKey),\n };\n })\n .value();\n};\n\n/**\n * Although time complexity is O(n^2),\n * the `array` is actually very small (size < 5),\n * hence performance doesn't matter.\n */\nconst uniqWith = (array, comparator) => {\n if (!Array.isArray(array)) {\n return [];\n }\n if (!_.isFunction(comparator) || array.length === 1) {\n return array;\n }\n\n const result = [];\n for (let i = 0; i < array.length; i++) {\n let seen = false;\n for (let j = i + 1; j < array.length; j++) {\n /* eslint max-depth: [2, 3] */\n if (comparator(array[i], array[j])) {\n seen = true;\n break;\n }\n }\n if (!seen) {\n result.push(array[i]);\n }\n }\n\n return result;\n};\n\n/**\n * returns errors\n * @example\n * errors = [\n * {property : fieldName1, errorSummary: [errorMessage1]},\n * {property : fieldName2, errorSummary: [errorMessage2]}\n * {property : fieldName3, errorSummary: [errorMessage31, errorMessage32]}\n * ]\n */\nconst getRemediationErrors = (res) => {\n let errors = [];\n\n if (!res.remediation || !Array.isArray(res.remediation.value) || res.remediation.value.length === 0) {\n return errors;\n }\n let remediationFormFields = res.remediation.value[0].value;\n\n if (!Array.isArray(remediationFormFields)) {\n return errors;\n }\n\n // error at field\n errors.push(convertErrorMessageToErrorSummary(null, remediationFormFields));\n\n _.each(remediationFormFields, (remediationForm) => {\n const formName = remediationForm.name;\n\n // error at form.value\n if (Array.isArray(remediationForm.form?.value)) {\n errors.push(convertErrorMessageToErrorSummary(formName, remediationForm.form.value));\n }\n\n // error at option.value.form.value\n if (Array.isArray(remediationForm.options)) {\n _.each(remediationForm.options, (option) => {\n if (Array.isArray(option.value?.form?.value)) {\n errors.push(convertErrorMessageToErrorSummary(formName, option.value.form.value));\n }\n });\n }\n });\n\n // API may return identical error on same field\n // thus run through `uniqWith`.\n // Check unit test for details.\n return uniqWith(_.flatten(errors), _.isEqual);\n};\n\n/**\n * return global error summary combined into one string\n * allErrors = 'error string1. error string2'\n */\nconst getGlobalErrors = (res) => {\n let allErrors = [];\n\n if (Array.isArray(res.messages?.value)) {\n allErrors = res.messages.value.map(getMessage);\n }\n\n return allErrors.join('. ');\n};\n\n/**\n * return array of error keys\n */\nconst getGlobalErrorKeys = (res) => {\n let allKeys = [];\n\n if (Array.isArray(res.messages?.value)) {\n allKeys = res.messages.value.map(getMessageKey);\n }\n\n return allKeys;\n};\n\nconst convertFormErrors = (response) => {\n let errors = {\n errorCauses: getRemediationErrors(response),\n errorSummary: getGlobalErrors(response),\n errorSummaryKeys: getGlobalErrorKeys(response),\n errorIntent: response.intent,\n };\n\n return {\n responseJSON: errors\n };\n};\n\nconst isIonErrorResponse = (response = {}) => {\n // check if error format is an ION response by looking for version attribute.\n // a little sloppy.\n return response.version;\n};\n\nconst isIdxSessionExpiredError = (response) => {\n const errorI18NKey = response?.context?.messages?.value[0]?.i18n?.key;\n return errorI18NKey && errorI18NKey === 'idx.session.expired';\n};\n\nexport default {\n convertFormErrors,\n isIonErrorResponse,\n isIdxSessionExpiredError\n};\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Enums from 'util/Enums';\n\n/**\n * Structure of FORMS object:\n * { [CONSTANT]: remediationForm.name }\n */\nconst FORMS = {\n IDENTIFY: 'identify',\n SELECT_IDENTIFY: 'select-identify',\n IDENTIFY_RECOVERY: 'identify-recovery',\n SELECT_ENROLL_PROFILE: 'select-enroll-profile',\n ENROLL_PROFILE: 'enroll-profile',\n ENROLL_PROFILE_UPDATE: 'profile-update',\n UNLOCK_ACCOUNT: 'unlock-account',\n REQUEST_ACTIVATION: 'request-activation-email',\n\n CONSENT_ADMIN: 'admin-consent',\n CONSENT_ENDUSER: 'consent',\n CONSENT_GRANULAR: 'granular-consent',\n CONSENT_EMAIL_CHALLENGE: 'email-challenge-consent',\n\n SELECT_AUTHENTICATOR_AUTHENTICATE: 'select-authenticator-authenticate',\n SELECT_AUTHENTICATOR_UNLOCK: 'select-authenticator-unlock-account',\n\n AUTHENTICATOR_VERIFICATION_DATA: 'authenticator-verification-data',\n CHALLENGE_AUTHENTICATOR: 'challenge-authenticator',\n CHALLENGE_WEBAUTHN_AUTOFILLUI_AUTHENTICATOR: 'challenge-webauthn-autofillui-authenticator',\n CHALLENGE_POLL: 'challenge-poll',\n RESEND: 'resend',\n\n SELECT_AUTHENTICATOR_ENROLL: 'select-authenticator-enroll',\n SELECT_AUTHENTICATOR_ENROLL_DATA: 'select-authenticator-enroll-data',\n AUTHENTICATOR_ENROLLMENT_DATA: 'authenticator-enrollment-data',\n ENROLL_AUTHENTICATOR: 'enroll-authenticator',\n SELECT_ENROLLMENT_CHANNEL: 'select-enrollment-channel',\n ENROLLMENT_CHANNEL_DATA: 'enrollment-channel-data',\n ENROLL_POLL: 'enroll-poll',\n REENROLL_AUTHENTICATOR: 'reenroll-authenticator',\n REENROLL_AUTHENTICATOR_WARNING: 'reenroll-authenticator-warning',\n REENROLL_CUSTOM_PASSWORD_EXPIRY: 'reenroll-custom-password-expiry',\n REENROLL_CUSTOM_PASSWORD_EXPIRY_WARNING: 'reenroll-custom-password-expiry-warning',\n RESET_AUTHENTICATOR: 'reset-authenticator',\n SKIP: 'skip',\n POLL: 'poll',\n\n FAILURE_REDIRECT: 'failure-redirect',\n SUCCESS_REDIRECT: 'success-redirect',\n REDIRECT_IDP: 'redirect-idp',\n REDIRECT_IDVERIFY: 'redirect-idverify',\n PIV_IDP: 'piv-idp',\n\n DEVICE_CHALLENGE_POLL: 'device-challenge-poll',\n DEVICE_APPLE_SSO_EXTENSION: 'device-apple-sso-extension',\n CANCEL_TRANSACTION: 'cancel-transaction',\n LAUNCH_AUTHENTICATOR: 'launch-authenticator',\n LAUNCH_WEBAUTHN_AUTHENTICATOR: 'launch-webauthn-authenticator',\n ENROLL_WEBAUTHN_RESIDENTKEY: 'enroll-webauthn-residentkey',\n\n DEVICE_ENROLLMENT_TERMINAL: 'device-enrollment-terminal',\n\n USER_CODE: 'user-code',\n\n KEEP_ME_SIGNED_IN: 'keep-me-signed-in',\n\n DEVICE_ASSURANCE_GRACE_PERIOD: 'device-assurance-grace-period',\n\n // 'terminal` is not ION Form name but only coined in widget\n // for rendering a page that user has nothing to remediate.\n TERMINAL: 'terminal',\n};\n// Forms added here do not show the Sign out link\nconst FORMS_WITHOUT_SIGNOUT = [\n FORMS.IDENTIFY,\n FORMS.SUCCESS_REDIRECT,\n FORMS.ENROLL_PROFILE,\n FORMS.DEVICE_ENROLLMENT_TERMINAL,\n FORMS.CONSENT_ADMIN,\n FORMS.CONSENT_ENDUSER,\n FORMS.CONSENT_GRANULAR,\n FORMS.CONSENT_EMAIL_CHALLENGE,\n FORMS.USER_CODE,\n FORMS.KEEP_ME_SIGNED_IN\n];\n\nconst FORMS_WITH_STATIC_BACK_LINK = [\n FORMS.SELECT_AUTHENTICATOR_ENROLL,\n FORMS.SELECT_AUTHENTICATOR_AUTHENTICATE\n];\n\nconst FORMS_FOR_VERIFICATION = [\n FORMS.SELECT_AUTHENTICATOR_AUTHENTICATE,\n FORMS.CHALLENGE_AUTHENTICATOR,\n FORMS.CHALLENGE_POLL,\n FORMS.RESEND\n];\n\nconst AUTHENTICATOR_KEY = {\n EMAIL: 'okta_email',\n PASSWORD: 'okta_password',\n PHONE: 'phone_number',\n WEBAUTHN: 'webauthn',\n SECURITY_QUESTION: 'security_question',\n OV: 'okta_verify',\n GOOGLE_OTP: 'google_otp',\n ON_PREM: 'onprem_mfa',\n RSA: 'rsa_token',\n DUO: 'duo',\n IDP: 'external_idp',\n CUSTOM_OTP: 'custom_otp',\n SYMANTEC_VIP: 'symantec_vip',\n YUBIKEY: 'yubikey_token',\n CUSTOM_APP: 'custom_app',\n SMARTCARD: 'smart_card_idp'\n};\n\nconst AUTHENTICATOR_METHODS = {\n PUSH: 'push',\n};\n\nconst FORM_NAME_TO_OPERATION_MAP = {\n [FORMS.SELECT_AUTHENTICATOR_UNLOCK]: Enums.UNLOCK_ACCOUNT,\n [FORMS.IDENTIFY]: Enums.PRIMARY_AUTH,\n [FORMS.IDENTIFY_RECOVERY]: Enums.FORGOT_PASSWORD,\n};\n\nconst ENROLLED_PASSWORD_RECOVERY_LINK = 'currentAuthenticatorEnrollment-recover';\nconst ORG_PASSWORD_RECOVERY_LINK = 'currentAuthenticator-recover';\nconst ACTIONS = {\n ENROLLED_PASSWORD_RECOVERY_LINK,\n ORG_PASSWORD_RECOVERY_LINK\n};\n\n// Possible Remediation Form Field Hints\nconst HINTS = {\n CAPTCHA: 'captcha',\n};\n\nconst TERMINAL_FORMS = [\n FORMS.TERMINAL,\n FORMS.DEVICE_ENROLLMENT_TERMINAL,\n];\nconst IDP_FORM_TYPE = {\n X509: 'X509',\n};\n\n// Possible options for the SIW interstitial redirect view\nconst INTERSTITIAL_REDIRECT_VIEW = {\n DEFAULT: 'DEFAULT',\n NONE: 'NONE'\n};\n\nconst ATTR_FORMAT = {\n COUNTRY_CODE: 'country-code',\n};\n\nconst ID_PROOFING_TYPE = {\n IDV_PERSONA: 'IDV_PERSONA',\n IDV_CLEAR: 'IDV_CLEAR',\n IDV_INCODE: 'IDV_INCODE'\n};\n\nexport {\n ACTIONS,\n ORG_PASSWORD_RECOVERY_LINK,\n FORMS,\n FORMS_WITHOUT_SIGNOUT,\n FORMS_WITH_STATIC_BACK_LINK,\n FORMS_FOR_VERIFICATION,\n AUTHENTICATOR_KEY,\n AUTHENTICATOR_METHODS,\n FORM_NAME_TO_OPERATION_MAP,\n HINTS,\n TERMINAL_FORMS,\n IDP_FORM_TYPE,\n INTERSTITIAL_REDIRECT_VIEW,\n ATTR_FORMAT,\n ID_PROOFING_TYPE,\n};\n","/* eslint complexity: [2, 25] */\nimport { AUTHENTICATOR_KEY, FORMS } from './RemediationConstants';\n\nconst FORMNAME_CLASSNAME_MAPPINGS = {\n [FORMS.IDENTIFY]: {\n [FORMS.IDENTIFY]: 'primary-auth',\n [AUTHENTICATOR_KEY.PASSWORD]: 'primary-auth'\n },\n [FORMS.IDENTIFY_RECOVERY]: {\n [FORMS.IDENTIFY_RECOVERY]: 'forgot-password',\n },\n [FORMS.ENROLL_PROFILE]: {\n [FORMS.ENROLL_PROFILE]: 'registration',\n },\n [FORMS.CHALLENGE_AUTHENTICATOR]: {\n [AUTHENTICATOR_KEY.EMAIL]: 'mfa-verify-passcode',\n [AUTHENTICATOR_KEY.PASSWORD]: 'mfa-verify-password',\n sms: 'mfa-verify-passcode',\n voice: 'mfa-verify-passcode',\n [AUTHENTICATOR_KEY.SECURITY_QUESTION]: 'mfa-verify-question',\n [AUTHENTICATOR_KEY.WEBAUTHN]: 'mfa-verify-webauthn',\n [AUTHENTICATOR_KEY.ON_PREM]: 'mfa-verify-totp',\n [AUTHENTICATOR_KEY.RSA]: 'mfa-verify-totp',\n [AUTHENTICATOR_KEY.OV]: 'mfa-verify',\n [AUTHENTICATOR_KEY.GOOGLE_OTP]: 'mfa-verify',\n [AUTHENTICATOR_KEY.DUO]: 'mfa-verify-duo',\n [AUTHENTICATOR_KEY.SYMANTEC_VIP]: 'mfa-verify',\n [AUTHENTICATOR_KEY.YUBIKEY]: 'mfa-verify',\n [AUTHENTICATOR_KEY.CUSTOM_APP]: 'mfa-verify',\n },\n [FORMS.CHALLENGE_POLL]: {\n [AUTHENTICATOR_KEY.OV]: 'mfa-verify',\n [AUTHENTICATOR_KEY.CUSTOM_APP]: 'mfa-verify',\n },\n [FORMS.RESEND_PUSH]: {\n [AUTHENTICATOR_KEY.OV]: 'mfa-verify',\n [AUTHENTICATOR_KEY.CUSTOM_APP]: 'mfa-verify',\n },\n [FORMS.ENROLL_AUTHENTICATOR]: {\n [AUTHENTICATOR_KEY.EMAIL]: 'enroll-email',\n [AUTHENTICATOR_KEY.PASSWORD]: 'enroll-password',\n sms: 'enroll-sms',\n voice: 'enroll-call',\n [AUTHENTICATOR_KEY.SECURITY_QUESTION]: 'enroll-question',\n [AUTHENTICATOR_KEY.WEBAUTHN]: 'enroll-webauthn',\n [AUTHENTICATOR_KEY.ON_PREM]: 'enroll-onprem',\n [AUTHENTICATOR_KEY.RSA]: 'enroll-rsa',\n [AUTHENTICATOR_KEY.DUO]: 'enroll-duo',\n [AUTHENTICATOR_KEY.SYMANTEC_VIP]: 'enroll-symantec',\n [AUTHENTICATOR_KEY.YUBIKEY]: 'enroll-yubikey',\n },\n\n [FORMS.SELECT_AUTHENTICATOR_ENROLL]: {\n 'select-authenticator-enroll': 'enroll-choices'\n },\n [FORMS.SELECT_AUTHENTICATOR_AUTHENTICATE]: {\n [AUTHENTICATOR_KEY.PASSWORD]: 'forgot-password'\n },\n [FORMS.REENROLL_AUTHENTICATOR]: {\n [AUTHENTICATOR_KEY.PASSWORD]: 'password-expired'\n },\n [FORMS.REENROLL_CUSTOM_PASSWORD_EXPIRY]: {\n [AUTHENTICATOR_KEY.PASSWORD]: 'custom-password-expired'\n },\n [FORMS.REENROLL_CUSTOM_PASSWORD_EXPIRY_WARNING]: {\n [AUTHENTICATOR_KEY.PASSWORD]: 'custom-password-expiry-warning'\n },\n\n [FORMS.RESET_AUTHENTICATOR]: {\n [AUTHENTICATOR_KEY.PASSWORD]: 'forgot-password'\n },\n\n [FORMS.CONSENT_ADMIN]: {\n [FORMS.CONSENT_ADMIN]: 'admin-consent-required',\n },\n\n [FORMS.CONSENT_ENDUSER]: {\n [FORMS.CONSENT_ENDUSER]: 'consent-required',\n }\n};\n\nconst getV1ClassName = (formName, authenticatorKey, methodType, isPasswordRecoveryFlow) => {\n // if password reset flow from identifier page with recoveryAuthenticator add forgot-password class\n if (isPasswordRecoveryFlow && formName === FORMS.IDENTIFY) {\n return 'forgot-password';\n } else {\n let key = formName;\n if (authenticatorKey === AUTHENTICATOR_KEY.PHONE) {\n // Both sms and call have same type phone\n // currentAuthenticatorEnrollment is during verify and currentAuthenticator during enroll flows\n key = `${methodType}`;\n }\n else if (authenticatorKey) {\n key = `${authenticatorKey}`;\n }\n\n if (FORMNAME_CLASSNAME_MAPPINGS[formName] && FORMNAME_CLASSNAME_MAPPINGS[formName][key]) {\n return FORMNAME_CLASSNAME_MAPPINGS[formName][key];\n } else {\n return null;\n }\n }\n};\n\nconst getClassNameMapping = (formName, authenticatorKey, methodType, isPasswordRecoveryFlow) => {\n\n // 1. Generates V2 class name\n // If we have a type which is authenticatorType/methodType use that to generate a V2 className\n // Otherwise just use formName\n let v2ClassName = formName;\n if (authenticatorKey) {\n v2ClassName = v2ClassName + '--' + authenticatorKey;\n }\n\n // 2. do a lookup for any V1 classNames and concat\n let v1ClassName = getV1ClassName(\n formName,\n authenticatorKey,\n methodType,\n isPasswordRecoveryFlow,\n );\n const result = [v2ClassName];\n if (v1ClassName) {\n result.push(v1ClassName);\n }\n\n return result;\n};\n\nexport {\n getClassNameMapping,\n getV1ClassName\n};\n\n","/* eslint-disable max-len */\n/* eslint max-statements: [2, 25], complexity: [2, 15] */\n\n/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n// How this transformer work? //\n//\n// ## For Labels inside remediation forms\n// 1. Figure out Path for all Labels (for normal field, or options) or Placeholder (for checkbox),e.g.\n// - `identify.identifier`, this is the label for user name at identify page\n// - `select-authenticator-enroll.authenticator.email`,\n// this is for label for email authenticator at `select-authenticator-enroll` page\n// 2. Define a mapping between the path and i18n key. see `I18N_OVERRIDE_MAPPINGS`\n// - This mapping is subject to change when API starts sending i18n key along with label.\n// It probably becomes a mapping between API's i18n key and key in login.properties\n// in order to be backward compatible.\n// 3. Now find i18n value using such route: `i18n Path -> i18n key -> login.properties`\n// If found an i18n value, replace label by this i18n value.\n//\n// ## For top level messages\n// 1. Overwrite `message.message` if `message.i18n.key` exists in `login.properties`\n//\n// ## How to override mappings in I18N_OVERRIDE_MAPPINGS for localization?\n// Step 1. First search the string in login.properties and see if already exists or not\n// Step 2. Find idx response path, for eg. select-authenticator-enroll.authenticator.email\n// Step 3. Make that path a key and add it to I18N_OVERRIDE_MAPPINGS if doesn't exist already\n// Step 4. If you find a key in Step 1 that already exists, use it as value of key created in Step 3, \n// else create a new label `oie.your.new.label` and add it.\n// Step 5. If you create a new label then add that to login.properties file with proper string\n// oie.your.new.label = Your new string\n///////////////////////////////////////////////////////////////////////////////\n\n\nimport { _, $ } from '@okta/courage';\nimport Logger from 'util/Logger';\nimport { AUTHENTICATOR_KEY } from './RemediationConstants';\nimport {\n getMessage,\n getI18NParams,\n getI18NValue,\n} from './i18nUtils';\nexport * from './i18nUtils';\n\nconst updateLabelForUiSchema = (remediation, uiSchema) => {\n if (uiSchema.mutable === false && uiSchema.name.indexOf('questionKey') < 0) {\n return;\n }\n Logger.info('i18n label transformer');\n Logger.info('\\t remediationName: ', remediation.name);\n Logger.info('\\t uiSchema: ', JSON.stringify(uiSchema));\n\n const authenticatorKey = remediation.relatesTo?.value?.key;\n const authenticatorKeyPath = authenticatorKey\n ? `.${remediation.relatesTo.value.key}`\n : '';\n\n const i18nPrefix = `${remediation.name}${authenticatorKeyPath}.`;\n let i18nPath = `${i18nPrefix}${uiSchema.name}`;\n\n if (uiSchema.type === 'text' && uiSchema.name.indexOf('questionKey') >= 0 && uiSchema.value !== 'custom') {\n i18nPath = `${i18nPath}.${uiSchema.value}`;\n }\n\n if (uiSchema.type === 'checkbox' && uiSchema.placeholder) {\n Logger.info('\\t 1: ', i18nPath);\n uiSchema.placeholder = getI18NValue(i18nPath, uiSchema.placeholder);\n }\n\n if (uiSchema.label) {\n Logger.info('\\t 2: ', i18nPath);\n const params = getI18NParams(remediation, authenticatorKey);\n uiSchema.label = uiSchema.customLabel ? uiSchema.label : getI18NValue(i18nPath, uiSchema.label, params);\n }\n if ($.isPlainObject(uiSchema.options)) {\n uiSchema.options = _.mapObject(uiSchema.options, (value, key) => {\n const i18nPathOption = `${i18nPath}.${key}`;\n Logger.info('\\t 3: ', i18nPathOption);\n return getI18NValue(i18nPathOption, value);\n });\n }\n if (Array.isArray(uiSchema.options)) {\n uiSchema.options.forEach(o => {\n if (!o.label) {\n return;\n }\n let i18nPathOption;\n if (o.authenticatorKey) {\n i18nPathOption = `${i18nPath}.${o.authenticatorKey}`;\n\n const methodType = o.value?.methodType;\n if (o.authenticatorKey === AUTHENTICATOR_KEY.OV && methodType) {\n i18nPathOption = `${i18nPathOption}.${methodType}`;\n }\n } else if (typeof o.value === 'string' || typeof o.value === 'number') { // value could be string, number, object or undefined.\n i18nPathOption = `${i18nPath}.${o.value}`;\n } else {\n i18nPathOption = i18nPath;\n }\n Logger.info('\\t 4: ', i18nPathOption);\n o.label = getI18NValue(i18nPathOption, o.label);\n });\n }\n\n if (Array.isArray(uiSchema.optionsUiSchemas)) {\n uiSchema.optionsUiSchemas.forEach(optionsUiSchema => {\n optionsUiSchema.forEach(uiSchema => updateLabelForUiSchema(remediation, uiSchema));\n });\n }\n\n};\n\nexport default (transformedResp) => {\n // Try to override label using i18n value\n if (Array.isArray(transformedResp.remediations)) {\n transformedResp.remediations\n .filter(remediation => Array.isArray(remediation.uiSchema) && remediation.uiSchema.length)\n .forEach(remediation => {\n remediation.uiSchema.forEach(uiSchema => updateLabelForUiSchema(remediation, uiSchema));\n });\n }\n\n // Try to override `messages` using i18n value.\n // 1. This is only handling top level `messages` object when response status is 200.\n // 2. See `IonResponseHelper.js` where handle `messages` object when none 200 response.\n // 3. Handling `messages` in remediation forms on 200 response is not considered yet.\n // Is that possible?\n if (Array.isArray(transformedResp.messages?.value)) {\n transformedResp.messages.value.forEach(message => {\n message.message = getMessage(message);\n });\n }\n return transformedResp;\n};\n","/* eslint-disable max-len */\n/* eslint max-statements: [2, 25], complexity: [2, 15] */\n\n/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport Bundles from 'util/Bundles';\nimport Logger from 'util/Logger';\nimport { loc } from '../../util/loc';\nimport { getAuthenticatorDisplayName } from '../view-builder/utils/AuthenticatorUtil';\nimport { FORMS, AUTHENTICATOR_KEY } from './RemediationConstants';\nimport { I18N_BASE_ATTRIBUTE_ENROLL_PROFILE_MAPPINGS } from '../view-builder/views/enroll-profile/i18nBaseAttributeMappings';\n\nconst WEBAUTHN_API_GENERIC_ERROR_KEY = 'authfactor.webauthn.error';\n\nconst SECURITY_QUESTION_PREFIXES = [\n 'enroll-authenticator.security_question.credentials.questionKey.',\n 'challenge-authenticator.security_question.credentials.questionKey.',\n];\n\nconst I18N_OVERRIDE_MAPPINGS = {\n 'identify.identifier': 'primaryauth.username.placeholder',\n 'select-authenticator-unlock-account.identifier': 'primaryauth.username.placeholder',\n 'unlock-account.identifier': 'primaryauth.username.placeholder',\n 'identify.credentials.passcode': 'primaryauth.password.placeholder',\n 'identify.rememberMe': 'oie.remember',\n 'enroll-profile.userProfile.rememberMe': 'oie.remember',\n \n 'identify-recovery.identifier': 'password.forgot.email.or.username.placeholder',\n\n 'select-authenticator-enroll.authenticator.duo': 'factor.duo',\n 'select-authenticator-enroll.authenticator.google_otp': 'oie.google_authenticator.label',\n 'select-authenticator-enroll.authenticator.okta_email': 'oie.email.label',\n 'select-authenticator-enroll.authenticator.okta_password': 'oie.password.label',\n 'select-authenticator-enroll.authenticator.okta_verify': 'oie.okta_verify.label',\n 'select-authenticator-enroll.authenticator.phone_number': 'oie.phone.label',\n 'select-authenticator-enroll.authenticator.rsa_token': 'factor.totpHard.rsaSecurId',\n 'select-authenticator-enroll.authenticator.security_question': 'oie.security.question.label',\n 'select-authenticator-enroll.authenticator.symantec_vip': 'factor.totpHard.symantecVip',\n 'select-authenticator-enroll.authenticator.webauthn': 'oie.webauthn.label',\n 'select-authenticator-enroll.authenticator.yubikey_token': 'oie.yubikey.label',\n\n 'select-authenticator-authenticate.authenticator.duo': 'factor.duo',\n 'select-authenticator-authenticate.authenticator.google_otp': 'oie.google_authenticator.label',\n 'select-authenticator-authenticate.authenticator.okta_email': 'oie.email.label',\n 'select-authenticator-authenticate.authenticator.okta_password': 'oie.password.label',\n 'select-authenticator-authenticate.authenticator.okta_verify.push': 'oie.okta_verify.push.title',\n 'select-authenticator-authenticate.authenticator.okta_verify.signed_nonce': 'oie.okta_verify.signed_nonce.label',\n 'select-authenticator-authenticate.authenticator.okta_verify.totp': 'oie.okta_verify.totp.title',\n 'select-authenticator-authenticate.authenticator.phone_number': 'oie.phone.label',\n 'select-authenticator-authenticate.authenticator.rsa_token': 'factor.totpHard.rsaSecurId',\n 'select-authenticator-authenticate.authenticator.security_question': 'oie.security.question.label',\n 'select-authenticator-authenticate.authenticator.symantec_vip': 'factor.totpHard.symantecVip',\n 'select-authenticator-authenticate.authenticator.webauthn': 'oie.webauthn.label',\n 'select-authenticator-authenticate.authenticator.yubikey_token': 'oie.yubikey.label',\n 'select-authenticator-authenticate.authenticator.custom_app': 'oie.custom.app.authenticator.title',\n\n 'select-authenticator-unlock-account.authenticator.okta_email': 'oie.email.label',\n 'select-authenticator-unlock-account.authenticator.phone_number': 'oie.phone.label',\n 'select-authenticator-unlock-account.authenticator.okta_verify.push': 'oie.okta_verify.push.title',\n\n 'authenticator-verification-data.okta_verify.authenticator.methodType.signed_nonce':\n 'oie.okta_verify.signed_nonce.label',\n 'authenticator-verification-data.okta_verify.authenticator.methodType.push': 'oie.okta_verify.push.title',\n 'authenticator-verification-data.okta_verify.authenticator.methodType.totp': 'oie.okta_verify.totp.title',\n\n 'authenticator-enrollment-data.phone_number.authenticator.phoneNumber': 'mfa.phoneNumber.placeholder',\n 'authenticator-enrollment-data.phone_number.authenticator.methodType.sms': 'oie.phone.enroll.sms.label',\n 'authenticator-enrollment-data.phone_number.authenticator.methodType.voice': 'oie.phone.enroll.voice.label',\n\n 'enroll-authenticator.okta_password.credentials.passcode': 'oie.password.passwordLabel',\n 'enroll-authenticator.okta_email.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'enroll-authenticator.phone_number.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'enroll-authenticator.security_question.sub_schema_local_credentials.0': 'oie.security.question.questionKey.label',\n 'enroll-authenticator.security_question.sub_schema_local_credentials.1': 'oie.security.question.createQuestion.label',\n 'enroll-authenticator.security_question.credentials.answer': 'mfa.challenge.answer.placeholder',\n 'enroll-authenticator.security_question.credentials.question': 'oie.security.question.createQuestion.label',\n 'enroll-authenticator.security_question.credentials.questionKey': 'oie.security.question.questionKey.label',\n 'enroll-authenticator.google_otp.credentials.passcode': 'oie.google_authenticator.otp.enterCodeText',\n 'enroll-authenticator.onprem_mfa.credentials.clientData': 'enroll.onprem.username.placeholder',\n 'enroll-authenticator.onprem_mfa.credentials.passcode': 'enroll.onprem.passcode.placeholder',\n 'enroll-authenticator.rsa_token.credentials.clientData': 'enroll.onprem.username.placeholder',\n 'enroll-authenticator.rsa_token.credentials.passcode': 'enroll.onprem.passcode.placeholder',\n 'enroll-authenticator.symantec_vip.credentials.credentialId': 'enroll.symantecVip.credentialId.placeholder',\n 'enroll-authenticator.symantec_vip.credentials.passcode': 'enroll.symantecVip.passcode1.placeholder',\n 'enroll-authenticator.symantec_vip.credentials.nextPasscode': 'enroll.symantecVip.passcode2.placeholder',\n 'enroll-authenticator.yubikey_token.credentials.passcode': 'oie.yubikey.passcode.label',\n\n 'enrollment-channel-data.email': 'oie.enroll.okta_verify.channel.email.label',\n 'enrollment-channel-data.phoneNumber': 'mfa.phoneNumber.placeholder',\n\n 'select-enrollment-channel.authenticator.channel.qrcode': 'oie.enroll.okta_verify.select.channel.qrcode.label',\n 'select-enrollment-channel.authenticator.channel.email': 'oie.enroll.okta_verify.select.channel.email.label',\n 'select-enrollment-channel.authenticator.channel.sms': 'oie.enroll.okta_verify.select.channel.sms.label',\n\n 'challenge-authenticator.okta_email.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'challenge-authenticator.okta_password.credentials.passcode': 'mfa.challenge.password.placeholder',\n 'challenge-authenticator.phone_number.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'challenge-authenticator.security_question.credentials.answer': 'mfa.challenge.answer.placeholder',\n 'challenge-authenticator.okta_verify.credentials.totp': 'oie.okta_verify.totp.enterCodeText',\n 'challenge-authenticator.google_otp.credentials.passcode': 'oie.google_authenticator.otp.enterCodeText',\n 'challenge-authenticator.onprem_mfa.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'challenge-authenticator.rsa_token.credentials.passcode': 'mfa.challenge.enterCode.placeholder',\n 'challenge-authenticator.custom_otp.credentials.passcode': 'oie.custom_otp.verify.passcode.label',\n 'challenge-authenticator.symantec_vip.credentials.passcode': 'oie.symantecVip.verify.passcode.label',\n 'challenge-authenticator.yubikey_token.credentials.passcode': 'oie.yubikey.passcode.label',\n 'challenge-authenticator.credentials.passcode': 'oie.password.label',\n\n 'reset-authenticator.okta_password.credentials.passcode': 'oie.password.newPasswordLabel',\n 'reset-authenticator.okta_password.confirmPassword': 'oie.password.confirmPasswordLabel',\n 'reset-authenticator.okta_password.credentials.revokeSessions': 'password.reset.revokeSessions',\n 'reenroll-authenticator.okta_password.credentials.passcode': 'oie.password.newPasswordLabel',\n 'reenroll-authenticator.okta_password.confirmPassword': 'oie.password.confirmPasswordLabel',\n 'reenroll-authenticator.okta_password.credentials.revokeSessions': 'password.reset.revokeSessions',\n 'reenroll-authenticator-warning.okta_password.credentials.passcode': 'oie.password.newPasswordLabel',\n 'reenroll-authenticator-warning.okta_password.confirmPassword': 'oie.password.confirmPasswordLabel',\n 'reenroll-authenticator-warning.okta_password.credentials.revokeSessions': 'password.reset.revokeSessions',\n 'enroll-authenticator.okta_password.confirmPassword': 'oie.password.confirmPasswordLabel',\n 'enroll-authenticator.okta_password.credentials.revokeSessions': 'password.reset.revokeSessions',\n 'incorrectPassword': 'oie.password.incorrect.message',\n\n 'profile-update.userProfile.secondEmail': 'oie.user.profile.secondary.email',\n\n 'user-code.userCode': 'device.code.activate.label',\n\n // Remap authn API errors to OIE\n 'api.authn.poll.error.push_rejected': 'oktaverify.rejected',\n\n // Remap duo API errors to OIE\n 'oie.authenticator.duo.method.duo.verification_timeout': 'oie.authenticator.duo.error',\n 'oie.authenticator.duo.method.duo.verification_failed': 'oie.authenticator.duo.error',\n\n 'idx.email.verification.required': 'registration.complete.confirm.text',\n 'tooManyRequests': 'oie.tooManyRequests',\n 'api.users.auth.error.POST_PASSWORD_UPDATE_AUTH_FAILURE': 'oie.post.password.update.auth.failure.error',\n 'security.access_denied': 'errors.E0000006',\n 'E0000009': 'errors.E0000009',\n 'E0000020': 'errors.E0000020',\n 'api.factors.error.sms.invalid_phone': 'oie.phone.invalid',\n 'app.ldap.password.reset.failed': 'errors.E0000017',\n 'oie.selfservice.unlock_user.challenge.failed.permissions': 'errors.E0000006',\n 'core.auth.factor.signedNonce.error.invalidEnrollment': 'core.auth.factor.signedNonce.error',\n 'core.auth.factor.signedNonce.error.invalidFactor': 'core.auth.factor.signedNonce.error',\n 'core.auth.factor.signedNonce.error.deletedDevice': 'core.auth.factor.signedNonce.error',\n 'core.auth.factor.signedNonce.error.invalidDeviceStatus': 'core.auth.factor.signedNonce.error.invalidDevice',\n\n // re-map autoPush: \"Send push automatically\"\n 'challenge-poll.custom_app.autoChallenge': 'autoPush', // authenticator-verification-custom-app-push-autochallenge\n 'challenge-poll.okta_verify.autoChallenge': 'autoPush', // authenticator-verification-okta-verify-push-autoChallenge-on\n 'authenticator-verification-data.authenticator.autoChallenge': 'autoPush', // authenticator-verification-data-okta-verify-push-autoChallenge-off.json\n 'authenticator-verification-data.okta_verify.authenticator.autoChallenge': 'autoPush',\n 'authenticator-verification-data.custom_app.authenticator.autoChallenge': 'autoPush',\n \n // Existing overrides\n ...I18N_BASE_ATTRIBUTE_ENROLL_PROFILE_MAPPINGS, //enroll-profile strings\n};\n\nconst I18N_PARAMS_MAPPING = {\n [FORMS.ENROLL_AUTHENTICATOR]: {\n [AUTHENTICATOR_KEY.ON_PREM]: {\n getParam: getAuthenticatorDisplayName,\n },\n [AUTHENTICATOR_KEY.RSA]: {\n getParam: getAuthenticatorDisplayName,\n },\n },\n};\n\n/**\n * For i18n keys that require string interpolation using values from \"params\".\n * {baseKey} : {params}\n */\nconst I18N_OVERRIDE_WITH_PARAMS_MAP = {\n 'registration.error.invalidLoginEmail': {\n Email: 'Email',\n },\n 'registration.error.doesNotMatchPattern': {\n Email: 'Email',\n },\n 'registration.error.notUniqueWithinOrg': {\n Email: 'Email',\n },\n};\n\n/**\n * For messages that need to be interpolated with param values.\n *\n * Enumerate each possible param interpolation and hardcode that into properties file.\n * This is to ensure proper translation.\n *\n * Example - a known param:\n *\n * input =\n * \"i18n\": {\n \"key\": \"registration.error.doesNotMatchPattern\",\n \"params\": [\n \"Email\"\n ]\n }\n * output = registration.error.doesNotMatchPattern.Email\n *\n * Example - an unknown param:\n *\n * input =\n * \"i18n\": {\n \"key\": \"registration.error.doesNotMatchPattern\",\n \"params\": [\n \"Custom Property\"\n ]\n }\n * output = registration.error.doesNotMatchPattern.custom\n *\n * @param {String} key\n * @param {String} param\n * @returns {String}\n */\nconst getI8nKeyUsingParams = (key, param) => {\n let i18nKey = key;\n\n if (I18N_OVERRIDE_WITH_PARAMS_MAP[i18nKey][param]) {\n i18nKey += `.${param}`;\n } else {\n i18nKey += '.custom';\n }\n return i18nKey;\n};\n\nconst getI18NParams = (remediation, authenticatorKey) => {\n const params = [];\n const formName = remediation.name;\n if (I18N_PARAMS_MAPPING[formName] &&\n I18N_PARAMS_MAPPING[formName][authenticatorKey]) {\n const config = I18N_PARAMS_MAPPING[formName][authenticatorKey];\n const param = config.getParam(remediation);\n params.push(param);\n }\n return params;\n};\n\nconst getI18nKey = (i18nPath) => {\n let i18nKey;\n // Extract security question value from i18nPath\n SECURITY_QUESTION_PREFIXES.forEach(prefix => {\n if (i18nPath.indexOf(prefix) === 0) {\n const securityQuestionValue = i18nPath.replace(prefix, '');\n i18nKey = `security.${securityQuestionValue}`;\n }\n });\n\n if (I18N_OVERRIDE_MAPPINGS[i18nPath]) {\n i18nKey = I18N_OVERRIDE_MAPPINGS[i18nPath];\n }\n\n if (i18nKey && !Bundles.login[i18nKey]) {\n Logger.warn(`expect i18n key ${i18nKey} for ${i18nPath} but not found in 'login' bundle.`);\n i18nKey = null;\n }\n\n return i18nKey;\n};\n\nconst doesI18NKeyExist = (i18nKey) => {\n return !!Bundles.login[i18nKey];\n};\n\n/**\n * Find i18n value using {@code i18nPath} if it exists.\n * Otherwise return {@code defaultValue}.\n *\n * @param {string} i18nPath\n * @param {string} defaultValue\n * @param {string[]} params\n */\nconst getI18NValue = (i18nPath, defaultValue, params = []) => {\n const i18nKey = getI18nKey(i18nPath);\n if (i18nKey) {\n return loc(i18nKey, 'login', params);\n } else {\n Logger.warn(`Avoid rendering unlocalized text sent from the API: ${defaultValue}`);\n return defaultValue;\n }\n};\n\nconst isWebAuthnAPIError = (i18nKey) => i18nKey.startsWith(WEBAUTHN_API_GENERIC_ERROR_KEY);\n\n/**\n * @typedef {Object} Message\n * @property {string} message\n * @property {Object=} i18n\n * @property {string} i18n.key\n * @property {string[]} i18n.params\n */\n/**\n * - If `message.i18n.key` exists and has a value in 'login.properties'\n * through the given key or via I18N_OVERRIDE_MAPPINGS, return the value.\n *\n * - returns `message.message` otherwise\n *\n * @param {Message} message\n */\nconst getMessage = (message) => {\n if (message.i18n?.key) {\n let i18nKey = message.i18n.key;\n let i18nParams = message.i18n.params || [];\n\n // TODO - remove this block once API fix is done - OKTA-398080\n // Sometimes API sends params: [\"\"] an array with empty string.\n // example - error-authenticator-enroll-password-common mock\n if (i18nParams.length === 1 && i18nParams[0] === '') {\n i18nParams = [];\n }\n\n if (I18N_OVERRIDE_MAPPINGS[message.i18n?.key]) {\n i18nKey = I18N_OVERRIDE_MAPPINGS[message.i18n?.key];\n } else if (I18N_OVERRIDE_WITH_PARAMS_MAP[i18nKey]) {\n const param = message.i18n.params?.[0];\n i18nKey = getI8nKeyUsingParams(i18nKey, param);\n i18nParams = i18nKey.endsWith('custom') ? [param] : [];\n }\n\n if (Bundles.login[i18nKey]) {\n Logger.info(`Override messages using i18n key ${i18nKey}`);\n // expect user config i18n properly.\n // e.g. the i18n value shall have placeholders like `{0}`, when params is not empty.\n return loc(i18nKey, 'login', i18nParams);\n }\n\n if (isWebAuthnAPIError(i18nKey)) {\n // The WebAuthn api error doesn't make much sense to a typical end user, but useful for developer.\n // So keep the api message in response, but show a generic error message on UI.\n return loc(WEBAUTHN_API_GENERIC_ERROR_KEY, 'login');\n }\n }\n\n Logger.warn(`Avoid rendering unlocalized text sent from the API: ${message.message}`);\n return message.message;\n};\n\n/**\n * @param {Object} error\n */\nconst getMessageFromBrowserError = (error) => {\n if (error.name) {\n const key = `oie.browser.error.${error.name}`;\n if (Bundles.login[key]) {\n Logger.info(`Override messages using i18n key ${key}`);\n // expect user config i18n properly.\n return loc(key, 'login');\n }\n }\n return error.message;\n};\n\n/**\n * - iff `message.i18n.key` exists return the key.\n *\n * @param {Message} message\n */\nconst getMessageKey = (message) => {\n return message?.i18n?.key || '';\n};\n\n/**\n * Has this i18n key been overridden for customization?\n * @param {String} i18nKey\n * @param {Object} settings\n * @returns Boolean\n */\nconst isCustomizedI18nKey = (i18nKey, settings) => {\n const language = settings.get('languageCode');\n const i18n = settings.get('i18n');\n const customizedProperty = i18n && i18n[language] && i18n[language][i18nKey];\n return !!customizedProperty;\n};\n\nexport {\n getMessage,\n getMessageKey,\n getI18NParams,\n getI18nKey,\n getI18NValue,\n doesI18NKeyExist,\n isCustomizedI18nKey,\n getMessageFromBrowserError\n};\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { FORMS as RemediationForms } from './RemediationConstants';\n\nconst flattenObj = (obj) => {\n let result = {};\n\n Object.keys(obj).forEach((key) => {\n if (typeof obj[key] !== 'object') {\n result[key] = obj[key];\n return;\n }\n\n const tempObj = flattenObj(obj[key]);\n Object.keys(tempObj).forEach((j) => {\n result[key + '.' + j] = tempObj[j];\n });\n });\n return result;\n};\n\n/**\n * This function is for the Granular Consent remediation, scopes within the optedScopes\n * property can include a singular value or n values delimited by a \".\"\n * When they are delimited, BackBone's toJSON function will create a nested object, however,\n * these should not be nested and the delimited key names should stay as is. So this function will\n * flatten those nested proeprties to format it how the backend expects it. \n * i.e. { optedScopes: { some: { scope: true }}} = { optedScopes: { 'some.scope': true }}\n * Currently, this is only used when the Granular Consent view form is saved see:\n * src/v2/view-builder/views/consent/GranularConsentView.js\n * \n * @param {JSON} modelJSON JSON Equivalent of the Backbone Model's attributes/fields\n * @returns If the JSON contains the optedScopes Property, we will flatten the fields from\n * a nested object into K/V pair with dot notation for nested key names. Otherwise, we will return\n * the JSON as is.\n */\nconst transformOptedScopes = (modelJSON) => {\n if (modelJSON.optedScopes && typeof modelJSON.optedScopes !== 'string') {\n const data = {\n ...modelJSON,\n optedScopes: flattenObj(modelJSON.optedScopes),\n };\n return data;\n }\n return modelJSON;\n};\n\nconst FormNameToTransformerHandler = {\n [RemediationForms.CONSENT_GRANULAR]: transformOptedScopes,\n};\n\n/**\n * The purpose of this function is the transform the\n * Backbone Model's attributes/fields into a JSON equivalent before sending to IDX,\n * since the Model fields are all flattend when the UI Schema is transformed on consumption.\n * \n * @param {string} formName Form name of the current remediation\n * @param {Model} model Backbone Model Class\n * @returns JSON equivalent of the Model\n */\nconst transformPayload = (formName, model) => {\n const modelJSON = model.toJSON();\n const transformHandler = FormNameToTransformerHandler[formName];\n if (typeof transformHandler === 'undefined') {\n return modelJSON;\n }\n return transformHandler(modelJSON);\n};\n\nexport default transformPayload;\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _ } from '@okta/courage';\nimport { FORMS as RemediationForms, AUTHENTICATOR_KEY, IDP_FORM_TYPE } from './RemediationConstants';\n\n/**\n * Transform the ion spec response into canonical format.\n */\n\n/**\n * Authn V2 response\n * @typedef {Object} AuthnResponse\n */\n\n/**\n * @typedef {Object} AuthnResult\n * @property {Object=} user\n * @property {Object=} authenticator\n */\n\nconst isObject = x => _.isObject(x);\n\nconst isError = response => !!response.messages;\n\n/**\n * Flatten first level objects from response\n */\nconst getFirstLevelObjects = (resp) => {\n const result = {};\n _.each(resp, (val = {}, key) => {\n // if key is remediation we don't do any transformation\n if (key === 'remediation') {\n return;\n }\n\n // for arrays we just want it as a top level object\n // Example authenticators array in select-authenticator form\n if (val.type === 'array') {\n result[key] = {\n value: val.value,\n };\n }\n\n // for handling attributes with type object\n if (val.type === 'object') {\n result[key] = val.value;\n }\n });\n return result;\n};\n\nconst getRemediationValues = (idx) => {\n const remediationValues = [];\n const hasSkipRemediationOnly =\n idx.neededToProceed.length === 1 && idx.neededToProceed[0].name === 'skip';\n if (_.isEmpty(idx.neededToProceed) || hasSkipRemediationOnly) {\n // no remediation or only skip remediation with success\n if (idx.context.success) {\n remediationValues.push({\n name: idx.context.success.name,\n href: idx.context.success.href,\n value: [],\n });\n } else if (idx.context.messages) {\n // no remediation or only skip remediation with messages\n remediationValues.push({\n name: RemediationForms.TERMINAL,\n // Using `value` is unnecessary as `messages` will be display via `TerminalView.showMessages`,\n // even though might sound a little counterintuitive.\n // The reason being is there is `BaseForm.showMessages` that is intended to handle\n // messages generically.\n value: [],\n });\n } else if (idx.context.deviceEnrollment) {\n // no remediation or only skip remediation with messages for device enrollment state\n // and the state is meant to be terminal state with different UI than the regular terminal view\n remediationValues.push({\n name: RemediationForms.DEVICE_ENROLLMENT_TERMINAL,\n value: [],\n });\n }\n }\n return {\n remediations: [\n ...remediationValues,\n ...idx.neededToProceed,\n ]\n };\n};\n\n/**\n * To support `idps` configuration in OIE.\n * https://github.com/okta/okta-signin-widget#openid-connect\n */\nconst injectIdPConfigButtonToRemediation = (settings, idxResp) => {\n const widgetRemedations = idxResp.remediations;\n const hasIdentifyRemedation = widgetRemedations.filter(r => r.name === 'identify');\n if (hasIdentifyRemedation.length === 0) {\n return idxResp;\n }\n\n const idpsConfig = settings.get('idps');\n if (Array.isArray(idpsConfig)) {\n const existsRedirectIdpIds = {};\n widgetRemedations.forEach(r => {\n if (r.name === RemediationForms.REDIRECT_IDP && r.idp) {\n existsRedirectIdpIds[r.idp.id] = true;\n }\n });\n const baseUrl = settings.get('baseUrl');\n const stateHandle = idxResp.idx.context.stateHandle;\n const redirectIdpRemedations = idpsConfig\n .filter(c => !existsRedirectIdpIds[c.id]) // omit idps that are already in remediation.\n .map(idpConfig => {\n const idp = {\n id: idpConfig.id,\n name: idpConfig.text,\n };\n const redirectUri = `${baseUrl}/sso/idps/${idpConfig.id}?stateToken=${stateHandle}`;\n if (idpConfig.className) {\n idp.className = idpConfig.className;\n }\n return {\n name: RemediationForms.REDIRECT_IDP,\n type: idpConfig.type,\n idp,\n href: redirectUri,\n };\n });\n idxResp.remediations = widgetRemedations.concat(redirectIdpRemedations);\n }\n\n return idxResp;\n};\n\n/**\n * IFF there is one `redirect-idp` remediation form, widget will automatically redirect to `redirect-idp.href`.\n *\n * The idea now is to reuse `success-redirect` thus converts `redirect-idp` to `success-redirect` form.\n */\nconst convertRedirectIdPToSuccessRedirectIffOneIdp = (settings, result, lastResult) => {\n if (Array.isArray(result.remediations)) {\n const redirectIdpRemediations = result.remediations.filter(idp => idp.name === RemediationForms.REDIRECT_IDP);\n if (redirectIdpRemediations.length !== 1 || result.remediations.length !== 1) {\n return;\n }\n\n // Direct auth clients should not redirect on the initial response\n const isDirectAuth = settings.get('oauth2Enabled');\n if (isDirectAuth && !lastResult) {\n return;\n }\n\n const successRedirect = {\n name: RemediationForms.SUCCESS_REDIRECT,\n href: redirectIdpRemediations[0].href,\n value: [],\n };\n result.remediations = [successRedirect];\n }\n};\n\n/**\n * API reuses `redirect-idp` remediation form for PIV IdP and IdP Authenticator.\n * IdP Authenticator becomes outlier comparing with other Authenticators in terms of\n * using `challenge-authenticator` and `enroll-authenticator` remediation form.\n * The UX for PIV IdP is different from other idps in terms of the PIV\n * instructions view that needs to be rendered before we redirect to mtls.\n *\n * This function changes `redirect-idp` to `challenge-authenticator` or `enroll-authenticator`\n * for IdP Authenticator and changes `redirect-idp` to `piv-idp` for PIV IdP.\n */\nconst modifyFormNameForIdP = result => {\n if (Array.isArray(result.remediations)) {\n result.remediations.forEach(remediation => {\n if (remediation.name === RemediationForms.REDIRECT_IDP &&\n remediation?.relatesTo?.value?.key === AUTHENTICATOR_KEY.IDP) {\n // idp authenticator\n const isVerifyFlow = Object.prototype.hasOwnProperty.call(result, 'currentAuthenticatorEnrollment');\n remediation.name = isVerifyFlow ? 'challenge-authenticator' : 'enroll-authenticator';\n }\n if (remediation.name === RemediationForms.REDIRECT_IDP && remediation.type === IDP_FORM_TYPE.X509) {\n // piv idp\n remediation.name = RemediationForms.PIV_IDP;\n }\n });\n }\n};\n\nconst isFailureRedirect = (result) => {\n const context = result.idx.context;\n return (context.failure && context.failure.name === 'failure-redirect');\n};\n\nconst handleFailureRedirect = (settings, result) => {\n const context = result.idx.context;\n\n // Direct auth clients will usually prefer to display the error instead of redirecting\n const isDirectAuth = settings.get('oauth2Enabled');\n const alwaysRedirect = settings.get('redirect') === 'always'; // redirect option overrides default behavior\n if (isDirectAuth && !alwaysRedirect) {\n return;\n }\n \n const failureRedirect = {\n name: RemediationForms.FAILURE_REDIRECT,\n href: context.failure.href,\n value: [],\n };\n result.remediations = [failureRedirect];\n};\n\n/**\n * @param {Models.Settings} user configuration\n * @param {idx} idx object\n * @returns {} transformed object with flattened firstlevel objects, idx and remediations array\n * Example: {\n * idx: {\n * proceed: ƒ(),\n * neededToProceed: [],\n * actions: {cancel: ƒ()},\n * context: {},\n * },\n * remediations: [],\n * authenticators: {},\n * authenticator: {},\n * messages: {},\n * deviceEnrollment: {},\n * }\n */\nconst convert = (settings, idx = {}, lastResult = null) => {\n if (!isObject(idx.rawIdxState)) {\n return null;\n }\n\n // build result object\n const firstLevelObjects = getFirstLevelObjects(idx.rawIdxState);\n const remediationValues = getRemediationValues(idx);\n const result = Object.assign({},\n firstLevelObjects,\n remediationValues,\n { idx }\n );\n \n // transform result object\n if (isError(result) && isFailureRedirect(result)) {\n handleFailureRedirect(settings, result);\n }\n\n // Override the `result` to handle custom IdP login buttons\n // and update the form for IdP Authenticators.\n injectIdPConfigButtonToRemediation(settings, result);\n modifyFormNameForIdP(result);\n\n if (!isError(result)) { // Only redirect to the IdP if we are not in an error flow\n convertRedirectIdPToSuccessRedirectIffOneIdp(settings, result, lastResult);\n }\n\n return result;\n};\n\nexport default convert;\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _ } from '@okta/courage';\nimport responseTransformer from './responseTransformer';\nimport uiSchemaTransformer from './uiSchemaTransformer';\nimport i18nTransformer from './i18nTransformer';\n\n// Transforms an IDX response to an ION response\nexport default function transformIdxResponse(settings, curResponse, lastResponse) {\n const ionResponse = _.compose(\n i18nTransformer,\n uiSchemaTransformer.bind({}, settings),\n responseTransformer.bind({}, settings),\n )(curResponse, lastResponse);\n return ionResponse;\n}\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { FORMS } from '../RemediationConstants';\nimport { loc } from '@okta/courage';\n\nconst getCheckboxUiSchema = ({ label, type, required }) => ({\n // For Remember Me checkbox, we need the label only on the right side of it.\n placeholder: label,\n label: false,\n // Separating prop type for Backbone.Model\n // from html input type\n modelType: type,\n // uiSchema type is the html input type desired.\n type: 'checkbox',\n required: required || false,\n});\n\nconst getRadioUiSchema = ({ label, required, options }) => ({\n displayName: label,\n type: 'radio',\n required: required,\n options: options[0].value.value.options,\n sublabel: required? null : loc('oie.form.field.optional', 'login'),\n});\n\nconst getCheckboxUiSchemaWithDefaultValue = ({ label, type }) => ({\n placeholder: label,\n label: false,\n modelType: type,\n type: 'checkbox',\n // set required true so default value can be passed to optional attributes as well\n required: true,\n value: false,\n});\n\nconst createUiSchemaForBoolean = (ionFormField, remediationForm) => {\n if ([FORMS.CONSENT_ENDUSER, FORMS.CONSENT_ADMIN].includes(remediationForm.name)) {\n const scopes = remediationForm.scopes.map(({name, label, desc}) => {\n return {name, displayName: label, description: desc};\n });\n\n // setting 'type' here to add a specific View in FormInputFactory.create\n const type = remediationForm.name;\n\n return {type, scopes, options: ionFormField.options};\n } else if (Array.isArray(ionFormField.options) && ionFormField.options[0]?.value?.value?.inputType === 'radio') {\n return getRadioUiSchema(ionFormField);\n } else if (Array.isArray(ionFormField.options) && ionFormField.options[0]?.value?.value?.inputType === 'checkbox') {\n return getCheckboxUiSchemaWithDefaultValue(ionFormField);\n } else {\n return getCheckboxUiSchema(ionFormField);\n }\n};\n\nexport default createUiSchemaForBoolean;\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _ } from '@okta/courage';\nimport { AUTHENTICATOR_KEY } from '../RemediationConstants';\n\n/**\n * Example of the option like\n * @param {AuthenticatorOption[]} options\n * @param {( AuthenticatorEnrollment[] || Authenticator[] )} authenticators\n */\nexport function createOVOptions(options = []) {\n // Split OV into individual entries for verification (one for each method).\n const ovItem = options.find((option) => option.relatesTo.key === AUTHENTICATOR_KEY.OV);\n const methodTypeObj = ovItem?.value?.form?.value?.find(v => v.name === 'methodType');\n const methodOptions = methodTypeObj?.options;\n let signedNonceOption;\n if (methodOptions) {\n const ovOptions = [];\n methodOptions.forEach((method) => {\n // get value object from the ov item\n const value = [...ovItem.value.form.value];\n // get index of the methodType object within the value object\n const methodTypeIndex = ovItem.value.form.value.findIndex((v) => v.name === 'methodType');\n // create a new methodType object that removes the options array and\n // has a value of the current method\n const newMethodTypeObj = Object.assign(_.omit(methodTypeObj, 'options'), method);\n // set the methodType field to be required and immutable in our UI,\n // so it is always sent to the backend.\n newMethodTypeObj.required = true;\n newMethodTypeObj.mutable = false;\n // replace old methodType object with the new one\n value.splice(methodTypeIndex, 1, newMethodTypeObj);\n // return a new ov item for a specific method\n const newItem = Object.assign({}, ovItem, {\n label: method.label,\n value: {\n form: {\n value,\n }\n }\n });\n if (method.value === 'signed_nonce') {\n signedNonceOption = newItem;\n } else {\n ovOptions.push(newItem);\n }\n });\n const ovIndex = options.findIndex((option) => option.relatesTo.key === AUTHENTICATOR_KEY.OV);\n options.splice(ovIndex, 1, ...ovOptions);\n\n // ReArrange fastpass in options based on deviceKnown\n if (signedNonceOption) {\n ovItem.relatesTo.deviceKnown ? options.unshift(signedNonceOption) : options.push(signedNonceOption);\n }\n }\n}\n\nfunction createAuthenticatorOptions(options = []) {\n createOVOptions(options);\n return options.map(option => {\n const value = option.value?.form?.value || [];\n\n // Each authenticator option has list of ION field.\n // Currently we only support merely selecting one of options\n // rather than pop up another page to collect extra data\n // (in order to fill value for `mutable: true; value: null` fields).\n // The only reason of such design is to simplify widget implementation\n // but could subject to change in later releases.\n // Thus only surface up fields that are `required: true; mutable: false`\n // which implies it already has `value`.\n const valueObject = value\n .filter(v => v.required === true && v.mutable === false)\n .reduce((init, v) => {\n return Object.assign(init, { [v.name]: v.value });\n }, {});\n return {\n label: option.label,\n value: valueObject,\n relatesTo: option.relatesTo,\n authenticatorKey: option.relatesTo?.key,\n };\n });\n}\n\nfunction getAuthenticatorsEnrollUiSchema({ options }) {\n return {\n type: 'authenticatorEnrollSelect',\n options: createAuthenticatorOptions(options),\n };\n}\n\nfunction getAuthenticatorsVerifyUiSchema({ options }) {\n return {\n type: 'authenticatorVerifySelect',\n options: createAuthenticatorOptions(options),\n };\n}\n\n/**\n * Create ui schema for ION field that has type 'object'.\n */\nexport default function createUiSchemaForObject(ionFormField, remediationForm, transformedResp,\n createUISchema, settings) {\n const uiSchema = {};\n\n if (ionFormField.name === 'authenticator' &&\n (remediationForm.name === 'select-authenticator-authenticate' ||\n remediationForm.name === 'select-authenticator-unlock-account')) {\n // 1. when `select-authenticator-authenticator`,\n // create customize type so that display authenticator list as selectable list\n Object.assign(uiSchema, getAuthenticatorsVerifyUiSchema(ionFormField));\n } else if (ionFormField.name === 'authenticator' && remediationForm.name === 'select-authenticator-enroll') {\n // 2. when `select-authenticator-enroll`,\n // create customize type so that display authenticator list as selectable list\n Object.assign(uiSchema, getAuthenticatorsEnrollUiSchema(ionFormField));\n } else if (Array.isArray(ionFormField.options)) {\n // 3. For other cases, create ui schema for each `option` in order to render\n // different view for each option.\n //\n // e.g. { \"name\": \"credentials\", \"type\": \"object\", options: [ {value: {form: value:[]} ]\n uiSchema.optionsUiSchemas = ionFormField.options.map(opt => {\n return createUISchema(transformedResp, {\n value: [\n {\n name: ionFormField.name,\n value: opt.value,\n }\n ]\n }, settings);\n });\n uiSchema.options = ionFormField.options.map((opt, index) => {\n return { label: opt.label, value: index };\n });\n // assume (default to) use radio buttons to switch sub-schema.\n uiSchema.type = 'radio';\n uiSchema.value = '0';\n uiSchema.name = `sub_schema_local_${ionFormField.name}`;\n }\n\n return uiSchema;\n}\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-depth: [2, 3] */\n/* eslint complexity: [2, 20] */\nimport { loc } from '@okta/courage';\nimport { HINTS, ATTR_FORMAT } from '../RemediationConstants';\nimport CountryUtil from 'util/CountryUtil';\nimport TimeZone from '../../view-builder/utils/TimeZone';\n\nconst ionOptionsToUiOptions = (options) => {\n const result = {};\n options.forEach(({ value, label }) => {\n result[value] = label;\n });\n return result;\n};\n\nconst getPasswordUiSchema = (settings) => ({\n type: 'password',\n params: {\n showPasswordToggle: settings.get('showPasswordToggle'),\n },\n});\n\nconst getCaptchaUiSchema = () => {\n return {\n type: 'captcha',\n };\n};\n\nconst timezoneUISchema = {\n type: 'select',\n wide: true\n};\n\nconst shouldRenderAsRadio = (name) => name.indexOf('methodType') >= 0 || name.indexOf('channel') >= 0;\n\nconst optionalType = ['text', 'radio', 'select'];\n\nconst populateUISchemaForDisplay = (uiSchema, ionField) => {\n const display = ionField?.value?.value;\n uiSchema.type = display.inputType;\n if (display.inputType === 'radio') {\n uiSchema.options = display.options;\n } else if (display.inputType === 'select') {\n uiSchema.wide = true;\n if (display.format === ATTR_FORMAT.COUNTRY_CODE) {\n uiSchema.options = Object.assign({'': ''}, CountryUtil.getCountryCode());\n } else {\n //it will create a placeholder for dropdowns, by default it will show 'Select an Option'\n uiSchema.options = Object.assign({'': ''}, ionOptionsToUiOptions(display.options));\n }\n }\n};\n\nconst populateUISchemaForRadio = (uiSchema, ionFormField) => {\n // e.g. { name: 'methodType', options: [ {label: 'sms'} ], type: 'string' | null }\n uiSchema.type = 'radio';\n // set the default value to the first value.\n ionFormField.value = ionFormField.options[0].value;\n};\n\nconst createUiSchemaForString = (ionFormField, remediationForm, transformedResp, createUISchema, settings) => {\n const uiSchema = {\n type: 'text'\n };\n\n // e.g. { name: 'password', secret: true }\n if (ionFormField.secret === true) {\n Object.assign(uiSchema, getPasswordUiSchema(settings));\n }\n\n if (ionFormField.hint === HINTS.CAPTCHA) {\n Object.assign(uiSchema, getCaptchaUiSchema());\n }\n\n if(ionFormField.name === 'userProfile.timezone'){\n Object.assign(uiSchema, timezoneUISchema);\n uiSchema.options = Object.assign({'': ''}, TimeZone);\n }\n\n if (Array.isArray(ionFormField.options) && ionFormField.options[0] && ionFormField.options[0].value) {\n const ionField = ionFormField.options[0];\n if (ionField.label === 'display') {\n populateUISchemaForDisplay(uiSchema, ionField);\n } else if (shouldRenderAsRadio(ionFormField.name)) {\n populateUISchemaForRadio(uiSchema, ionFormField);\n } else {\n // default to select (dropdown). no particular reason (certainly can default to radio.)\n // e.g. { name: 'questionKey', options: [], type: 'string' | null }\n uiSchema.type = 'select';\n uiSchema.wide = true;\n uiSchema.options = ionOptionsToUiOptions(ionFormField.options);\n }\n }\n\n // set a label as 'Optional' for supported optional element types\n if(ionFormField.required === false && optionalType.includes(uiSchema.type)) {\n uiSchema.sublabel = loc('oie.form.field.optional', 'login');\n }\n\n return uiSchema;\n};\n\nexport default createUiSchemaForString;\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/**\n * Create UI Schema into remedation object base on remediation values\n */\nimport { _ } from '@okta/courage';\nimport createUiSchemaForBoolean from './ui-schema/ion-boolean-handler';\nimport createUiSchemaForObject from './ui-schema/ion-object-handler';\nimport createUiSchemaForString from './ui-schema/ion-string-handler';\n\nconst UISchemaHandlers = {\n string: createUiSchemaForString,\n boolean: createUiSchemaForBoolean,\n object: createUiSchemaForObject,\n};\n\n/**\n *\n * @param {AuthResult} transformedResp\n * @param {IONForm} remeditationForm\n */\nconst createUISchema = (transformedResp, remediationForm, settings) => {\n\n // For cases where field itself is a form, it has a formname and we are appending the formname to each field.\n // Sort of flat the structure in order to align Courage flatten Model. The flatten structure will be converted\n // back to object hierarchy through `Model.toJSON`.\n // For simplicity we are assuming that when field itself is a form its only one level deep.\n const remediationValue = _.chain(remediationForm.value || [])\n .filter(v => v.visible !== false)\n .map(v => {\n let nestedForm;\n if (v.form) {\n nestedForm = v.form;\n } else if (v.value?.form) {\n nestedForm = v.value.form;\n }\n\n if (nestedForm) {\n const inputGroupName = v.name;\n return nestedForm.value.map(input => {\n return Object.assign({}, input, { name: inputGroupName + '.' + input.name });\n });\n } else {\n return v;\n }\n })\n .flatten()\n .value();\n\n return remediationValue.map(ionFormField => {\n const uiSchemaDefaultConfig = {\n 'label-top': true,\n 'multirowError': true,\n 'data-se': `o-form-fieldset-${ionFormField.name}`,\n };\n const fieldType = ionFormField.type || 'string';\n const uiSchemaHandler = UISchemaHandlers[fieldType];\n const uiSchemaResult = uiSchemaHandler(ionFormField, remediationForm, transformedResp, createUISchema, settings);\n\n return Object.assign(\n {},\n ionFormField,\n uiSchemaDefaultConfig,\n uiSchemaResult,\n );\n });\n};\n\n/**\n *\n * @param {AuthResult} transformedResp\n */\nconst insertUISchema = (settings, transformedResp) => {\n if (transformedResp) {\n transformedResp.remediations = transformedResp.remediations.map(obj => {\n obj.uiSchema = createUISchema(transformedResp, obj, settings);\n return obj;\n });\n }\n return transformedResp;\n};\n\nexport default insertUISchema;\n\n/**\n * @typedef {Object} Authenticator\n * @property {string} label\n * @property {AuthenticatorValue} value\n */\n/**\n * @typedef {Object} AuthenticatorValue\n * @property {string} type Authenticator Type\n * @property {string} id Authenticator Org Authenticator ID\n * @property {AuthenticatorMethod[]} methods\n */\n/**\n * @typedef {Object} AuthenticatorEnrollment\n * @property {string} label\n * @property {AuthenticatorEnrollmentValue} value\n */\n/**\n * @typedef {Object} AuthenticatorEnrollmentValue\n * @property {string} authenticatorId Org Authenticator ID\n * @property {string} type Authenticator Type\n * @property {string} id Authenticator Enrollment ID\n * @property {AuthenticatorMethod[]} methods\n */\n/**\n * @typedef {Object} AuthenticatorMethod\n * @property {string} type Authenticator method type\n */\n/**\n * @typedef {Object} AuthenticatorOption\n * @property {string} label\n * @property {Object} form\n * @property {AuthenticatorOption[]} form.value\n */\n/**\n * @typedef {Object} AuthenticatorOptionValue\n * @property {string} name\n * @property {boolean} required\n * @property {string} value\n * @property {boolean} mutable\n */\n/**\n * @typedef {Object} IONForm\n * @property {string} name\n * @property {string[]} rel\n * @property {string} method\n * @property {string} href\n * @property {string} accepts\n * @property {IONFormField[]} value\n */\n/**\n * @typedef {Object} IONFormField\n * @property {string} name\n * @property {string=} type\n * @property {string=} required\n * @property {string=} secret\n * @property {string=} label\n * @property {Object[]} options\n * @property {Object=} form\n * @property {IONFormField[]} form.value\n */\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { ListView, loc, View, createButton } from '@okta/courage';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport TimeUtil from 'util/TimeUtil';\nimport { AUTHENTICATOR_ALLOWED_FOR_OPTIONS } from '../utils/Constants';\n\nconst AuthenticatorRow = View.extend({\n className: 'authenticator-row clearfix',\n template: hbs`\n
            \n {{#if logoUri}}\n
            \n {{else}}\n
            \n {{/if}}\n
            \n
            \n

            {{label}}

            \n {{#if gracePeriodRequiredDescription}}\n \n
            \n

            \n {{gracePeriodRequiredDescription}}\n

            \n {{#if gracePeriodExpiry}}\n

            {{gracePeriodExpiry}}

            \n {{/if}}\n
            \n {{else}}\n {{#if description}}\n

            {{description}}

            \n {{/if}}\n {{#if authenticatorUsageText}}\n

            {{authenticatorUsageText}}

            \n {{/if}}\n {{/if}}\n
            \n
            \n `,\n postRender: function() {\n View.prototype.postRender.apply(this, arguments);\n if (this.model.get('logoUri')) {\n this.el.querySelector('.custom-app-logo').style.backgroundImage = `url(${this.model.get('logoUri')})`;\n }\n },\n children: function() {\n return [[createButton({\n className: 'button select-factor',\n title: function() {\n return loc('oie.enroll.authenticator.button.text', 'login');\n },\n attributes: {\n 'aria-label': this.model.get('ariaLabel'),\n },\n click: function() {\n this.model.trigger('selectAuthenticator', this.model.get('value'));\n }\n }), '.authenticator-button']];\n },\n minimize: function() {\n this.$el.addClass('authenticator-row-min');\n },\n getTemplateData() {\n let authenticatorUsageText;\n const allowedFor = this.model.get('relatesTo').allowedFor;\n\n if (allowedFor) {\n switch (allowedFor) {\n case AUTHENTICATOR_ALLOWED_FOR_OPTIONS.ANY:\n authenticatorUsageText = loc('oie.enroll.authenticator.usage.text.access.recovery', 'login');\n break;\n case AUTHENTICATOR_ALLOWED_FOR_OPTIONS.RECOVERY:\n authenticatorUsageText = loc('oie.enroll.authenticator.usage.text.recovery', 'login');\n break;\n case AUTHENTICATOR_ALLOWED_FOR_OPTIONS.SSO:\n authenticatorUsageText = loc('oie.enroll.authenticator.usage.text.access', 'login');\n break;\n }\n }\n\n const data = View.prototype.getTemplateData.apply(this, arguments);\n\n const currentTimestampMs = Date.now();\n const gracePeriodEpochTimestampMs = new Date(this.model.get('relatesTo')?.gracePeriod?.expiry).getTime();\n if (!isNaN(gracePeriodEpochTimestampMs) && currentTimestampMs < gracePeriodEpochTimestampMs) {\n const remainingGracePeriodDays = TimeUtil.calculateDaysBetween(\n currentTimestampMs,\n gracePeriodEpochTimestampMs\n );\n\n if (remainingGracePeriodDays === 1) {\n data.gracePeriodRequiredDescription = loc('oie.enrollment.policy.grace.period.required.in.one.day', 'login');\n } else if (remainingGracePeriodDays > 1) {\n data.gracePeriodRequiredDescription= loc(\n 'oie.enrollment.policy.grace.period.required.in.days',\n 'login',\n [remainingGracePeriodDays]\n );\n } else {\n data.gracePeriodRequiredDescription = loc('oie.enrollment.policy.grace.period.required.today', 'login');\n }\n\n if (gracePeriodEpochTimestampMs) {\n data.gracePeriodExpiry = TimeUtil.formatDateToDeviceAssuranceGracePeriodExpiryLocaleString(\n new Date(gracePeriodEpochTimestampMs),\n this.settings.get('languageCode'),\n false,\n );\n }\n }\n\n data.authenticatorUsageText = authenticatorUsageText;\n\n return data;\n },\n});\n\nexport default ListView.extend({\n\n className: 'authenticator-enroll-list authenticator-list',\n\n item: AuthenticatorRow,\n\n itemSelector: '.list-content',\n\n initialize: function() {\n this.listenTo(this.collection,'selectAuthenticator', function(data) {\n this.model.set(this.options.name, data);\n this.options.appState.trigger('saveForm', this.model);\n });\n this.hasOptionalFactors = this.options.appState.hasRemediationObject(RemediationForms.SKIP);\n },\n\n template: hbs`
            \n
            \n {{title}}\n
            \n {{#if subtitle}}\n

            \n {{subtitle}}\n

            \n {{/if}}\n
            `,\n\n getTemplateData() {\n // presence of the skip remediation form tells us that the authenticators are all optional\n const title = this.hasOptionalFactors? loc('oie.setup.optional', 'login'):loc('oie.setup.required', 'login');\n return {\n title: this.options.listTitle || title,\n subtitle: this.options.listSubtitle || null,\n };\n }\n\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { loc, View, Collection } from '@okta/courage';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\nimport AuthenticatorEnrollOptions from './AuthenticatorEnrollOptions';\nimport remindMeLater from './RemindMeLaterButton';\nimport skipAll from './SkipOptionalEnrollmentButton';\n\nexport default View.extend({\n\n className: 'authenticator-enroll-list-container',\n\n initialize: function() {\n const authenticatorsWithGracePeriod = [];\n const authenticators = [];\n\n this.options.optionItems.forEach((authenticator) => {\n if (authenticator.relatesTo?.gracePeriod?.expiry\n && new Date(authenticator.relatesTo?.gracePeriod?.expiry).getTime() > Date.now()) {\n authenticatorsWithGracePeriod.push(authenticator);\n } else {\n authenticators.push(authenticator);\n }\n });\n\n this.hasSkipRemediation = !!this.options.appState.hasRemediationObject(RemediationForms?.SKIP);\n this.hasOnlyOptional = this.hasSkipRemediation && authenticatorsWithGracePeriod?.length === 0;\n this.hasOnlyGracePeriod = this.hasSkipRemediation &&\n this.options.optionItems?.length === authenticatorsWithGracePeriod?.length;\n\n if (authenticators.length) {\n this.add(new AuthenticatorEnrollOptions({\n ...this.options,\n collection: new Collection(authenticators),\n optionItems: authenticators,\n listTitle: this.hasOnlyOptional\n ? loc('oie.setup.optional.short', 'login') : loc('oie.setup.required.now', 'login'),\n }));\n }\n if (authenticatorsWithGracePeriod.length) {\n this.add(new AuthenticatorEnrollOptions({\n ...this.options,\n collection: new Collection(authenticatorsWithGracePeriod),\n optionItems: authenticatorsWithGracePeriod,\n listTitle: loc('oie.setup.required.soon', 'login'),\n listSubtitle: loc('oie.setup.required.soon.description', 'login'),\n }));\n }\n\n if (this.hasOnlyGracePeriod) {\n this.add(remindMeLater);\n } else if (this.hasOnlyOptional) {\n this.add(skipAll);\n }\n },\n});\n","import { BaseFooter } from '../internals';\nimport { getFactorPageCustomLink, getSwitchAuthenticatorLink } from '../utils/LinksUtil';\n\nexport default BaseFooter.extend({\n links() {\n return getFactorPageCustomLink(this.options.appState, this.options.settings)\n .concat(getSwitchAuthenticatorLink(this.options.appState));\n },\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { ListView, View, createButton, loc } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nconst AuthenticatorRow = View.extend({\n className: 'authenticator-row clearfix',\n template: hbs`\n
            \n {{#if logoUri}}\n
            \n {{else}}\n
            \n {{/if}}\n
            \n
            \n
            \n

            {{label}}

            \n {{#if description}}\n

            {{description}}

            \n {{/if}}\n {{#if nickname}}\n

            {{nickname}}

            \n {{/if}}\n
            \n
            \n
            \n `,\n postRender: function() {\n View.prototype.postRender.apply(this, arguments);\n const logoUri = this.model.get('logoUri');\n if (logoUri) {\n this.el.querySelector('.custom-logo').style.backgroundImage = `url(${logoUri})`;\n }\n },\n children: function(){\n return [[createButton({\n className: 'button select-factor',\n title: function() {\n return loc('oie.verify.authenticator.button.text', 'login');\n },\n attributes: {\n 'aria-label': this.model.get('ariaLabel'),\n },\n click: function() {\n this.model.trigger('selectAuthenticator', this.model.get('value'));\n }\n }), '.authenticator-button']];\n },\n minimize: function() {\n this.$el.addClass('authenticator-row-min');\n }\n});\n\nexport default ListView.extend({\n\n className: 'authenticator-verify-list authenticator-list',\n\n item: AuthenticatorRow,\n\n itemSelector: '.list-content',\n\n initialize: function() {\n this.listenTo(this.collection,'selectAuthenticator', this.handleSelect);\n this.listenTo(this.model, 'invalid', this.handleModelInvalid);\n },\n \n handleModelInvalid(data, error) {\n if (this.options.name in error && !this.model.get(this.options.name)) {\n this.showAuthenticatorRequiredError();\n }\n },\n\n showAuthenticatorRequiredError() {\n const errorSummary = this.collection.length > 1\n ? loc('account.unlock.authenticatorRequired.multiple', 'login')\n : loc('account.unlock.authenticatorRequired.single', 'login');\n this.model.trigger('error', this.model, { responseJSON: { errorSummary } });\n },\n\n handleSelect(data) {\n //If schema contains a required identifier to fill first then validate the form\n const validationError = this.model.validateField('identifier');\n this.model.trigger('clearFormError');\n if(this.model.getPropertySchema('identifier')?.required && validationError) {\n this.model.trigger('invalid', this.model, validationError);\n } else {\n this.model.set(this.options.name, data);\n this.options.appState.trigger('saveForm', this.model); \n }\n },\n\n template: hbs`
            `,\n\n});\n","import { _ } from '@okta/courage';\nimport { BaseHeader, BaseView } from '../internals';\nimport AuthenticatorFooter from './AuthenticatorFooter';\nimport HeaderBeacon from './HeaderBeacon';\nimport { getIconClassNameForBeacon } from '../utils/AuthenticatorUtil';\nimport { FORMS as REMEDIATION_FORMS } from 'v2/ion/RemediationConstants';\n\nexport const BaseAuthenticatorBeacon = HeaderBeacon.extend({\n authenticatorKey() {\n return this.options.appState.get('authenticatorKey');\n },\n\n idvName() {\n const redirectIDVerifyRemediation = this.options.appState\n .get('remediations')\n ?.find(remediation => {\n return remediation.name === REMEDIATION_FORMS.REDIRECT_IDVERIFY;\n });\n return redirectIDVerifyRemediation?.idp?.id;\n },\n\n getBeaconClassName: function() {\n const authenticatorKey = _.result(this, 'authenticatorKey');\n const idvName = _.result(this, 'idvName');\n return getIconClassNameForBeacon(authenticatorKey, idvName);\n },\n});\n\nexport default BaseView.extend({\n Header: BaseHeader.extend({\n HeaderBeacon: BaseAuthenticatorBeacon,\n }),\n Footer: AuthenticatorFooter,\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport AuthenticatorFooter from './AuthenticatorFooter';\n\nconst OKTA_AUTHENTICATOR = 'Okta_Authenticator';\n\nconst CantVerifyInfoVerifyFlowView = View.extend({\n id: 'help-description-container',\n className: 'help-description js-help-description',\n template: hbs`\n

            {{i18n code=\"oie.verify.webauthn.cant.verify.biometric.authenticator.title\" bundle=\"login\"}}


            \n

            {{i18n code=\"oie.verify.webauthn.cant.verify.biometric.authenticator.description1\" bundle=\"login\"}}


            \n

            {{i18n code=\"oie.verify.webauthn.cant.verify.biometric.authenticator.description2\" bundle=\"login\"}}


            \n

            {{i18n code=\"oie.verify.webauthn.cant.verify.security.key.title\" bundle=\"login\"}}


            \n

            {{i18n code=\"oie.verify.webauthn.cant.verify.security.key.description\" bundle=\"login\"}}


            \n `,\n});\n\nconst CantVerifyInfoOVEnrollmentFlowView = View.extend({\n id: 'help-description-container',\n className: 'help-description js-help-description',\n template: hbs`\n
              \n
            1. {{i18n code=\"oie.verify.webauthn.cant.verify.enrollment.step1\" bundle=\"login\"}}

            2. \n
            3. {{i18n code=\"oie.verify.webauthn.cant.verify.enrollment.step2\" bundle=\"login\"}}

            4. \n
            5. {{i18n code=\"oie.verify.webauthn.cant.verify.enrollment.step3\" bundle=\"login\"}}

            6. \n
            7. {{i18n code=\"oie.verify.webauthn.cant.verify.enrollment.step4\" bundle=\"login\"}}
              \n
            \n `,\n});\n\nexport default AuthenticatorFooter.extend({\n links: function() {\n const links = AuthenticatorFooter.prototype.links.apply(this, arguments);\n\n const cantVerifyInfoView = this.options.appState.get('app')\n && this.options.appState.get('app').name === OKTA_AUTHENTICATOR ?\n CantVerifyInfoOVEnrollmentFlowView: CantVerifyInfoVerifyFlowView;\n links.unshift({\n 'label': loc('oie.verify.webauthn.cant.verify', 'login'),\n 'name': 'cant-verify',\n 'aria-controls': 'help-description-container',\n 'class': 'link help js-help',\n 'type': 'toggle-text-link',\n 'additionalOptions': {\n view: cantVerifyInfoView,\n selector: '.js-help-description',\n },\n });\n\n return links;\n },\n});\n","import { BaseHeader } from '../internals';\nimport { AUTHENTICATOR_KEY } from '../../ion/RemediationConstants';\nimport { BaseAuthenticatorBeacon } from './BaseAuthenticatorView';\n\nexport default BaseHeader.extend({\n HeaderBeacon: BaseAuthenticatorBeacon.extend({\n authenticatorKey: AUTHENTICATOR_KEY.EMAIL,\n })\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nexport default View.extend({\n template: hbs`\n
            \n
            \n
            \n
            \n {{#if logoUri}}\n
            \n {{else}}\n
            \n {{/if}}\n \n
            \n
            \n `,\n\n postRender: function() {\n View.prototype.postRender.apply(this, arguments);\n const data = this.getTemplateData();\n if (data.logoUri) {\n this.el.querySelector('.custom-app-logo').style.backgroundImage = `url(${data.logoUri})`;\n }\n },\n getTemplateData: function() {\n const appState = this.options?.appState;\n return { className: this.getBeaconClassName() || '',\n logoUri: appState?.get('currentAuthenticator')?.logoUri || \n appState?.get('currentAuthenticatorEnrollment')?.logoUri\n };\n },\n getBeaconClassName() {\n return 'undefined-user';\n }\n});\n","import { loc, View } from '@okta/courage';\nimport { BaseFooter } from '../internals';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\nimport { getForgotPasswordLink, getSignUpLink } from '../utils/LinksUtil';\nimport Link from './Link';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nexport default BaseFooter.extend({\n\n showForgotPasswordLink() {\n return !this.options.appState.isIdentifierOnlyView();\n },\n\n footerInfo() {\n const signUpLinkData = getSignUpLink(this.options.appState, this.options.settings);\n let SignUpLinkWithText;\n //Build sign up link view appended with a text. Link class can only build anchor tags\n if(signUpLinkData.length) {\n SignUpLinkWithText = View.extend({\n className: 'signup-info',\n template: hbs`\n {{i18n code=\"registration.signup.label\" bundle=\"login\"}}\n `,\n initialize() {\n this.add(Link, '.signup-link', {\n options: signUpLinkData[0]\n });\n }\n });\n }\n return SignUpLinkWithText;\n },\n\n links() {\n const { appState, settings } = this.options;\n\n let helpLinkHref;\n if (settings.get('helpLinks.help')) {\n helpLinkHref = settings.get('helpLinks.help');\n } else {\n const baseUrl = settings.get('baseUrl');\n helpLinkHref = baseUrl + '/help/login';\n }\n\n const helpLink = [\n {\n 'name': 'help',\n 'label': loc('help', 'login'),\n 'href': helpLinkHref,\n 'target': '_blank',\n },\n ];\n\n let forgotPasswordLink = [];\n if (this.showForgotPasswordLink()) {\n forgotPasswordLink = getForgotPasswordLink(appState, settings);\n }\n\n const customHelpLinks = [];\n if (settings.get('helpLinks.custom')) {\n //add custom helpLinks\n settings.get('helpLinks.custom').forEach(customHelpLink => {\n customHelpLink.name = 'custom';\n customHelpLink.label = customHelpLink.text;\n customHelpLinks.push(customHelpLink);\n });\n }\n\n const unlockAccountLink = [];\n if (settings.get('helpLinks.unlock')) {\n unlockAccountLink.push({\n 'type': 'link',\n 'label': loc('unlockaccount', 'login'),\n 'name' : 'unlock',\n 'href': settings.get('helpLinks.unlock'),\n });\n } else if (appState.hasRemediationObject(RemediationForms.UNLOCK_ACCOUNT)) {\n unlockAccountLink.push({\n 'type': 'link',\n 'label': loc('unlockaccount', 'login'),\n 'name' : 'unlock',\n 'actionPath': RemediationForms.UNLOCK_ACCOUNT,\n });\n }\n\n return forgotPasswordLink\n .concat(unlockAccountLink)\n .concat(helpLink)\n .concat(customHelpLinks);\n }\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nexport default View.extend({\n\n template: hbs('{{label}}'),\n\n tagName: 'a',\n\n attributes() {\n let href = this.options.href || '#';\n const rel = (this.options.target === '_blank' && !this.options.rel)\n ? 'noopener noreferrer'\n : this.options.rel;\n return {\n 'data-se': this.options.name,\n href: href,\n target: this.options.target,\n rel: rel\n };\n },\n\n className() {\n const names = ['link'];\n if (this.options.name) {\n const nameToClass = this.options.name.replace(/[ ]/g, '-');\n names.push(`js-${nameToClass}`);\n }\n return names.join(' ');\n },\n\n postRender() {\n // TODO OKTA-245224: create sub class of Link to dispatch following if/else logic.\n if (!this.options.href) {\n this.$el.click((event) => {\n event.preventDefault();\n\n const {\n appState,\n formName,\n actionPath,\n clickHandler,\n } = this.options;\n\n if (clickHandler) {\n clickHandler();\n } else if (formName) {\n appState.trigger('switchForm', formName);\n } else if (actionPath) {\n appState.trigger('invokeAction', actionPath);\n }\n });\n }\n }\n});\n","import { View, loc, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nconst { Notification } = internal.views.components;\nconst { Clipboard } = internal.util;\n\nexport default View.extend({\n template: hbs`\n
            {{i18n code=\"enroll.explanation.mdm\" bundle=\"login\"}}
            \n
              \n
            1. \n {{i18n code=\"enroll.mdm.step.copyLink\" bundle=\"login\"}}\n \n {{i18n code=\"enroll.mdm.copyLink\" bundle=\"login\"}}\n \n
            2. \n
            3. {{i18n code=\"enroll.mdm.step.pasteLink\" bundle=\"login\"}}
            4. \n
            5. {{i18n code=\"enroll.mdm.step.followInstructions\" bundle=\"login\" \n arguments=\"vendor\" $1=\"$1\"}}
            6. \n
            7. {{i18n code=\"enroll.mdm.step.relogin\" bundle=\"login\"}}
            8. \n
            \n `,\n\n getTemplateData() {\n return this.options.appState.get('deviceEnrollment');\n },\n\n postRender: function() {\n // Attach each button to the respective 'data-clipboard-text'\n Clipboard.attach('.copy-clipboard-button').done(() => {\n let notification = new Notification({\n message: loc('enroll.mdm.copyLink.success', 'login'),\n level: 'success',\n });\n this.el.prepend(notification.render().el);\n return false;\n });\n },\n});\n","import { View, loc, internal } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\n\nconst { Notification } = internal.views.components;\nconst { Clipboard } = internal.util;\n\nconst getDeviceEnrollmentContext = (deviceEnrollment) => {\n const platform = (deviceEnrollment.platform || '').toLowerCase();\n const challengeMethod = deviceEnrollment.challengeMethod;\n const enrollmentType = deviceEnrollment.name;\n const isIOS = platform === Enums.IOS;\n const isAndroidAppLink = platform === Enums.ANDROID && challengeMethod === 'APP_LINK';\n const isAndroidLoopback = platform === Enums.ANDROID && challengeMethod === 'LOOPBACK';\n return {\n signInUrl: deviceEnrollment.signInUrl,\n isIOS,\n enrollmentType,\n isAndroidLoopback,\n isAndroidAppLink,\n appStoreLink: isIOS ? Enums.OKTA_VERIFY_APPLE_APP_STORE_URL : Enums.OKTA_VERIFY_GOOGLE_PLAY_STORE_URL,\n orgName: deviceEnrollment.orgName\n };\n};\n\nconst BaseOdaOktaVerifyTerminalView = View.extend({\n getTemplateData() {\n const deviceEnrollment = this.options.appState.get('deviceEnrollment');\n return getDeviceEnrollmentContext(deviceEnrollment);\n },\n});\n\nconst IosAndAndroidLoopbackOdaTerminalView = BaseOdaOktaVerifyTerminalView.extend({\n template: hbs`\n

            \n {{i18n code=\"enroll.explanation.p1\" bundle=\"login\"}}\n

            \n
              \n {{#if isIOS}}\n
            1. \n {{i18n code=\"enroll.mdm.step.copyLink\" bundle=\"login\"}}\n \n {{i18n code=\"enroll.mdm.copyLink\" bundle=\"login\"}}\n \n
            2. \n
            3. {{i18n code=\"enroll.mdm.step.pasteLink\" bundle=\"login\"}}
            4. \n
            5. {{i18n code=\"enroll.oda.step3\" bundle=\"login\"}}
            6. \n {{/if}}\n {{#if isAndroidLoopback}}\n
            7. {{i18n code=\"enroll.oda.android.step1\" bundle=\"login\"}}
            8. \n {{/if}}\n
            9. {{i18n code=\"enroll.oda.step1\" bundle=\"login\"}}
            10. \n
            11. \n {{i18n code=\"enroll.oda.step2\" bundle=\"login\"}}\n \n \n {{i18n code=\"enroll.oda.org.copyLink\" bundle=\"login\"}}\n \n
            12. \n
            13. {{i18n code=\"enroll.oda.step6\" bundle=\"login\"}}
            14. \n
            \n `,\n\n postRender: function() {\n // Attach each button to the respective 'data-clipboard-text'\n Clipboard.attach('.copy-clipboard-button').done(() => {\n let notification = new Notification({\n message: loc('enroll.mdm.copyLink.success', 'login'),\n level: 'success',\n });\n this.el.prepend(notification.render().el);\n return false;\n });\n Clipboard.attach('.copy-org-clipboard-button').done(() => {\n let notification = new Notification({\n message: loc('enroll.oda.org.copyLink.success', 'login'),\n level: 'success',\n });\n this.el.prepend(notification.render().el);\n return false;\n });\n },\n});\n\nconst AndroidAppLinkWithAccountOdaTerminalView = BaseOdaOktaVerifyTerminalView.extend({\n template: hbs`\n

            \n {{i18n code=\"enroll.oda.with.account.explanation\" bundle=\"login\"}}\n

            \n

            \n {{i18n code=\"enroll.oda.with.account.subtitile1 \" bundle=\"login\"}}\n

            \n
              \n
            • {{i18n code=\"enroll.oda.with.account.step1\" bundle=\"login\"}}
            • \n
            • {{i18n code=\"enroll.oda.with.account.step2\" bundle=\"login\"}}
            • \n
            • {{i18n code=\"enroll.oda.with.account.step3\" bundle=\"login\"}}
            • \n
            \n

            \n {{i18n code=\"enroll.oda.with.account.subtitile2 \" bundle=\"login\"}}\n

            \n
              \n
            1. {{i18n code=\"enroll.oda.with.account.step4\" bundle=\"login\"}}
            2. \n
            3. {{i18n code=\"enroll.oda.with.account.step5\" bundle=\"login\" arguments=\"signInUrl\"}}
            4. \n
            5. {{i18n code=\"enroll.oda.with.account.step6\" bundle=\"login\"}}
            6. \n
            7. {{i18n code=\"enroll.oda.with.account.step7\" bundle=\"login\"}}
            8. \n
            \n `,\n});\n\nconst AndroidAppLinkWithoutAccountOdaTerminalView = BaseOdaOktaVerifyTerminalView.extend({\n template: hbs`\n

            \n {{i18n code=\"enroll.oda.without.account.explanation\" bundle=\"login\"}}\n

            \n
              \n
            1. \n {{{i18n code=\"enroll.oda.without.account.step1\" bundle=\"login\" arguments=\"appStoreLink\"}}}\n
            2. \n
            3. {{i18n code=\"enroll.oda.step1\" bundle=\"login\"}}
            4. \n
            5. \n {{i18n code=\"enroll.oda.step2\" bundle=\"login\"}}\n \n \n {{i18n code=\"enroll.oda.org.copyLink\" bundle=\"login\"}}\n \n
            6. \n
            7. {{i18n code=\"enroll.oda.without.account.step4\" bundle=\"login\"}}
            8. \n
            \n `,\n\n postRender: function() {\n // Attach each button to the respective 'data-clipboard-text'\n Clipboard.attach('.copy-org-clipboard-button').done(() => {\n let notification = new Notification({\n message: loc('enroll.oda.org.copyLink.success', 'login'),\n level: 'success',\n });\n this.el.prepend(notification.render().el);\n return false;\n });\n },\n});\n\nexport {\n IosAndAndroidLoopbackOdaTerminalView,\n AndroidAppLinkWithAccountOdaTerminalView,\n AndroidAppLinkWithoutAccountOdaTerminalView,\n getDeviceEnrollmentContext,\n};\n","import { BaseHeader } from '../internals';\nimport { AUTHENTICATOR_KEY } from '../../ion/RemediationConstants';\nimport { BaseAuthenticatorBeacon } from './BaseAuthenticatorView';\n\nexport default BaseHeader.extend({\n HeaderBeacon: BaseAuthenticatorBeacon.extend({\n authenticatorKey: AUTHENTICATOR_KEY.OV,\n })\n});\n","import { createButton, loc } from '@okta/courage';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\n\nconst remindMeLater = createButton({\n className: 'button-primary button skip-all',\n title: function() {\n return loc('oie.setup.remind.me.later', 'login');\n },\n click: function() {\n this.options.appState.trigger('invokeAction', RemediationForms.SKIP);\n }\n});\n\nexport default remindMeLater;\n","import { _, internal, loc } from '@okta/courage';\nimport { doesI18NKeyExist } from 'v2/ion/i18nTransformer';\nimport hbs from '@okta/handlebars-inline-precompile';\n\nconst CheckBox = internal.views.forms.inputs.CheckBox;\n\nexport default CheckBox.extend({\n template: hbs`\n \n \n `,\n\n getLocalizedLabel: function() {\n const key = `consent.scopes.${this.options.options.scopeName}.label`;\n return doesI18NKeyExist(key) ? loc(key, 'login') : (this.options.placeholder || this.options.options.scopeName);\n },\n\n getLocalizedDesc: function() {\n const key = `consent.scopes.${this.options.options.scopeName}.desc`;\n return doesI18NKeyExist(key) ? loc(key, 'login') : this.options.options.desc;\n },\n\n isCustomizedScope: function() {\n return !doesI18NKeyExist(`consent.scopes.${this.options.options.scopeName}.label`);\n },\n\n /**\n * @Override\n */\n enable: function() {\n if (this.options.options.mutable) {\n this.$(':input').prop('disabled', false);\n }\n },\n\n /**\n * @Override\n */\n editMode: function() {\n\n this.$el.html(this.template(_.extend(_.omit(this.options, 'placeholder'), {\n placeholder: this.getLocalizedLabel(),\n desc: this.getLocalizedDesc()\n })));\n\n this.$(':checkbox').prop('checked', this.getModelValue() || false);\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n\n if (!this.options.options.mutable) {\n const input = this.$('input').get(0);\n this.$(input.parentElement).addClass('o-form-read-mode');\n this.$(':checkbox').prop('disabled', true);\n }\n\n if (this.options.options.scopeName === 'openid' || this.isCustomizedScope()) {\n this.$('label > b').addClass('no-translate');\n if (this.isCustomizedScope()) {\n this.$('label > p').addClass('no-translate');\n }\n }\n\n return this;\n },\n\n});","import { createButton, loc } from '@okta/courage';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\n\nconst skipAll = createButton({\n className: 'button-primary button skip-all',\n title: function() {\n return loc('oie.optional.authenticator.button.title', 'login');\n },\n click: function() {\n this.options.appState.trigger('invokeAction', RemediationForms.SKIP);\n }\n});\n\nexport default skipAll;","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View, $ } from '@okta/courage';\nimport Link from './Link';\n\nexport default View.extend({\n initialize() {\n View.prototype.initialize.apply(this, arguments);\n const textViewOptions = this.options.additionalOptions;\n const linkName = this.options.name;\n const linkOptions = Object.assign({}, this.options,\n {\n 'type': 'link',\n 'aria-expanded': false,\n 'clickHandler': function() {\n $(textViewOptions.selector).slideToggle(200, () => {\n $(`.js-${linkName}`).attr('aria-expanded', $(textViewOptions.selector).is(':visible'));\n });\n }\n });\n this.add(Link, { options: linkOptions });\n this.add(textViewOptions.view);\n },\n\n postRender() {\n const textViewOptions = this.options.additionalOptions;\n this.$(textViewOptions.selector).hide();\n },\n});\n","import { View, _, $} from '@okta/courage';\nimport Link from '../components/Link';\nimport ToggleTextLink from '../components/ToggleTextLink';\nimport { getSignOutLink } from '../utils/LinksUtil';\n\n/**\n * When `href` is present, the Link behaviors as normal link (anchor element).\n * When `actionPath` is present, the Link behaviors as link button\n * on which user clicks, will trigger the action `actionPath`.\n * When `formName` is present, the link behaviors as link button\n * on which user clicks, will submit a remediation form.\n *\n * @typedef {Object} Link\n * @property {string} label\n * @property {string} name\n * @property {string=} href\n * @property {string=} actionPath\n * @property {string=} formName\n */\n\n\nexport default View.extend({\n\n className: 'auth-footer',\n\n /**\n * {Link[]} links\n */\n links: [],\n\n /**\n * View\n * adds any view to the footer in footer info section\n */ \n footerInfo: null,\n\n /**\n * Boolean\n * If false then 'Back to sign in' does not get added to the view\n */\n hasBackToSignInLink: true,\n\n initialize() {\n let links = _.resultCtx(this, 'links', this);\n const footerInfo = _.resultCtx(this, 'footerInfo', this);\n const hasBackToSignInLink = _.resultCtx(this, 'hasBackToSignInLink', this);\n\n // safe check\n // 1. avoid none array from override\n // 2. ignore any none plain object arguments\n if (!Array.isArray(links)) {\n links = [];\n } else {\n links = links.filter(l => $.isPlainObject(l));\n }\n\n // add 'back to sign in' link if the form qualifies for it by default.\n // Previously called cancel/Sign Out links\n if (this.options.appState.shouldShowSignOutLinkInCurrentForm(\n this.options.settings.get('features.hideSignOutLinkInMFA') ||\n this.settings.get('features.mfaOnlyFlow')) && hasBackToSignInLink) {\n links = links.concat(getSignOutLink(this.options.settings));\n }\n\n links.forEach(link => {\n let LinkView = Link;\n if (link.type === 'toggle-text-link') {\n LinkView = ToggleTextLink;\n }\n this.add(LinkView, { options: link });\n });\n\n if (footerInfo) {\n this.add(View.extend({\n className: 'footer-info',\n }));\n\n this.add(footerInfo, '.footer-info');\n }\n }\n});\n","import polling from '../views/shared/polling';\nimport BaseForm from './BaseForm';\n\nexport default BaseForm.extend(Object.assign(\n {\n initialize() {\n BaseForm.prototype.initialize.apply(this, arguments);\n this.listenTo(this.options.appState, 'change:dynamicRefreshInterval', this.updateRefreshInterval);\n },\n\n updateRefreshInterval() {\n if (this.polling) {\n this.stopPolling();\n this.startPolling(this.options.appState.get('dynamicRefreshInterval'));\n }\n },\n },\n polling,\n));\n","import { View, $ } from '@okta/courage';\nimport Animations from 'util/Animations';\nimport Enums from 'util/Enums';\n\nexport default View.extend({\n HeaderBeacon: null,\n\n initialize() {\n if (this.HeaderBeacon) {\n this.add(this.HeaderBeacon);\n }\n },\n\n postRender() {\n const mainContentContainer = $(`#${Enums.WIDGET_CONTAINER_ID}`);\n\n if (this.HeaderBeacon) {\n mainContentContainer.removeClass('no-beacon');\n\n // animate beacon\n const beaconContainer = this.$el.find('[data-type=\"beacon-container\"]');\n Animations.explode(beaconContainer);\n } else {\n mainContentContainer.addClass('no-beacon');\n }\n },\n});\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { _, Model } from '@okta/courage';\n\nconst convertUiSchemaFieldToProp = (uiSchemaField) => {\n const config = Object.assign(\n {},\n _.chain(uiSchemaField)\n .pick('minLength', 'maxLength', 'required', 'value')\n .defaults({ type: 'string', required: true })\n .value()\n );\n\n if (uiSchemaField.modelType) {\n config.type = uiSchemaField.modelType;\n }\n\n return { [uiSchemaField.name]: config };\n};\n\nconst createPropsAndLocals = function(\n remediation = {},\n optionUiSchemaConfig = {},\n props = {},\n local = {}) {\n\n const uiSchemas = remediation.uiSchema || [];\n\n uiSchemas.forEach(schema => {\n if (Array.isArray(schema.optionsUiSchemas)) {\n let optionUiSchemaIndex;\n let optionUiSchemaValue = {};\n\n if (Number(schema.value) >= 0) {\n optionUiSchemaIndex = schema.value;\n }\n if (optionUiSchemaConfig[schema.name]) {\n optionUiSchemaValue = { value: optionUiSchemaConfig[schema.name] };\n optionUiSchemaIndex = Number(optionUiSchemaValue.value);\n }\n\n Object.assign(\n local,\n convertUiSchemaFieldToProp(Object.assign({}, schema, optionUiSchemaValue)));\n\n if (optionUiSchemaIndex) {\n createPropsAndLocals(\n { uiSchema: schema.optionsUiSchemas[optionUiSchemaIndex] },\n optionUiSchemaConfig,\n props,\n local,\n );\n }\n } else {\n Object.assign(props, convertUiSchemaFieldToProp(schema));\n }\n });\n};\n\nconst create = function(remediation = {}, optionUiSchemaConfig = {}) {\n const props = {};\n const local = {\n // current remediation form name\n formName: 'string',\n // use full page redirect instead of AJAX\n useRedirect: 'boolean',\n };\n createPropsAndLocals(\n remediation,\n optionUiSchemaConfig,\n props,\n local);\n\n const BaseModel = Model.extend({\n props,\n local,\n });\n\n return BaseModel;\n};\n\nexport default {\n create,\n};\n","/* eslint max-statements: [2, 22] */\nimport { $ } from '@okta/courage';\nimport BaseFormWithPolling from '../internals/BaseFormWithPolling';\nimport Logger from 'util/Logger';\nimport {\n AUTHENTICATOR_CANCEL_ACTION,\n AUTHENTICATION_CANCEL_REASONS,\n CHALLENGE_TIMEOUT,\n} from '../utils/Constants';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport { \n doChallenge,\n cancelPollingWithParams,\n createInvisibleIFrame,\n} from '../utils/ChallengeViewUtil';\n\nconst request = (opts) => {\n const ajaxOptions = Object.assign({\n method: 'GET',\n contentType: 'application/json',\n }, opts);\n return $.ajax(ajaxOptions);\n};\n\nconst Body = BaseFormWithPolling.extend({\n noButtonBar: true,\n\n className: 'ion-form device-challenge-poll',\n\n removed: false,\n\n events: {\n 'click #launch-ov': function(e) {\n e.preventDefault();\n this.doCustomURI();\n }\n },\n\n pollingCancelAction: AUTHENTICATOR_CANCEL_ACTION,\n\n initialize() {\n BaseFormWithPolling.prototype.initialize.apply(this, arguments);\n this.removed = false;\n this.listenTo(this.model, 'error', this.onPollingFail);\n this.doChallenge();\n this.startPolling();\n },\n\n doChallenge() {\n doChallenge(this);\n },\n\n onPollingFail() {\n this.$('.spinner').hide();\n this.stopPolling();\n },\n\n remove() {\n BaseFormWithPolling.prototype.remove.apply(this, arguments);\n this.removed = true;\n this.stopProbing();\n this.stopPolling();\n },\n\n getDeviceChallengePayload() {\n throw new Error('getDeviceChallengePayload needs to be implemented');\n },\n\n doLoopback(deviceChallenge) {\n let authenticatorDomainUrl = deviceChallenge.domain !== undefined ? deviceChallenge.domain : '';\n let authenticatorHttpsDomainUrl = deviceChallenge.httpsDomain !== undefined ? deviceChallenge.httpsDomain : '';\n let ports = deviceChallenge.ports !== undefined ? deviceChallenge.ports : [];\n let maxNumberOfPorts = ports.length;\n let challengeRequest = deviceChallenge.challengeRequest !== undefined ? deviceChallenge.challengeRequest : '';\n let probeTimeoutMillis = deviceChallenge.probeTimeoutMillis !== undefined ?\n deviceChallenge.probeTimeoutMillis : 100;\n let currentPort;\n let foundPort = false;\n let ovFailed = false;\n let countFailedPorts = 0;\n\n const getAuthenticatorUrl = (path, domainUrl) => {\n return `${domainUrl}:${currentPort}/${path}`;\n };\n\n const checkPort = (url) => {\n return request({\n url: url,\n /*\n OKTA-278573 in loopback server, SSL handshake sometimes takes more than 100ms and thus needs additional\n timeout however, increasing timeout is a temporary solution since user will need to wait much longer in\n worst case.\n TODO: Android timeout is temporarily set to 3000ms and needs optimization post-Beta.\n OKTA-365427 introduces probeTimeoutMillis; but we should also consider probeTimeoutMillisHTTPS for\n customizing timeouts in the more costly Android and other (keyless) HTTPS scenarios.\n */\n timeout: BrowserFeatures.isAndroid() ? 3000 : probeTimeoutMillis\n });\n };\n\n const onPortFound = (url) => {\n return request({\n url: url,\n method: 'POST',\n data: JSON.stringify({ challengeRequest }),\n timeout: CHALLENGE_TIMEOUT // authenticator should respond within 5 min (300000ms) for challenge request\n });\n };\n\n const onFailure = () => {\n Logger.error(`Something unexpected happened while we were checking port ${currentPort}.`);\n return $.Deferred().reject();\n };\n\n const doProbing = (domainUrl) => {\n return checkPort(getAuthenticatorUrl('probe', domainUrl))\n .then(() => {\n return onPortFound(getAuthenticatorUrl('challenge', domainUrl))\n .then(() => {\n foundPort = true;\n if (deviceChallenge.enhancedPollingEnabled !== false) {\n // this way we can gurantee that\n // 1. the polling is triggered right away (1ms interval)\n // 2. Only one polling queue\n // 3. follwoing polling will continue with refresh interval from previous polling response\n // NOTE: technically, there could still be concurrency issue where when we called stopPolling,\n // there is already a polling triggered and hasn't completed yet\n // but the possibility would be much smaller than previous concurrency issue\n // this is a best effort change\n this.stopPolling();\n this.startPolling(1);\n return;\n }\n // once the OV challenge succeeds,\n // triggers another polling right away without waiting for the next ongoing polling to be triggered\n // to make the authentication flow goes faster \n return this.trigger('save', this.model);\n })\n .catch((xhr) => {\n countFailedPorts++;\n // Windows and MacOS return status code 503 when \n // there are multiple profiles on the device and\n // the wrong OS profile responds to the challenge request\n if (xhr.status !== 503) {\n // when challenge responds with other errors,\n // - stop the remaining probing\n ovFailed = true;\n // - cancel polling right away\n cancelPollingWithParams(\n this.options.appState,\n this.pollingCancelAction,\n AUTHENTICATION_CANCEL_REASONS.OV_ERROR,\n xhr.status,\n !this.removed,\n );\n } else if (countFailedPorts === maxNumberOfPorts) {\n // when challenge is responded by the wrong OS profile and\n // all the ports are exhausted,\n // cancel the polling like the probing has failed\n cancelPollingWithParams(\n this.options.appState,\n this.pollingCancelAction,\n AUTHENTICATION_CANCEL_REASONS.LOOPBACK_FAILURE,\n null,\n !this.removed,\n );\n }\n });\n })\n .catch(onFailure);\n };\n\n let probeChain = Promise.resolve();\n\n const handlePortProbing = (port, baseUrl, checkPortMaxFailure) => {\n probeChain = probeChain\n .then(() => {\n if (!(foundPort || ovFailed)) {\n currentPort = port;\n return doProbing(baseUrl);\n }\n })\n .catch(() => {\n countFailedPorts++;\n Logger.error(`Authenticator is not listening on port ${currentPort}.`);\n if (checkPortMaxFailure && countFailedPorts === maxNumberOfPorts) {\n Logger.error('No available ports. Loopback server failed and polling is cancelled.');\n // When no port is found, cancel the polling as well\n // This is to avoid concurrency issue where /poll/cancel takes long time to complete\n // and SIW will receive 400 error if the polling continues\n this.stopPolling();\n cancelPollingWithParams(\n this.options.appState,\n this.pollingCancelAction,\n AUTHENTICATION_CANCEL_REASONS.LOOPBACK_FAILURE,\n null,\n !this.removed,\n );\n }\n });\n };\n\n // If https domain exists, do https domain probe first\n // This only applies to MacOS for now\n if (authenticatorHttpsDomainUrl) {\n // if https domain are included, max number of ports to be probed should be doubled\n Logger.info('httpsDomain enabled, will probe and challenge https first');\n maxNumberOfPorts += maxNumberOfPorts;\n ports.forEach(port => {\n handlePortProbing(port, authenticatorHttpsDomainUrl, false);\n });\n }\n\n // Always do probe on regular domain\n ports.forEach(port => {\n handlePortProbing(port, authenticatorDomainUrl, true);\n });\n },\n\n doCustomURI() {\n this.ulDom && this.ulDom.remove();\n const IframeView = createInvisibleIFrame('custom-uri-container', this.customURI);\n this.ulDom = this.add(IframeView).last();\n },\n\n doChromeDTC(deviceChallenge) {\n this.ulDom && this.ulDom.remove();\n const IframeView = createInvisibleIFrame('chrome-dtc-container', deviceChallenge.href);\n this.ulDom = this.add(IframeView).last();\n },\n\n stopProbing() {\n this.checkPortXhr && this.checkPortXhr.abort();\n this.probingXhr && this.probingXhr.abort();\n },\n});\n\nexport default Body;\n","import { _, View } from '@okta/courage';\nimport BaseHeader from './BaseHeader';\nimport BaseForm from './BaseForm';\nimport BaseModel from './BaseModel';\nimport BaseFooter from './BaseFooter';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport {getClassNameMapping} from '../../ion/ViewClassNamesFactory';\n\nexport default View.extend({\n\n Header: BaseHeader,\n\n Body: BaseForm,\n\n Footer: BaseFooter,\n\n className() {\n const appState = this.options.appState;\n\n const formName = appState.get('currentFormName');\n const authenticatorKey = appState.get('authenticatorKey');\n const methodType = appState.get('authenticatorMethodType');\n const isPasswordRecoveryFlow = appState.get('isPasswordRecoveryFlow');\n\n const additionalClassNames = getClassNameMapping(\n formName,\n authenticatorKey,\n methodType,\n isPasswordRecoveryFlow,\n );\n\n const classNames = ['siw-main-view'].concat(additionalClassNames);\n return classNames.join(' ');\n },\n\n template: hbs`\n
            \n
            \n
            \n `,\n\n preRender() {\n View.prototype.preRender.apply(this, arguments);\n // Add Views\n if (this.Header !== null) {\n this.add(this.Header, {\n selector: '.siw-main-header',\n options: this.options,\n });\n }\n this.renderForm();\n this.add(this.Footer, {\n selector : '.siw-main-footer',\n options: this.options,\n });\n },\n\n renderForm() {\n let optionUiSchemaConfig;\n\n if (this.form) {\n this.form.remove();\n optionUiSchemaConfig = this.form.model.toJSON({verbose: true});\n }\n\n // Create Model\n const IonModel = this.createModelClass(\n this.options.currentViewState,\n optionUiSchemaConfig,\n this.settings,\n );\n\n const model = new IonModel ({\n formName: this.options.currentViewState.name,\n });\n\n if (!optionUiSchemaConfig) {\n optionUiSchemaConfig = model.toJSON({verbose: true});\n }\n\n this.model = model;\n this.form = this.add(this.Body, {\n selector : '.siw-main-body',\n options: Object.assign(\n {},\n this.options,\n {\n model,\n optionUiSchemaConfig,\n },\n ),\n }).last();\n\n _.each(model.attributes, (value, key) => {\n if (key.match(/sub_schema_local_[^ ]+/)) {\n // in order to render different sub-schema\n this.listenTo(model, `change:${key}`, () => {\n this.renderForm();\n });\n }\n });\n },\n\n createModelClass(currentViewState, optionUiSchemaConfig = {}) {\n return BaseModel.create(currentViewState, optionUiSchemaConfig);\n },\n\n});\n","export { default as BaseHeader } from './BaseHeader';\nexport { default as BaseFooter } from './BaseFooter';\nexport { default as BaseForm } from './BaseForm';\nexport { default as BaseFormWithPolling } from './BaseFormWithPolling';\nexport { default as BaseOktaVerifyChallengeView } from './BaseOktaVerifyChallengeView';\nexport { default as BaseModel } from './BaseModel';\nexport { default as BaseView } from './BaseView';\nexport { addCustomButton, createCustomButtons, createIdpButtons } from './FormInputFactory';\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport _ from 'underscore';\nimport { loc } from '../../../util/loc';\nimport FactorUtil from 'util/FactorUtil';\nimport { AUTHENTICATOR_KEY, ID_PROOFING_TYPE } from '../../ion/RemediationConstants';\n\nconst { getPasswordComplexityDescriptionForHtmlList } = FactorUtil;\n\nconst getButtonDataSeAttr = function(authenticator) {\n if (authenticator.authenticatorKey) {\n const method = authenticator.value?.methodType ?\n '-' + authenticator.value?.methodType : '';\n return authenticator.authenticatorKey + method;\n }\n return '';\n};\n\n/* eslint complexity: [0, 0], max-statements: [2, 25] */\nconst getAuthenticatorData = function(authenticator, isVerifyAuthenticator) {\n const authenticatorKey = authenticator.authenticatorKey;\n const key = _.isString(authenticatorKey) ? authenticatorKey.toLowerCase() : '';\n let authenticatorData = {};\n let nicknameText = isVerifyAuthenticator ? authenticator.relatesTo?.nickname : undefined;\n switch (key) {\n case AUTHENTICATOR_KEY.EMAIL:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? authenticator.relatesTo?.profile?.email || ''\n : loc('oie.email.authenticator.description', 'login'),\n iconClassName: 'mfa-okta-email',\n noTranslateClassName: isVerifyAuthenticator ? 'no-translate' : '',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? getVerifyEmailAriaLabel(authenticator.relatesTo?.profile?.email)\n : loc('oie.select.authenticator.enroll.email.label', 'login')\n });\n break;\n\n case AUTHENTICATOR_KEY.PASSWORD:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.password.authenticator.description', 'login'),\n iconClassName: 'mfa-okta-password',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.password.label', 'login')\n : loc('oie.select.authenticator.enroll.password.label', 'login')\n });\n break;\n\n case AUTHENTICATOR_KEY.PHONE:\n Object.assign(authenticatorData, {\n nickname: nicknameText,\n description: isVerifyAuthenticator\n ? authenticator.relatesTo?.profile?.phoneNumber\n : loc('oie.phone.authenticator.description', 'login'),\n iconClassName: 'mfa-okta-phone',\n noTranslateClassName: isVerifyAuthenticator ? 'no-translate' : '',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? getVerifyPhoneAriaLabel(authenticator.relatesTo?.profile?.phoneNumber)\n : loc('oie.select.authenticator.enroll.phone.label', 'login')\n });\n break;\n\n case AUTHENTICATOR_KEY.SECURITY_QUESTION:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.security.question.authenticator.description', 'login'),\n iconClassName: 'mfa-okta-security-question',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.security.question.label', 'login')\n : loc('oie.select.authenticator.enroll.security.question.label', 'login')\n });\n break;\n\n case AUTHENTICATOR_KEY.WEBAUTHN:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.webauthn.description', 'login'),\n iconClassName: 'mfa-webauthn',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.webauthn.label', 'login')\n : loc('oie.select.authenticator.enroll.webauthn.label', 'login')\n });\n break;\n\n case AUTHENTICATOR_KEY.OV:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? loc('oie.okta_verify.label', 'login')\n : loc('oie.okta_verify.authenticator.description', 'login'),\n iconClassName: 'mfa-okta-verify',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: getOktaVerifyAriaLabel(isVerifyAuthenticator, authenticator?.value?.methodType),\n });\n break;\n\n case AUTHENTICATOR_KEY.GOOGLE_OTP:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.google_authenticator.authenticator.description', 'login'),\n iconClassName: 'mfa-google-auth',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n\n case AUTHENTICATOR_KEY.ON_PREM: {\n const vendorName = authenticator.relatesTo?.displayName ||\n loc('oie.on_prem.authenticator.default.vendorName', 'login');\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.on_prem.authenticator.description', 'login', [vendorName]),\n iconClassName: 'mfa-onprem',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n case AUTHENTICATOR_KEY.RSA:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.rsa.authenticator.description', 'login'),\n iconClassName: 'mfa-rsa',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n\n case AUTHENTICATOR_KEY.DUO:\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.duo.authenticator.description', 'login'),\n iconClassName: 'mfa-duo',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n\n case AUTHENTICATOR_KEY.IDP: {\n const idpName = authenticator.relatesTo?.displayName;\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.idp.authenticator.description', 'login', [idpName]),\n iconClassName: 'mfa-custom-factor',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n logoUri : authenticator?.relatesTo?.logoUri || '',\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n case AUTHENTICATOR_KEY.CUSTOM_OTP: {\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.custom_otp.description', 'login'),\n iconClassName: 'mfa-hotp',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n case AUTHENTICATOR_KEY.SYMANTEC_VIP: {\n const appName = authenticator.relatesTo?.displayName;\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.symantecVip.authenticator.description', 'login', [appName]),\n iconClassName: 'mfa-symantec',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n case AUTHENTICATOR_KEY.YUBIKEY: {\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? ''\n : loc('oie.yubikey.authenticator.description', 'login'),\n iconClassName: 'mfa-yubikey',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n case AUTHENTICATOR_KEY.CUSTOM_APP: {\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? authenticator?.relatesTo?.displayName\n : loc('oie.custom.app.authenticator.description', 'login', [authenticator.label]),\n noTranslateClassName: isVerifyAuthenticator ? 'no-translate' : '',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n iconClassName: 'mfa-custom-app-logo',\n logoUri : authenticator?.relatesTo?.logoUri || '',\n ariaLabel: isVerifyAuthenticator\n ? loc(\n 'oie.select.authenticator.verify.named.authenticator.label',\n 'login',\n [authenticator?.relatesTo?.displayName])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n case AUTHENTICATOR_KEY.SMARTCARD: {\n Object.assign(authenticatorData, {\n description: isVerifyAuthenticator\n ? '' \n : loc('oie.smartcard.authenticator.description', 'login'),\n iconClassName: 'mfa-smartcard',\n buttonDataSeAttr: getButtonDataSeAttr(authenticator),\n ariaLabel: isVerifyAuthenticator\n ? loc('oie.select.authenticator.verify.named.authenticator.label', 'login', [authenticator.label])\n : loc('oie.select.authenticator.enroll.named.authenticator.label', 'login', [authenticator.label])\n });\n break;\n }\n\n }\n return authenticatorData;\n};\n\nconst getIDProofingData = function(idvName) {\n let idProofingData = {};\n \n switch (idvName) {\n case ID_PROOFING_TYPE.IDV_PERSONA:\n idProofingData = {\n iconClassName: 'mfa-idv-persona',\n };\n break;\n case ID_PROOFING_TYPE.IDV_CLEAR:\n idProofingData = {\n iconClassName: 'mfa-idv-clear',\n };\n break;\n case ID_PROOFING_TYPE.IDV_INCODE:\n idProofingData = {\n iconClassName: 'mfa-idv-incode',\n };\n break;\n }\n return idProofingData;\n};\n\nexport function getVerifyEmailAriaLabel(email) {\n return email\n ? loc('oie.select.authenticator.verify.email.with.email.label', 'login', [email])\n : loc('oie.select.authenticator.verify.email.label', 'login');\n}\n\nexport function getVerifyPhoneAriaLabel(phone) {\n return phone\n ? loc('oie.select.authenticator.verify.phone.with.phone.label', 'login', [phone])\n : loc('oie.select.authenticator.verify.phone.label', 'login');\n}\n\nexport function getOktaVerifyAriaLabel(isVerify, methodType) {\n if (!isVerify) {\n return loc('oie.select.authenticator.enroll.okta_verify.authenticator.label', 'login');\n }\n const defaultLabel = loc('oie.select.authenticator.verify.okta_verify.label', 'login');\n if (typeof methodType === 'undefined') {\n return defaultLabel;\n }\n const methodTypeLabelMap = {\n push: loc('oie.select.authenticator.okta_verify.push.label', 'login'),\n totp: loc('oie.select.authenticator.okta_verify.totp.label', 'login'),\n 'signed_nonce': loc('oie.select.authenticator.okta_verify.signed_nonce.label', 'login'),\n };\n return methodTypeLabelMap[methodType] || defaultLabel;\n}\n\nexport function getAuthenticatorDataForEnroll(authenticator) {\n return getAuthenticatorData(authenticator);\n}\n\nexport function getAuthenticatorDataForVerification(authenticator) {\n return getAuthenticatorData(authenticator, true);\n}\n\nexport function getIconClassNameForBeacon(authenticatorKey, idvName) {\n return getAuthenticatorData({ authenticatorKey }).iconClassName || getIDProofingData(idvName).iconClassName;\n}\n\nexport function removeRequirementsFromError(errorJSON) {\n if (errorJSON.errorCauses?.length > 0\n && Array.isArray(errorJSON.errorCauses[0].errorSummary)\n && errorJSON.errorCauses[0].errorSummary.length > 0) {\n // Change from Array to string for all errors.\n errorJSON.errorCauses[0].errorSummary = errorJSON.errorCauses[0].errorSummary[0];\n\n // Overrides for particular error messages.\n const errorKey = errorJSON.errorCauses[0].errorKey?.length > 0 && errorJSON.errorCauses[0].errorKey[0];\n // Remove the requirements string only if this is requirements were not met error.\n if (errorKey === 'password.passwordRequirementsNotMet') {\n errorJSON.errorCauses[0].errorSummary = loc('registration.error.password.passwordRequirementsNotMet', 'login');\n }\n }\n return errorJSON;\n}\n\n/**\n * Get authenticator display name from {@code remediation}.\n *\n * @param {Object} remediation\n */\nexport function getAuthenticatorDisplayName(remediation) {\n return remediation.relatesTo?.value?.displayName;\n}\n\n// Re-export function from FactorUtil\nexport { getPasswordComplexityDescriptionForHtmlList };\n","import Util from '../../../util/Util';\nimport {BaseHeader} from '../internals';\nimport {BaseAuthenticatorBeacon} from '../components/BaseAuthenticatorView';\nimport {AUTHENTICATOR_KEY} from '../../ion/RemediationConstants';\n\nfunction getHeader() {\n return BaseHeader.extend({\n HeaderBeacon: null,\n \n initialize() {\n if (Util.isAndroidOVEnrollment(this.options.appState.get('authentication'))) {\n this.HeaderBeacon = BaseAuthenticatorBeacon.extend({\n authenticatorKey: AUTHENTICATOR_KEY.OV,\n });\n }\n BaseHeader.prototype.initialize.apply(this, arguments);\n },\n });\n}\n\nexport { getHeader };\n","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { loc, View, createButton, _ } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Enums from 'util/Enums';\nimport Util from 'util/Util';\nimport {\n FASTPASS_FALLBACK_SPINNER_TIMEOUT,\n IDENTIFIER_FLOW,\n LOOPBACK_RESPONSE_STATUS_CODE,\n OV_UV_ENABLE_BIOMETRICS_FASTPASS_DESKTOP, \n OV_UV_ENABLE_BIOMETRICS_FASTPASS_MOBILE,\n REQUEST_PARAM_AUTHENTICATION_CANCEL_REASON,\n} from '../utils/Constants';\n\nexport function appendLoginHint(deviceChallengeUrl, loginHint) {\n if (deviceChallengeUrl && loginHint) {\n deviceChallengeUrl += '&login_hint=' + loginHint;\n }\n\n return deviceChallengeUrl;\n}\n\nexport function doChallenge(view, fromView) {\n const deviceChallenge = view.getDeviceChallengePayload();\n const loginHint = view.options?.settings?.get('identifier');\n const HIDE_CLASS = 'hide';\n switch (deviceChallenge.challengeMethod) {\n case Enums.LOOPBACK_CHALLENGE:\n view.title = loc('deviceTrust.sso.redirectText', 'login');\n view.add(View.extend({\n className: 'loopback-content',\n template: hbs`
            `\n }));\n view.doLoopback(deviceChallenge);\n break;\n case Enums.CUSTOM_URI_CHALLENGE:\n view.title = loc('customUri.title', 'login');\n view.add(View.extend({\n className: 'skinny-content',\n template: hbs`\n

            \n {{i18n code=\"customUri.required.content.prompt\" bundle=\"login\"}}\n

            \n `,\n }));\n view.add(createButton({\n className: 'ul-button button button-wide button-primary',\n title: loc('oktaVerify.open.button', 'login'),\n id: 'launch-ov',\n click: () => {\n view.doCustomURI();\n }\n }));\n view.add(View.extend({\n className: 'skinny-content',\n template: hbs`\n

            \n {{i18n code=\"customUri.required.content.download.title\" bundle=\"login\"}}\n

            \n

            \n \n {{i18n code=\"customUri.required.content.download.linkText\" bundle=\"login\"}}\n \n

            \n `,\n getTemplateData() {\n return {\n downloadOVLink: deviceChallenge.downloadHref\n };\n },\n }));\n view.customURI = appendLoginHint(deviceChallenge.href, loginHint);\n view.doCustomURI();\n break;\n case Enums.UNIVERSAL_LINK_CHALLENGE:\n view.title = loc('universalLink.title', 'login');\n view.add(View.extend({\n className: 'universal-link-content',\n template: hbs`\n
            \n {{i18n code=\"universalLink.content\" bundle=\"login\"}}\n `\n }));\n view.add(createButton({\n className: 'ul-button button button-wide button-primary',\n title: loc('oktaVerify.open.button', 'login'),\n click: () => {\n // only window.location.href can open universal link in iOS/MacOS\n // other methods won't do, ex, AJAX get or form get (Util.redirectWithFormGet)\n let deviceChallengeUrl = appendLoginHint(deviceChallenge.href, loginHint);\n Util.redirect(deviceChallengeUrl);\n }\n }));\n break;\n case Enums.APP_LINK_CHALLENGE:\n view.title = loc('appLink.title', 'login');\n view.add(View.extend({\n className: 'app-link-content',\n template: hbs`\n
            \n
            {{i18n code=\"appLink.content\" bundle=\"login\"}}
            \n `,\n getTemplateData() {\n return { hideClass: HIDE_CLASS };\n },\n postRender() {\n if (fromView === IDENTIFIER_FLOW) {\n this.$('.spinner').removeClass(HIDE_CLASS);\n setTimeout(_.bind(()=> {\n const data = { label: loc('goback', 'login') };\n this.options.appState.trigger('updateFooterLink', data);\n this.$('.spinner').addClass(HIDE_CLASS);\n this.$('.appLinkContent').removeClass(HIDE_CLASS);\n }, this), FASTPASS_FALLBACK_SPINNER_TIMEOUT);\n } else {\n this.$('.appLinkContent').removeClass(HIDE_CLASS);\n }\n },\n }));\n view.add(createButton({\n className: `${HIDE_CLASS} al-button button button-wide button-primary`,\n title: loc('oktaVerify.open.button', 'login'),\n click: () => {\n // only window.location.href can open app link in Android\n // other methods won't do, ex, AJAX get or form get (Util.redirectWithFormGet)\n let deviceChallengeUrl = appendLoginHint(deviceChallenge.href, loginHint);\n Util.redirect(deviceChallengeUrl, window, true);\n },\n postRender() {\n if (fromView === IDENTIFIER_FLOW) {\n setTimeout(_.bind(()=> {\n this.$el.removeClass(HIDE_CLASS);\n }, this), FASTPASS_FALLBACK_SPINNER_TIMEOUT);\n } else {\n this.$el.removeClass(HIDE_CLASS);\n }\n }\n }));\n break;\n case Enums.CHROME_DTC:\n // reusing the existing message for Chrome DTC\n view.title = loc('deviceTrust.sso.redirectText', 'login');\n view.add(View.extend({\n className: 'chrome-dtc-content',\n template: hbs`\n
            \n `\n }));\n view.doChromeDTC(deviceChallenge);\n break;\n }\n}\n\nexport function cancelPollingWithParams(appState, pollingCancelAction, cancelReason, statusCode, showFormErrors) {\n const actionParams = {};\n actionParams[REQUEST_PARAM_AUTHENTICATION_CANCEL_REASON] = cancelReason;\n actionParams[LOOPBACK_RESPONSE_STATUS_CODE] = statusCode;\n appState.trigger('invokeAction', pollingCancelAction, actionParams, showFormErrors);\n}\n\nexport function getBiometricsErrorOptions(error, isMessageObj) {\n let errorSummaryKeys;\n if (isMessageObj) {\n errorSummaryKeys = Object.values(error?.value[0]?.i18n);\n } else {\n errorSummaryKeys = error?.responseJSON?.errorSummaryKeys;\n }\n\n const isBiometricsRequiredMobile = errorSummaryKeys \n && errorSummaryKeys.includes(OV_UV_ENABLE_BIOMETRICS_FASTPASS_MOBILE);\n const isBiometricsRequiredDesktop = errorSummaryKeys \n && errorSummaryKeys.includes(OV_UV_ENABLE_BIOMETRICS_FASTPASS_DESKTOP);\n let options = [];\n\n if (!isBiometricsRequiredMobile && !isBiometricsRequiredDesktop) {\n return options;\n }\n\n const bulletPoints = [\n loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.point1', 'login'),\n loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.point2', 'login'),\n loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.point3', 'login')\n ];\n\n // Add an additional bullet point for desktop devices\n if (isBiometricsRequiredDesktop) {\n bulletPoints.push(\n loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.point4', 'login')\n );\n }\n\n options = {\n type: 'error',\n className: 'okta-verify-uv-callout-content',\n title: loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.title', 'login'),\n subtitle: loc('oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.description', 'login'),\n bullets: bulletPoints,\n };\n\n return options;\n}\n\nexport function createInvisibleIFrame(iFrameId, iFrameSrc) {\n const iFrameView = View.extend({\n tagName: 'iframe',\n id: iFrameId,\n attributes: {\n src: iFrameSrc,\n },\n initialize() {\n this.el.style.display = 'none';\n }\n });\n return iFrameView;\n}\n","export const SHOW_RESEND_TIMEOUT = 30000;\nexport const WARNING_TIMEOUT = 30000;\nexport const CHALLENGE_TIMEOUT = 300000;\nexport const MS_PER_SEC = 1000;\nexport const UNIVERSAL_LINK_POST_DELAY = 500;\nexport const CANCEL_POLLING_ACTION = 'authenticatorChallenge-cancel';\nexport const AUTHENTICATOR_CANCEL_ACTION = 'currentAuthenticator-cancel';\nexport const WIDGET_FOOTER_CLASS = 'siw-main-footer';\nexport const FASTPASS_FALLBACK_SPINNER_TIMEOUT = 4000;\nexport const IDENTIFIER_FLOW = 'IDENTIFIER';\nexport const OV_UV_ENABLE_BIOMETRICS_FASTPASS_DESKTOP \n = 'oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.desktop';\nexport const OV_UV_ENABLE_BIOMETRICS_FASTPASS_MOBILE \n = 'oie.authenticator.oktaverify.method.fastpass.verify.enable.biometrics.mobile';\nexport const AUTHENTICATOR_ALLOWED_FOR_OPTIONS = {\n ANY: 'any',\n SSO: 'sso',\n RECOVERY: 'recovery',\n};\nexport const REQUEST_PARAM_AUTHENTICATION_CANCEL_REASON = 'reason';\nexport const LOOPBACK_RESPONSE_STATUS_CODE = 'statusCode';\nexport const AUTHENTICATION_CANCEL_REASONS = {\n LOOPBACK_FAILURE: 'OV_UNREACHABLE_BY_LOOPBACK',\n OV_ERROR: 'OV_RETURNED_ERROR',\n USER_CANCELED: 'USER_CANCELED',\n};\n","/*!\n * Copyright (c) 2021-Present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport default {\n generateDeviceFingerprint(authClient, container) {\n return authClient.fingerprint({\n timeout: 2000,\n container,\n });\n }\n};\n","/*!\n * Copyright (c) 2024, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { $ } from '@okta/courage';\nimport Enums from 'util/Enums';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport Logger from 'util/Logger';\nimport Util from 'util/Util';\nimport { getMessage } from '../../ion/i18nTransformer';\n\nconst PROBE_PATH = 'probe';\n// eslint-disable-next-line max-len\nconst ADP_INSTALL_FALLBACK_REMEDIATION_KEY = 'idx.error.code.access_denied.device_assurance.remediation.android.zero.trust.android_device_policy_app_required_manual_install';\n\nconst ajaxRequest = (requestOptions) => {\n const ajaxOptions = Object.assign({\n method: 'GET',\n contentType: 'application/json',\n }, requestOptions);\n return $.ajax(ajaxOptions);\n};\n\nconst checkPort = (url, probeTimeoutMillis) => {\n return ajaxRequest({\n url: url,\n timeout: probeTimeoutMillis\n });\n};\n\nconst onPortFound = (url, timeout) => {\n return ajaxRequest({\n url: url,\n method: 'GET',\n timeout: timeout,\n });\n};\n\nconst getFallbackMessage = (fallbackObj) => {\n switch (fallbackObj.message.i18n.key) {\n case ADP_INSTALL_FALLBACK_REMEDIATION_KEY:\n // ADP fallback message has additional formatting\n // eslint-disable-next-line max-len\n return hbs`{{i18n code=\"idx.error.code.access_denied.device_assurance.remediation.android.zero.trust.android_device_policy_app_required_manual_install\"\n bundle=\"login\"\n $1=\"$1\"\n }}`();\n default:\n return getMessage(fallbackObj.message);\n }\n};\n\nconst executeDeviceRemediationFallback = (fallback, action) => {\n switch (fallback.type) {\n case 'APP_LINK': {\n // If/When loopback fails auto launch app link to install\n Util.executeOnVisiblePage(() => {\n Util.redirect(fallback.href, window, true);\n });\n break;\n }\n case 'MESSAGE': {\n // display updated message in place\n const siwContainer = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n if (!siwContainer) {\n Logger.error('Cannot find okta-sign-in container to display message');\n return;\n }\n const remediationMsgElements = siwContainer.querySelectorAll(`[data-se=\"${action}\"]`);\n if (remediationMsgElements && remediationMsgElements[0]) {\n remediationMsgElements[0].outerHTML = getFallbackMessage(fallback);\n }\n break;\n }}\n};\n\nconst probe = (baseUrl, probeDetails) => {\n return checkPort(`${baseUrl}/${PROBE_PATH}`, probeDetails.probeTimeoutMillis)\n .then(() => {\n return onPortFound(`${baseUrl}/${probeDetails.actionPath}`, probeDetails.probeTimeoutMillis)\n .then(() => {\n probeDetails.isSuccess = true;\n });\n })\n .catch(() => {\n Logger.error(`Something unexpected happened while we were checking url: ${baseUrl}.`);\n return $.Deferred().reject();\n });\n};\n\nexport const hasDeviceRemediationAction = (message) => {\n return message.deviceRemediation\n && message.deviceRemediation.value\n && message.deviceRemediation.value.action;\n};\n\nexport const isLoopbackDeviceRemediation = (deviceRemediation) => {\n return deviceRemediation && deviceRemediation.remediationType === 'LOOPBACK';\n};\n\nexport const probeLoopbackAndExecute = (deviceRemediation) => {\n const domain = deviceRemediation.domain;\n const ports = deviceRemediation.ports;\n const totalPortCount = ports.length;\n let failedPortCount = 0;\n const probeDetails = {\n actionPath: deviceRemediation.action,\n probeTimeoutMillis: deviceRemediation.probeTimeoutMillis,\n isSuccess: false,\n };\n\n let probeChain = Promise.resolve();\n const baseUrls = ports.map((port) => `${domain}:${port}`);\n baseUrls.forEach(baseUrl => {\n // no need to continue if we found the port and made a successful request\n if (probeDetails.isSuccess) {\n return;\n }\n probeChain = probeChain.then(() => probe(baseUrl, probeDetails)).catch(() => {\n failedPortCount += 1;\n Logger.error(`Authenticator is not listening on: ${baseUrl}.`);\n if (failedPortCount >= totalPortCount && !probeDetails.isSuccess) {\n Logger.error('No available ports. Loopback server failed and using fallback mechanism.');\n executeDeviceRemediationFallback(deviceRemediation.fallback, deviceRemediation.action);\n }\n });\n });\n};\n","import { FORMS } from 'v2/ion/RemediationConstants';\n\nexport function getIdvName(remediations) {\n let redirectIDVerifyRemediation = remediations.find(remediation => {\n return remediation.name === FORMS.REDIRECT_IDVERIFY;\n });\n return redirectIDVerifyRemediation.idp.name;\n}\n\nexport function getHelpLinks(remediations) {\n const idpName = getIdvName(remediations);\n let termsOfUse, privacyPolicy;\n switch (idpName?.toUpperCase()) {\n case 'PERSONA':\n termsOfUse = 'https://withpersona.com/legal/terms-of-use';\n privacyPolicy = 'https://withpersona.com/legal/privacy-policy';\n break;\n case 'CLEAR':\n termsOfUse = 'https://www.clearme.com/member-terms';\n privacyPolicy = 'https://www.clearme.com/privacy-policy';\n break;\n case 'INCODE':\n termsOfUse = 'https://incode.id/terms';\n privacyPolicy = 'https://incode.id/privacy';\n break;\n }\n return {\n termsOfUse,\n privacyPolicy\n };\n}\n","import { loc, _ } from '@okta/courage';\nimport { ACTIONS, FORMS as RemediationForms } from '../../ion/RemediationConstants';\n\nconst { ENROLLED_PASSWORD_RECOVERY_LINK, ORG_PASSWORD_RECOVERY_LINK } = ACTIONS;\n\nconst getSwitchAuthenticatorLink = (appState) => {\n if (appState.getRemediationAuthenticationOptions(RemediationForms.SELECT_AUTHENTICATOR_AUTHENTICATE).length > 1) {\n return [\n {\n 'type': 'link',\n 'label': loc('oie.verification.switch.authenticator', 'login'),\n 'name': 'switchAuthenticator',\n 'formName': RemediationForms.SELECT_AUTHENTICATOR_AUTHENTICATE,\n }\n ];\n }\n\n if (appState.getRemediationAuthenticationOptions(RemediationForms.SELECT_AUTHENTICATOR_ENROLL).length >= 1) {\n return [\n {\n 'type': 'link',\n 'label': loc('oie.enroll.switch.authenticator', 'login'),\n 'name': 'switchAuthenticator',\n 'formName': RemediationForms.SELECT_AUTHENTICATOR_ENROLL,\n }\n ];\n }\n\n return [];\n};\n\nconst getForgotPasswordLink = (appState, settings) => {\n const forgotPasswordLink = {\n 'type': 'link',\n 'label': loc('forgotpassword', 'login'),\n 'name': 'forgot-password',\n };\n\n const customForgotPasswordHref = settings.get('helpLinks.forgotPassword');\n\n if (customForgotPasswordHref) {\n return [\n Object.assign({}, {\n 'href': customForgotPasswordHref,\n 'label': loc('forgotpassword', 'login'),\n 'name': 'forgot-password',\n }),\n ];\n }\n\n // at identify page when only Org Authenticator Password may be available\n else if (appState.getActionByPath(ORG_PASSWORD_RECOVERY_LINK)) {\n return [\n Object.assign({}, forgotPasswordLink, { actionPath: ORG_PASSWORD_RECOVERY_LINK })\n ];\n }\n\n // at password verify page\n else if (appState.getActionByPath(ENROLLED_PASSWORD_RECOVERY_LINK)) {\n return [\n Object.assign({}, forgotPasswordLink, { actionPath: ENROLLED_PASSWORD_RECOVERY_LINK })\n ];\n }\n\n return [];\n};\n\nconst goBackLink = (appState) => {\n if (appState.hasRemediationObject(RemediationForms.SELECT_AUTHENTICATOR_ENROLL)) {\n return [\n {\n 'type': 'link',\n 'label': loc('oie.go.back', 'login'),\n 'name': 'go-back',\n 'formName': RemediationForms.SELECT_AUTHENTICATOR_ENROLL,\n }\n ];\n }\n\n return [];\n};\n\nconst getSkipSetupLink = (appState, linkName) => {\n if (appState.hasRemediationObject(RemediationForms.SKIP)) {\n return [\n {\n 'type': 'link',\n 'label': linkName ?? loc('oie.enroll.skip.setup', 'login'),\n 'name': 'skip-setup',\n 'actionPath': RemediationForms.SKIP,\n }\n ];\n }\n\n return [];\n};\n\n// When there is a 'cancel' object in remediation\nconst getSignOutLink = (settings, options = {}) => {\n if (settings?.get('backToSignInUri')) {\n return [\n {\n 'label': loc('goback', 'login'),\n 'name': 'cancel',\n 'href': settings.get('backToSignInUri')\n },\n ];\n }\n\n return [\n {\n 'actionPath': 'cancel',\n 'label': !options.label ? loc('goback', 'login') : options.label,\n 'name': 'cancel',\n 'type': 'link'\n },\n ];\n};\n\n// Use it to create a widget configured link in the absence of `cancel` object in remediation\nconst getBackToSignInLink = ({settings, appState}) => {\n const link = {};\n\n // If backToSignInLink is set, use this value for all scenarios\n if (settings?.get('backToSignInUri')) {\n link.href = settings.get('backToSignInUri');\n }\n // fallback for embedded scenarios\n else if (settings?.get('oauth2Enabled')) {\n link.clickHandler = () => {\n appState.trigger('restartLoginFlow');\n };\n }\n // fallback for okta-hosted scenarios (backend should set signOutLink or backToSignOutLink)\n else {\n link.href = settings?.get('baseUrl');\n }\n\n return [\n {\n 'type': 'link',\n 'label': loc('goback', 'login'),\n 'name': 'go-back',\n ...link\n },\n ];\n};\n\nconst getReloadPageButtonLink = () => {\n return [\n {\n 'type': 'link',\n 'label': loc('oie.try.again', 'login'),\n 'name': 'try-again',\n 'href': window.location,\n 'className': 'button button-primary text-align-c'\n },\n ];\n};\n\nconst getSignUpLink = (appState, settings) => {\n const signupLink = [];\n\n if (appState.hasRemediationObject(RemediationForms.SELECT_ENROLL_PROFILE)) {\n const signupLinkData = {\n 'type': 'link',\n 'label': loc('oie.registration.form.title', 'login'),\n 'name': 'enroll'\n };\n if (_.isFunction(settings.get('registration.click'))) {\n signupLinkData.clickHandler = settings.get('registration.click');\n } else {\n signupLinkData.actionPath = RemediationForms.SELECT_ENROLL_PROFILE;\n }\n signupLink.push(signupLinkData);\n }\n\n return signupLink;\n};\n\nconst getFactorPageCustomLink = (appState, settings) => {\n const factorPageCustomLink = [];\n const formsNeedFactorPageCustomLink = [\n RemediationForms.CHALLENGE_AUTHENTICATOR,\n RemediationForms.SELECT_AUTHENTICATOR_AUTHENTICATE,\n RemediationForms.CHALLENGE_POLL,\n RemediationForms.AUTHENTICATOR_VERIFICATION_DATA,\n ];\n\n if (!appState.get('isPasswordRecovery') && formsNeedFactorPageCustomLink.includes(appState.get('currentFormName'))) {\n const helpLinksFactorPageLabel = settings.get('helpLinks.factorPage.text');\n const helpLinksFactorPageHref = settings.get('helpLinks.factorPage.href');\n\n if (helpLinksFactorPageLabel && helpLinksFactorPageHref) {\n factorPageCustomLink.push({\n type: 'link',\n label: helpLinksFactorPageLabel,\n name: 'factorPageHelpLink',\n href: helpLinksFactorPageHref,\n target: '_blank',\n });\n }\n }\n return factorPageCustomLink;\n};\n\nexport {\n getSwitchAuthenticatorLink,\n getForgotPasswordLink,\n goBackLink,\n getSignUpLink,\n getSignOutLink,\n getBackToSignInLink,\n getSkipSetupLink,\n getReloadPageButtonLink,\n getFactorPageCustomLink,\n};\n","export default {\n GMT: 'UTC',\n WET: 'WET',\n CET: 'CET',\n MET: 'CET',\n ECT: 'CET',\n EET: 'EET',\n MIT: 'Pacific/Apia',\n HST: 'Pacific/Honolulu',\n AST: 'America/Anchorage',\n PST: 'America/Los_Angeles',\n MST: 'America/Denver',\n PNT: 'America/Phoenix',\n CST: 'America/Chicago',\n EST: 'America/New_York',\n IET: 'America/Indiana/Indianapolis',\n PRT: 'America/Puerto_Rico',\n CNT: 'America/St_Johns',\n AGT: 'America/Argentina/Buenos_Aires',\n BET: 'America/Sao_Paulo',\n ART: 'Africa/Cairo',\n CAT: 'Africa/Harare',\n EAT: 'Africa/Addis_Ababa',\n NET: 'Asia/Yerevan',\n PLT: 'Asia/Karachi',\n IST: 'Asia/Kolkata',\n BST: 'Asia/Dhaka',\n VST: 'Asia/Ho_Chi_Minh',\n CTT: 'Asia/Shanghai',\n JST: 'Asia/Tokyo',\n ACT: 'Australia/Darwin',\n AET: 'Australia/Sydney',\n SST: 'Pacific/Guadalcanal',\n NST: 'Pacific/Auckland',\n};\n","import { _, loc, createCallout, createButton } from '@okta/courage';\nimport { BaseForm, BaseView } from '../internals';\nimport { INTERSTITIAL_REDIRECT_VIEW } from '../../ion/RemediationConstants';\nimport CustomAccessDeniedErrorMessage from '../views/shared/CustomAccessDeniedErrorMessage';\nimport Util from 'util/Util';\nimport { getHeader } from '../utils/AutoRedirectUtil';\nconst CUSTOM_ACCESS_DENIED_KEY = 'security.access_denied_custom_message';\nconst UNLOCK_USER_SUCCESS_MESSAGE = 'oie.selfservice.unlock_user.landing.to.app.success.message';\n\nconst Body = BaseForm.extend({\n /* eslint complexity: [2, 16] */\n title() {\n let titleString = loc('oie.success.text.signingIn', 'login');\n // For more info on the API response available in appState, see IdxResponseBuilder.java\n const app = this.options.appState.get('app');\n const user = this.options.appState.get('user');\n\n // OKTA-635926: add user gesture for ov enrollment on android\n if (Util.isAndroidOVEnrollment(this.options.appState.get('authentication'))) {\n titleString = loc('oie.success.text.signingIn.with.appName.android.ov.enrollment', 'login');\n return titleString;\n }\n\n // If the option is not set, we treat that as being the case where we don't render the spinner.\n // This is to account for the customer hosted scenario, because by default okta-core will pass in\n // the correct value as set by the option in the Admin UI (which by default is \"DEFAULT\").\n if (!this.redirectView || this.redirectView === INTERSTITIAL_REDIRECT_VIEW.NONE) {\n titleString = loc('oie.success.text.signingIn.with.ellipsis', 'login');\n return titleString;\n }\n\n if (_.isEmpty(app)) {\n return titleString;\n }\n\n const { label: appInstanceName, name: appDisplayName } = app;\n const { identifier: userEmail } = user || {};\n\n const appName = appInstanceName ? appInstanceName : appDisplayName;\n\n if (appName && userEmail && !this.settings.get('features.showIdentifier')) {\n titleString = loc('oie.success.text.signingIn.with.appName.and.identifier', 'login', [appName, userEmail]);\n } else if (appName) {\n titleString = loc('oie.success.text.signingIn.with.appName', 'login', [appName]);\n }\n\n return titleString;\n },\n showMessages() {\n if (this.isUnlockSuccess()) {\n const container = '.o-form-error-container';\n const text = loc('oie.selfservice.unlock_user.landing.to.app.signing.in.message', 'login');\n this.add(`

            ${text}

            `, container);\n return;\n } else if (this.options.appState.containsMessageStartingWithI18nKey(CUSTOM_ACCESS_DENIED_KEY)) {\n const { message, links } = this.options.appState.get('messages').value.find(\n msg => msg.i18n.key === CUSTOM_ACCESS_DENIED_KEY);\n this.add(createCallout({\n type: 'error',\n content: new CustomAccessDeniedErrorMessage({ message, links })\n }));\n return;\n }\n BaseForm.prototype.showMessages.call(this);\n },\n isUnlockSuccess() {\n return this.options.appState.containsMessageWithI18nKey(UNLOCK_USER_SUCCESS_MESSAGE);\n },\n noButtonBar: true,\n initialize() {\n BaseForm.prototype.initialize.apply(this, arguments);\n this.redirectView = this.settings.get('interstitialBeforeLoginRedirect');\n this.model.set('useRedirect', true);\n this.trigger('save', this.model);\n },\n\n render() {\n BaseForm.prototype.render.apply(this, arguments);\n if (Util.isAndroidOVEnrollment(this.options.appState.get('authentication'))) {\n const currentViewState = this.options.appState.getCurrentViewState();\n this.add(createButton({\n className: 'ul-button button button-wide button-primary hide-underline',\n title: loc('oktaVerify.open.button', 'login'),\n id: 'launch-enrollment-ov',\n click: () => {\n Util.redirectWithFormGet(currentViewState.href);\n }\n }));\n } else if (this.redirectView === INTERSTITIAL_REDIRECT_VIEW.DEFAULT) {\n this.add('
            ');\n }\n }\n});\n\nexport default BaseView.extend({\n Header: getHeader(),\n Body: Body\n});\n","import { loc, View } from '@okta/courage';\nimport { BaseFooter, BaseForm, BaseView } from '../internals';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport { getSkipSetupLink } from '../utils/LinksUtil';\n\nconst Body = BaseForm.extend({\n\n className: 'profile-update',\n\n title() {\n return loc('oie.profile.additional.title', 'login');\n },\n \n save() {\n return loc('enroll.choices.submit.finish', 'login');\n },\n\n getUISchema() {\n const uiSchemas = BaseForm.prototype.getUISchema.apply(this, arguments);\n uiSchemas.forEach(input => {\n if (input.name === 'userProfile.secondEmail') {\n input.explain = View.extend({\n template: hbs`{{{i18n\n code=\"oie.profile.additional.secondemail.subtitle\"\n bundle=\"login\" \n $1=\"$1\"}}}`\n });\n }\n });\n \n return uiSchemas;\n },\n\n initialize() {\n BaseForm.prototype.initialize.apply(this, arguments);\n },\n});\n\nconst Footer = BaseFooter.extend({\n className: 'auth-footer side-by-side-links',\n links: function() {\n const { uiSchema } = this.options.currentViewState;\n const optionalParams = uiSchema.filter(item => item.required === false);\n if(uiSchema.length === optionalParams.length) {\n return getSkipSetupLink(this.options.appState, loc('oie.enroll.skip.profile', 'login'));\n } else {\n this.$el.removeClass('.side-by-side-links');\n }\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer,\n\n postRender() {\n BaseView.prototype.postRender.apply(this, arguments);\n /**\n * As per requirement of this flow set secondEmail default to empty string, if exists in remediation\n * ideally server should have passed default string in remediation\n */\n if (this.options.appState.getSchemaByName('userProfile.secondEmail')) {\n this.model.set('userProfile.secondEmail', '');\n }\n }\n});","import { loc, Model, _ } from '@okta/courage';\nimport { BaseForm, BaseFooter, BaseView, createIdpButtons } from '../internals';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\nimport { getPasswordComplexityDescriptionForHtmlList } from '../utils/AuthenticatorUtil';\nimport { generatePasswordPolicyHtml } from './password/PasswordPolicyUtil';\nimport signInWithIdps from './signin/SignInWithIdps';\n\nconst Body = BaseForm.extend({\n title() {\n if (this.options.appState.getCurrentViewState().href.endsWith('idp/idx/enroll/update')) {\n const attributes = this.options.appState.attributes;\n if (attributes?.uiDisplay?.label) {\n return loc('oie.registration.form.customize.label', 'login', [attributes.uiDisplay.label]);\n } else {\n return loc('oie.primaryauth.submit', 'login');\n }\n }\n return loc('oie.registration.form.title', 'login');\n\n },\n\n save() {\n if (this.options.appState.getCurrentViewState().href.endsWith('idp/idx/enroll/update')) {\n const attributes = this.options.appState.attributes;\n if (attributes?.uiDisplay?.buttonLabel) {\n return loc('oie.registration.form.customize.buttonLabel', 'login', [attributes.uiDisplay.buttonLabel]);\n } else {\n return loc('oie.registration.form.update.submit', 'login');\n }\n }\n return loc('oie.registration.form.submit', 'login');\n\n },\n saveForm() {\n // SIW customization hook for registration\n this.settings.preRegistrationSubmit(this.model.toJSON(),\n (postData) => {\n this.model.attributes = {...this.model.attributes, ...this.model.parse(postData)};\n BaseForm.prototype.saveForm.call(this, this.model);\n },\n (error) => this.model.trigger('error', this.model, {\n responseJSON: error,\n })\n );\n },\n triggerAfterError(model, error) {\n // render errors to view\n const hasErrors = error?.responseJSON?.errorCauses\n && Array.isArray(error.responseJSON.errorCauses);\n\n if (hasErrors) {\n error.responseJSON.errorCauses.forEach((err) => {\n // only do this for invalid password for password with SSR\n if (err.errorKey?.includes('password.passwordRequirementsNotMet')) {\n err.errorSummary = loc('registration.error.password.passwordRequirementsNotMet', 'login');\n } \n });\n }\n\n this.options.appState.trigger('afterError', error);\n },\n});\n\nconst Footer = BaseFooter.extend({\n links() {\n const links = [];\n if (this.options.appState.hasRemediationObject(RemediationForms.SELECT_IDENTIFY)) {\n links.push({\n 'type': 'link',\n 'label': loc('haveaccount', 'login'),\n 'name': 'back',\n 'actionPath': RemediationForms.SELECT_IDENTIFY,\n });\n }\n return links;\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer,\n createModelClass(currentViewState, optionUiSchemaConfig, settings) {\n const currentSchema = JSON.parse(JSON.stringify((currentViewState.uiSchema)));\n let ModelClass = BaseView.prototype.createModelClass.apply(this, arguments, currentViewState);\n\n ModelClass = ModelClass.extend({\n toJSON: function() {\n const modelJSON = Model.prototype.toJSON.call(this, arguments, currentViewState);\n // delete optional attributes if they are empty and not required\n if(modelJSON.userProfile) {\n const uiSchema = currentViewState.uiSchema;\n const userProfile = modelJSON.userProfile;\n _.each(userProfile, (value, name) => {\n if (_.isEmpty(value)) {\n const uiSchemaProperty = uiSchema.find(schema => schema.name === `userProfile.${name}`);\n if (!_.isUndefined(uiSchemaProperty) && !uiSchemaProperty.required) {\n delete userProfile[name];\n }\n }\n });\n }\n return modelJSON;\n }\n });\n\n settings.parseRegistrationSchema(currentSchema,\n (schema) => {\n if (!_.isEqual(schema, currentViewState.uiSchema)) {\n currentViewState.uiSchema = schema;\n ModelClass = BaseView.prototype.createModelClass.call(this, currentViewState, optionUiSchemaConfig);\n }\n },\n (error) => {\n ModelClass = ModelClass.extend({\n local: {\n parseSchemaError: {\n value: error,\n type: 'object',\n },\n ...ModelClass.prototype.local\n },\n });\n }\n );\n return ModelClass;\n },\n postRender() {\n BaseView.prototype.postRender.apply(this, arguments);\n\n const modelError = this.model.get('parseSchemaError');\n\n if (modelError) {\n this.model.trigger('error', this.model, {\n responseJSON: modelError,\n });\n }\n\n // Prompt for password w/ SSR if enabled (credentials object in remediation)\n this.renderPasswordPolicySettings();\n\n const idpButtons = createIdpButtons(this.options);\n if (Array.isArray(idpButtons) && idpButtons.length) {\n this._addIdpView(idpButtons);\n }\n \n },\n renderPasswordPolicySettings() {\n // retrieve password policy from \"credentials\" object in remediation\n const currentViewState = this.options.currentViewState.value;\n const credentials = currentViewState.filter((obj) => { return obj.name === 'credentials'; })[0];\n\n // if \"passcode\" is present in \"credentials\", render password rules\n const form = credentials?.form?.value;\n if (form && form.filter((obj) => { return obj.name === 'passcode'; })) {\n generatePasswordPolicyHtml(this,\n getPasswordComplexityDescriptionForHtmlList(credentials?.relatesTo?.value?.settings),\n false);\n }\n },\n\n _addIdpView(idpButtons) {\n // We check the 'idpDisplay' option config to determine whether to render the idp buttons \n // above or below the login fields\n const idpDisplay = this.options.settings.get('idpDisplay');\n const isPrimaryIdpDisplay = idpDisplay && idpDisplay.toUpperCase() === 'PRIMARY';\n\n this.add(signInWithIdps, {\n prepend: isPrimaryIdpDisplay,\n selector: isPrimaryIdpDisplay ? '.o-form-fieldset-container' : '.o-form-button-bar',\n options: {\n idpButtons,\n isPrimaryIdpDisplay\n }\n });\n },\n});\n","import { _, loc, createCallout } from '@okta/courage';\nimport { FORMS as RemediationForms } from '../../ion/RemediationConstants';\nimport { BaseForm, BaseView, createIdpButtons, createCustomButtons } from '../internals';\nimport CryptoUtil from '../../../util/CryptoUtil';\nimport DeviceFingerprinting from '../utils/DeviceFingerprinting';\nimport IdentifierFooter from '../components/IdentifierFooter';\nimport Link from '../components/Link';\nimport signInWithIdps from './signin/SignInWithIdps';\nimport customButtonsView from './signin/CustomButtons';\nimport signInWithDeviceOption from './signin/SignInWithDeviceOption';\nimport signInWithWebAuthn from './signin/SignInWithWebAuthn';\nimport { isCustomizedI18nKey, getMessageFromBrowserError } from '../../ion/i18nTransformer';\nimport { getForgotPasswordLink } from '../utils/LinksUtil';\nimport CookieUtil from 'util/CookieUtil';\nimport CustomAccessDeniedErrorMessage from './shared/CustomAccessDeniedErrorMessage';\nimport Util from 'util/Util';\nimport webauthn from '../../../util/webauthn';\n\nconst CUSTOM_ACCESS_DENIED_KEY = 'security.access_denied_custom_message';\n\n\nconst Body = BaseForm.extend({\n\n title() {\n return loc('primaryauth.title', 'login');\n },\n\n save() {\n return loc('oform.next', 'login');\n },\n\n initialize() {\n BaseForm.prototype.initialize.apply(this, arguments);\n\n const uiSchema = this.getUISchema();\n if (uiSchema.find(schema => schema.name === 'credentials.passcode')) {\n this.save = loc('oie.primaryauth.submit', 'login');\n }\n\n // Precedence for pre-filling identifier field:\n // 1. Use username/identifier from the config.\n // 2. Use identifier value returned in remediation response (model will have this attr set if it's there)\n // 3. Use value from the \"remember my username\" cookie.\n if(this._shouldAddUsername(uiSchema)) {\n // Set username/identifier from the config (i.e. config.username)\n this.model.set('identifier', this.settings.get('username'));\n } else if (!this.model.get('identifier') && this._shouldApplyRememberMyUsername(uiSchema)) {\n // Use value from cookie if the remediation did not return identifier value.\n this._applyRememberMyUsername();\n }\n },\n\n saveForm() {\n // Before the XHR is made for \"identify\", we'll generate one-time use fingerprint via\n // a hidden-iframe (similar to authn/v1 flows)\n\n // Ideally this can be added to a \"preSaveForm\" handler - but keeping this here for now.\n if (!this.settings.get('features.deviceFingerprinting')) {\n BaseForm.prototype.saveForm.apply(this, arguments);\n return;\n }\n\n // Toggle Form saving status (e.g. disabling save button, etc)\n this.model.trigger('request');\n\n // For certain flows, we need to generate a device fingerprint\n // to determine if we need to send a \"New Device Sign-on Notification\".\n const authClient = this.settings.getAuthClient();\n DeviceFingerprinting.generateDeviceFingerprint(authClient, this.$el[0])\n .then(fingerprint => {\n this.options.appState.set('deviceFingerprint', fingerprint);\n })\n .catch(() => { /* Keep going even if device fingerprint fails */ })\n .finally(() => {\n BaseForm.prototype.saveForm.apply(this, arguments);\n });\n },\n\n render() {\n BaseForm.prototype.render.apply(this, arguments);\n\n // Launch Device Authenticator\n if (this.options.appState.hasRemediationObject(RemediationForms.LAUNCH_AUTHENTICATOR)) {\n this.add(signInWithDeviceOption, '.o-form-fieldset-container', false, true, { isRequired: false });\n }\n\n if (this.options.appState.hasRemediationObject(RemediationForms.LAUNCH_WEBAUTHN_AUTHENTICATOR)) {\n this.add(signInWithWebAuthn, '.o-form-fieldset-container', false, true, { isRequired: false });\n }\n\n // add forgot password link and external idps buttons if needed\n const idpButtons = createIdpButtons(this.options);\n if (Array.isArray(idpButtons) && idpButtons.length) {\n // Add the forgot password link before the buttons for multiple IDPs\n this._addForgotPasswordView();\n this._addIdpView(idpButtons);\n }\n\n const customButtons = createCustomButtons(this.options.settings);\n if (Array.isArray(customButtons) && customButtons.length) {\n this.add(customButtonsView, {\n selector: '.o-form-button-bar',\n options: {\n customButtons,\n addSeparateLine: true,\n }\n });\n }\n },\n\n postRender() {\n BaseForm.prototype.postRender.apply(this, arguments);\n // When a user enters invalid credentials, /introspect returns an error,\n // along with a user object containing the identifier entered by the user.\n this.$el.find('.identifier-container').remove();\n this.getCredentialsAndInvokeAction();\n },\n\n /**\n * Update UI schemas for customization from .widgetrc.js or Admin Customization settings page.\n * @returns Array\n */\n getUISchema() {\n const schemas = BaseForm.prototype.getUISchema.apply(this, arguments);\n\n const { settings } = this.options;\n const identifierExplainLabeli18nKey = 'primaryauth.username.tooltip';\n const passwordExplainLabeli18nKey = 'primaryauth.password.tooltip';\n\n let newSchemas = schemas.map(schema => {\n let newSchema = { ...schema };\n\n if (schema.name === 'identifier') {\n if (isCustomizedI18nKey(identifierExplainLabeli18nKey, settings)) {\n newSchema = {\n ...newSchema,\n explain: loc(identifierExplainLabeli18nKey, 'login'),\n 'explain-top': true,\n };\n }\n\n const isAutoFillUIChallenge =\n this.options.appState.hasRemediationObject(RemediationForms.CHALLENGE_WEBAUTHN_AUTOFILLUI_AUTHENTICATOR);\n // Setting the autocomplete value to 'webauthn' allows the browser to list passkeys alongside usernames\n const autoCompleteDefaultValue = isAutoFillUIChallenge && webauthn.isConditionalMediationAvailable()\n ? 'username webauthn'\n : 'username';\n // We enable the browser's autocomplete for the identifier input\n // because we want to allow the user to choose from previously used identifiers.\n newSchema = {\n ...newSchema,\n autoComplete: Util.getAutocompleteValue(this.options.settings, autoCompleteDefaultValue)\n };\n } else if (schema.name === 'credentials.passcode') {\n newSchema = {\n ...newSchema,\n autoComplete: Util.getAutocompleteValue(this.options.settings, 'current-password')\n };\n\n if (isCustomizedI18nKey(passwordExplainLabeli18nKey, settings)) {\n newSchema = {\n ...newSchema,\n explain: loc(passwordExplainLabeli18nKey, 'login'),\n 'explain-top': true,\n };\n }\n }\n\n return newSchema;\n });\n\n // If showKeepMeSignedIn is explicitly set to false, we ensure we don't display\n // the \"Keep me signed in\" checkbox\n if (this.settings.get('features.showKeepMeSignedIn') === false) {\n newSchemas = newSchemas.filter(schema => schema.name !== 'rememberMe');\n }\n\n return newSchemas;\n },\n\n showCustomFormErrorCallout(error, messages) {\n if (!error?.responseJSON?.errorSummaryKeys?.includes(CUSTOM_ACCESS_DENIED_KEY)) {\n return false;\n }\n\n const message = messages?.find(message => message.i18n.key === CUSTOM_ACCESS_DENIED_KEY);\n if (!message) {\n return false;\n }\n\n const { errorSummary } = error.responseJSON;\n\n const options = {\n type: 'error',\n content: new CustomAccessDeniedErrorMessage({\n message: errorSummary,\n links: message.links,\n }),\n };\n\n this.showMessages(createCallout(options));\n return true;\n },\n\n remove() {\n BaseForm.prototype.remove.apply(this, arguments);\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n },\n\n async getCredentialsAndInvokeAction() {\n const challengeData = this.options.appState.get('webauthnAutofillUIChallenge')?.challengeData;\n const isPasskeyAutofillAvailable = await webauthn.isPasskeyAutofillAvailable();\n if (!challengeData || !isPasskeyAutofillAvailable || typeof AbortController === 'undefined') {\n return;\n }\n\n const options = _.extend({}, challengeData, {\n challenge: CryptoUtil.strToBin(challengeData.challenge),\n });\n\n // There is already a check to make sure the browser supports AbortController\n // eslint-disable-next-line compat/compat\n this.webauthnAbortController = new AbortController();\n\n // There is already a check to make sure the browser supports WebAuthn\n // eslint-disable-next-line compat/compat\n navigator.credentials.get({\n mediation: 'conditional',\n publicKey: options,\n signal: this.webauthnAbortController.signal\n }).then((assertion) => {\n const userHandle = CryptoUtil.binToStr(assertion.response.userHandle ?? '');\n if (_.isEmpty(userHandle)) {\n const errorSummary = loc('oie.webauthn.error.invalidPasskey', 'login');\n this.model.trigger('error', this.model, this._generateErrorObject(errorSummary));\n return;\n }\n const credentials = {\n clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n signatureData: CryptoUtil.binToStr(assertion.response.signature),\n userHandle\n };\n\n this.options.appState.trigger(\n 'invokeAction',\n RemediationForms.CHALLENGE_WEBAUTHN_AUTOFILLUI_AUTHENTICATOR, \n { credentials }\n );\n }, (error) => {\n // Do not display if it is abort error triggered by code when switching.\n // this.webauthnAbortController would be null if abort was triggered by code.\n if (this.webauthnAbortController) {\n const errorSummary = getMessageFromBrowserError(error);\n this.model.trigger('error', this.model, this._generateErrorObject(errorSummary));\n }\n }).finally(() => {\n // unset webauthnAbortController on successful authentication or error\n this.webauthnAbortController = null;\n });\n },\n\n _generateErrorObject(errorSummary) {\n return {\n responseJSON: { errorSummary }\n };\n },\n\n _addForgotPasswordView() {\n const forgotPasswordLink = getForgotPasswordLink(this.options.appState, this.options.settings);\n if (forgotPasswordLink.length) {\n this.add('', { selector: '.o-form-button-bar' });\n this.add(Link, {\n selector: '.links-primary',\n options: forgotPasswordLink[0],\n });\n }\n },\n\n _addIdpView(idpButtons) {\n // We check the 'idpDisplay' option config to determine whether to render the idp buttons\n // above or below the login fields\n const idpDisplay = this.options.settings.get('idpDisplay');\n const isPrimaryIdpDisplay = idpDisplay && idpDisplay.toUpperCase() === 'PRIMARY';\n\n this.add(signInWithIdps, {\n prepend: isPrimaryIdpDisplay,\n selector: isPrimaryIdpDisplay ? '.o-form-fieldset-container' : '.o-form-button-bar',\n options: {\n idpButtons,\n isPrimaryIdpDisplay\n }\n });\n },\n\n _shouldAddUsername(uiSchema) {\n // We pre-populate the identifier/username field only if we're in an identifier\n // form and if the option is passed in.\n return (uiSchema.find(schema => schema.name === 'identifier') && this.settings.get('username'));\n },\n\n _shouldApplyRememberMyUsername(uiSchema) {\n return (uiSchema.find(schema => schema.name === 'identifier')\n && this.settings.get('features.rememberMe'));\n },\n\n /**\n * When \"Remember My Username\" is enabled, we pre-fill the identifier\n * field with the saved userName cookie. The cookie would have been originally\n * saved when submitting the form previously.\n */\n _applyRememberMyUsername() {\n const cookieUsername = CookieUtil.getCookieUsername();\n if (cookieUsername) {\n this.model.set('identifier', cookieUsername);\n }\n }\n});\n\nexport default BaseView.extend({\n Body,\n\n createModelClass() {\n const ModelClass = BaseView.prototype.createModelClass.apply(this, arguments);\n\n // customize pre-submit form validation inline error messages\n const identifierRequiredi18nKey = 'error.username.required';\n const passwordRequiredi18nKey = 'error.password.required';\n const props = ModelClass.prototype.props;\n const validate = (attr) => {\n const inlineErrors = {};\n const isEmptyIdentifier = props['identifier'] && !attr?.['identifier'];\n const isEmptyPassword = props['credentials.passcode'] && !attr?.['credentials.passcode'];\n if (isEmptyIdentifier && isCustomizedI18nKey(identifierRequiredi18nKey, this.settings)) {\n inlineErrors['identifier'] = loc(identifierRequiredi18nKey, 'login');\n }\n if (isEmptyPassword && isCustomizedI18nKey(passwordRequiredi18nKey, this.settings)) {\n inlineErrors['credentials.passcode'] = loc(passwordRequiredi18nKey, 'login');\n }\n return inlineErrors;\n };\n\n return ModelClass.extend({\n validate\n });\n },\n\n initialize() {\n // Override Footer by overriding showForgotPasswordLink method\n this.Footer = IdentifierFooter.extend({\n showForgotPasswordLink: () => {\n // We don't add the forgot password link in the footer if SIW renders multi IDPs,\n // instead in that case we add it before the IDP buttons in IdentifierView as primary links.\n const idpButtons = createIdpButtons(this.options);\n return (!this.options.appState.isIdentifierOnlyView() &&\n (!Array.isArray(idpButtons) || idpButtons.length === 0));\n }\n });\n },\n\n postRender() {\n BaseView.prototype.postRender.apply(this, arguments);\n\n // If user entered identifier is not found, API sends back a message with a link to sign up\n // This is the click handler for that link\n const appState = this.options.appState;\n this.$el.find('.js-sign-up').click(function() {\n appState.trigger('invokeAction', RemediationForms.SELECT_ENROLL_PROFILE);\n return false;\n });\n },\n});\n","import { loc } from '@okta/courage';\nimport { BaseForm, BaseFooter, BaseView } from '../internals';\nimport Util from 'util/Util';\n\nconst Body = BaseForm.extend({\n\n title() {\n return loc('password.reset.title.generic', 'login');\n },\n\n save() {\n return loc('oform.next', 'login');\n },\n\n getUISchema() {\n const schemas = BaseForm.prototype.getUISchema.apply(this, arguments);\n let newSchemas = schemas.map(schema => {\n let newSchema = { ...schema };\n if (schema.name === 'identifier') {\n // We enable the browser's autocomplete for the identifier input\n // because we want to allow the user to choose from previously used identifiers.\n newSchema = {\n ...newSchema,\n autoComplete: Util.getAutocompleteValue(this.options.settings, 'username')\n };\n }\n return newSchema;\n });\n return newSchemas;\n },\n});\n\nexport default BaseView.extend({\n Body,\n Footer: BaseFooter,\n});\n","import { loc, View } from '@okta/courage';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport { BaseForm, BaseView } from '../internals';\nimport { MS_PER_SEC } from '../utils/Constants';\n\nconst PollMessageView = View.extend({\n template: hbs`\n
            \n

            {{i18n code=\"poll.form.message\"\n bundle=\"login\" arguments=\"countDownCounterValue\" $1=\"$1\"}}

            \n
            \n
            \n `\n ,\n getTemplateData() {\n const countDownCounterValue = this.options;\n return {\n countDownCounterValue,\n };\n },\n});\n\nconst Body = BaseForm.extend(Object.assign(\n {\n title() {\n return loc('poll.form.title', 'login');\n },\n\n noButtonBar: true,\n\n initialize() {\n BaseForm.prototype.initialize.apply(this, arguments);\n const refreshInterval = this.options.appState.getCurrentViewState().refresh;\n this.refreshTimeout = setTimeout(() => {\n this.$el.find('.okta-waiting-spinner').show();\n // start after a small delay so that the spinner does not get hidden too soon\n setTimeout(() => this.saveForm(this.model), 200);\n }, refreshInterval);\n },\n\n render() {\n BaseForm.prototype.render.apply(this, arguments);\n this.countDownCounterValue = Math.ceil(this.options.appState.getCurrentViewState().refresh / MS_PER_SEC);\n this.add(new PollMessageView(this.countDownCounterValue));\n this.startCountDown('.ion-messages-container span', MS_PER_SEC);\n },\n\n remove() {\n BaseForm.prototype.remove.apply(this, arguments);\n clearTimeout(this.refreshTimeout);\n },\n\n triggerAfterError() {\n BaseForm.prototype.triggerAfterError.apply(this, arguments);\n clearTimeout(this.refreshTimeout);\n this.stopCountDown();\n this.$el.find('.o-form-fieldset-container').empty();\n },\n\n startCountDown(selector , interval) {\n if (this.countDown) {\n clearInterval(this.countDown);\n }\n this.counterEl = this.$el.find(selector);\n this.countDown = setInterval(() => {\n if(this.counterEl.text() !== '0') {\n this.counterEl.text(this.counterEl.text() - 1);\n }\n }, interval, this);\n },\n\n stopCountDown() {\n if (this.countDown) {\n clearInterval(this.countDown);\n }\n },\n },\n));\n\nexport default BaseView.extend({\n Body\n});\n","import IdentifierView from './IdentifierView';\n\nexport default IdentifierView.extend({\n render() {\n IdentifierView.prototype.render.apply(this, arguments);\n\n this.$el.find('.sign-in-with-idp .separation-line').hide();\n this.$el.find('.button-primary').hide();\n }\n});\n","import { BaseForm, BaseView } from '../internals';\nimport { loc } from '@okta/courage';\n\nconst Body = BaseForm.extend({\n title: function() {\n return loc('oie.select.authenticators.enroll.title', 'login');\n },\n subtitle: function() {\n const subtitle = this.options.settings.get('brandName') ?\n loc('oie.select.authenticators.enroll.subtitle.custom', 'login', [this.options.settings.get('brandName')]):\n loc('oie.select.authenticators.enroll.subtitle', 'login');\n return subtitle;\n },\n noButtonBar: true,\n});\n\nexport default BaseView.extend({\n Body,\n});\n\n","import { BaseForm, BaseView } from '../internals';\nimport { createCallout, loc } from '@okta/courage';\nimport BaseFooter from '../internals/BaseFooter';\nimport {getFactorPageCustomLink} from '../utils/LinksUtil';\n\nconst UNLOCK_USER_SUCCESS_MESSAGE = 'oie.selfservice.unlock_user.landing.to.app.success.message';\n\nexport const Body = BaseForm.extend({\n title: function() {\n if (this.isPasswordRecoveryFlow()) {\n return loc('password.reset.title.generic', 'login');\n }\n return loc('oie.select.authenticators.verify.title', 'login');\n },\n subtitle: function() {\n if (this.isPasswordRecoveryFlow()) {\n return loc('oie.password.reset.verification', 'login');\n }\n if (this.isUnlockSuccess()) {\n const container = '.o-form-error-container';\n const text = loc('oie.select.authenticators.verify.subtitle', 'login');\n this.add(`

            ${text}

            `, container);\n return;\n }\n return loc('oie.select.authenticators.verify.subtitle', 'login');\n },\n isPasswordRecoveryFlow() {\n return this.options.appState.get('isPasswordRecovery');\n },\n noButtonBar: true,\n showMessages() {\n if (this.isUnlockSuccess()) {\n let options = {};\n options.subtitle = loc('oie.selfservice.unlock_user.landing.to.app.success.message', 'login');\n options.type = 'success';\n options = createCallout(options);\n BaseForm.prototype.showMessages.call(this, options);\n return;\n }\n BaseForm.prototype.showMessages.call(this);\n },\n isUnlockSuccess() {\n return this.options.appState.containsMessageWithI18nKey(UNLOCK_USER_SUCCESS_MESSAGE);\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer: BaseFooter.extend({\n links() {\n return getFactorPageCustomLink(this.options.appState, this.options.settings);\n },\n }),\n});\n","import { loc, createCallout } from '@okta/courage';\nimport { BaseForm, BaseFooter, BaseView } from '../internals';\nimport { getBackToSignInLink, getSkipSetupLink, getReloadPageButtonLink } from '../utils/LinksUtil';\nimport EmailAuthenticatorHeader from '../components/EmailAuthenticatorHeader';\nimport { OTPInformationTerminalView } from './consent/EmailMagicLinkOTPTerminalView';\nimport CustomAccessDeniedErrorMessage from './shared/CustomAccessDeniedErrorMessage';\nimport EndUserRemediationMessages from './end-user-remediation/EndUserRemediationMessages';\n\nconst RETURN_LINK_EXPIRED_KEY = 'idx.return.link.expired';\nconst IDX_RETURN_LINK_OTP_ONLY = 'idx.enter.otp.in.original.tab';\nconst SAFE_MODE_KEY_PREFIX = 'idx.error.server.safe.mode';\nconst UNLOCK_ACCOUNT_TERMINAL_KEY = 'oie.selfservice.unlock_user.success.message';\nconst UNLOCK_ACCOUNT_FAILED_PERMISSIONS = 'oie.selfservice.unlock_user.challenge.failed.permissions';\nconst RESET_PASSWORD_NOT_ALLOWED = 'oie.selfservice.reset.password.not.allowed';\nconst RETURN_TO_ORIGINAL_TAB_KEY = 'idx.return.to.original.tab';\nconst OPERATION_CANCELED_ON_OTHER_DEVICE_KEY = 'idx.operation.cancelled.on.other.device';\nconst OPERATION_CANCELED_BY_USER_KEY = 'idx.operation.cancelled.by.user';\nconst DEVICE_ACTIVATED = 'idx.device.activated';\nconst DEVICE_NOT_ACTIVATED_CONSENT_DENIED = 'idx.device.not.activated.consent.denied';\nconst DEVICE_NOT_ACTIVATED_INTERNAL_ERROR = 'idx.device.not.activated.internal.error';\nconst FLOW_CONTINUE_IN_NEW_TAB = 'idx.transferred.to.new.tab';\nconst EMAIL_LINK_OUT_OF_DATE = 'idx.return.stale';\nconst EMAIL_LINK_CANT_BE_PROCESSED = 'idx.return.error';\nconst EMAIL_VERIFICATION_REQUIRED = 'idx.email.verification.required';\nconst END_USER_REMEDIATION_KEY_PREFIX = 'idx.error.code.access_denied.device_assurance.remediation.';\n\nconst EMAIL_ACTIVATION_EMAIL_EXPIRE = 'idx.expired.activation.token';\nconst EMAIL_ACTIVATION_EMAIL_INVALID = 'idx.missing.activation.token';\nconst EMAIL_ACTIVATION_EMAIL_SUBMITTED = 'idx.request.activation.email';\nconst EMAIL_ACTIVATION_EMAIL_SUSPENDED = 'idx.activating.inactive.user';\n\nconst CUSTOM_ACCESS_DENIED_KEY = 'security.access_denied_custom_message';\n\nexport const REGISTRATION_NOT_ENABLED = 'oie.registration.is.not.enabled';\nexport const FORGOT_PASSWORD_NOT_ENABLED = 'oie.forgot.password.is.not.enabled';\n\nconst EMAIL_AUTHENTICATOR_TERMINAL_KEYS = [\n FLOW_CONTINUE_IN_NEW_TAB,\n EMAIL_LINK_OUT_OF_DATE,\n EMAIL_LINK_CANT_BE_PROCESSED,\n EMAIL_VERIFICATION_REQUIRED,\n RETURN_TO_ORIGINAL_TAB_KEY,\n RETURN_LINK_EXPIRED_KEY,\n OPERATION_CANCELED_ON_OTHER_DEVICE_KEY,\n OPERATION_CANCELED_BY_USER_KEY,\n IDX_RETURN_LINK_OTP_ONLY,\n];\n\nconst DEVICE_CODE_ERROR_KEYS = [\n DEVICE_NOT_ACTIVATED_CONSENT_DENIED,\n DEVICE_NOT_ACTIVATED_INTERNAL_ERROR\n];\n\nconst DEVICE_CODE_FLOW_TERMINAL_KEYS = [\n DEVICE_ACTIVATED,\n ...DEVICE_CODE_ERROR_KEYS\n];\n\n// These terminal views build their own links, basically they have cancel remediation in error response\n// Or doesn't require a Back to Sign in link because the flow didn't start from login screen\nconst NO_BACKTOSIGNIN_LINK_VIEWS = [\n UNLOCK_ACCOUNT_TERMINAL_KEY,\n RETURN_TO_ORIGINAL_TAB_KEY,\n FLOW_CONTINUE_IN_NEW_TAB,\n OPERATION_CANCELED_ON_OTHER_DEVICE_KEY,\n ...DEVICE_CODE_FLOW_TERMINAL_KEYS,\n UNLOCK_ACCOUNT_FAILED_PERMISSIONS,\n RESET_PASSWORD_NOT_ALLOWED,\n IDX_RETURN_LINK_OTP_ONLY,\n];\n\n// Key map to transform terminal view titles {ApiKey : WidgetKey} \nconst terminalViewTitles = {\n [RETURN_LINK_EXPIRED_KEY] : 'oie.email.return.link.expired.title',\n [UNLOCK_ACCOUNT_TERMINAL_KEY] : 'account.unlock.unlocked.title',\n [DEVICE_ACTIVATED] : 'device.code.activated.success.title',\n [REGISTRATION_NOT_ENABLED] : 'oie.registration.form.title',\n [FORGOT_PASSWORD_NOT_ENABLED] : 'password.reset.title.generic',\n [EMAIL_ACTIVATION_EMAIL_EXPIRE] : 'oie.activation.request.email.title.expire',\n [EMAIL_ACTIVATION_EMAIL_SUBMITTED] : 'oie.activation.request.email.title.submitted',\n [EMAIL_ACTIVATION_EMAIL_SUSPENDED] : 'oie.activation.request.email.title.suspended',\n [EMAIL_ACTIVATION_EMAIL_INVALID] : 'oie.activation.request.email.title.invalid',\n [DEVICE_NOT_ACTIVATED_CONSENT_DENIED] : 'device.code.activated.error.title',\n [DEVICE_NOT_ACTIVATED_INTERNAL_ERROR] : 'device.code.activated.error.title',\n [RETURN_TO_ORIGINAL_TAB_KEY] : 'oie.consent.enduser.email.allow.title',\n [IDX_RETURN_LINK_OTP_ONLY]: 'idx.return.link.otponly.your.verification.code',\n};\n\nconst Body = BaseForm.extend({\n noButtonBar: true,\n\n postRender() {\n BaseForm.prototype.postRender.apply(this, arguments);\n this.$el.addClass('terminal-state');\n\n // show device code terminal icons\n if (this.options.appState.containsMessageWithI18nKey(DEVICE_CODE_FLOW_TERMINAL_KEYS)) {\n const iconClass = this.options.appState.containsMessageWithI18nKey(DEVICE_ACTIVATED)\n ? 'success-24-green' : 'error-24-red';\n this.$('.o-form-head').before('
            ' +\n '' +\n '
            ');\n }\n },\n\n title() {\n return this.getTerminalViewTitle();\n },\n\n getTerminalViewTitle() {\n if (this.options.appState.containsMessageStartingWithI18nKey(SAFE_MODE_KEY_PREFIX)) {\n return loc('oie.safe.mode.title', 'login');\n }\n\n const apiKeys = Object.keys(terminalViewTitles);\n const key = apiKeys.find(key => this.options.appState.containsMessageWithI18nKey(key));\n if (key) {\n return loc(terminalViewTitles[key], 'login');\n }\n },\n\n prepareMessageForCustomView(messagesObjs) {\n let hasCustomView = false;\n if (this.options.appState.containsMessageWithI18nKey(IDX_RETURN_LINK_OTP_ONLY)) {\n this.add(OTPInformationTerminalView);\n hasCustomView = true;\n } else if (this.options.appState.containsMessageStartingWithI18nKey(CUSTOM_ACCESS_DENIED_KEY)) {\n this.add(createCallout({\n type: 'error',\n content: new CustomAccessDeniedErrorMessage(\n { message: messagesObjs.value[0].message, links: messagesObjs.value[0].links })\n }));\n hasCustomView = true;\n } else if (this.options.appState.containsMessageStartingWithI18nKey(END_USER_REMEDIATION_KEY_PREFIX)) {\n this.add(createCallout({\n type: 'error',\n content: new EndUserRemediationMessages({messages: messagesObjs.value}),\n }));\n hasCustomView = true;\n }\n\n return hasCustomView;\n },\n\n showMessages() {\n const messagesObjs = this.options.appState.get('messages');\n let hasCustomView = false;\n let description;\n if (this.options.appState.containsMessageWithI18nKey(OPERATION_CANCELED_ON_OTHER_DEVICE_KEY)) {\n description = loc('idx.operation.cancelled.on.other.device', 'login');\n messagesObjs.value.push({ message: loc('oie.consent.enduser.deny.description', 'login') });\n } else if (this.options.appState.containsMessageWithI18nKey(RETURN_TO_ORIGINAL_TAB_KEY)) {\n description = loc('oie.consent.enduser.email.allow.description', 'login');\n messagesObjs.value.push({ message: loc('oie.return.to.original.tab', 'login')});\n } else if (this.options.appState.containsMessageWithI18nKey('tooManyRequests')) {\n description = loc('oie.tooManyRequests', 'login');\n } else if (this.options.appState.containsMessageWithI18nKey(RETURN_LINK_EXPIRED_KEY)) {\n messagesObjs.value[0].class = 'ERROR';\n } else {\n hasCustomView = this.prepareMessageForCustomView(messagesObjs);\n }\n\n if (description && Array.isArray(messagesObjs?.value)) {\n messagesObjs.value[0].message = description;\n }\n\n this.options.appState.set('messages', messagesObjs);\n if (!hasCustomView) {\n BaseForm.prototype.showMessages.call(this);\n }\n },\n\n});\n\nconst Footer = BaseFooter.extend({\n // All terminal views should have Back to sign in link either widget configured or server configured.\n links: function() {\n if (this.options.appState.containsMessageStartingWithI18nKey(SAFE_MODE_KEY_PREFIX)) {\n return getSkipSetupLink(this.options.appState);\n }\n if (this.options.appState.containsMessageWithI18nKey(DEVICE_CODE_ERROR_KEYS)) {\n return getReloadPageButtonLink();\n }\n // If cancel object exists idx response then view would take care of rendering back to sign in link\n const shouldShowBackToSignInLink = !this.options.appState.hasActionObject('cancel') &&\n !this.options.appState.containsMessageWithI18nKey(NO_BACKTOSIGNIN_LINK_VIEWS) &&\n !this.options.settings.get('features.hideSignOutLinkInMFA') &&\n !this.options.settings.get('features.mfaOnlyFlow');\n if (shouldShowBackToSignInLink) {\n // TODO OKTA-432869 \"back to sign in\" links to org baseUrl, does not work correctly with embedded widget\n return getBackToSignInLink(this.options);\n }\n }\n});\n\nexport default BaseView.extend({\n initialize() {\n BaseView.prototype.initialize.apply(this, arguments);\n if (this.options.appState.containsMessageWithI18nKey(EMAIL_AUTHENTICATOR_TERMINAL_KEYS)) {\n this.Header = EmailAuthenticatorHeader;\n }\n },\n Body,\n Footer\n});\n","import { BaseForm, BaseView } from '../../internals';\nimport { loc } from '@okta/courage';\n\nconst Body = BaseForm.extend({\n\n title() {\n return loc('oie.activation.request.email.title.expire', 'login');\n },\n\n save() {\n return loc('oie.activation.request.email.button', 'login');\n },\n});\n\nexport default BaseView.extend({\n Body\n});","import { BaseForm, BaseView } from '../../internals';\nimport { loc } from '@okta/courage';\n\nconst Body = BaseForm.extend({\n noButtonBar: true,\n title: function() {\n return loc('oie.select.authenticators.verify.title', 'login');\n },\n subtitle: function() {\n return loc('oie.select.authenticators.verify.subtitle', 'login');\n },\n});\n\nexport default BaseView.extend({\n Body\n});","import { BaseForm, BaseView } from '../../internals';\nimport { loc } from '@okta/courage';\n\nconst UnlockAccountView = BaseForm.extend({\n title: () => {\n return loc('account.unlock.title', 'login');\n },\n});\n\nexport default BaseView.extend({\n initialize() {\n BaseView.prototype.initialize.apply(this, arguments);\n this.Body = UnlockAccountView;\n }\n});","/*!\n * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from '@okta/courage';\nimport Enums from 'util/Enums';\nimport Util from 'util/Util';\nimport hbs from '@okta/handlebars-inline-precompile';\nimport { WIDGET_FOOTER_CLASS } from '../../utils/Constants';\n\nconst OktaSignInWidgetOnCaptchaLoadedCallback = 'OktaSignInWidgetOnCaptchaLoaded';\nconst OktaSignInWidgetOnCaptchaSolvedCallback = 'OktaSignInWidgetOnCaptchaSolved';\n\nconst HCAPTCHA_URL = 'https://hcaptcha.com/1/api.js';\nconst RECAPTCHAV2_URL = 'https://www.google.com/recaptcha/api.js';\n\nexport default View.extend({\n className: 'captcha-view',\n\n template: hbs`\n {{#if isCaptchaConfigured}}\\\n
            \n
            \n {{/if}}\\\n `,\n\n getTemplateData: function() {\n if (this.captchaConfig) {\n const className = this.captchaConfig.type === 'HCAPTCHA' ? 'h-captcha' : 'g-recaptcha';\n return { \n siteKey: this.captchaConfig.siteKey,\n isCaptchaConfigured: true,\n onCaptchaSolvedCallback: OktaSignInWidgetOnCaptchaSolvedCallback,\n className, \n };\n } else {\n return {};\n }\n },\n\n initialize() {\n if (this.options.appState.get('captcha')) {\n this.captchaConfig = this.options.appState.get('captcha');\n this._addCaptcha();\n }\n },\n\n remove: function(){\n View.prototype.remove.apply(this, arguments);\n\n // Cleanup global Captcha references\n if (this.captchaConfig.type === 'HCAPTCHA') {\n window.hcaptcha = undefined;\n } else if (this.captchaConfig.type === 'RECAPTCHA_V2') {\n window.grecaptcha = undefined;\n }\n },\n\n /**\n * Load the CAPTCHA lib dynamically (either HCAPTCHA or RECAPTCHAV2). Once loaded, trigger an event to inform\n * the parent form to actually render the CAPTCHA.\n * */ \n _addCaptcha() {\n // Callback invoked when CAPTCHA is solved.\n const onCaptchaSolved = (token) => {\n const captchaObject = this._getCaptchaOject();\n\n // We reset the Captcha. We need to reset because every time the \n // Captcha resolves back with a token and say we have a server side error, \n // if we submit the form again it won't work otherwise. The Captcha \n // has to be reset for it to work again in that scenario.\n const captchaId = this.$el.find('#captcha-container').attr('data-captcha-id');\n captchaObject.reset(captchaId);\n\n // Set the token in the model\n const fieldName = this.options.name;\n this.model.set(fieldName, token);\n\n this.options.appState.trigger('saveForm', this.model); \n };\n\n // Callback when CAPTCHA lib is loaded\n const onCaptchaLoaded = () => {\n // This is just a safeguard to ensure we don't bind Captcha to an already bound element.\n // It shouldn't happen in practice.\n if (this.$el.find('#captcha-container').attr('data-captcha-id')) {\n return;\n }\n\n const captchaObject = this._getCaptchaOject();\n\n // We set a temporary token for Captcha because this is a required field for the form and is normally set\n // at a later time. In order to prevent client-side validation errors because of this, we have to set a \n // dummy value. We then overwrite this with the proper token in the onCaptchaSolved callback.\n this.model.set(this.options.name, 'tempToken');\n\n const captchaId = captchaObject.render('captcha-container', {\n sitekey: this.captchaConfig.siteKey,\n callback: onCaptchaSolved\n });\n \n this.$el.find('#captcha-container').attr('data-captcha-id', captchaId);\n\n // Let the Baseform know that Captcha is loaded.\n this.options.appState.trigger('onCaptchaLoaded', captchaObject);\n\n // Render the HCAPTCHA footer - we need to do this manually since the HCAPTCHA lib doesn't do it\n if (this.captchaConfig.type === 'HCAPTCHA') {\n this._addHCaptchaFooter();\n } \n };\n\n // Attaching the callback to the window object so that the CAPTCHA script that we dynamically render\n // can have access to it since it won't have access to this view's scope.\n window[OktaSignInWidgetOnCaptchaLoadedCallback] = onCaptchaLoaded;\n\n // Attaching the Captcha solved callback to the window object because we reference it in our template under\n // the 'data-callback' attribute which the Captcha library uses to invoke the callback.\n window[OktaSignInWidgetOnCaptchaSolvedCallback] = onCaptchaSolved;\n\n \n if (this.captchaConfig.type === 'HCAPTCHA') {\n this._loadCaptchaLib(this._getCaptchaUrl(HCAPTCHA_URL, 'hcaptcha'));\n } else if (this.captchaConfig.type === 'RECAPTCHA_V2') {\n this._loadCaptchaLib(this._getCaptchaUrl(RECAPTCHAV2_URL, 'recaptcha'));\n }\n },\n \n /**\n * We dynamically inject