define(['jquery','ko','Magento_Ui/js/form/form','Magento_Customer/js/action/login','Magento_Customer/js/customer-data','Magento_Customer/js/model/authentication-popup','mage/translate','mage/url','Magento_Ui/js/modal/alert','mage/validation'],function($,ko,Component,loginAction,customerData,authenticationPopup,$t,url,alert){'use strict';return Component.extend({registerUrl:window.authenticationPopup.customerRegisterUrl,forgotPasswordUrl:window.authenticationPopup.customerForgotPasswordUrl,autocomplete:window.authenticationPopup.autocomplete,modalWindow:null,isLoading:ko.observable(false),defaults:{template:'Magento_Customer/authentication-popup'},initialize:function(){var self=this;this._super();url.setBaseUrl(window.authenticationPopup.baseUrl);loginAction.registerLoginCallback(function(){self.isLoading(false);});},setModalElement:function(element){if(authenticationPopup.modalWindow==null){authenticationPopup.createPopUp(element);}},isActive:function(){var customer=customerData.get('customer');return customer()==false;},showModal:function(){if(this.modalWindow){$(this.modalWindow).modal('openModal');}else{alert({content:$t('Guest checkout is disabled.')});}},login:function(formUiElement,event){var loginData={},formElement=$(event.currentTarget),formDataArray=formElement.serializeArray();event.stopPropagation();formDataArray.forEach(function(entry){loginData[entry.name]=entry.value;});loginData['customerLoginUrl']=window.authenticationPopup.customerLoginUrl;if(formElement.validation()&&formElement.validation('isValid')){this.isLoading(true);loginAction(loginData);} return false;}});});