<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">define(['jquery','Magento_Customer/js/zxcvbn','mage/translate','mage/validation'],function($,zxcvbn,$t){'use strict';$.widget('mage.passwordStrengthIndicator',{options:{cache:{},passwordSelector:'[type=password]',passwordStrengthMeterSelector:'[data-role=password-strength-meter]',passwordStrengthMeterLabelSelector:'[data-role=password-strength-meter-label]',formSelector:'form',emailSelector:'input[type="email"]'},_create:function(){this.options.cache.input=$(this.options.passwordSelector,this.element);this.options.cache.meter=$(this.options.passwordStrengthMeterSelector,this.element);this.options.cache.label=$(this.options.passwordStrengthMeterLabelSelector,this.element);this.options.cache.email=$(this.options.formSelector).find(this.options.emailSelector);this._bind();},_bind:function(){this._on(this.options.cache.input,{'change':this._calculateStrength,'keyup':this._calculateStrength,'paste':this._calculateStrength});if(this.options.cache.email.length){this._on(this.options.cache.email,{'change':this._calculateStrength,'keyup':this._calculateStrength,'paste':this._calculateStrength});}},_calculateStrength:function(){var password=this._getPassword(),isEmpty=password.length===0,zxcvbnScore,displayScore,isValid;if(isEmpty){displayScore=0;}else{this.options.cache.input.rules('add',{'password-not-equal-to-user-name':this.options.cache.email.val()});if(this.options.cache.email.length&amp;&amp;password.toLowerCase()===this.options.cache.email.val().toLowerCase()){displayScore=1;}else{isValid=$.validator.validateSingleElement(this.options.cache.input);zxcvbnScore=zxcvbn(password).score;displayScore=isValid&amp;&amp;zxcvbnScore&gt;0?zxcvbnScore:1;}}
this._displayStrength(displayScore);},_displayStrength:function(displayScore){var strengthLabel='',className;switch(displayScore){case 0:strengthLabel=$t('No Password');className='password-none';break;case 1:strengthLabel=$t('Weak');className='password-weak';break;case 2:strengthLabel=$t('Medium');className='password-medium';break;case 3:strengthLabel=$t('Strong');className='password-strong';break;case 4:strengthLabel=$t('Very Strong');className='password-very-strong';break;}
this.options.cache.meter.removeClass().addClass(className);this.options.cache.label.text(strengthLabel);},_getPassword:function(){return this.options.cache.input.val();}});return $.mage.passwordStrengthIndicator;});</pre></body></html>