@testgorilla/tgo-ui 2.24.22 → 2.24.9999
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/alert-banner/index.d.ts +1 -0
- package/components/alert-banner/public-api.d.ts +2 -0
- package/components/avatar/index.d.ts +1 -0
- package/components/avatar/public-api.d.ts +3 -0
- package/components/badge/index.d.ts +1 -0
- package/components/badge/public-api.d.ts +3 -0
- package/components/button/index.d.ts +1 -0
- package/components/button/public-api.d.ts +3 -0
- package/components/card/index.d.ts +1 -0
- package/components/card/public-api.d.ts +3 -0
- package/components/checkbox/index.d.ts +1 -0
- package/components/checkbox/public-api.d.ts +2 -0
- package/components/field/index.d.ts +1 -0
- package/components/field/public-api.d.ts +3 -0
- package/components/gaussian-chart/gaussian-chart.module.d.ts +1 -1
- package/components/icon/index.d.ts +1 -0
- package/components/icon/public-api.d.ts +3 -0
- package/components/logo/index.d.ts +1 -0
- package/components/logo/public-api.d.ts +3 -0
- package/components/radio-button/index.d.ts +1 -0
- package/components/radio-button/public-api.d.ts +2 -0
- package/components/side-panel/index.d.ts +1 -0
- package/components/side-panel/public-api.d.ts +3 -0
- package/components/side-panel/side-panel.component.d.ts +1 -1
- package/components/snackbar/index.d.ts +1 -0
- package/components/snackbar/public-api.d.ts +4 -0
- package/components/spinner/index.d.ts +1 -0
- package/components/spinner/public-api.d.ts +3 -0
- package/components/tooltip/index.d.ts +1 -0
- package/components/tooltip/public-api.d.ts +3 -0
- package/esm2022/components/alert-banner/index.mjs +2 -0
- package/esm2022/components/alert-banner/public-api.mjs +3 -0
- package/esm2022/components/avatar/index.mjs +2 -0
- package/esm2022/components/avatar/public-api.mjs +4 -0
- package/esm2022/components/badge/index.mjs +2 -0
- package/esm2022/components/badge/public-api.mjs +4 -0
- package/esm2022/components/button/index.mjs +2 -0
- package/esm2022/components/button/public-api.mjs +4 -0
- package/esm2022/components/card/index.mjs +2 -0
- package/esm2022/components/card/public-api.mjs +4 -0
- package/esm2022/components/checkbox/index.mjs +2 -0
- package/esm2022/components/checkbox/public-api.mjs +3 -0
- package/esm2022/components/field/index.mjs +2 -0
- package/esm2022/components/field/public-api.mjs +4 -0
- package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +2 -2
- package/esm2022/components/icon/index.mjs +2 -0
- package/esm2022/components/icon/public-api.mjs +4 -0
- package/esm2022/components/logo/index.mjs +2 -0
- package/esm2022/components/logo/public-api.mjs +4 -0
- package/esm2022/components/radio-button/index.mjs +2 -0
- package/esm2022/components/radio-button/public-api.mjs +3 -0
- package/esm2022/components/side-panel/index.mjs +2 -0
- package/esm2022/components/side-panel/public-api.mjs +4 -0
- package/esm2022/components/snackbar/index.mjs +2 -0
- package/esm2022/components/snackbar/public-api.mjs +5 -0
- package/esm2022/components/spinner/index.mjs +2 -0
- package/esm2022/components/spinner/public-api.mjs +4 -0
- package/esm2022/components/tooltip/index.mjs +2 -0
- package/esm2022/components/tooltip/public-api.mjs +4 -0
- package/esm2022/public-api.mjs +184 -214
- package/fesm2022/testgorilla-tgo-ui.mjs +3053 -11354
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +3 -2
- package/public-api.d.ts +14 -151
- package/components/accordion/accordion.component.d.ts +0 -100
- package/components/accordion/accordion.component.module.d.ts +0 -12
- package/components/accordion/accordion.model.d.ts +0 -2
- package/components/autocomplete/autocomplete.component.d.ts +0 -289
- package/components/autocomplete/autocomplete.component.module.d.ts +0 -23
- package/components/autocomplete/autocomplete.model.d.ts +0 -22
- package/components/autocomplete/includes.pipe.d.ts +0 -12
- package/components/autocomplete/prevent-input.directive.d.ts +0 -7
- package/components/autocomplete/transform-Item.pipe.d.ts +0 -11
- package/components/checklist/checklist.component.d.ts +0 -78
- package/components/checklist/checklist.model.d.ts +0 -7
- package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -29
- package/components/confirm-dialog/confirm-dialog.component.module.d.ts +0 -12
- package/components/confirm-dialog/confirm-dialog.model.d.ts +0 -11
- package/components/datepicker/date-adapter.d.ts +0 -30
- package/components/datepicker/datepicker.component.d.ts +0 -214
- package/components/datepicker/datepicker.component.module.d.ts +0 -18
- package/components/datepicker/datepicker.service.d.ts +0 -8
- package/components/datepicker/no-date-format.directive.d.ts +0 -11
- package/components/deprecated-paginator/deprecated-paginator.component.d.ts +0 -38
- package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +0 -9
- package/components/deprecated-table/deprecated-table.component.d.ts +0 -91
- package/components/deprecated-table/deprecated-table.component.module.d.ts +0 -14
- package/components/deprecated-table/deprecated-table.model.d.ts +0 -45
- package/components/deprecated-table/directives/dynamic-component.directive.d.ts +0 -13
- package/components/dialog/dialog.component.d.ts +0 -147
- package/components/dialog/dialog.component.module.d.ts +0 -11
- package/components/dialog/dialog.service.d.ts +0 -13
- package/components/divider/divider.component.d.ts +0 -39
- package/components/divider/divider.component.module.d.ts +0 -9
- package/components/divider/divider.model.d.ts +0 -1
- package/components/dropdown/dropdown.component.d.ts +0 -190
- package/components/dropdown/dropdown.component.module.d.ts +0 -17
- package/components/dropdown/dropdown.model.d.ts +0 -5
- package/components/elevation-shadow/elevation-shadow.component.d.ts +0 -26
- package/components/elevation-shadow/elevation-shadow.component.module.d.ts +0 -8
- package/components/elevation-shadow/elevation-shadow.constant.d.ts +0 -8
- package/components/empty-state/empty-state.component.d.ts +0 -118
- package/components/empty-state/empty-state.component.module.d.ts +0 -11
- package/components/empty-state/empty-state.model.d.ts +0 -3
- package/components/file-upload/file-upload.component.d.ts +0 -120
- package/components/file-upload/file-upload.component.module.d.ts +0 -14
- package/components/icon-label/icon-label.component.d.ts +0 -39
- package/components/icon-label/icon-label.component.module.d.ts +0 -9
- package/components/media-card/media-card.component.d.ts +0 -32
- package/components/multi-input/multi-input.component.d.ts +0 -164
- package/components/multi-input/multi-input.component.module.d.ts +0 -18
- package/components/multi-input/multi-input.model.d.ts +0 -1
- package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +0 -25
- package/components/navbar/navbar.component.d.ts +0 -119
- package/components/navbar/navbar.component.module.d.ts +0 -21
- package/components/navbar/navbar.model.d.ts +0 -21
- package/components/overflow-menu/overflow-menu.component.d.ts +0 -86
- package/components/overflow-menu/overflow-menu.component.module.d.ts +0 -15
- package/components/overflow-menu/overflow-menu.model.d.ts +0 -20
- package/components/page-header/page-header.component.d.ts +0 -38
- package/components/page-header/page-header.component.module.d.ts +0 -10
- package/components/paginator/paginator.component.d.ts +0 -58
- package/components/paginator/paginator.component.module.d.ts +0 -9
- package/components/password-criteria/password.component.d.ts +0 -42
- package/components/password-criteria/password.component.module.d.ts +0 -13
- package/components/password-strength/password-strength.component.d.ts +0 -45
- package/components/password-strength/password-strength.component.module.d.ts +0 -11
- package/components/phone-input/join-strings.pipe.d.ts +0 -7
- package/components/phone-input/phone-input.component.d.ts +0 -147
- package/components/phone-input/phone-input.component.module.d.ts +0 -20
- package/components/phone-input/phone-input.model.d.ts +0 -8
- package/components/progress-bar/progress-bar.component.d.ts +0 -73
- package/components/progress-bar/progress-bar.component.module.d.ts +0 -10
- package/components/radial-progress/radial-progress.component.d.ts +0 -68
- package/components/radial-progress/radial-progress.component.module.d.ts +0 -10
- package/components/radial-progress/radial-progress.model.d.ts +0 -10
- package/components/rating/half-star.pipe.d.ts +0 -14
- package/components/rating/rating.component.d.ts +0 -64
- package/components/rating/rating.component.module.d.ts +0 -10
- package/components/scale/scale.component.d.ts +0 -53
- package/components/scale/scale.component.module.d.ts +0 -8
- package/components/segmented-bar/segmented-bar.component.d.ts +0 -63
- package/components/segmented-bar/segmented-bar.component.module.d.ts +0 -13
- package/components/segmented-bar/segmented-bar.model.d.ts +0 -12
- package/components/segmented-button/segmented-button.component.d.ts +0 -55
- package/components/segmented-button/segmented-button.component.module.d.ts +0 -11
- package/components/segmented-button/segmented-button.model.d.ts +0 -8
- package/components/side-sheet/side-sheet.component.d.ts +0 -43
- package/components/side-sheet/side-sheet.component.module.d.ts +0 -14
- package/components/side-sheet/side-sheet.model.d.ts +0 -10
- package/components/side-sheet/side-sheet.service.d.ts +0 -14
- package/components/skeleton/skeleton.component.d.ts +0 -26
- package/components/skeleton/skeleton.model.d.ts +0 -2
- package/components/slider/slider.component.d.ts +0 -105
- package/components/slider/slider.component.module.d.ts +0 -14
- package/components/slider/slider.model.d.ts +0 -5
- package/components/spider-chart/spider-chart.component.d.ts +0 -88
- package/components/spider-chart/spider-chart.model.d.ts +0 -12
- package/components/spider-chart/spider-chart.module.d.ts +0 -12
- package/components/step/step.component.d.ts +0 -161
- package/components/step/step.component.module.d.ts +0 -10
- package/components/stepper/stepper.component.d.ts +0 -86
- package/components/stepper/stepper.component.module.d.ts +0 -15
- package/components/stepper/stepper.model.d.ts +0 -22
- package/components/table/sentence-case.pipe.d.ts +0 -7
- package/components/table/table.component.d.ts +0 -96
- package/components/table/table.component.module.d.ts +0 -20
- package/components/table/table.model.d.ts +0 -96
- package/components/tabs/tab.directive.d.ts +0 -24
- package/components/tabs/tabs.component.d.ts +0 -73
- package/components/tabs/tabs.component.module.d.ts +0 -11
- package/components/tabs/tabs.model.d.ts +0 -15
- package/components/tag/tag.component.d.ts +0 -131
- package/components/tag/tag.component.module.d.ts +0 -13
- package/components/tag/tag.model.d.ts +0 -1
- package/components/toggle/toggle.component.d.ts +0 -113
- package/components/toggle/toggle.component.module.d.ts +0 -14
- package/components/toggle/toggle.model.d.ts +0 -1
- package/components/universal-skills-report/universal-skills-report.component.d.ts +0 -33
- package/components/universal-skills-report/universal-skills-report.component.module.d.ts +0 -14
- package/components/universal-skills-report/universal-skills-report.model.d.ts +0 -33
- package/directives/drag-drop.directive.d.ts +0 -12
- package/directives/select-text.directive.d.ts +0 -19
- package/directives/step-line-element.directive.d.ts +0 -17
- package/esm2022/components/accordion/accordion.component.mjs +0 -135
- package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
- package/esm2022/components/accordion/accordion.model.mjs +0 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -716
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -73
- package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
- package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
- package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
- package/esm2022/components/checklist/checklist.component.mjs +0 -147
- package/esm2022/components/checklist/checklist.model.mjs +0 -2
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -54
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
- package/esm2022/components/datepicker/date-adapter.mjs +0 -30
- package/esm2022/components/datepicker/datepicker.component.mjs +0 -333
- package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
- package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
- package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
- package/esm2022/components/deprecated-table/deprecated-table.component.mjs +0 -158
- package/esm2022/components/deprecated-table/deprecated-table.component.module.mjs +0 -43
- package/esm2022/components/deprecated-table/deprecated-table.model.mjs +0 -13
- package/esm2022/components/deprecated-table/directives/dynamic-component.directive.mjs +0 -40
- package/esm2022/components/dialog/dialog.component.mjs +0 -253
- package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
- package/esm2022/components/dialog/dialog.service.mjs +0 -35
- package/esm2022/components/divider/divider.component.mjs +0 -65
- package/esm2022/components/divider/divider.component.module.mjs +0 -19
- package/esm2022/components/divider/divider.model.mjs +0 -2
- package/esm2022/components/dropdown/dropdown.component.mjs +0 -351
- package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
- package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
- package/esm2022/components/empty-state/empty-state.component.mjs +0 -186
- package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
- package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
- package/esm2022/components/file-upload/file-upload.component.mjs +0 -282
- package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
- package/esm2022/components/icon-label/icon-label.component.mjs +0 -53
- package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
- package/esm2022/components/media-card/media-card.component.mjs +0 -47
- package/esm2022/components/multi-input/multi-input.component.mjs +0 -318
- package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
- package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -82
- package/esm2022/components/navbar/navbar.component.mjs +0 -209
- package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
- package/esm2022/components/navbar/navbar.model.mjs +0 -2
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -195
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
- package/esm2022/components/page-header/page-header.component.mjs +0 -71
- package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
- package/esm2022/components/paginator/paginator.component.mjs +0 -87
- package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
- package/esm2022/components/password-criteria/password.component.mjs +0 -105
- package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
- package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
- package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
- package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
- package/esm2022/components/phone-input/phone-input.component.mjs +0 -353
- package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
- package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
- package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -106
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
- package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
- package/esm2022/components/rating/half-star.pipe.mjs +0 -23
- package/esm2022/components/rating/rating.component.mjs +0 -92
- package/esm2022/components/rating/rating.component.module.mjs +0 -20
- package/esm2022/components/scale/scale.component.mjs +0 -124
- package/esm2022/components/scale/scale.component.module.mjs +0 -18
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -106
- package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -23
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
- package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
- package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
- package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
- package/esm2022/components/skeleton/skeleton.component.mjs +0 -71
- package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
- package/esm2022/components/slider/slider.component.mjs +0 -198
- package/esm2022/components/slider/slider.component.module.mjs +0 -43
- package/esm2022/components/slider/slider.model.mjs +0 -2
- package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -425
- package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
- package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -41
- package/esm2022/components/step/step.component.mjs +0 -149
- package/esm2022/components/step/step.component.module.mjs +0 -20
- package/esm2022/components/stepper/stepper.component.mjs +0 -150
- package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
- package/esm2022/components/stepper/stepper.model.mjs +0 -2
- package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
- package/esm2022/components/table/table.component.mjs +0 -238
- package/esm2022/components/table/table.component.module.mjs +0 -61
- package/esm2022/components/table/table.model.mjs +0 -13
- package/esm2022/components/tabs/tab.directive.mjs +0 -54
- package/esm2022/components/tabs/tabs.component.mjs +0 -188
- package/esm2022/components/tabs/tabs.component.module.mjs +0 -21
- package/esm2022/components/tabs/tabs.model.mjs +0 -2
- package/esm2022/components/tag/tag.component.mjs +0 -212
- package/esm2022/components/tag/tag.component.module.mjs +0 -24
- package/esm2022/components/tag/tag.model.mjs +0 -2
- package/esm2022/components/toggle/toggle.component.mjs +0 -190
- package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
- package/esm2022/components/toggle/toggle.model.mjs +0 -2
- package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -115
- package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
- package/esm2022/components/universal-skills-report/universal-skills-report.model.mjs +0 -19
- package/esm2022/directives/drag-drop.directive.mjs +0 -55
- package/esm2022/directives/select-text.directive.mjs +0 -40
- package/esm2022/directives/step-line-element.directive.mjs +0 -51
- package/esm2022/models/keyboard-events.model.mjs +0 -13
- package/esm2022/models/screen-breakpoints.model.mjs +0 -6
- package/esm2022/pipes/data-property-getter.mjs +0 -33
- package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
- package/esm2022/providers/is-mobile.mjs +0 -11
- package/esm2022/utils/autocomplete-utils.mjs +0 -66
- package/esm2022/utils/hex-to-rgb.mjs +0 -9
- package/esm2022/utils/table.utils.mjs +0 -19
- package/models/keyboard-events.model.d.ts +0 -11
- package/models/screen-breakpoints.model.d.ts +0 -4
- package/pipes/data-property-getter.d.ts +0 -8
- package/pipes/ui-ordinal-suffix.pipe.d.ts +0 -7
- package/providers/is-mobile.d.ts +0 -2
- package/utils/autocomplete-utils.d.ts +0 -12
- package/utils/hex-to-rgb.d.ts +0 -1
- package/utils/table.utils.d.ts +0 -6
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
|
|
2
|
-
import { FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../field/field.component";
|
|
7
|
-
import * as i3 from "@angular/forms";
|
|
8
|
-
import * as i4 from "../icon/icon.component";
|
|
9
|
-
import * as i5 from "../progress-bar/progress-bar.component";
|
|
10
|
-
import * as i6 from "../../pipes/ui-translate.pipe";
|
|
11
|
-
export class PasswordComponent {
|
|
12
|
-
constructor(destroyRef) {
|
|
13
|
-
this.destroyRef = destroyRef;
|
|
14
|
-
/**
|
|
15
|
-
* Show criteria for password. Defaults true
|
|
16
|
-
*
|
|
17
|
-
* @type {boolean}
|
|
18
|
-
* @memberof PasswordComponent
|
|
19
|
-
*/
|
|
20
|
-
this.showCriteria = true;
|
|
21
|
-
/**
|
|
22
|
-
* Password is required or not
|
|
23
|
-
*
|
|
24
|
-
* @type {boolean}
|
|
25
|
-
* @memberof PasswordComponent
|
|
26
|
-
*/
|
|
27
|
-
this.required = false;
|
|
28
|
-
this.passwordChange = new EventEmitter();
|
|
29
|
-
this.allCriteriaPassed = new EventEmitter();
|
|
30
|
-
this.formControl = new FormControl('', Validators.required);
|
|
31
|
-
this.criteriaPassed = {};
|
|
32
|
-
this.criteria = [
|
|
33
|
-
{ translateKey: 'PASSWORD.LOWERCASE', key: 'hasLowercase' },
|
|
34
|
-
{ translateKey: 'PASSWORD.UPPERCASE', key: 'hasUppercase' },
|
|
35
|
-
{ translateKey: 'PASSWORD.NUMBER', key: 'hasNumber' },
|
|
36
|
-
{ translateKey: 'PASSWORD.SPECIAL_CHARACTER', key: 'hasSpecialChar' },
|
|
37
|
-
{ translateKey: 'PASSWORD.CHARACTERS', key: 'hasMinLength' },
|
|
38
|
-
];
|
|
39
|
-
this.onChange = (v) => { };
|
|
40
|
-
this.onTouch = () => { };
|
|
41
|
-
this.formControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
42
|
-
this.checkCriteria();
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
checkCriteria() {
|
|
46
|
-
const password = this.formControl.value ?? '';
|
|
47
|
-
this.criteriaPassed = {
|
|
48
|
-
hasLowercase: /^(?=.*?[a-z])/.test(password),
|
|
49
|
-
hasUppercase: /^(?=.*?[A-Z])/.test(password),
|
|
50
|
-
hasNumber: /^(?=.*?[0-9])/.test(password),
|
|
51
|
-
hasSpecialChar: /^(?=.*?[" !#$%&'()*+,-./:;<=>?@[\]^_`{|}~])/.test(password),
|
|
52
|
-
hasMinLength: password.length >= 12,
|
|
53
|
-
};
|
|
54
|
-
const passedCount = this.countPassed();
|
|
55
|
-
this.progressValue = Math.min(Math.max(passedCount * (100 / Object.keys(this.criteriaPassed).length), 1), 100);
|
|
56
|
-
this.passwordChange.emit(password);
|
|
57
|
-
this.allCriteriaPassed.emit(passedCount === Object.keys(this.criteriaPassed).length);
|
|
58
|
-
this.onChange(password);
|
|
59
|
-
}
|
|
60
|
-
countPassed() {
|
|
61
|
-
let count = 0;
|
|
62
|
-
for (const key in this.criteriaPassed) {
|
|
63
|
-
if (this.criteriaPassed.hasOwnProperty(key) && this.criteriaPassed[key]) {
|
|
64
|
-
count++;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return count;
|
|
68
|
-
}
|
|
69
|
-
writeValue(obj) {
|
|
70
|
-
this.formControl.setValue(obj);
|
|
71
|
-
}
|
|
72
|
-
registerOnChange(fn) {
|
|
73
|
-
this.onChange = fn;
|
|
74
|
-
}
|
|
75
|
-
registerOnTouched(fn) {
|
|
76
|
-
this.onTouch = fn;
|
|
77
|
-
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PasswordComponent, selector: "ui-password-criteria", inputs: { showCriteria: "showCriteria", required: "required" }, outputs: { passwordChange: "passwordChange", allCriteriaPassed: "allCriteriaPassed" }, providers: [
|
|
80
|
-
{
|
|
81
|
-
provide: NG_VALUE_ACCESSOR,
|
|
82
|
-
useExisting: forwardRef(() => PasswordComponent),
|
|
83
|
-
multi: true,
|
|
84
|
-
},
|
|
85
|
-
], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
|
-
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponent, decorators: [{
|
|
88
|
-
type: Component,
|
|
89
|
-
args: [{ selector: 'ui-password-criteria', providers: [
|
|
90
|
-
{
|
|
91
|
-
provide: NG_VALUE_ACCESSOR,
|
|
92
|
-
useExisting: forwardRef(() => PasswordComponent),
|
|
93
|
-
multi: true,
|
|
94
|
-
},
|
|
95
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"] }]
|
|
96
|
-
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { showCriteria: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], required: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], passwordChange: [{
|
|
101
|
-
type: Output
|
|
102
|
-
}], allCriteriaPassed: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLWNyaXRlcmlhL3Bhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1jcml0ZXJpYS9wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBZWhFLE1BQU0sT0FBTyxpQkFBaUI7SUFrQzVCLFlBQ21CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFqQ3pDOzs7OztXQUtHO1FBQ00saUJBQVksR0FBRyxJQUFJLENBQUM7UUFFN0I7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxtQkFBYyxHQUErQixFQUFFLENBQUM7UUFHaEQsYUFBUSxHQUE0QztZQUM1RCxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO1lBQzNELEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7WUFDM0QsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtZQUNyRCxFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7WUFDckUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtTQUM3RCxDQUFDO1FBb0NGLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFoQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JGLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVDLFlBQVksRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxTQUFTLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekMsY0FBYyxFQUFFLDZDQUE2QyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDNUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRTtTQUNwQyxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFJRCxVQUFVLENBQUMsR0FBUTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQWpGVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzTUFUakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDdEJILG1xQ0ErQkE7OzRGRE5hLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOytFQVV0QyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcGFzc3dvcmQtY3JpdGVyaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAvKipcbiAgICogU2hvdyBjcml0ZXJpYSBmb3IgcGFzc3dvcmQuIERlZmF1bHRzIHRydWVcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2hvd0NyaXRlcmlhID0gdHJ1ZTtcblxuICAvKipcbiAgICogUGFzc3dvcmQgaXMgcmVxdWlyZWQgb3Igbm90XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHBhc3N3b3JkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpIGFsbENyaXRlcmlhUGFzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByb3RlY3RlZCBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gIHByb3RlY3RlZCBjcml0ZXJpYVBhc3NlZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgcHJvdGVjdGVkIHNob3dFcnJvcjogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHByb2dyZXNzVmFsdWU6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGNyaXRlcmlhOiB7IHRyYW5zbGF0ZUtleTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W10gPSBbXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5MT1dFUkNBU0UnLCBrZXk6ICdoYXNMb3dlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5VUFBFUkNBU0UnLCBrZXk6ICdoYXNVcHBlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5OVU1CRVInLCBrZXk6ICdoYXNOdW1iZXInIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5TUEVDSUFMX0NIQVJBQ1RFUicsIGtleTogJ2hhc1NwZWNpYWxDaGFyJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuQ0hBUkFDVEVSUycsIGtleTogJ2hhc01pbkxlbmd0aCcgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICkge1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrQ3JpdGVyaWEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrQ3JpdGVyaWEoKTogdm9pZCB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlID8/ICcnO1xuICAgIHRoaXMuY3JpdGVyaWFQYXNzZWQgPSB7XG4gICAgICBoYXNMb3dlcmNhc2U6IC9eKD89Lio/W2Etel0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc1VwcGVyY2FzZTogL14oPz0uKj9bQS1aXSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzTnVtYmVyOiAvXig/PS4qP1swLTldKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNTcGVjaWFsQ2hhcjogL14oPz0uKj9bXCIgISMkJSYnKCkqKywtLi86Ozw9Pj9AW1xcXV5fYHt8fX5dKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNNaW5MZW5ndGg6IHBhc3N3b3JkLmxlbmd0aCA+PSAxMixcbiAgICB9O1xuXG4gICAgY29uc3QgcGFzc2VkQ291bnQgPSB0aGlzLmNvdW50UGFzc2VkKCk7XG4gICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgocGFzc2VkQ291bnQgKiAoMTAwIC8gT2JqZWN0LmtleXModGhpcy5jcml0ZXJpYVBhc3NlZCkubGVuZ3RoKSwgMSksIDEwMCk7XG4gICAgdGhpcy5wYXNzd29yZENoYW5nZS5lbWl0KHBhc3N3b3JkKTtcbiAgICB0aGlzLmFsbENyaXRlcmlhUGFzc2VkLmVtaXQocGFzc2VkQ291bnQgPT09IE9iamVjdC5rZXlzKHRoaXMuY3JpdGVyaWFQYXNzZWQpLmxlbmd0aCk7XG4gICAgdGhpcy5vbkNoYW5nZShwYXNzd29yZCk7XG4gIH1cblxuICBjb3VudFBhc3NlZCgpOiBudW1iZXIge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jcml0ZXJpYVBhc3NlZCkge1xuICAgICAgaWYgKHRoaXMuY3JpdGVyaWFQYXNzZWQuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0aGlzLmNyaXRlcmlhUGFzc2VkW2tleV0pIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG4gIG9uQ2hhbmdlID0gKHY6IGFueSkgPT4ge307XG4gIG9uVG91Y2ggPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShvYmopO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFzc3dvcmQtY3JpdGVyaWEtY29udGFpbmVyXCI+XG5cbiAgPHVpLWZpZWxkIFthcHBsaWNhdGlvblRoZW1lXT1cIidkYXJrJ1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdQQVNTV09SRC5QQVNTV09SRF9QTEFDRUhPTERFUicgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSArIChyZXF1aXJlZCA/ICcgKicgOiAnJylcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gID48L3VpLWZpZWxkPlxuXG4gIDxkaXYgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIiAqbmdJZj1cInNob3dDcml0ZXJpYVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICA8dWktcHJvZ3Jlc3MtYmFyIFtwcm9ncmVzc109XCJwcm9ncmVzc1ZhbHVlID09PSAxID8gMCA6IHByb2dyZXNzVmFsdWVcIiBbYXBwbGljYXRpb25UaGVtZV09XCInZGFyaydcIj48L3VpLXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBjcml0ZXJpb24gb2YgY3JpdGVyaWFcIlxuICAgICAgY2xhc3M9XCJjcml0ZXJpb25cIlxuICAgICAgW25nQ2xhc3NdPVwieyAncGFzc2VkJzogY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0sIGVycm9yOiAhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yIH1cIlxuICAgID5cbiAgICAgIDx1aS1pY29uIFtzaXplXT1cIicyNCdcIlxuICAgICAgICAgICAgICAgW2NvbG9yXT1cIidyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICAgICAgICAgICBbbmFtZV09XCIhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yID8gJ0luZm8taW4tbGluZScgOiAnQ2hlY2stcm91bmQtaW4tbGluZSdcIlxuICAgICAgICAgICAgICAgYXBwbGljYXRpb25UaGVtZT1cImRhcmtcIlxuICAgICAgPjwvdWktaWNvbj5cbiAgICAgIDxzcGFuPnt7IGNyaXRlcmlvbi50cmFuc2xhdGVLZXkgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { PasswordComponent } from './password.component';
|
|
4
|
-
import { FieldComponentModule } from '../field/field.component.module';
|
|
5
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { IconComponentModule } from '../icon/icon.component.module';
|
|
7
|
-
import { ProgressBarComponentModule } from '../progress-bar/progress-bar.component.module';
|
|
8
|
-
import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class PasswordComponentModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponentModule, declarations: [PasswordComponent], imports: [CommonModule,
|
|
13
|
-
FieldComponentModule,
|
|
14
|
-
ReactiveFormsModule,
|
|
15
|
-
IconComponentModule,
|
|
16
|
-
ProgressBarComponentModule,
|
|
17
|
-
UiTranslatePipe], exports: [PasswordComponent] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponentModule, imports: [CommonModule,
|
|
19
|
-
FieldComponentModule,
|
|
20
|
-
ReactiveFormsModule,
|
|
21
|
-
IconComponentModule,
|
|
22
|
-
ProgressBarComponentModule] }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordComponentModule, decorators: [{
|
|
25
|
-
type: NgModule,
|
|
26
|
-
args: [{
|
|
27
|
-
declarations: [PasswordComponent],
|
|
28
|
-
exports: [PasswordComponent],
|
|
29
|
-
imports: [
|
|
30
|
-
CommonModule,
|
|
31
|
-
FieldComponentModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
IconComponentModule,
|
|
34
|
-
ProgressBarComponentModule,
|
|
35
|
-
UiTranslatePipe,
|
|
36
|
-
],
|
|
37
|
-
}]
|
|
38
|
-
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1jcml0ZXJpYS9wYXNzd29yZC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFjaEUsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsaUJBWG5CLGlCQUFpQixhQUc5QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLGVBQWUsYUFQUCxpQkFBaUI7Z0hBVWhCLHVCQUF1QixZQVJoQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsMEJBQTBCOzs0RkFJakIsdUJBQXVCO2tCQVpuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBVaVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91aS10cmFuc2xhdGUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1Bhc3N3b3JkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25Db21wb25lbnRNb2R1bGUsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZENvbXBvbmVudE1vZHVsZSB7fVxuIl19
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../icon/icon.component";
|
|
5
|
-
import * as i3 from "../progress-bar/progress-bar.component";
|
|
6
|
-
import * as i4 from "../../pipes/ui-translate.pipe";
|
|
7
|
-
export class PasswordStrengthComponent {
|
|
8
|
-
/**
|
|
9
|
-
* The password that needs to be checked
|
|
10
|
-
* @property password
|
|
11
|
-
* @type {string}
|
|
12
|
-
* @memberof PasswordStrengthComponent
|
|
13
|
-
*/
|
|
14
|
-
set password(value) {
|
|
15
|
-
this._password = value;
|
|
16
|
-
this.checkCriteria(this._password);
|
|
17
|
-
}
|
|
18
|
-
constructor(defaultAppTheme) {
|
|
19
|
-
this.defaultAppTheme = defaultAppTheme;
|
|
20
|
-
/**
|
|
21
|
-
*
|
|
22
|
-
* Defines the application theme
|
|
23
|
-
*
|
|
24
|
-
* @type {ApplicationTheme}
|
|
25
|
-
* @memberof PasswordStrengthComponent
|
|
26
|
-
*/
|
|
27
|
-
this.applicationTheme = 'light';
|
|
28
|
-
/**
|
|
29
|
-
* Event that outputs validation check result
|
|
30
|
-
* @property validationCheck
|
|
31
|
-
* @type {boolean}
|
|
32
|
-
* @memberof PasswordStrengthComponent
|
|
33
|
-
*/
|
|
34
|
-
this.validationCheck = new EventEmitter();
|
|
35
|
-
this.criteriaPassed = {};
|
|
36
|
-
this._password = '';
|
|
37
|
-
this.criteria = [
|
|
38
|
-
{ translateKey: 'PASSWORD.LOWERCASE', key: 'hasLowercase' },
|
|
39
|
-
{ translateKey: 'PASSWORD.UPPERCASE', key: 'hasUppercase' },
|
|
40
|
-
{ translateKey: 'PASSWORD.NUMBER', key: 'hasNumber' },
|
|
41
|
-
{ translateKey: 'PASSWORD.SPECIAL_CHARACTER', key: 'hasSpecialChar' },
|
|
42
|
-
{ translateKey: 'PASSWORD.CHARACTERS', key: 'hasMinLength' },
|
|
43
|
-
];
|
|
44
|
-
if (this.defaultAppTheme) {
|
|
45
|
-
this.applicationTheme = defaultAppTheme;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
checkCriteria(password) {
|
|
49
|
-
this.criteriaPassed = {
|
|
50
|
-
hasLowercase: /^(?=.*?[a-z])/.test(password),
|
|
51
|
-
hasUppercase: /^(?=.*?[A-Z])/.test(password),
|
|
52
|
-
hasNumber: /^(?=.*?[0-9])/.test(password),
|
|
53
|
-
hasSpecialChar: /^(?=.*?[" !#$%&'()*+,-./:;<=>?@[\]^_`{|}~])/.test(password),
|
|
54
|
-
hasMinLength: password.length >= 12,
|
|
55
|
-
};
|
|
56
|
-
const passedCount = this.countPassed();
|
|
57
|
-
this.progressValue = Math.min(Math.max(passedCount * (100 / Object.keys(this.criteriaPassed).length), 1), 100);
|
|
58
|
-
this.validationCheck.emit(passedCount === Object.keys(this.criteriaPassed).length);
|
|
59
|
-
}
|
|
60
|
-
countPassed() {
|
|
61
|
-
let count = 0;
|
|
62
|
-
for (const key in this.criteriaPassed) {
|
|
63
|
-
if (this.criteriaPassed.hasOwnProperty(key) && this.criteriaPassed[key]) {
|
|
64
|
-
count++;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return count;
|
|
68
|
-
}
|
|
69
|
-
get infoIcon() {
|
|
70
|
-
return this.applicationTheme === 'classic' ? 'Info' : 'Info-in-line';
|
|
71
|
-
}
|
|
72
|
-
get checkIcon() {
|
|
73
|
-
return this.applicationTheme === 'classic' ? 'Round-check' : 'Check-round-in-line';
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PasswordStrengthComponent, selector: "ui-password-strength", inputs: { applicationTheme: "applicationTheme", password: "password" }, outputs: { validationCheck: "validationCheck" }, ngImport: i0, template: "<div class=\"criteria-container\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"applicationTheme\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] ? infoIcon : checkIcon\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.criteria-container{margin-top:14px}.criteria-container .progress{margin-bottom:16px}.criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponent, decorators: [{
|
|
79
|
-
type: Component,
|
|
80
|
-
args: [{ selector: 'ui-password-strength', template: "<div class=\"criteria-container\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"applicationTheme\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] ? infoIcon : checkIcon\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.criteria-container{margin-top:14px}.criteria-container .progress{margin-bottom:16px}.criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.criteria-container .criterion.error span{color:#e02800}\n"] }]
|
|
81
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
82
|
-
type: Optional
|
|
83
|
-
}, {
|
|
84
|
-
type: Inject,
|
|
85
|
-
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
86
|
-
}] }], propDecorators: { applicationTheme: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], password: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], validationCheck: [{
|
|
91
|
-
type: Output
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN6RixNQUFNLE9BQU8seUJBQXlCO0lBVXBDOzs7OztPQUtHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBYTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBcUJELFlBQzZFLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQXhDOUc7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQWF0RDs7Ozs7V0FLRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUc5QyxtQkFBYyxHQUErQixFQUFFLENBQUM7UUFDbEQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBNEM7WUFDNUQsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtZQUMzRCxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO1lBQzNELEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7WUFDckQsRUFBRSxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO1lBQ3JFLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7U0FDN0QsQ0FBQztRQUtBLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsUUFBZ0I7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixZQUFZLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDNUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVDLFNBQVMsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN6QyxjQUFjLEVBQUUsNkNBQTZDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM1RSxZQUFZLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFO1NBQ3BDLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEUsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUNyRixDQUFDOytHQTlFVSx5QkFBeUIsa0JBeUNkLG9DQUFvQzttR0F6Qy9DLHlCQUF5QixxTENUdEMsbXNCQW1CQTs7NEZEVmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHNCQUFzQjs7MEJBNkM3QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzt5Q0FqQ2pELGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLO2dCQVdJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXBhc3N3b3JkLXN0cmVuZ3RoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCB7XG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgdGhhdCBuZWVkcyB0byBiZSBjaGVja2VkXG4gICAqIEBwcm9wZXJ0eSBwYXNzd29yZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBhc3N3b3JkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYXNzd29yZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hlY2tDcml0ZXJpYSh0aGlzLl9wYXNzd29yZCk7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgdGhhdCBvdXRwdXRzIHZhbGlkYXRpb24gY2hlY2sgcmVzdWx0XG4gICAqIEBwcm9wZXJ0eSB2YWxpZGF0aW9uQ2hlY2tcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XG4gICAqL1xuICBAT3V0cHV0KCkgdmFsaWRhdGlvbkNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByb3RlY3RlZCBwcm9ncmVzc1ZhbHVlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBjcml0ZXJpYVBhc3NlZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgcHJpdmF0ZSBfcGFzc3dvcmQgPSAnJztcbiAgcHJvdGVjdGVkIGNyaXRlcmlhOiB7IHRyYW5zbGF0ZUtleTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W10gPSBbXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5MT1dFUkNBU0UnLCBrZXk6ICdoYXNMb3dlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5VUFBFUkNBU0UnLCBrZXk6ICdoYXNVcHBlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5OVU1CRVInLCBrZXk6ICdoYXNOdW1iZXInIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5TUEVDSUFMX0NIQVJBQ1RFUicsIGtleTogJ2hhc1NwZWNpYWxDaGFyJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuQ0hBUkFDVEVSUycsIGtleTogJ2hhc01pbkxlbmd0aCcgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrQ3JpdGVyaWEocGFzc3dvcmQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JpdGVyaWFQYXNzZWQgPSB7XG4gICAgICBoYXNMb3dlcmNhc2U6IC9eKD89Lio/W2Etel0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc1VwcGVyY2FzZTogL14oPz0uKj9bQS1aXSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzTnVtYmVyOiAvXig/PS4qP1swLTldKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNTcGVjaWFsQ2hhcjogL14oPz0uKj9bXCIgISMkJSYnKCkqKywtLi86Ozw9Pj9AW1xcXV5fYHt8fX5dKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNNaW5MZW5ndGg6IHBhc3N3b3JkLmxlbmd0aCA+PSAxMixcbiAgICB9O1xuXG4gICAgY29uc3QgcGFzc2VkQ291bnQgPSB0aGlzLmNvdW50UGFzc2VkKCk7XG4gICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgocGFzc2VkQ291bnQgKiAoMTAwIC8gT2JqZWN0LmtleXModGhpcy5jcml0ZXJpYVBhc3NlZCkubGVuZ3RoKSwgMSksIDEwMCk7XG4gICAgdGhpcy52YWxpZGF0aW9uQ2hlY2suZW1pdChwYXNzZWRDb3VudCA9PT0gT2JqZWN0LmtleXModGhpcy5jcml0ZXJpYVBhc3NlZCkubGVuZ3RoKTtcbiAgfVxuXG4gIHByaXZhdGUgY291bnRQYXNzZWQoKTogbnVtYmVyIHtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY3JpdGVyaWFQYXNzZWQpIHtcbiAgICAgIGlmICh0aGlzLmNyaXRlcmlhUGFzc2VkLmhhc093blByb3BlcnR5KGtleSkgJiYgdGhpcy5jcml0ZXJpYVBhc3NlZFtrZXldKSB7XG4gICAgICAgIGNvdW50Kys7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIGdldCBpbmZvSWNvbigpOiBJY29uTmFtZSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0luZm8nIDogJ0luZm8taW4tbGluZSc7XG4gIH1cblxuICBnZXQgY2hlY2tJY29uKCk6IEljb25OYW1lIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnUm91bmQtY2hlY2snIDogJ0NoZWNrLXJvdW5kLWluLWxpbmUnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtY29udGFpbmVyXCI+XG5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgPHVpLXByb2dyZXNzLWJhciBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3NWYWx1ZSA9PT0gMSA/IDAgOiBwcm9ncmVzc1ZhbHVlXCIgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiPjwvdWktcHJvZ3Jlc3MtYmFyPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IGNyaXRlcmlvbiBvZiBjcml0ZXJpYVwiXG4gICAgY2xhc3M9XCJjcml0ZXJpb25cIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3Bhc3NlZCc6IGNyaXRlcmlhUGFzc2VkW2NyaXRlcmlvbi5rZXldLCBlcnJvcjogIWNyaXRlcmlhUGFzc2VkW2NyaXRlcmlvbi5rZXldIH1cIlxuICA+XG4gICAgPHVpLWljb24gW3NpemVdPVwiJzI0J1wiXG4gICAgICAgICAgICAgW2NvbG9yXT1cIidyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICAgICAgICAgW25hbWVdPVwiIWNyaXRlcmlhUGFzc2VkW2NyaXRlcmlvbi5rZXldID8gaW5mb0ljb24gOiBjaGVja0ljb25cIlxuICAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgID48L3VpLWljb24+XG4gICAgPHNwYW4+e3sgY3JpdGVyaW9uLnRyYW5zbGF0ZUtleSB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { PasswordStrengthComponent } from './password-strength.component';
|
|
4
|
-
import { IconComponentModule } from '../icon/icon.component.module';
|
|
5
|
-
import { ProgressBarComponentModule } from '../progress-bar/progress-bar.component.module';
|
|
6
|
-
import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class PasswordStrengthComponentModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponentModule, declarations: [PasswordStrengthComponent], imports: [CommonModule, IconComponentModule, ProgressBarComponentModule, UiTranslatePipe], exports: [PasswordStrengthComponent] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponentModule, imports: [CommonModule, IconComponentModule, ProgressBarComponentModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordStrengthComponentModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [PasswordStrengthComponent],
|
|
17
|
-
imports: [CommonModule, IconComponentModule, ProgressBarComponentModule, UiTranslatePipe],
|
|
18
|
-
exports: [PasswordStrengthComponent],
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFPaEUsTUFBTSxPQUFPLCtCQUErQjsrR0FBL0IsK0JBQStCO2dIQUEvQiwrQkFBK0IsaUJBSjNCLHlCQUF5QixhQUM5QixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxhQUM5RSx5QkFBeUI7Z0hBRXhCLCtCQUErQixZQUhoQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsMEJBQTBCOzs0RkFHNUQsK0JBQStCO2tCQUwzQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN6QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxDQUFDO29CQUN6RixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudE1vZHVsZSwgUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUsIFVpVHJhbnNsYXRlUGlwZV0sXG4gIGV4cG9ydHM6IFtQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudE1vZHVsZSB7fVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class JoinStringsPipe {
|
|
4
|
-
transform(value, separator) {
|
|
5
|
-
return value.filter(Boolean).join(separator ? separator : ' - ');
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JoinStringsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: JoinStringsPipe, name: "joinStrings" }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JoinStringsPipe, decorators: [{
|
|
11
|
-
type: Pipe,
|
|
12
|
-
args: [{ name: 'joinStrings' }]
|
|
13
|
-
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi1zdHJpbmdzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvam9pbi1zdHJpbmdzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUFlLEVBQUUsU0FBa0I7UUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQzsrR0FIVSxlQUFlOzZHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdqb2luU3RyaW5ncycgfSlcbmV4cG9ydCBjbGFzcyBKb2luU3RyaW5nc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmdbXSwgc2VwYXJhdG9yPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oc2VwYXJhdG9yID8gc2VwYXJhdG9yIDogJyAtICcpO1xuICB9XG59XG4iXX0=
|