{ "version": 3, "sources": ["../../../node_modules/check-password-strength/index.js", "../../javascript/password_strength_bar.ts"], "sourcesContent": ["const defaultOptions = [\r\n {\r\n id: 0,\r\n value: \"Too weak\",\r\n minDiversity: 0,\r\n minLength: 0\r\n },\r\n {\r\n id: 1,\r\n value: \"Weak\",\r\n minDiversity: 2,\r\n minLength: 6\r\n },\r\n {\r\n id: 2,\r\n value: \"Medium\",\r\n minDiversity: 4,\r\n minLength: 8\r\n },\r\n {\r\n id: 3,\r\n value: \"Strong\",\r\n minDiversity: 4,\r\n minLength: 10\r\n }\r\n]\r\n\r\nconst passwordStrength = (password, options = defaultOptions, allowedSymbols=\"!\\\"#\\$%&'\\(\\)\\*\\+,-\\./:;<=>\\?@\\[\\\\\\\\\\\\]\\^_`\\{|\\}~\") => {\r\n \r\n let passwordCopy = password || ''\r\n\r\n options[0].minDiversity = 0,\r\n options[0].minLength = 0\r\n\r\n const rules = [\r\n {\r\n regex: \"[a-z]\",\r\n message: 'lowercase'\r\n },\r\n {\r\n regex: '[A-Z]',\r\n message: 'uppercase'\r\n },\r\n {\r\n regex: '[0-9]',\r\n message: 'number'\r\n },\r\n ]\r\n\r\n if (allowedSymbols) {\r\n rules.push({\r\n regex: `[${allowedSymbols}]`,\r\n message: 'symbol'\r\n })\r\n }\r\n\r\n let strength = {}\r\n\r\n strength.contains = rules\r\n .filter(rule => new RegExp(`${rule.regex}`).test(passwordCopy))\r\n .map(rule => rule.message)\r\n\r\n strength.length = passwordCopy.length;\r\n\r\n let fulfilledOptions = options\r\n .filter(option => strength.contains.length >= option.minDiversity)\r\n .filter(option => strength.length >= option.minLength)\r\n .sort((o1, o2) => o2.id - o1.id)\r\n .map(option => ({id: option.id, value: option.value}))\r\n\r\n Object.assign(strength, fulfilledOptions[0])\r\n\r\n return strength;\r\n};\r\n\r\nmodule.exports = { passwordStrength, defaultOptions }", "import { passwordStrength } from 'check-password-strength'\n\nlet strengthLegend = ['Senha muito fraca', 'Senha fraca', 'Senha m\u00E9dia', 'Senha forte'];\n\nfunction passwordStrengthUpdate(inputField: HTMLInputElement, barId: string) {\n let strength = passwordStrength(inputField.value).id;\n\n let hiddenLabels = document.getElementsByClassName(`${barId}_info`);\n for (let i = 0; i < hiddenLabels.length; ++i) {\n (hiddenLabels[i] as HTMLElement).style.display = '';\n }\n\n document.getElementById(barId).style.width = `${(strength + 1) * 25}%`;\n document.getElementById(`${barId}_label`).innerHTML = strengthLegend[strength];\n}\n\nwindow[\"passwordStrengthUpdate\"] = passwordStrengthUpdate;\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAM,iBAAiB;UACrB;YACE,IAAI;YACJ,OAAO;YACP,cAAc;YACd,WAAW;UACf;UACE;YACE,IAAI;YACJ,OAAO;YACP,cAAc;YACd,WAAW;UACf;UACE;YACE,IAAI;YACJ,OAAO;YACP,cAAc;YACd,WAAW;UACf;UACE;YACE,IAAI;YACJ,OAAO;YACP,cAAc;YACd,WAAW;UACf;QACA;AAEA,cAAMA,oBAAmB,CAAC,UAAU,UAAU,gBAAgB,iBAAe,6CAAwD;AAEnI,cAAI,eAAe,YAAY;AAE/B,kBAAQ,CAAC,EAAE,eAAe,GAC1B,QAAQ,CAAC,EAAE,YAAY;AAEvB,gBAAM,QAAQ;YACZ;cACE,OAAO;cACP,SAAS;YACf;YACI;cACE,OAAO;cACP,SAAS;YACf;YACI;cACE,OAAO;cACP,SAAS;YACf;UACA;AAEE,cAAI,gBAAgB;AAClB,kBAAM,KAAK;cACT,OAAO,IAAI,cAAc;cACzB,SAAS;YACf,CAAK;UACL;AAEE,cAAI,WAAW,CAAA;AAEf,mBAAS,WAAW,MACjB,OAAO,UAAQ,IAAI,OAAO,GAAG,KAAK,KAAK,EAAE,EAAE,KAAK,YAAY,CAAC,EAC7D,IAAI,UAAQ,KAAK,OAAO;AAE3B,mBAAS,SAAS,aAAa;AAE/B,cAAI,mBAAmB,QACpB,OAAO,YAAU,SAAS,SAAS,UAAU,OAAO,YAAY,EAChE,OAAO,YAAU,SAAS,UAAU,OAAO,SAAS,EACpD,KAAK,CAAC,IAAI,OAAO,GAAG,KAAK,GAAG,EAAE,EAC9B,IAAI,aAAW,EAAC,IAAI,OAAO,IAAI,OAAO,OAAO,MAAK,EAAE;AAEvD,iBAAO,OAAO,UAAU,iBAAiB,CAAC,CAAC;AAE3C,iBAAO;QACT;AAEA,eAAO,UAAU,EAAE,kBAAAA,mBAAkB,eAAc;;;;;;AC3EnD,uCAAiC;AAEjC,MAAI,iBAAiB,CAAC,qBAAqB,eAAe,kBAAe,aAAa;AAEtF,WAAS,uBAAuB,YAA8B,OAAe;AAC3E,QAAI,eAAW,iDAAiB,WAAW,KAAK,EAAE;AAElD,QAAI,eAAe,SAAS,uBAAuB,GAAG,KAAK,OAAO;AAClE,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;AAC5C,MAAC,aAAa,CAAC,EAAkB,MAAM,UAAU;AAAA,IACnD;AAEA,aAAS,eAAe,KAAK,EAAE,MAAM,QAAQ,IAAI,WAAW,KAAK,EAAE;AACnE,aAAS,eAAe,GAAG,KAAK,QAAQ,EAAE,YAAY,eAAe,QAAQ;AAAA,EAC/E;AAEA,SAAO,wBAAwB,IAAI;", "names": ["passwordStrength"] }