cmat 0.0.16 → 0.0.18
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/carousel/carousel.component.d.ts +136 -0
- package/components/carousel/carousel.interface.d.ts +38 -0
- package/components/carousel/index.d.ts +5 -0
- package/components/carousel/public-api.d.ts +2 -0
- package/components/custom-formly/public-api.d.ts +1 -0
- package/components/custom-formly/types/knob/knob.component.d.ts +36 -0
- package/components/custom-formly/types/table/table.component.d.ts +3 -8
- package/components/custom-formly/wrappers/form-field/form-field.component.d.ts +4 -4
- package/components/image-viewer/image-viewer.component.d.ts +76 -0
- package/components/image-viewer/index.d.ts +5 -0
- package/components/image-viewer/public-api.d.ts +1 -0
- package/components/knob-input/index.d.ts +5 -0
- package/components/knob-input/knob-input.component.d.ts +95 -0
- package/components/knob-input/public-api.d.ts +1 -0
- package/components/material-datetimepicker/datetimepicker-input.d.ts +2 -2
- package/components/opt-input/index.d.ts +5 -0
- package/components/opt-input/models/config.d.ts +14 -0
- package/components/opt-input/otp-input.component.d.ts +70 -0
- package/components/opt-input/public-api.d.ts +1 -0
- package/components/opt-input/utils/keyboard-util.d.ts +9 -0
- package/components/opt-input/utils/object-util.d.ts +3 -0
- package/components/org-chart/designer/chart-designer.component.d.ts +17 -0
- package/components/org-chart/index.d.ts +5 -0
- package/components/org-chart/node/chart-node.component.d.ts +17 -0
- package/components/org-chart/node/node.type.d.ts +22 -0
- package/components/org-chart/org-chart.component.d.ts +12 -0
- package/components/org-chart/public-api.d.ts +2 -0
- package/components/popover/popover.interfaces.d.ts +1 -1
- package/components/select-search/select-search.component.d.ts +2 -1
- package/components/select-table/index.d.ts +5 -0
- package/components/select-table/public-api.d.ts +2 -0
- package/components/select-table/select-table.component.d.ts +96 -0
- package/components/select-table/select-table.type.d.ts +20 -0
- package/components/select-tree/select-tree.component.d.ts +11 -12
- package/components/speed-dial/index.d.ts +5 -0
- package/components/speed-dial/public-api.d.ts +2 -0
- package/components/speed-dial/speed-dial.component.d.ts +63 -0
- package/components/transfer-picker/interface.d.ts +0 -1
- package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +8 -6
- package/components/treetable/index.d.ts +5 -0
- package/components/treetable/public-api.d.ts +2 -0
- package/components/treetable/treetable.component.d.ts +32 -0
- package/components/treetable/treetable.interface.d.ts +9 -0
- package/directives/animate-on-scroll/animate-on-scroll.directive.d.ts +4 -4
- package/directives/arrow-cursor/arrow-cursor.directive.d.ts +31 -0
- package/directives/arrow-cursor/index.d.ts +5 -0
- package/directives/arrow-cursor/public-api.d.ts +1 -0
- package/directives/data-exporter/constants.d.ts +26 -0
- package/directives/data-exporter/data-exporter.directive.d.ts +18 -0
- package/directives/data-exporter/index.d.ts +5 -0
- package/directives/data-exporter/mime.d.ts +5 -0
- package/directives/data-exporter/options.d.ts +21 -0
- package/directives/data-exporter/public-api.d.ts +2 -0
- package/directives/data-exporter/services/exporters/csv-exporter.service.d.ts +12 -0
- package/directives/data-exporter/services/exporters/exporter.d.ts +4 -0
- package/directives/data-exporter/services/exporters/file-exporter.d.ts +8 -0
- package/directives/data-exporter/services/exporters/json-exporter.service.d.ts +11 -0
- package/directives/data-exporter/services/exporters/txt-exporter.service.d.ts +12 -0
- package/directives/data-exporter/services/exporters/worksheet-exporter.d.ts +10 -0
- package/directives/data-exporter/services/exporters/xls-exporter.service.d.ts +14 -0
- package/directives/data-exporter/services/exporters/xlsx-exporter.service.d.ts +9 -0
- package/directives/data-exporter/services/file-util.d.ts +8 -0
- package/directives/data-exporter/services/service-locator.service.d.ts +11 -0
- package/directives/debounce/abstract-debounce.directive.d.ts +1 -1
- package/fesm2022/cmat-animations.mjs.map +1 -1
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +4 -4
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-carousel.mjs +711 -0
- package/fesm2022/cmat-components-carousel.mjs.map +1 -0
- package/fesm2022/cmat-components-cascade.mjs +12 -12
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +5 -5
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +168 -155
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +5 -5
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +6 -6
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +4 -4
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +7 -7
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-image-viewer.mjs +227 -0
- package/fesm2022/cmat-components-image-viewer.mjs.map +1 -0
- package/fesm2022/cmat-components-json-editor.mjs +4 -4
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-knob-input.mjs +404 -0
- package/fesm2022/cmat-components-knob-input.mjs.map +1 -0
- package/fesm2022/cmat-components-masonry.mjs +4 -4
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +4 -4
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -53
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +51 -51
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-opt-input.mjs +457 -0
- package/fesm2022/cmat-components-opt-input.mjs.map +1 -0
- package/fesm2022/cmat-components-org-chart.mjs +141 -0
- package/fesm2022/cmat-components-org-chart.mjs.map +1 -0
- package/fesm2022/cmat-components-pagination.mjs +13 -13
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +12 -12
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +10 -10
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +4 -4
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +4 -4
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +11 -11
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-table.mjs +658 -0
- package/fesm2022/cmat-components-select-table.mjs.map +1 -0
- package/fesm2022/cmat-components-select-tree.mjs +75 -57
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-speed-dial.mjs +312 -0
- package/fesm2022/cmat-components-speed-dial.mjs.map +1 -0
- package/fesm2022/cmat-components-timeline.mjs +14 -14
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +11 -11
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +60 -41
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-treetable.mjs +122 -0
- package/fesm2022/cmat-components-treetable.mjs.map +1 -0
- package/fesm2022/cmat-components-upload.mjs +11 -11
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +21 -21
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-arrow-cursor.mjs +184 -0
- package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -0
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
- package/fesm2022/cmat-directives-data-exporter.mjs +324 -0
- package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -0
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +8 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +6 -6
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
- package/fesm2022/cmat-pipes-secure.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +6 -6
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +7 -7
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +5 -5
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-export-as.mjs +211 -0
- package/fesm2022/cmat-services-export-as.mjs.map +1 -0
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs.map +1 -1
- package/fesm2022/cmat-services-utils.mjs +35 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-validators.mjs.map +1 -1
- package/fesm2022/cmat-version.mjs.map +1 -1
- package/icons/arrow-cursor.svg +1 -1
- package/package.json +81 -147
- package/services/data/data.service.d.ts +1 -1
- package/services/export-as/export-as-config.model.d.ts +8 -0
- package/services/export-as/export-as.service.d.ts +43 -0
- package/services/export-as/index.d.ts +5 -0
- package/services/export-as/public-api.d.ts +2 -0
- package/services/utils/utils.service.d.ts +4 -0
- package/styles/overrides/angular-material.scss +95 -13
- package/esm2022/animations/cmat-animations.mjs +0 -5
- package/esm2022/animations/defaults.mjs +0 -12
- package/esm2022/animations/dropdown.mjs +0 -26
- package/esm2022/animations/expand-collapse.mjs +0 -17
- package/esm2022/animations/fade.mjs +0 -170
- package/esm2022/animations/public-api.mjs +0 -19
- package/esm2022/animations/shake.mjs +0 -59
- package/esm2022/animations/slide.mjs +0 -124
- package/esm2022/animations/transform.mjs +0 -16
- package/esm2022/animations/zoom.mjs +0 -38
- package/esm2022/cmat.mjs +0 -5
- package/esm2022/components/adapter/cmat-components-adapter.mjs +0 -5
- package/esm2022/components/adapter/datetime-adapter.mjs +0 -127
- package/esm2022/components/adapter/datetime-formats.mjs +0 -3
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +0 -198
- package/esm2022/components/adapter/dayjs-date-formats.mjs +0 -12
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +0 -100
- package/esm2022/components/adapter/dayjs-datetime-formats.mjs +0 -21
- package/esm2022/components/adapter/native-datetime-adapter.mjs +0 -130
- package/esm2022/components/adapter/native-datetime-formats.mjs +0 -15
- package/esm2022/components/adapter/public-api.mjs +0 -9
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +0 -19
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -94
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +0 -333
- package/esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs +0 -5
- package/esm2022/components/breadcrumb/public-api.mjs +0 -6
- package/esm2022/components/breadcrumb/types/breadcrumb.config.mjs +0 -2
- package/esm2022/components/breadcrumb/types/breadcrumb.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -49
- package/esm2022/components/card/card.types.mjs +0 -2
- package/esm2022/components/card/cmat-components-card.mjs +0 -5
- package/esm2022/components/card/public-api.mjs +0 -3
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +0 -49
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +0 -384
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +0 -22
- package/esm2022/components/cascade/cmat-components-cascade.mjs +0 -5
- package/esm2022/components/cascade/options.interface.mjs +0 -2
- package/esm2022/components/cascade/public-api.mjs +0 -4
- package/esm2022/components/chip-input/chip-input.component.mjs +0 -251
- package/esm2022/components/chip-input/cmat-components-chip-input.mjs +0 -5
- package/esm2022/components/chip-input/public-api.mjs +0 -2
- package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +0 -5
- package/esm2022/components/custom-formly/extension/addons.extension.mjs +0 -13
- package/esm2022/components/custom-formly/public-api.mjs +0 -29
- package/esm2022/components/custom-formly/types/button/button.component.mjs +0 -81
- package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +0 -71
- package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +0 -161
- package/esm2022/components/custom-formly/types/chips/chips.component.mjs +0 -55
- package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +0 -15
- package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +0 -51
- package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +0 -88
- package/esm2022/components/custom-formly/types/number/number.component.mjs +0 -27
- package/esm2022/components/custom-formly/types/quill/quill.component.mjs +0 -171
- package/esm2022/components/custom-formly/types/radio/radio.component.mjs +0 -87
- package/esm2022/components/custom-formly/types/rating/rating.component.mjs +0 -27
- package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/select/select.component.mjs +0 -167
- package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +0 -66
- package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +0 -28
- package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +0 -2
- package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +0 -28
- package/esm2022/components/custom-formly/types/table/table.component.mjs +0 -127
- package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +0 -16
- package/esm2022/components/custom-formly/types/tags/tags.component.mjs +0 -146
- package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/upload/upload.component.mjs +0 -58
- package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +0 -92
- package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +0 -14
- package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +0 -14
- package/esm2022/components/custom-formly/wrappers/form-field/form-field.component.mjs +0 -47
- package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +0 -12
- package/esm2022/components/date-range/cmat-components-date-range.mjs +0 -5
- package/esm2022/components/date-range/date-range.component.mjs +0 -558
- package/esm2022/components/date-range/public-api.mjs +0 -2
- package/esm2022/components/drawer/cmat-components-drawer.mjs +0 -5
- package/esm2022/components/drawer/drawer.component.mjs +0 -301
- package/esm2022/components/drawer/drawer.service.mjs +0 -41
- package/esm2022/components/drawer/drawer.types.mjs +0 -2
- package/esm2022/components/drawer/public-api.mjs +0 -4
- package/esm2022/components/fullscreen/cmat-components-fullscreen.mjs +0 -5
- package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -44
- package/esm2022/components/fullscreen/public-api.mjs +0 -2
- package/esm2022/components/highlight/cmat-components-highlight.mjs +0 -5
- package/esm2022/components/highlight/highlight.component.mjs +0 -80
- package/esm2022/components/highlight/highlight.service.mjs +0 -47
- package/esm2022/components/highlight/public-api.mjs +0 -3
- package/esm2022/components/json-editor/cmat-components-json-editor.mjs +0 -5
- package/esm2022/components/json-editor/json-editor.component.mjs +0 -176
- package/esm2022/components/json-editor/public-api.mjs +0 -2
- package/esm2022/components/masonry/cmat-components-masonry.mjs +0 -5
- package/esm2022/components/masonry/masonry.component.mjs +0 -54
- package/esm2022/components/masonry/public-api.mjs +0 -2
- package/esm2022/components/material-color-picker/base-color.mjs +0 -13
- package/esm2022/components/material-color-picker/cmat-components-material-color-picker.mjs +0 -5
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +0 -147
- package/esm2022/components/material-color-picker/public-api.mjs +0 -3
- package/esm2022/components/material-color-picker/selected-color.mjs +0 -3
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +0 -76
- package/esm2022/components/material-datetimepicker/calendar.mjs +0 -670
- package/esm2022/components/material-datetimepicker/clock.mjs +0 -290
- package/esm2022/components/material-datetimepicker/cmat-components-material-datetimepicker.mjs +0 -5
- package/esm2022/components/material-datetimepicker/datetimepicker-animations.mjs +0 -34
- package/esm2022/components/material-datetimepicker/datetimepicker-errors.mjs +0 -6
- package/esm2022/components/material-datetimepicker/datetimepicker-filtertype.mjs +0 -8
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +0 -341
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +0 -63
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +0 -87
- package/esm2022/components/material-datetimepicker/datetimepicker-types.mjs +0 -2
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +0 -531
- package/esm2022/components/material-datetimepicker/month-view.mjs +0 -141
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +0 -197
- package/esm2022/components/material-datetimepicker/public-api.mjs +0 -11
- package/esm2022/components/material-datetimepicker/time.mjs +0 -455
- package/esm2022/components/material-datetimepicker/year-view.mjs +0 -124
- package/esm2022/components/navigation/cmat-components-navigation.mjs +0 -5
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +0 -70
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +0 -82
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +0 -47
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +0 -47
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +0 -87
- package/esm2022/components/navigation/navigation.service.mjs +0 -140
- package/esm2022/components/navigation/navigation.types.mjs +0 -3
- package/esm2022/components/navigation/public-api.mjs +0 -5
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +0 -162
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +0 -60
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +0 -277
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +0 -56
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +0 -78
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +0 -56
- package/esm2022/components/navigation/vertical/vertical.component.mjs +0 -584
- package/esm2022/components/pagination/cmat-components-pagination.mjs +0 -5
- package/esm2022/components/pagination/pagination.component.mjs +0 -67
- package/esm2022/components/pagination/pagination.directive.mjs +0 -197
- package/esm2022/components/pagination/pagination.instance.mjs +0 -2
- package/esm2022/components/pagination/pagination.pipe.mjs +0 -100
- package/esm2022/components/pagination/pagination.service.mjs +0 -90
- package/esm2022/components/pagination/public-api.mjs +0 -6
- package/esm2022/components/password-strength/animations/index.mjs +0 -48
- package/esm2022/components/password-strength/cmat-components-password-strength.mjs +0 -5
- package/esm2022/components/password-strength/enum.mjs +0 -17
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +0 -27
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +0 -206
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +0 -150
- package/esm2022/components/password-strength/mat-password-strength-validator.mjs +0 -36
- package/esm2022/components/password-strength/public-api.mjs +0 -4
- package/esm2022/components/password-strength/regexp.class.mjs +0 -8
- package/esm2022/components/popover/cmat-components-popover.mjs +0 -5
- package/esm2022/components/popover/popover-trigger.mjs +0 -442
- package/esm2022/components/popover/popover.component.mjs +0 -348
- package/esm2022/components/popover/popover.errors.mjs +0 -27
- package/esm2022/components/popover/popover.interfaces.mjs +0 -2
- package/esm2022/components/popover/popover.target.mjs +0 -18
- package/esm2022/components/popover/popover.type.mjs +0 -2
- package/esm2022/components/popover/public-api.mjs +0 -5
- package/esm2022/components/progress-bar/cmat-components-progress-bar.mjs +0 -5
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -58
- package/esm2022/components/progress-bar/public-api.mjs +0 -2
- package/esm2022/components/rating/cmat-components-rating.mjs +0 -5
- package/esm2022/components/rating/public-api.mjs +0 -2
- package/esm2022/components/rating/rating.component.mjs +0 -202
- package/esm2022/components/select-search/cmat-components-select-search.mjs +0 -5
- package/esm2022/components/select-search/default-options.mjs +0 -16
- package/esm2022/components/select-search/public-api.mjs +0 -3
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +0 -14
- package/esm2022/components/select-search/select-search-clear.directive.mjs +0 -14
- package/esm2022/components/select-search/select-search.component.mjs +0 -485
- package/esm2022/components/select-tree/cmat-components-select-tree.mjs +0 -5
- package/esm2022/components/select-tree/public-api.mjs +0 -4
- package/esm2022/components/select-tree/select-tree.component.mjs +0 -565
- package/esm2022/components/select-tree/select-tree.flatnode.mjs +0 -3
- package/esm2022/components/select-tree/select-tree.node.mjs +0 -3
- package/esm2022/components/timeline/cmat-components-timeline.mjs +0 -5
- package/esm2022/components/timeline/public-api.mjs +0 -3
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +0 -70
- package/esm2022/components/timeline/timeline.component.mjs +0 -107
- package/esm2022/components/toast/cmat-components-toast.mjs +0 -5
- package/esm2022/components/toast/models/global-config.model.mjs +0 -2
- package/esm2022/components/toast/models/toast.model.mjs +0 -2
- package/esm2022/components/toast/models/type.model.mjs +0 -2
- package/esm2022/components/toast/public-api.mjs +0 -7
- package/esm2022/components/toast/toast-modal.component.mjs +0 -53
- package/esm2022/components/toast/toast.component.mjs +0 -30
- package/esm2022/components/toast/toast.service.mjs +0 -122
- package/esm2022/components/transfer-picker/cmat-components-transfer-picker.mjs +0 -5
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +0 -91
- package/esm2022/components/transfer-picker/interface.mjs +0 -17
- package/esm2022/components/transfer-picker/public-api.mjs +0 -8
- package/esm2022/components/transfer-picker/search/search.component.mjs +0 -38
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +0 -201
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +0 -32
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +0 -84
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +0 -137
- package/esm2022/components/upload/cmat-components-upload.mjs +0 -5
- package/esm2022/components/upload/files.type.mjs +0 -2
- package/esm2022/components/upload/files.util.service.mjs +0 -89
- package/esm2022/components/upload/public-api.mjs +0 -5
- package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +0 -155
- package/esm2022/components/upload/upload.component.mjs +0 -118
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +0 -126
- package/esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs +0 -5
- package/esm2022/directives/animate-on-scroll/public-api.mjs +0 -2
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +0 -38
- package/esm2022/directives/autofocus/autofocus.directive.mjs +0 -20
- package/esm2022/directives/autofocus/cmat-directives-autofocus.mjs +0 -5
- package/esm2022/directives/autofocus/public-api.mjs +0 -2
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +0 -34
- package/esm2022/directives/debounce/cmat-directives-debounce.mjs +0 -5
- package/esm2022/directives/debounce/debounce-click.directive.mjs +0 -25
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +0 -25
- package/esm2022/directives/debounce/public-api.mjs +0 -3
- package/esm2022/directives/digit-only/cmat-directives-digit-only.mjs +0 -5
- package/esm2022/directives/digit-only/digit-only.directive.mjs +0 -298
- package/esm2022/directives/digit-only/mask.directive.mjs +0 -84
- package/esm2022/directives/digit-only/public-api.mjs +0 -3
- package/esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs +0 -5
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +0 -54
- package/esm2022/directives/equal-validator/public-api.mjs +0 -2
- package/esm2022/lib/mock-api/cmat-lib-mock-api.mjs +0 -5
- package/esm2022/lib/mock-api/mock-api.constants.mjs +0 -3
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +0 -73
- package/esm2022/lib/mock-api/mock-api.request-handler.mjs +0 -48
- package/esm2022/lib/mock-api/mock-api.service.mjs +0 -93
- package/esm2022/lib/mock-api/mock-api.types.mjs +0 -2
- package/esm2022/lib/mock-api/mock-api.utils.mjs +0 -16
- package/esm2022/lib/mock-api/public-api.mjs +0 -6
- package/esm2022/pipes/bytes/bytes.pipe.mjs +0 -25
- package/esm2022/pipes/bytes/cmat-pipes-bytes.mjs +0 -5
- package/esm2022/pipes/bytes/public-api.mjs +0 -2
- package/esm2022/pipes/date-format/cmat-pipes-date-format.mjs +0 -5
- package/esm2022/pipes/date-format/date-format.pipe.mjs +0 -20
- package/esm2022/pipes/date-format/public-api.mjs +0 -2
- package/esm2022/pipes/find-by-key/cmat-pipes-find-by-key.mjs +0 -5
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +0 -23
- package/esm2022/pipes/find-by-key/public-api.mjs +0 -2
- package/esm2022/pipes/group-by/cmat-pipes-group-by.mjs +0 -5
- package/esm2022/pipes/group-by/group-by.pipe.mjs +0 -29
- package/esm2022/pipes/group-by/public-api.mjs +0 -2
- package/esm2022/pipes/keys/cmat-pipes-keys.mjs +0 -5
- package/esm2022/pipes/keys/keys.pipe.mjs +0 -26
- package/esm2022/pipes/keys/public-api.mjs +0 -2
- package/esm2022/pipes/secure/cmat-pipes-secure.mjs +0 -5
- package/esm2022/pipes/secure/public-api.mjs +0 -2
- package/esm2022/pipes/secure/secure-pipe.mjs +0 -46
- package/esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs +0 -5
- package/esm2022/pipes/uppercase/public-api.mjs +0 -2
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +0 -17
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/services/alert/alert.dialog.mjs +0 -12
- package/esm2022/services/alert/alert.message.mjs +0 -9
- package/esm2022/services/alert/alert.service.mjs +0 -166
- package/esm2022/services/alert/cmat-services-alert.mjs +0 -5
- package/esm2022/services/alert/enum.mjs +0 -15
- package/esm2022/services/alert/public-api.mjs +0 -5
- package/esm2022/services/config/cmat-services-config.mjs +0 -5
- package/esm2022/services/config/config.constants.mjs +0 -3
- package/esm2022/services/config/config.service.mjs +0 -35
- package/esm2022/services/config/public-api.mjs +0 -4
- package/esm2022/services/config/urlStateConfig.service.mjs +0 -30
- package/esm2022/services/confirmation/cmat-services-confirmation.mjs +0 -5
- package/esm2022/services/confirmation/confirmation.service.mjs +0 -51
- package/esm2022/services/confirmation/confirmation.types.mjs +0 -2
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +0 -25
- package/esm2022/services/confirmation/public-api.mjs +0 -3
- package/esm2022/services/data/cmat-services-data.mjs +0 -5
- package/esm2022/services/data/data.service.mjs +0 -169
- package/esm2022/services/data/public-api.mjs +0 -2
- package/esm2022/services/loading/cmat-services-loading.mjs +0 -5
- package/esm2022/services/loading/loading.interceptor.mjs +0 -29
- package/esm2022/services/loading/loading.service.mjs +0 -72
- package/esm2022/services/loading/public-api.mjs +0 -3
- package/esm2022/services/local-storage/cmat-services-local-storage.mjs +0 -5
- package/esm2022/services/local-storage/local-storage.service.mjs +0 -22
- package/esm2022/services/local-storage/public-api.mjs +0 -2
- package/esm2022/services/media-watcher/cmat-services-media-watcher.mjs +0 -5
- package/esm2022/services/media-watcher/media-watcher.service.mjs +0 -55
- package/esm2022/services/media-watcher/public-api.mjs +0 -2
- package/esm2022/services/platform/cmat-services-platform.mjs +0 -5
- package/esm2022/services/platform/platform.service.mjs +0 -46
- package/esm2022/services/platform/public-api.mjs +0 -2
- package/esm2022/services/splash-screen/cmat-services-splash-screen.mjs +0 -5
- package/esm2022/services/splash-screen/public-api.mjs +0 -2
- package/esm2022/services/splash-screen/splash-screen.service.mjs +0 -42
- package/esm2022/services/title/cmat-services-title.mjs +0 -5
- package/esm2022/services/title/public-api.mjs +0 -2
- package/esm2022/services/title/title.service.mjs +0 -46
- package/esm2022/services/translation/cmat-services-translation.mjs +0 -5
- package/esm2022/services/translation/public-api.mjs +0 -2
- package/esm2022/services/translation/translation.service.mjs +0 -62
- package/esm2022/services/utils/cmat-services-utils.mjs +0 -5
- package/esm2022/services/utils/public-api.mjs +0 -2
- package/esm2022/services/utils/utils.service.mjs +0 -435
- package/esm2022/validators/cmat-validators.mjs +0 -5
- package/esm2022/validators/public-api.mjs +0 -2
- package/esm2022/validators/validators.mjs +0 -33
- package/esm2022/version/cmat-version.mjs +0 -5
- package/esm2022/version/public-api.mjs +0 -2
- package/esm2022/version/version.mjs +0 -11
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { animate, animation, keyframes, style } from '@angular/animations';
|
|
2
|
-
export const flipInX = flipIn(1, 1, 0);
|
|
3
|
-
export const flipInY = flipIn(1, 0, 1);
|
|
4
|
-
export const shake = animation(animate('{{ timing }}s {{ delay }}s', keyframes([
|
|
5
|
-
style({ transform: 'translate3d(0, 0, 0)', offset: 0 }),
|
|
6
|
-
style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.1 }),
|
|
7
|
-
style({ transform: 'translate3d(10px, 0, 0)', offset: 0.2 }),
|
|
8
|
-
style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.3 }),
|
|
9
|
-
style({ transform: 'translate3d(10px, 0, 0)', offset: 0.4 }),
|
|
10
|
-
style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.5 }),
|
|
11
|
-
style({ transform: 'translate3d(10px, 0, 0)', offset: 0.6 }),
|
|
12
|
-
style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.7 }),
|
|
13
|
-
style({ transform: 'translate3d(10px, 0, 0)', offset: 0.8 }),
|
|
14
|
-
style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.9 }),
|
|
15
|
-
style({ transform: 'translate3d(0, 0, 0)', offset: 1 }),
|
|
16
|
-
])), { params: { timing: 1, delay: 0 } });
|
|
17
|
-
function flipIn(timing, rotateX, rotateY) {
|
|
18
|
-
const params = { timing: timing, delay: 0, rotateX, rotateY };
|
|
19
|
-
return animation([
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
21
|
-
style({ 'backface-visibility': 'visible' }),
|
|
22
|
-
animate('{{ timing }}s {{ delay }}s ease-in', keyframes([
|
|
23
|
-
style({
|
|
24
|
-
opacity: 0,
|
|
25
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',
|
|
26
|
-
offset: 0,
|
|
27
|
-
}),
|
|
28
|
-
style({
|
|
29
|
-
opacity: 1,
|
|
30
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',
|
|
31
|
-
offset: 0.4,
|
|
32
|
-
}),
|
|
33
|
-
style({
|
|
34
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',
|
|
35
|
-
offset: 0.6,
|
|
36
|
-
}),
|
|
37
|
-
style({
|
|
38
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',
|
|
39
|
-
offset: 0.8,
|
|
40
|
-
}),
|
|
41
|
-
style({
|
|
42
|
-
transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',
|
|
43
|
-
offset: 1,
|
|
44
|
-
}),
|
|
45
|
-
])),
|
|
46
|
-
], { params });
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvcGFzc3dvcmQtc3RyZW5ndGgvYW5pbWF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBOEIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FDMUIsT0FBTyxDQUNILDRCQUE0QixFQUM1QixTQUFTLENBQUM7SUFDTixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3ZELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDN0QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1RCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzdELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDNUQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM3RCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzVELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDN0QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1RCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzdELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Q0FDMUQsQ0FBQyxDQUNMLEVBQ0QsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN0QyxDQUFDO0FBR0YsU0FBUyxNQUFNLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxPQUFlO0lBQzVELE1BQU0sTUFBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUU5RCxPQUFPLFNBQVMsQ0FDWjtRQUNJLGdFQUFnRTtRQUNoRSxLQUFLLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQ0gsb0NBQW9DLEVBQ3BDLFNBQVMsQ0FBQztZQUNOLEtBQUssQ0FBQztnQkFDRixPQUFPLEVBQUUsQ0FBQztnQkFDVixTQUFTLEVBQ0wscUVBQXFFO2dCQUN6RSxNQUFNLEVBQUUsQ0FBQzthQUNaLENBQUM7WUFDRixLQUFLLENBQUM7Z0JBQ0YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsU0FBUyxFQUNMLHNFQUFzRTtnQkFDMUUsTUFBTSxFQUFFLEdBQUc7YUFDZCxDQUFDO1lBQ0YsS0FBSyxDQUFDO2dCQUNGLFNBQVMsRUFDTCxxRUFBcUU7Z0JBQ3pFLE1BQU0sRUFBRSxHQUFHO2FBQ2QsQ0FBQztZQUNGLEtBQUssQ0FBQztnQkFDRixTQUFTLEVBQ0wscUVBQXFFO2dCQUN6RSxNQUFNLEVBQUUsR0FBRzthQUNkLENBQUM7WUFDRixLQUFLLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLHlDQUF5QztnQkFDcEQsTUFBTSxFQUFFLENBQUM7YUFDWixDQUFDO1NBQ0wsQ0FBQyxDQUNMO0tBQ0osRUFDRCxFQUFFLE1BQU0sRUFBRSxDQUNiLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSwga2V5ZnJhbWVzLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZsaXBJblggPSBmbGlwSW4oMSwgMSwgMCk7XHJcbmV4cG9ydCBjb25zdCBmbGlwSW5ZID0gZmxpcEluKDEsIDAsIDEpO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNoYWtlID0gYW5pbWF0aW9uKFxyXG4gICAgYW5pbWF0ZShcclxuICAgICAgICAne3sgdGltaW5nIH19cyB7eyBkZWxheSB9fXMnLFxyXG4gICAgICAgIGtleWZyYW1lcyhbXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCwgMCwgMCknLCBvZmZzZXQ6IDAgfSksXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApJywgb2Zmc2V0OiAwLjEgfSksXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMTBweCwgMCwgMCknLCBvZmZzZXQ6IDAuMiB9KSxcclxuICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCknLCBvZmZzZXQ6IDAuMyB9KSxcclxuICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKScsIG9mZnNldDogMC40IH0pLFxyXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKScsIG9mZnNldDogMC41IH0pLFxyXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDEwcHgsIDAsIDApJywgb2Zmc2V0OiAwLjYgfSksXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApJywgb2Zmc2V0OiAwLjcgfSksXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMTBweCwgMCwgMCknLCBvZmZzZXQ6IDAuOCB9KSxcclxuICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCknLCBvZmZzZXQ6IDAuOSB9KSxcclxuICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAwLCAwKScsIG9mZnNldDogMSB9KSxcclxuICAgICAgICBdKVxyXG4gICAgKSxcclxuICAgIHsgcGFyYW1zOiB7IHRpbWluZzogMSwgZGVsYXk6IDAgfSB9XHJcbik7XHJcblxyXG5cclxuZnVuY3Rpb24gZmxpcEluKHRpbWluZzogbnVtYmVyLCByb3RhdGVYOiBudW1iZXIsIHJvdGF0ZVk6IG51bWJlcik6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgdGltaW5nOiB0aW1pbmcsIGRlbGF5OiAwLCByb3RhdGVYLCByb3RhdGVZIH07XHJcblxyXG4gICAgcmV0dXJuIGFuaW1hdGlvbihcclxuICAgICAgICBbXHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cclxuICAgICAgICAgICAgc3R5bGUoeyAnYmFja2ZhY2UtdmlzaWJpbGl0eSc6ICd2aXNpYmxlJyB9KSxcclxuICAgICAgICAgICAgYW5pbWF0ZShcclxuICAgICAgICAgICAgICAgICd7eyB0aW1pbmcgfX1zIHt7IGRlbGF5IH19cyBlYXNlLWluJyxcclxuICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKHt7IHJvdGF0ZVggfX0sIHt7IHJvdGF0ZVkgfX0sIDAsIDkwZGVnKScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2Qoe3sgcm90YXRlWCB9fSwge3sgcm90YXRlWSB9fSwgMCwgLTIwZGVnKScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMC40LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCh7eyByb3RhdGVYIH19LCB7eyByb3RhdGVZIH19LCAwLCAxMGRlZyknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAuNixcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2Qoe3sgcm90YXRlWCB9fSwge3sgcm90YXRlWSB9fSwgMCwgLTVkZWcpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMCwgMCwgMCknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBdKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgKTtcclxufVxyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLXBhc3N3b3JkLXN0cmVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL2NtYXQtY29tcG9uZW50cy1wYXNzd29yZC1zdHJlbmd0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
-
export var Colors;
|
|
3
|
-
(function (Colors) {
|
|
4
|
-
Colors["primary"] = "primary";
|
|
5
|
-
Colors["accent"] = "accent";
|
|
6
|
-
Colors["warn"] = "warn";
|
|
7
|
-
})(Colors || (Colors = {}));
|
|
8
|
-
export var Criteria;
|
|
9
|
-
(function (Criteria) {
|
|
10
|
-
Criteria["at_least_eight_chars"] = "minChar";
|
|
11
|
-
Criteria["at_least_one_lower_case_char"] = "lowerCase";
|
|
12
|
-
Criteria["at_least_one_upper_case_char"] = "upperCase";
|
|
13
|
-
Criteria["at_least_one_digit_char"] = "digit";
|
|
14
|
-
Criteria["at_least_one_special_char"] = " specialChar";
|
|
15
|
-
Criteria["at_custom_chars"] = "customChars";
|
|
16
|
-
})(Criteria || (Criteria = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxNQUFNLENBQU4sSUFBWSxNQUlYO0FBSkQsV0FBWSxNQUFNO0lBQ2QsNkJBQW1CLENBQUE7SUFDbkIsMkJBQWlCLENBQUE7SUFDakIsdUJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsTUFBTSxLQUFOLE1BQU0sUUFJakI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQU9YO0FBUEQsV0FBWSxRQUFRO0lBQ2hCLDRDQUFnQyxDQUFBO0lBQ2hDLHNEQUEwQyxDQUFBO0lBQzFDLHNEQUEwQyxDQUFBO0lBQzFDLDZDQUFpQyxDQUFBO0lBQ2pDLHNEQUEwQyxDQUFBO0lBQzFDLDJDQUErQixDQUFBO0FBQ25DLENBQUMsRUFQVyxRQUFRLEtBQVIsUUFBUSxRQU9uQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xyXG5leHBvcnQgZW51bSBDb2xvcnMge1xyXG4gICAgcHJpbWFyeSA9ICdwcmltYXJ5JyxcclxuICAgIGFjY2VudCA9ICdhY2NlbnQnLFxyXG4gICAgd2FybiA9ICd3YXJuJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDcml0ZXJpYSB7XHJcbiAgICBhdF9sZWFzdF9laWdodF9jaGFycyA9ICdtaW5DaGFyJyxcclxuICAgIGF0X2xlYXN0X29uZV9sb3dlcl9jYXNlX2NoYXIgPSAnbG93ZXJDYXNlJyxcclxuICAgIGF0X2xlYXN0X29uZV91cHBlcl9jYXNlX2NoYXIgPSAndXBwZXJDYXNlJyxcclxuICAgIGF0X2xlYXN0X29uZV9kaWdpdF9jaGFyID0gJ2RpZ2l0JyxcclxuICAgIGF0X2xlYXN0X29uZV9zcGVjaWFsX2NoYXIgPSAnIHNwZWNpYWxDaGFyJyxcclxuICAgIGF0X2N1c3RvbV9jaGFycyA9ICdjdXN0b21DaGFycydcclxufVxyXG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
-
import { MatRippleModule } from '@angular/material/core';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/button";
|
|
7
|
-
import * as i2 from "@angular/material/core";
|
|
8
|
-
import * as i3 from "@angular/material/icon";
|
|
9
|
-
export class CmatPassToggleVisibilityComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this._type = 'text';
|
|
12
|
-
}
|
|
13
|
-
get type() {
|
|
14
|
-
return this.isVisible ? 'text' : 'password';
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPassToggleVisibilityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CmatPassToggleVisibilityComponent, isStandalone: true, selector: "cmat-pass-toggle-visibility", inputs: { isVisible: "isVisible", tabindex: "tabindex" }, exportAs: ["cmatPassToggleVisibility"], ngImport: i0, template: "<button type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\" mat-icon-button\r\n matRipple [matRippleCentered]=\"true\" [attr.tabindex]=\"tabindex ? tabindex : null\" (click)=\"isVisible = !isVisible\">\r\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\r\n</button>", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPassToggleVisibilityComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'cmat-pass-toggle-visibility', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatPassToggleVisibility', standalone: true, imports: [MatButtonModule, MatRippleModule, MatIconModule], template: "<button type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\" mat-icon-button\r\n matRipple [matRippleCentered]=\"true\" [attr.tabindex]=\"tabindex ? tabindex : null\" (click)=\"isVisible = !isVisible\">\r\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\r\n</button>" }]
|
|
22
|
-
}], propDecorators: { isVisible: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}], tabindex: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5L21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFhdkQsTUFBTSxPQUFPLGlDQUFpQztJQVQ5QztRQWVJLFVBQUssR0FBUyxNQUFNLENBQUM7S0FNeEI7SUFKRyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OEdBVlEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMseUxDaEI5QyxpV0FHUywyQ0RXSyxlQUFlLDJJQUFFLGVBQWUsa1NBQUUsYUFBYTs7MkZBRWhELGlDQUFpQztrQkFUN0MsU0FBUzsrQkFDSSw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDOzhCQUkxRCxTQUFTO3NCQURSLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG50eXBlIFR5cGUgPSAndGV4dCcgfCAncGFzc3dvcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0UGFzc1RvZ2dsZVZpc2liaWxpdHknLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdFJpcHBsZU1vZHVsZSwgTWF0SWNvbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRQYXNzVG9nZ2xlVmlzaWJpbGl0eUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgaXNWaXNpYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KClcclxuICAgIHRhYmluZGV4Pzogc3RyaW5nO1xyXG5cclxuICAgIF90eXBlOiBUeXBlID0gJ3RleHQnO1xyXG5cclxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJtYXQtaWNvbi1idXR0b24gY2RrLWZvY3VzZWQgY2RrLW1vdXNlLWZvY3VzZWRcIiBtYXQtaWNvbi1idXR0b25cclxuICAgIG1hdFJpcHBsZSBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCIgKGNsaWNrKT1cImlzVmlzaWJsZSA9ICFpc1Zpc2libGVcIj5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwie3tpc1Zpc2libGUgPyAnbWF0X291dGxpbmU6dmlzaWJpbGl0eScgOiAnbWF0X291dGxpbmU6dmlzaWJpbGl0eV9vZmYnIH19XCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+Il19
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
4
|
-
import { Colors, Criteria } from '../enum';
|
|
5
|
-
import { CmatPasswordStrengthValidator } from '../mat-password-strength-validator';
|
|
6
|
-
import { RegExpValidator } from '../regexp.class';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/progress-bar";
|
|
9
|
-
export class CmatPasswordStrengthComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.enableLengthRule = true;
|
|
12
|
-
this.enableLowerCaseLetterRule = true;
|
|
13
|
-
this.enableUpperCaseLetterRule = true;
|
|
14
|
-
this.enableDigitRule = true;
|
|
15
|
-
this.enableSpecialCharRule = true;
|
|
16
|
-
this.min = 8;
|
|
17
|
-
this.max = 30;
|
|
18
|
-
this.warnThreshold = 21;
|
|
19
|
-
this.accentThreshold = 81;
|
|
20
|
-
this.strengthChanged = new EventEmitter();
|
|
21
|
-
this.criteriaMap = new Map();
|
|
22
|
-
// TO ACCESS VIA CONTENT CHILD
|
|
23
|
-
this.passwordFormControl = new FormControl();
|
|
24
|
-
this.passwordConfirmationFormControl = new FormControl();
|
|
25
|
-
this.validatorsArray = [];
|
|
26
|
-
this.cmatPasswordStrengthValidator = new CmatPasswordStrengthValidator();
|
|
27
|
-
this._strength = 0;
|
|
28
|
-
this._color = 'warn';
|
|
29
|
-
}
|
|
30
|
-
get strength() {
|
|
31
|
-
return this._strength ? this._strength : 0;
|
|
32
|
-
}
|
|
33
|
-
get color() {
|
|
34
|
-
return this._color;
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.setRulesAndValidators();
|
|
38
|
-
if (this.password) {
|
|
39
|
-
this.calculatePasswordStrength();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
ngOnChanges(changes) {
|
|
43
|
-
if ((changes['externalError']?.firstChange) || (changes['password']?.isFirstChange())) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
else if (changes['externalError']?.currentValue) {
|
|
47
|
-
this._color = Colors.warn;
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
else if (changes['password'] && changes['password'].previousValue === changes['password'].currentValue && !changes['password'].firstChange) {
|
|
51
|
-
this._checkPassword();
|
|
52
|
-
}
|
|
53
|
-
else if (this.password && this.password.length > 0) {
|
|
54
|
-
this._checkPassword();
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.reset();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
parseCustomValidatorsRegex() {
|
|
61
|
-
if (this.customValidator instanceof RegExp) {
|
|
62
|
-
return this.customValidator;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
return RegExp(this.customValidator);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
setRulesAndValidators() {
|
|
69
|
-
this.validatorsArray = [];
|
|
70
|
-
this.criteriaMap = new Map();
|
|
71
|
-
this.passwordConfirmationFormControl
|
|
72
|
-
.setValidators(Validators.compose([
|
|
73
|
-
Validators.required, this.cmatPasswordStrengthValidator.confirm(this.password)
|
|
74
|
-
]));
|
|
75
|
-
this.validatorsArray.push(Validators.required);
|
|
76
|
-
if (this.enableLengthRule) {
|
|
77
|
-
this.criteriaMap.set(Criteria.at_least_eight_chars, RegExp(`^.{${this.min},${this.max}}$`));
|
|
78
|
-
this.validatorsArray.push(Validators.minLength(this.min));
|
|
79
|
-
this.validatorsArray.push(Validators.maxLength(this.max));
|
|
80
|
-
}
|
|
81
|
-
if (this.enableLowerCaseLetterRule) {
|
|
82
|
-
this.criteriaMap.set(Criteria.at_least_one_lower_case_char, RegExpValidator.lowerCase);
|
|
83
|
-
this.validatorsArray.push(Validators.pattern(RegExpValidator.lowerCase));
|
|
84
|
-
}
|
|
85
|
-
if (this.enableUpperCaseLetterRule) {
|
|
86
|
-
this.criteriaMap.set(Criteria.at_least_one_upper_case_char, RegExpValidator.upperCase);
|
|
87
|
-
this.validatorsArray.push(Validators.pattern(RegExpValidator.upperCase));
|
|
88
|
-
}
|
|
89
|
-
if (this.enableDigitRule) {
|
|
90
|
-
this.criteriaMap.set(Criteria.at_least_one_digit_char, RegExpValidator.digit);
|
|
91
|
-
this.validatorsArray.push(Validators.pattern(RegExpValidator.digit));
|
|
92
|
-
}
|
|
93
|
-
if (this.enableSpecialCharRule) {
|
|
94
|
-
this.criteriaMap.set(Criteria.at_least_one_special_char, RegExpValidator.specialChar);
|
|
95
|
-
this.validatorsArray.push(Validators.pattern(RegExpValidator.specialChar));
|
|
96
|
-
}
|
|
97
|
-
if (this.customValidator) {
|
|
98
|
-
this.criteriaMap.set(Criteria.at_custom_chars, this.parseCustomValidatorsRegex());
|
|
99
|
-
this.validatorsArray.push(Validators.pattern(this.parseCustomValidatorsRegex()));
|
|
100
|
-
}
|
|
101
|
-
this.criteriaMap.forEach((value, key) => {
|
|
102
|
-
this.validatorsArray.push(this.cmatPasswordStrengthValidator.validate(key, value));
|
|
103
|
-
});
|
|
104
|
-
this.passwordFormControl.setValidators(Validators.compose([...this.validatorsArray]));
|
|
105
|
-
this.validators = Validators.compose([...this.validatorsArray]);
|
|
106
|
-
}
|
|
107
|
-
calculatePasswordStrength() {
|
|
108
|
-
const requirements = [];
|
|
109
|
-
const unit = 100 / this.criteriaMap.size;
|
|
110
|
-
requirements.push(this.enableLengthRule ? this._containAtLeastMinChars() : false, this.enableLowerCaseLetterRule ? this._containAtLeastOneLowerCaseLetter() : false, this.enableUpperCaseLetterRule ? this._containAtLeastOneUpperCaseLetter() : false, this.enableDigitRule ? this._containAtLeastOneDigit() : false, this.enableSpecialCharRule ? this._containAtLeastOneSpecialChar() : false, this.customValidator ? this._containCustomChars() : false);
|
|
111
|
-
this._strength = requirements.filter(v => v).length * unit;
|
|
112
|
-
this.strengthChanged.emit(this.strength);
|
|
113
|
-
this.setRulesAndValidators();
|
|
114
|
-
if (this._strength < this.warnThreshold) {
|
|
115
|
-
this._color = Colors.warn;
|
|
116
|
-
}
|
|
117
|
-
else if (this._strength < this.accentThreshold) {
|
|
118
|
-
this._color = Colors.accent;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this._color = Colors.primary;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
reset() {
|
|
125
|
-
this._strength = 0;
|
|
126
|
-
this.containAtLeastMinChars =
|
|
127
|
-
this.containAtLeastOneLowerCaseLetter =
|
|
128
|
-
this.containAtLeastOneUpperCaseLetter =
|
|
129
|
-
this.containAtLeastOneDigit =
|
|
130
|
-
this.containAtCustomChars =
|
|
131
|
-
this.containAtLeastOneSpecialChar = false;
|
|
132
|
-
this._color = Colors.warn;
|
|
133
|
-
this.strengthChanged.emit(this.strength);
|
|
134
|
-
}
|
|
135
|
-
_containAtLeastMinChars() {
|
|
136
|
-
this.containAtLeastMinChars = this.password.length >= this.min;
|
|
137
|
-
return this.containAtLeastMinChars;
|
|
138
|
-
}
|
|
139
|
-
_containAtLeastOneLowerCaseLetter() {
|
|
140
|
-
this.containAtLeastOneLowerCaseLetter =
|
|
141
|
-
this.criteriaMap
|
|
142
|
-
.get(Criteria.at_least_one_lower_case_char)?.test(this.password);
|
|
143
|
-
return this.containAtLeastOneLowerCaseLetter || false;
|
|
144
|
-
}
|
|
145
|
-
_containAtLeastOneUpperCaseLetter() {
|
|
146
|
-
this.containAtLeastOneUpperCaseLetter =
|
|
147
|
-
this.criteriaMap
|
|
148
|
-
.get(Criteria.at_least_one_upper_case_char)?.test(this.password);
|
|
149
|
-
return this.containAtLeastOneUpperCaseLetter || false;
|
|
150
|
-
}
|
|
151
|
-
_containAtLeastOneDigit() {
|
|
152
|
-
this.containAtLeastOneDigit =
|
|
153
|
-
this.criteriaMap
|
|
154
|
-
.get(Criteria.at_least_one_digit_char)?.test(this.password);
|
|
155
|
-
return this.containAtLeastOneDigit || false;
|
|
156
|
-
}
|
|
157
|
-
_containAtLeastOneSpecialChar() {
|
|
158
|
-
this.containAtLeastOneSpecialChar =
|
|
159
|
-
this.criteriaMap
|
|
160
|
-
.get(Criteria.at_least_one_special_char)?.test(this.password);
|
|
161
|
-
return this.containAtLeastOneSpecialChar || false;
|
|
162
|
-
}
|
|
163
|
-
_containCustomChars() {
|
|
164
|
-
this.containAtCustomChars =
|
|
165
|
-
this.criteriaMap
|
|
166
|
-
.get(Criteria.at_custom_chars)?.test(this.password);
|
|
167
|
-
return this.containAtCustomChars || false;
|
|
168
|
-
}
|
|
169
|
-
_checkPassword() {
|
|
170
|
-
this.calculatePasswordStrength();
|
|
171
|
-
this.passwordConfirmationFormControl.updateValueAndValidity();
|
|
172
|
-
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPasswordStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CmatPasswordStrengthComponent, isStandalone: true, selector: "cmat-password-strength", inputs: { password: "password", externalError: "externalError", enableLengthRule: "enableLengthRule", enableLowerCaseLetterRule: "enableLowerCaseLetterRule", enableUpperCaseLetterRule: "enableUpperCaseLetterRule", enableDigitRule: "enableDigitRule", enableSpecialCharRule: "enableSpecialCharRule", min: "min", max: "max", customValidator: "customValidator", warnThreshold: "warnThreshold", accentThreshold: "accentThreshold" }, outputs: { strengthChanged: "strengthChanged" }, exportAs: ["cmatPasswordStrength"], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>", dependencies: [{ kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
175
|
-
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPasswordStrengthComponent, decorators: [{
|
|
177
|
-
type: Component,
|
|
178
|
-
args: [{ selector: 'cmat-password-strength', exportAs: 'cmatPasswordStrength', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatProgressBarModule], template: "<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>" }]
|
|
179
|
-
}], propDecorators: { password: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], externalError: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], enableLengthRule: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], enableLowerCaseLetterRule: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], enableUpperCaseLetterRule: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], enableDigitRule: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], enableSpecialCharRule: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], min: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], max: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], customValidator: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], warnThreshold: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], accentThreshold: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], strengthChanged: [{
|
|
204
|
-
type: Output
|
|
205
|
-
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyw2QkFBNkI7SUFUMUM7UUFhYSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUNqQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxFQUFFLENB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QkFBc0IsaUJBRWpCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsb0JBQW9CLENBQUM7OEJBR3RCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgQ29sb3JzLCBDcml0ZXJpYSB9IGZyb20gJy4uL2VudW0nO1xyXG5pbXBvcnQgeyBDbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL21hdC1wYXNzd29yZC1zdHJlbmd0aC12YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBSZWdFeHBWYWxpZGF0b3IgfSBmcm9tICcuLi9yZWdleHAuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtcGFzc3dvcmQtc3RyZW5ndGgnLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0UGFzc3dvcmRTdHJlbmd0aCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTWF0UHJvZ3Jlc3NCYXJNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0UGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHRlcm5hbEVycm9yOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpIGVuYWJsZUxlbmd0aFJ1bGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZW5hYmxlTG93ZXJDYXNlTGV0dGVyUnVsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBlbmFibGVVcHBlckNhc2VMZXR0ZXJSdWxlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZURpZ2l0UnVsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBlbmFibGVTcGVjaWFsQ2hhclJ1bGUgPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpIG1pbiA9IDg7XHJcbiAgICBASW5wdXQoKSBtYXggPSAzMDtcclxuICAgIEBJbnB1dCgpIGN1c3RvbVZhbGlkYXRvcjogUmVnRXhwO1xyXG5cclxuICAgIEBJbnB1dCgpIHdhcm5UaHJlc2hvbGQgPSAyMTtcclxuICAgIEBJbnB1dCgpIGFjY2VudFRocmVzaG9sZCA9IDgxO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgc3RyZW5ndGhDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgY3JpdGVyaWFNYXAgPSBuZXcgTWFwPENyaXRlcmlhLCBSZWdFeHA+KCk7XHJcblxyXG4gICAgY29udGFpbkF0TGVhc3RNaW5DaGFyczogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlcjogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcjogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZURpZ2l0OiBib29sZWFuIHwgdm9pZDtcclxuICAgIGNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXI6IGJvb2xlYW4gfCB2b2lkO1xyXG4gICAgY29udGFpbkF0Q3VzdG9tQ2hhcnM6IGJvb2xlYW4gfCB2b2lkO1xyXG5cclxuICAgIC8vIFRPIEFDQ0VTUyBWSUEgQ09OVEVOVCBDSElMRFxyXG4gICAgcGFzc3dvcmRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIHBhc3N3b3JkQ29uZmlybWF0aW9uRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gICAgdmFsaWRhdG9yc0FycmF5OiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IG51bGw7XHJcbiAgICBjbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvciA9IG5ldyBDbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvcigpO1xyXG5cclxuICAgIHByaXZhdGUgX3N0cmVuZ3RoID0gMDtcclxuICAgIHByaXZhdGUgX2NvbG9yOiBUaGVtZVBhbGV0dGUgPSAnd2Fybic7XHJcblxyXG4gICAgZ2V0IHN0cmVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmVuZ3RoID8gdGhpcy5fc3RyZW5ndGggOiAwO1xyXG4gICAgfVxyXG4gICAgZ2V0IGNvbG9yKCk6IFRoZW1lUGFsZXR0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0UnVsZXNBbmRWYWxpZGF0b3JzKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBhc3N3b3JkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUGFzc3dvcmRTdHJlbmd0aCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKChjaGFuZ2VzWydleHRlcm5hbEVycm9yJ10/LmZpcnN0Q2hhbmdlKSB8fCAoY2hhbmdlc1sncGFzc3dvcmQnXT8uaXNGaXJzdENoYW5nZSgpKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydleHRlcm5hbEVycm9yJ10/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb2xvciA9IENvbG9ycy53YXJuO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydwYXNzd29yZCddICYmIGNoYW5nZXNbJ3Bhc3N3b3JkJ10ucHJldmlvdXNWYWx1ZSA9PT0gY2hhbmdlc1sncGFzc3dvcmQnXS5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXNbJ3Bhc3N3b3JkJ10uZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tQYXNzd29yZCgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wYXNzd29yZCAmJiB0aGlzLnBhc3N3b3JkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tQYXNzd29yZCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKTogUmVnRXhwIHtcclxuICAgICAgICBpZiAodGhpcy5jdXN0b21WYWxpZGF0b3IgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tVmFsaWRhdG9yO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBSZWdFeHAodGhpcy5jdXN0b21WYWxpZGF0b3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRSdWxlc0FuZFZhbGlkYXRvcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNyaXRlcmlhTWFwID0gbmV3IE1hcDxDcml0ZXJpYSwgUmVnRXhwPigpO1xyXG4gICAgICAgIHRoaXMucGFzc3dvcmRDb25maXJtYXRpb25Gb3JtQ29udHJvbFxyXG4gICAgICAgICAgICAuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5jbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvci5jb25maXJtKHRoaXMucGFzc3dvcmQpXHJcbiAgICAgICAgICAgIF0pKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUxlbmd0aFJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3RfZWlnaHRfY2hhcnMsIFJlZ0V4cChgXi57JHt0aGlzLm1pbn0sJHt0aGlzLm1heH19JGApKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLm1pbikpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMubWF4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUxvd2VyQ2FzZUxldHRlclJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2xvd2VyX2Nhc2VfY2hhciwgUmVnRXhwVmFsaWRhdG9yLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKFJlZ0V4cFZhbGlkYXRvci5sb3dlckNhc2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlVXBwZXJDYXNlTGV0dGVyUnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfdXBwZXJfY2FzZV9jaGFyLCBSZWdFeHBWYWxpZGF0b3IudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLnVwcGVyQ2FzZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVEaWdpdFJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2RpZ2l0X2NoYXIsIFJlZ0V4cFZhbGlkYXRvci5kaWdpdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKFJlZ0V4cFZhbGlkYXRvci5kaWdpdCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVTcGVjaWFsQ2hhclJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX3NwZWNpYWxfY2hhciwgUmVnRXhwVmFsaWRhdG9yLnNwZWNpYWxDaGFyKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLnNwZWNpYWxDaGFyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbVZhbGlkYXRvcikge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9jdXN0b21fY2hhcnMsIHRoaXMucGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMucGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5mb3JFYWNoKCh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKHRoaXMuY21hdFBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0b3IudmFsaWRhdGUoa2V5LCB2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnBhc3N3b3JkRm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoWy4uLnRoaXMudmFsaWRhdG9yc0FycmF5XSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IFZhbGlkYXRvcnMuY29tcG9zZShbLi4udGhpcy52YWxpZGF0b3JzQXJyYXldKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlUGFzc3dvcmRTdHJlbmd0aCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1aXJlbWVudHM6IGJvb2xlYW5bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHVuaXQgPSAxMDAgLyB0aGlzLmNyaXRlcmlhTWFwLnNpemU7XHJcblxyXG4gICAgICAgIHJlcXVpcmVtZW50cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZUxlbmd0aFJ1bGUgPyB0aGlzLl9jb250YWluQXRMZWFzdE1pbkNoYXJzKCkgOiBmYWxzZSxcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVMb3dlckNhc2VMZXR0ZXJSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVMb3dlckNhc2VMZXR0ZXIoKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZVVwcGVyQ2FzZUxldHRlclJ1bGUgPyB0aGlzLl9jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcigpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRGlnaXRSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVEaWdpdCgpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlU3BlY2lhbENoYXJSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVTcGVjaWFsQ2hhcigpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdG9yID8gdGhpcy5fY29udGFpbkN1c3RvbUNoYXJzKCkgOiBmYWxzZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0cmVuZ3RoID0gcmVxdWlyZW1lbnRzLmZpbHRlcih2ID0+IHYpLmxlbmd0aCAqIHVuaXQ7XHJcbiAgICAgICAgdGhpcy5zdHJlbmd0aENoYW5nZWQuZW1pdCh0aGlzLnN0cmVuZ3RoKTtcclxuICAgICAgICB0aGlzLnNldFJ1bGVzQW5kVmFsaWRhdG9ycygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RyZW5ndGggPCB0aGlzLndhcm5UaHJlc2hvbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMud2FybjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3N0cmVuZ3RoIDwgdGhpcy5hY2NlbnRUaHJlc2hvbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMuYWNjZW50O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLnByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N0cmVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0TWluQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lTG93ZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlciA9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RPbmVEaWdpdCA9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMud2FybjtcclxuICAgICAgICB0aGlzLnN0cmVuZ3RoQ2hhbmdlZC5lbWl0KHRoaXMuc3RyZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5BdExlYXN0TWluQ2hhcnMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE1pbkNoYXJzID0gdGhpcy5wYXNzd29yZC5sZW5ndGggPj0gdGhpcy5taW47XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0TGVhc3RNaW5DaGFycztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lTG93ZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfbG93ZXJfY2FzZV9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlciB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lVXBwZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfdXBwZXJfY2FzZV9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlciB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZURpZ2l0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RPbmVEaWdpdCA9XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXBcclxuICAgICAgICAgICAgICAgIC5nZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2RpZ2l0X2NoYXIpPy50ZXN0KHRoaXMucGFzc3dvcmQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdExlYXN0T25lRGlnaXQgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkF0TGVhc3RPbmVTcGVjaWFsQ2hhcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgPVxyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwXHJcbiAgICAgICAgICAgICAgICAuZ2V0KENyaXRlcmlhLmF0X2xlYXN0X29uZV9zcGVjaWFsX2NoYXIpPy50ZXN0KHRoaXMucGFzc3dvcmQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkN1c3RvbUNoYXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwXHJcbiAgICAgICAgICAgICAgICAuZ2V0KENyaXRlcmlhLmF0X2N1c3RvbV9jaGFycyk/LnRlc3QodGhpcy5wYXNzd29yZCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tQYXNzd29yZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhc3N3b3JkU3RyZW5ndGgoKTtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkQ29uZmlybWF0aW9uRm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFtjb2xvcl09XCJjb2xvclwiIFt2YWx1ZV09XCJzdHJlbmd0aFwiPjwvbWF0LXByb2dyZXNzLWJhcj4iXX0=
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { animate, animateChild, keyframes, query, stagger, style, transition, trigger, useAnimation } from '@angular/animations';
|
|
2
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { MatCardModule } from '@angular/material/card';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { shake } from '../animations';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/card";
|
|
8
|
-
import * as i2 from "@angular/material/icon";
|
|
9
|
-
export class CmatPasswordStrengthInfoComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.enableScoreInfo = false;
|
|
12
|
-
this.lowerCaseCriteriaMsg = '包含至少一个小写字母';
|
|
13
|
-
this.upperCaseCriteriaMsg = '包含至少一个大写字母';
|
|
14
|
-
this.digitsCriteriaMsg = '包含至少一个数字';
|
|
15
|
-
this.specialCharsCriteriaMsg = '包含至少一个特殊字符';
|
|
16
|
-
this.customCharsCriteriaMsg = '包含至少一个传统字符';
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
if (!this.minCharsCriteriaMsg) {
|
|
20
|
-
this.minCharsCriteriaMsg = `包含至少 ${this.passwordComponent.min} 个字符`;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPasswordStrengthInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: CmatPasswordStrengthInfoComponent, isStandalone: true, selector: "cmat-password-strength-info", inputs: { passwordComponent: "passwordComponent", enableScoreInfo: "enableScoreInfo", lowerCaseCriteriaMsg: "lowerCaseCriteriaMsg", upperCaseCriteriaMsg: "upperCaseCriteriaMsg", digitsCriteriaMsg: "digitsCriteriaMsg", specialCharsCriteriaMsg: "specialCharsCriteriaMsg", customCharsCriteriaMsg: "customCharsCriteriaMsg", minCharsCriteriaMsg: "minCharsCriteriaMsg" }, exportAs: ["cmatPasswordStrengthInfo"], ngImport: i0, template: "<mat-card class=\"info-card\" @list>\r\n <mat-card-content>\r\n @if (passwordComponent.enableLowerCaseLetterRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneLowerCaseLetter) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{lowerCaseCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableUpperCaseLetterRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneUpperCaseLetter) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{upperCaseCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableDigitRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneDigit) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{digitsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableSpecialCharRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneSpecialChar) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{specialCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableLengthRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastMinChars) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{minCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.customValidator) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtCustomChars) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{customCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (enableScoreInfo) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.strength === 100) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>\u5BC6\u7801\u5F3A\u5EA6= {{passwordComponent.strength}} %100</span>\r\n </div>\r\n }\r\n\r\n </mat-card-content>\r\n</mat-card>", styles: ["cmat-password-strength-info{margin-top:20px}cmat-password-strength-info .mat-mdc-card{display:flex;flex-direction:row;flex:1 1 0%;margin:.5rem;box-sizing:border-box;place-content:stretch;align-items:stretch}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content{display:flex;flex-direction:column;box-sizing:border-box;max-width:100%;place-content:stretch;align-items:stretch}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content .mat-icon{margin-right:1rem}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content .info-row{display:flex;flex-direction:row;box-sizing:border-box;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [
|
|
25
|
-
// nice stagger effect when showing existing elements
|
|
26
|
-
trigger('list', [
|
|
27
|
-
transition(':enter', [
|
|
28
|
-
// child animation selector + stagger
|
|
29
|
-
query('@items', stagger(300, animateChild()))
|
|
30
|
-
]),
|
|
31
|
-
]),
|
|
32
|
-
trigger('items', [
|
|
33
|
-
// cubic-bezier for a tiny bouncing feel
|
|
34
|
-
transition(':enter', [
|
|
35
|
-
style({ transform: 'scale(0.5)', opacity: 0 }),
|
|
36
|
-
animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(1)', opacity: 1 }))
|
|
37
|
-
]),
|
|
38
|
-
transition(':leave', [
|
|
39
|
-
style({ transform: 'scale(1)', opacity: 1, height: '*' }),
|
|
40
|
-
animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(0.5)', opacity: 0, height: '0px', margin: '0px' }))
|
|
41
|
-
]),
|
|
42
|
-
]),
|
|
43
|
-
trigger('positiveState', [
|
|
44
|
-
transition(':enter', [
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
46
|
-
style({ 'backface-visibility': 'visible' }),
|
|
47
|
-
animate('{{ timing }}s {{ delay }}s ease-in', keyframes([
|
|
48
|
-
style({
|
|
49
|
-
opacity: 0,
|
|
50
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',
|
|
51
|
-
offset: 0,
|
|
52
|
-
}),
|
|
53
|
-
style({
|
|
54
|
-
opacity: 1,
|
|
55
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',
|
|
56
|
-
offset: 0.4,
|
|
57
|
-
}),
|
|
58
|
-
style({
|
|
59
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',
|
|
60
|
-
offset: 0.6,
|
|
61
|
-
}),
|
|
62
|
-
style({
|
|
63
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',
|
|
64
|
-
offset: 0.8,
|
|
65
|
-
}),
|
|
66
|
-
style({
|
|
67
|
-
transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',
|
|
68
|
-
offset: 1,
|
|
69
|
-
}),
|
|
70
|
-
])),
|
|
71
|
-
], { params: { timing: 1, delay: 0, rotateX: 1, rotateY: 0 } }),
|
|
72
|
-
]),
|
|
73
|
-
trigger('negativeState', [
|
|
74
|
-
transition(':enter', useAnimation(shake)),
|
|
75
|
-
]),
|
|
76
|
-
], encapsulation: i0.ViewEncapsulation.None }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatPasswordStrengthInfoComponent, decorators: [{
|
|
79
|
-
type: Component,
|
|
80
|
-
args: [{ selector: 'cmat-password-strength-info', exportAs: 'cmatPasswordStrengthInfo', encapsulation: ViewEncapsulation.None, animations: [
|
|
81
|
-
// nice stagger effect when showing existing elements
|
|
82
|
-
trigger('list', [
|
|
83
|
-
transition(':enter', [
|
|
84
|
-
// child animation selector + stagger
|
|
85
|
-
query('@items', stagger(300, animateChild()))
|
|
86
|
-
]),
|
|
87
|
-
]),
|
|
88
|
-
trigger('items', [
|
|
89
|
-
// cubic-bezier for a tiny bouncing feel
|
|
90
|
-
transition(':enter', [
|
|
91
|
-
style({ transform: 'scale(0.5)', opacity: 0 }),
|
|
92
|
-
animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(1)', opacity: 1 }))
|
|
93
|
-
]),
|
|
94
|
-
transition(':leave', [
|
|
95
|
-
style({ transform: 'scale(1)', opacity: 1, height: '*' }),
|
|
96
|
-
animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(0.5)', opacity: 0, height: '0px', margin: '0px' }))
|
|
97
|
-
]),
|
|
98
|
-
]),
|
|
99
|
-
trigger('positiveState', [
|
|
100
|
-
transition(':enter', [
|
|
101
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
102
|
-
style({ 'backface-visibility': 'visible' }),
|
|
103
|
-
animate('{{ timing }}s {{ delay }}s ease-in', keyframes([
|
|
104
|
-
style({
|
|
105
|
-
opacity: 0,
|
|
106
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',
|
|
107
|
-
offset: 0,
|
|
108
|
-
}),
|
|
109
|
-
style({
|
|
110
|
-
opacity: 1,
|
|
111
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',
|
|
112
|
-
offset: 0.4,
|
|
113
|
-
}),
|
|
114
|
-
style({
|
|
115
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',
|
|
116
|
-
offset: 0.6,
|
|
117
|
-
}),
|
|
118
|
-
style({
|
|
119
|
-
transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',
|
|
120
|
-
offset: 0.8,
|
|
121
|
-
}),
|
|
122
|
-
style({
|
|
123
|
-
transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',
|
|
124
|
-
offset: 1,
|
|
125
|
-
}),
|
|
126
|
-
])),
|
|
127
|
-
], { params: { timing: 1, delay: 0, rotateX: 1, rotateY: 0 } }),
|
|
128
|
-
]),
|
|
129
|
-
trigger('negativeState', [
|
|
130
|
-
transition(':enter', useAnimation(shake)),
|
|
131
|
-
]),
|
|
132
|
-
], standalone: true, imports: [MatCardModule, MatIconModule], template: "<mat-card class=\"info-card\" @list>\r\n <mat-card-content>\r\n @if (passwordComponent.enableLowerCaseLetterRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneLowerCaseLetter) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{lowerCaseCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableUpperCaseLetterRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneUpperCaseLetter) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{upperCaseCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableDigitRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneDigit) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{digitsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableSpecialCharRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastOneSpecialChar) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{specialCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.enableLengthRule) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtLeastMinChars) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{minCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (passwordComponent.customValidator) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.containAtCustomChars) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>{{customCharsCriteriaMsg}}</span>\r\n </div>\r\n }\r\n\r\n @if (enableScoreInfo) {\r\n <div class=\"info-row\" @items>\r\n @if (passwordComponent.strength === 100) {\r\n <mat-icon color=\"primary\" svgIcon=\"mat_outline:done\" @positiveState></mat-icon>\r\n } @else {\r\n <mat-icon color=\"warn\" svgIcon=\"mat_outline:error\" @negativeState></mat-icon>\r\n }\r\n <span>\u5BC6\u7801\u5F3A\u5EA6= {{passwordComponent.strength}} %100</span>\r\n </div>\r\n }\r\n\r\n </mat-card-content>\r\n</mat-card>", styles: ["cmat-password-strength-info{margin-top:20px}cmat-password-strength-info .mat-mdc-card{display:flex;flex-direction:row;flex:1 1 0%;margin:.5rem;box-sizing:border-box;place-content:stretch;align-items:stretch}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content{display:flex;flex-direction:column;box-sizing:border-box;max-width:100%;place-content:stretch;align-items:stretch}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content .mat-icon{margin-right:1rem}cmat-password-strength-info .mat-mdc-card .mat-mdc-card-content .info-row{display:flex;flex-direction:row;box-sizing:border-box;align-items:center}\n"] }]
|
|
133
|
-
}], propDecorators: { passwordComponent: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], enableScoreInfo: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], lowerCaseCriteriaMsg: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], upperCaseCriteriaMsg: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], digitsCriteriaMsg: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], specialCharsCriteriaMsg: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], customCharsCriteriaMsg: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], minCharsCriteriaMsg: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3N3b3JkLXN0cmVuZ3RoLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL21hdC1wYXNzd29yZC1zdHJlbmd0aC1pbmZvL21hdC1wYXNzd29yZC1zdHJlbmd0aC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mby9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7QUFpRXJDLE1BQU0sT0FBTyxpQ0FBaUM7SUE5RDlDO1FBb0VJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3hCLHlCQUFvQixHQUFHLFlBQVksQ0FBQztRQUdwQyx5QkFBb0IsR0FBRyxZQUFZLENBQUM7UUFHcEMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBRy9CLDRCQUF1QixHQUFHLFlBQVksQ0FBQztRQUd2QywyQkFBc0IsR0FBRyxZQUFZLENBQUM7S0FXekM7SUFORyxR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LEtBQUssQ0FBQzt3Q0FDRixPQUFPLEVBQUUsQ0FBQzt3Q0FDVixTQUFTLEVBQUUsc0VBQXNFO3dDQUNqRixNQUFNLEVBQUUsR0FBRztxQ0FDZCxDQUFDO29DQUNGLEtBQUssQ0FBQzt3Q0FDRixTQUFTLEVBQUUscUVBQXFFO3dDQUNoRixNQUFNLEVBQUUsR0FBRztxQ0FDZCxDQUFDO29DQUNGLEtBQUssQ0FBQzt3Q0FDRixTQUFTLEVBQUUscUVBQXFFO3dDQUNoRixNQUFNLEVBQUUsR0FBRztxQ0FDZCxDQUFDO29DQUNGLEtBQUssQ0FBQzt3Q0FDRixTQUFTLEVBQUUseUNBQXlDO3dDQUNwRCxNQUFNLEVBQUUsQ0FBQztxQ0FDWixDQUFDO2lDQUNMLENBQUMsQ0FBQzs2QkFDTixFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7eUJBQ2xFLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGVBQWUsRUFBRTs0QkFDckIsVUFBVSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQzVDLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDOzhCQUt2QyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0ZUNoaWxkLCBrZXlmcmFtZXMsIHF1ZXJ5LCBzdGFnZ2VyLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IHNoYWtlIH0gZnJvbSAnLi4vYW5pbWF0aW9ucydcclxuaW1wb3J0IHsgQ21hdFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQgfSBmcm9tICcuLi9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1wYXNzd29yZC1zdHJlbmd0aC1pbmZvJyxcclxuICAgIGV4cG9ydEFzOiAnY21hdFBhc3N3b3JkU3RyZW5ndGhJbmZvJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtaW5mby5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICAvLyBuaWNlIHN0YWdnZXIgZWZmZWN0IHdoZW4gc2hvd2luZyBleGlzdGluZyBlbGVtZW50c1xyXG4gICAgICAgIHRyaWdnZXIoJ2xpc3QnLCBbXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICAgICAgICAgIC8vIGNoaWxkIGFuaW1hdGlvbiBzZWxlY3RvciArIHN0YWdnZXJcclxuICAgICAgICAgICAgICAgIHF1ZXJ5KCdAaXRlbXMnLCBzdGFnZ2VyKDMwMCwgYW5pbWF0ZUNoaWxkKCkpKVxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKCdpdGVtcycsIFtcclxuICAgICAgICAgICAgLy8gY3ViaWMtYmV6aWVyIGZvciBhIHRpbnkgYm91bmNpbmcgZmVlbFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNSknLCBvcGFjaXR5OiAwIH0pLFxyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMXMgY3ViaWMtYmV6aWVyKC44LC0wLjYsMC4yLDEuNSknLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb3BhY2l0eTogMSB9KSlcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknLCBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSxcclxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzFzIGN1YmljLWJlemllciguOCwtMC42LDAuMiwxLjUpJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwLjUpJywgb3BhY2l0eTogMCwgaGVpZ2h0OiAnMHB4JywgbWFyZ2luOiAnMHB4JyB9KSlcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcigncG9zaXRpdmVTdGF0ZScsIFtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxyXG4gICAgICAgICAgICAgICAgc3R5bGUoeyAnYmFja2ZhY2UtdmlzaWJpbGl0eSc6ICd2aXNpYmxlJyB9KSxcclxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJ3t7IHRpbWluZyB9fXMge3sgZGVsYXkgfX1zIGVhc2UtaW4nLCBrZXlmcmFtZXMoW1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKHt7IHJvdGF0ZVggfX0sIHt7IHJvdGF0ZVkgfX0sIDAsIDkwZGVnKScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3BlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCh7eyByb3RhdGVYIH19LCB7eyByb3RhdGVZIH19LCAwLCAtMjBkZWcpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjQsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2Qoe3sgcm90YXRlWCB9fSwge3sgcm90YXRlWSB9fSwgMCwgMTBkZWcpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjYsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2Qoe3sgcm90YXRlWCB9fSwge3sgcm90YXRlWSB9fSwgMCwgLTVkZWcpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLjgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMCwgMCwgMCknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBdKSksXHJcbiAgICAgICAgICAgIF0sIHsgcGFyYW1zOiB7IHRpbWluZzogMSwgZGVsYXk6IDAsIHJvdGF0ZVg6IDEsIHJvdGF0ZVk6IDAgfSB9KSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKCduZWdhdGl2ZVN0YXRlJywgW1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCB1c2VBbmltYXRpb24oc2hha2UpKSxcclxuICAgICAgICBdKSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdENhcmRNb2R1bGUsIE1hdEljb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0UGFzc3dvcmRTdHJlbmd0aEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwYXNzd29yZENvbXBvbmVudDogQ21hdFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGVuYWJsZVNjb3JlSW5mbyA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBsb3dlckNhc2VDcml0ZXJpYU1zZyA9ICfljIXlkKvoh7PlsJHkuIDkuKrlsI/lhpnlrZfmr40nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB1cHBlckNhc2VDcml0ZXJpYU1zZyA9ICfljIXlkKvoh7PlsJHkuIDkuKrlpKflhpnlrZfmr40nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBkaWdpdHNDcml0ZXJpYU1zZyA9ICfljIXlkKvoh7PlsJHkuIDkuKrmlbDlrZcnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzcGVjaWFsQ2hhcnNDcml0ZXJpYU1zZyA9ICfljIXlkKvoh7PlsJHkuIDkuKrnibnmrorlrZfnrKYnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBjdXN0b21DaGFyc0NyaXRlcmlhTXNnID0gJ+WMheWQq+iHs+WwkeS4gOS4quS8oOe7n+Wtl+espic7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1pbkNoYXJzQ3JpdGVyaWFNc2c6IHN0cmluZztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMubWluQ2hhcnNDcml0ZXJpYU1zZykge1xyXG4gICAgICAgICAgICB0aGlzLm1pbkNoYXJzQ3JpdGVyaWFNc2cgPSBg5YyF5ZCr6Iez5bCRICR7dGhpcy5wYXNzd29yZENvbXBvbmVudC5taW59IOS4quWtl+espmA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJpbmZvLWNhcmRcIiBAbGlzdD5cclxuICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgIEBpZiAocGFzc3dvcmRDb21wb25lbnQuZW5hYmxlTG93ZXJDYXNlTGV0dGVyUnVsZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1yb3dcIiBAaXRlbXM+XHJcbiAgICAgICAgQGlmIChwYXNzd29yZENvbXBvbmVudC5jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlcikge1xyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIHN2Z0ljb249XCJtYXRfb3V0bGluZTpkb25lXCIgQHBvc2l0aXZlU3RhdGU+PC9tYXQtaWNvbj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIiBzdmdJY29uPVwibWF0X291dGxpbmU6ZXJyb3JcIiBAbmVnYXRpdmVTdGF0ZT48L21hdC1pY29uPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8c3Bhbj57e2xvd2VyQ2FzZUNyaXRlcmlhTXNnfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAocGFzc3dvcmRDb21wb25lbnQuZW5hYmxlVXBwZXJDYXNlTGV0dGVyUnVsZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1yb3dcIiBAaXRlbXM+XHJcbiAgICAgICAgQGlmIChwYXNzd29yZENvbXBvbmVudC5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcikge1xyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIHN2Z0ljb249XCJtYXRfb3V0bGluZTpkb25lXCIgQHBvc2l0aXZlU3RhdGU+PC9tYXQtaWNvbj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIiBzdmdJY29uPVwibWF0X291dGxpbmU6ZXJyb3JcIiBAbmVnYXRpdmVTdGF0ZT48L21hdC1pY29uPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8c3Bhbj57e3VwcGVyQ2FzZUNyaXRlcmlhTXNnfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAocGFzc3dvcmRDb21wb25lbnQuZW5hYmxlRGlnaXRSdWxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXJvd1wiIEBpdGVtcz5cclxuICAgICAgICBAaWYgKHBhc3N3b3JkQ29tcG9uZW50LmNvbnRhaW5BdExlYXN0T25lRGlnaXQpIHtcclxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBzdmdJY29uPVwibWF0X291dGxpbmU6ZG9uZVwiIEBwb3NpdGl2ZVN0YXRlPjwvbWF0LWljb24+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJ3YXJuXCIgc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmVycm9yXCIgQG5lZ2F0aXZlU3RhdGU+PC9tYXQtaWNvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNwYW4+e3tkaWdpdHNDcml0ZXJpYU1zZ319PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKHBhc3N3b3JkQ29tcG9uZW50LmVuYWJsZVNwZWNpYWxDaGFyUnVsZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1yb3dcIiBAaXRlbXM+XHJcbiAgICAgICAgQGlmIChwYXNzd29yZENvbXBvbmVudC5jb250YWluQXRMZWFzdE9uZVNwZWNpYWxDaGFyKSB7XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmRvbmVcIiBAcG9zaXRpdmVTdGF0ZT48L21hdC1pY29uPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiIHN2Z0ljb249XCJtYXRfb3V0bGluZTplcnJvclwiIEBuZWdhdGl2ZVN0YXRlPjwvbWF0LWljb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuPnt7c3BlY2lhbENoYXJzQ3JpdGVyaWFNc2d9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIChwYXNzd29yZENvbXBvbmVudC5lbmFibGVMZW5ndGhSdWxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXJvd1wiIEBpdGVtcz5cclxuICAgICAgICBAaWYgKHBhc3N3b3JkQ29tcG9uZW50LmNvbnRhaW5BdExlYXN0TWluQ2hhcnMpIHtcclxuICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBzdmdJY29uPVwibWF0X291dGxpbmU6ZG9uZVwiIEBwb3NpdGl2ZVN0YXRlPjwvbWF0LWljb24+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJ3YXJuXCIgc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmVycm9yXCIgQG5lZ2F0aXZlU3RhdGU+PC9tYXQtaWNvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNwYW4+e3ttaW5DaGFyc0NyaXRlcmlhTXNnfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAocGFzc3dvcmRDb21wb25lbnQuY3VzdG9tVmFsaWRhdG9yKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXJvd1wiIEBpdGVtcz5cclxuICAgICAgICBAaWYgKHBhc3N3b3JkQ29tcG9uZW50LmNvbnRhaW5BdEN1c3RvbUNoYXJzKSB7XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmRvbmVcIiBAcG9zaXRpdmVTdGF0ZT48L21hdC1pY29uPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiIHN2Z0ljb249XCJtYXRfb3V0bGluZTplcnJvclwiIEBuZWdhdGl2ZVN0YXRlPjwvbWF0LWljb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuPnt7Y3VzdG9tQ2hhcnNDcml0ZXJpYU1zZ319PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGVuYWJsZVNjb3JlSW5mbykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1yb3dcIiBAaXRlbXM+XHJcbiAgICAgICAgQGlmIChwYXNzd29yZENvbXBvbmVudC5zdHJlbmd0aCA9PT0gMTAwKSB7XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmRvbmVcIiBAcG9zaXRpdmVTdGF0ZT48L21hdC1pY29uPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiIHN2Z0ljb249XCJtYXRfb3V0bGluZTplcnJvclwiIEBuZWdhdGl2ZVN0YXRlPjwvbWF0LWljb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuPuWvhueggeW8uuW6pj0ge3twYXNzd29yZENvbXBvbmVudC5zdHJlbmd0aH19ICUxMDA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+Il19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export class CmatPasswordStrengthValidator {
|
|
2
|
-
isUndefinedOrEmpty(control) {
|
|
3
|
-
if (!control?.value || control.value.length === 0) {
|
|
4
|
-
return void 0;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
validate(criteria, regex) {
|
|
8
|
-
return (control) => {
|
|
9
|
-
this.isUndefinedOrEmpty(control);
|
|
10
|
-
if (!regex.test(control.value)) {
|
|
11
|
-
const failed = {};
|
|
12
|
-
failed[criteria] = {
|
|
13
|
-
actualValue: control.value,
|
|
14
|
-
requiredPattern: regex
|
|
15
|
-
};
|
|
16
|
-
return failed;
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
confirm(password) {
|
|
22
|
-
return (control) => {
|
|
23
|
-
this.isUndefinedOrEmpty(control);
|
|
24
|
-
if (control.value !== password) {
|
|
25
|
-
return {
|
|
26
|
-
notConfirmed: {
|
|
27
|
-
password: password,
|
|
28
|
-
passwordConfirmation: control.value
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return null;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3N3b3JkLXN0cmVuZ3RoLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyw2QkFBNkI7SUFDdEMsa0JBQWtCLENBQUMsT0FBd0I7UUFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFnQixFQUFFLEtBQWE7UUFDcEMsT0FBTyxDQUFDLE9BQXdCLEVBQThCLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3QixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRztvQkFDZixXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQzFCLGVBQWUsRUFBRSxLQUFLO2lCQUN6QixDQUFDO2dCQUNGLE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWdCO1FBQ3BCLE9BQU8sQ0FBQyxPQUF3QixFQUE4QixFQUFFO1lBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzdCLE9BQU87b0JBQ0gsWUFBWSxFQUFFO3dCQUNWLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsS0FBSztxQkFDdEM7aUJBQ0osQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7SUFDTixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENtYXRQYXNzd29yZFN0cmVuZ3RoVmFsaWRhdG9yIHtcclxuICAgIGlzVW5kZWZpbmVkT3JFbXB0eShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWNvbnRyb2w/LnZhbHVlIHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKGNyaXRlcmlhOiBzdHJpbmcsIHJlZ2V4OiBSZWdFeHApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNVbmRlZmluZWRPckVtcHR5KGNvbnRyb2wpO1xyXG4gICAgICAgICAgICBpZiAoIXJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZhaWxlZDogYW55ID0ge307XHJcbiAgICAgICAgICAgICAgICBmYWlsZWRbY3JpdGVyaWFdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGFjdHVhbFZhbHVlOiBjb250cm9sLnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkUGF0dGVybjogcmVnZXhcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbGVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uZmlybShwYXNzd29yZDogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzVW5kZWZpbmVkT3JFbXB0eShjb250cm9sKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IHBhc3N3b3JkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5vdENvbmZpcm1lZDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogcGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkQ29uZmlybWF0aW9uOiBjb250cm9sLnZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|