ccs-frontend
Version:
CCS Frontend contains assets and components used in CCS projects
1 lines • 6.94 kB
Source Map (JSON)
{"version":3,"file":"password-strength.bundle.mjs","sources":["../../../../src/ccs/components/password-strength/password-strength.ts"],"sourcesContent":["import { CCSFrontendComponent } from '../../ccs-frontend-component'\n\nabstract class PasswordStrengthTest {\n abstract test: RegExp\n $passwordStrengthTest: JQuery<HTMLLIElement>\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>) {\n this.$passwordStrengthTest = $passwordStrengthTest\n }\n\n init () {\n this.$passwordStrengthTest.addClass('ccs-password-strength-tests__wrong')\n }\n\n testPasswordInput (passwordInputText: string) {\n const testPassed: boolean = this.test.test(passwordInputText)\n\n this.$passwordStrengthTest.toggleClass('ccs-password-strength-tests__wrong', !testPassed)\n this.$passwordStrengthTest.toggleClass('ccs-password-strength-tests__correct', testPassed)\n }\n}\n\nclass PasswordStrengthTestLength extends PasswordStrengthTest {\n test: RegExp\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>, value: string) {\n super($passwordStrengthTest)\n this.test = new RegExp(`^.{${value},}`)\n }\n}\n\nclass PasswordStrengthTestSymbol extends PasswordStrengthTest {\n test: RegExp\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>, value: string) {\n super($passwordStrengthTest)\n this.test = new RegExp(`^(?=.*?[${value}])`)\n }\n}\n\nclass PasswordStrengthTestNumber extends PasswordStrengthTest {\n test: RegExp\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>) {\n super($passwordStrengthTest)\n this.test = new RegExp('^(?=.*[0-9])')\n }\n}\n\nclass PasswordStrengthTestUppercase extends PasswordStrengthTest {\n test: RegExp\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>) {\n super($passwordStrengthTest)\n this.test = new RegExp('^(?=.*[A-Z])')\n }\n}\n\nclass PasswordStrengthTestLowercase extends PasswordStrengthTest {\n test: RegExp\n\n constructor ($passwordStrengthTest: JQuery<HTMLLIElement>) {\n super($passwordStrengthTest)\n this.test = new RegExp('^(?=.*[a-z])')\n }\n}\n\nconst passwordStrengthTestFactory = ($passwordStrengthTest: JQuery<HTMLLIElement>): PasswordStrengthTest | undefined => {\n const testType = $passwordStrengthTest.data('testType')\n const value = $passwordStrengthTest.data('testValue')\n\n switch (testType) {\n case 'length':\n return new PasswordStrengthTestLength($passwordStrengthTest, value)\n case 'symbol':\n return new PasswordStrengthTestSymbol($passwordStrengthTest, value)\n case 'number':\n return new PasswordStrengthTestNumber($passwordStrengthTest)\n case 'uppercase':\n return new PasswordStrengthTestUppercase($passwordStrengthTest)\n case 'lowercase':\n return new PasswordStrengthTestLowercase($passwordStrengthTest)\n }\n}\n\nclass PasswordStrength implements CCSFrontendComponent {\n static moduleName = 'ccs-password-strength'\n $passwordStrength: JQuery<HTMLUListElement>\n $passwordInput: JQuery<HTMLInputElement>\n passwordStrengthTests: PasswordStrengthTest[]\n\n constructor ($passwordStrength: JQuery<HTMLElement>) {\n this.$passwordStrength = $passwordStrength as JQuery<HTMLUListElement>\n this.$passwordInput = $<HTMLInputElement>(`#${$passwordStrength.data('target')}`)\n this.passwordStrengthTests = this.$passwordStrength.find<HTMLLIElement>('.ccs-password-strength-test').get().map((passwordStrengthTest) => passwordStrengthTestFactory($(passwordStrengthTest)) as PasswordStrengthTest)\n }\n\n init () {\n if (this.$passwordInput.length) {\n this.$passwordStrength.addClass('ccs-password-strength-tests')\n this.passwordStrengthTests.forEach((passwordStrengthTest) => passwordStrengthTest.init())\n\n this.$passwordInput.on('keyup', () => { this.testPasswordInput() })\n }\n }\n\n private testPasswordInput () {\n const passwordInputText = String(this.$passwordInput.val())\n\n this.passwordStrengthTests.forEach((passwordStrengthTest) => passwordStrengthTest.testPasswordInput(passwordInputText))\n }\n}\n\nexport { PasswordStrength }\n"],"names":[],"mappings":"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"}