cmat 0.0.13 → 0.0.14
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/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -1
- package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
- package/components/chip-input/chip-input.component.d.ts +0 -1
- package/components/custom-formly/public-api.d.ts +1 -0
- package/components/custom-formly/types/quill/quill.component.d.ts +42 -0
- package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -1
- package/components/custom-formly/types/select/select.component.d.ts +0 -1
- package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -1
- package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -1
- package/components/custom-formly/types/table/table.component.d.ts +0 -1
- package/components/custom-formly/types/tabs/tab.component.d.ts +0 -1
- package/components/custom-formly/types/tags/tags.component.d.ts +0 -1
- package/components/material-color-picker/material-color-picker.component.d.ts +0 -1
- package/components/material-datetimepicker/calendar-body.d.ts +0 -1
- package/components/material-datetimepicker/calendar.d.ts +3 -4
- package/components/material-datetimepicker/clock.d.ts +0 -1
- package/components/material-datetimepicker/datetimepicker.d.ts +3 -4
- package/components/material-datetimepicker/month-view.d.ts +0 -1
- package/components/pagination/pagination.component.d.ts +0 -1
- package/components/popover/popover.component.d.ts +3 -4
- package/components/popover/popover.interfaces.d.ts +1 -2
- package/components/select-tree/select-tree.component.d.ts +0 -1
- package/components/timeline/timeline.component.d.ts +3 -5
- package/components/transfer-picker/filter/filter.component.d.ts +0 -1
- package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +0 -1
- package/esm2022/components/adapter/datetime-adapter.mjs +1 -1
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +4 -4
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
- package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/components/card/card.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -8
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -8
- package/esm2022/components/chip-input/chip-input.component.mjs +6 -9
- package/esm2022/components/custom-formly/extension/addons.extension.mjs +1 -1
- package/esm2022/components/custom-formly/public-api.mjs +2 -1
- package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/chips/chips.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/number/number.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/quill/quill.component.mjs +171 -0
- package/esm2022/components/custom-formly/types/radio/radio.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/rating/rating.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/select/select.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/table/table.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/tags/tags.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +3 -3
- package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +3 -3
- package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +3 -3
- package/esm2022/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.service.mjs +3 -3
- package/esm2022/components/fullscreen/fullscreen.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.service.mjs +4 -4
- package/esm2022/components/json-editor/json-editor.component.mjs +4 -4
- package/esm2022/components/masonry/masonry.component.mjs +4 -4
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +5 -8
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -8
- package/esm2022/components/material-datetimepicker/calendar.mjs +7 -13
- package/esm2022/components/material-datetimepicker/clock.mjs +5 -8
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -4
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +7 -7
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +10 -11
- package/esm2022/components/material-datetimepicker/month-view.mjs +5 -8
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +4 -4
- package/esm2022/components/material-datetimepicker/time.mjs +7 -7
- package/esm2022/components/material-datetimepicker/year-view.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +5 -5
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -5
- package/esm2022/components/navigation/navigation.service.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/vertical.component.mjs +5 -5
- package/esm2022/components/pagination/pagination.component.mjs +5 -8
- package/esm2022/components/pagination/pagination.directive.mjs +4 -4
- package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
- package/esm2022/components/pagination/pagination.service.mjs +4 -4
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength-validator.mjs +1 -1
- package/esm2022/components/popover/popover-trigger.mjs +6 -8
- package/esm2022/components/popover/popover.component.mjs +6 -7
- package/esm2022/components/popover/popover.interfaces.mjs +1 -1
- package/esm2022/components/popover/popover.target.mjs +3 -3
- package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2022/components/rating/rating.component.mjs +5 -5
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search.component.mjs +4 -4
- package/esm2022/components/select-tree/select-tree.component.mjs +5 -8
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
- package/esm2022/components/timeline/timeline.component.mjs +7 -11
- package/esm2022/components/toast/toast-modal.component.mjs +4 -4
- package/esm2022/components/toast/toast.component.mjs +5 -5
- package/esm2022/components/toast/toast.service.mjs +4 -4
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +5 -8
- package/esm2022/components/transfer-picker/search/search.component.mjs +3 -3
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -8
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
- package/esm2022/components/upload/files.util.service.mjs +4 -4
- package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +4 -4
- package/esm2022/components/upload/upload.component.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
- package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
- package/esm2022/directives/digit-only/digit-only.directive.mjs +4 -4
- package/esm2022/directives/digit-only/mask.directive.mjs +4 -4
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.request-handler.mjs +1 -1
- package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.utils.mjs +1 -1
- package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
- package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
- package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
- package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
- package/esm2022/pipes/secure/secure-pipe.mjs +3 -3
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
- package/esm2022/services/alert/alert.service.mjs +4 -4
- package/esm2022/services/config/config.service.mjs +3 -3
- package/esm2022/services/config/urlStateConfig.service.mjs +3 -3
- package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +3 -3
- package/esm2022/services/data/data.service.mjs +4 -4
- package/esm2022/services/loading/loading.interceptor.mjs +4 -4
- package/esm2022/services/loading/loading.service.mjs +4 -4
- package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
- package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
- package/esm2022/services/platform/platform.service.mjs +4 -4
- package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
- package/esm2022/services/title/title.service.mjs +4 -4
- package/esm2022/services/translation/translation.service.mjs +4 -4
- package/esm2022/services/utils/utils.service.mjs +4 -4
- package/esm2022/validators/validators.mjs +1 -1
- package/fesm2022/cmat-animations.mjs +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 +3 -3
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +11 -17
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +5 -8
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +248 -104
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +4 -4
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +7 -7
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +3 -3
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +6 -6
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +3 -3
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +3 -3
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +4 -7
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -68
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +46 -46
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +13 -16
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +10 -10
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +13 -16
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +3 -3
- 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 +10 -10
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +4 -7
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +15 -19
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +10 -10
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +20 -26
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-upload.mjs +9 -9
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-digit-only.mjs +6 -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 +7 -7
- 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-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-uppercase.mjs +3 -3
- 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-confirmation.mjs +6 -6
- package/fesm2022/cmat-services-data.mjs +3 -3
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- 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-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-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 +3 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-validators.mjs.map +1 -1
- package/package.json +111 -102
- package/styles/overrides/angular-material.scss +0 -1
- package/styles/overrides/quill.scss +102 -0
- package/styles/themes.scss +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-components-password-strength.mjs","sources":["../../../projects/cmat/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.ts","../../../projects/cmat/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.html","../../../projects/cmat/components/password-strength/enum.ts","../../../projects/cmat/components/password-strength/mat-password-strength-validator.ts","../../../projects/cmat/components/password-strength/regexp.class.ts","../../../projects/cmat/components/password-strength/mat-password-strength/mat-password-strength.component.ts","../../../projects/cmat/components/password-strength/mat-password-strength/mat-password-strength.component.html","../../../projects/cmat/components/password-strength/animations/index.ts","../../../projects/cmat/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.ts","../../../projects/cmat/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.html","../../../projects/cmat/components/password-strength/cmat-components-password-strength.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\n\ntype Type = 'text' | 'password';\n\n@Component({\n selector: 'cmat-pass-toggle-visibility',\n templateUrl: './mat-pass-toggle-visibility.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cmatPassToggleVisibility',\n standalone: true,\n imports: [MatButtonModule, MatRippleModule, MatIconModule]\n})\nexport class CmatPassToggleVisibilityComponent {\n @Input()\n isVisible: boolean;\n @Input()\n tabindex?: string;\n\n _type: Type = 'text';\n\n get type(): string {\n return this.isVisible ? 'text' : 'password';\n }\n\n}\n","<button (click)=\"isVisible = !isVisible\" type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\"\n mat-icon-button [matRippleCentered]=\"true\" matRipple [attr.tabindex]=\"tabindex ? tabindex : null\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>","/* eslint-disable @typescript-eslint/naming-convention */\r\nexport enum Colors {\r\n primary = 'primary',\r\n accent = 'accent',\r\n warn = 'warn'\r\n}\r\n\r\nexport enum Criteria {\r\n at_least_eight_chars = 'minChar',\r\n at_least_one_lower_case_char = 'lowerCase',\r\n at_least_one_upper_case_char = 'upperCase',\r\n at_least_one_digit_char = 'digit',\r\n at_least_one_special_char = ' specialChar',\r\n at_custom_chars = 'customChars'\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport class CmatPasswordStrengthValidator {\r\n isUndefinedOrEmpty(control: AbstractControl): any | void {\r\n if (!control || !control.value || control.value.length === 0) {\r\n return void 0;\r\n }\r\n }\r\n\r\n validate(criteria: string, regex: RegExp): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n this.isUndefinedOrEmpty(control);\r\n if (!regex.test(control.value)) {\r\n const failed: any = {};\r\n failed[criteria] = {\r\n actualValue: control.value,\r\n requiredPattern: regex\r\n };\r\n return failed;\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n confirm(password: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n this.isUndefinedOrEmpty(control);\r\n if (control.value !== password) {\r\n return {\r\n notConfirmed: {\r\n password: password,\r\n passwordConfirmation: control.value\r\n }\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n}\r\n","// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const RegExpValidator = {\r\n 'lowerCase': RegExp(/^(?=.*?[a-z])/),\r\n 'upperCase': RegExp(/^(?=.*?[A-Z])/),\r\n 'digit': RegExp(/^(?=.*?[0-9])/),\r\n 'specialChar': RegExp(/^(?=.*?[\" !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\"])/),\r\n};\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { FormControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { Colors, Criteria } from '../enum';\r\nimport { CmatPasswordStrengthValidator } from '../mat-password-strength-validator';\r\nimport { RegExpValidator } from '../regexp.class';\r\n\r\n@Component({\r\n selector: 'cmat-password-strength',\r\n exportAs: 'cmatPasswordStrength',\r\n templateUrl: './mat-password-strength.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [MatProgressBarModule]\r\n})\r\nexport class CmatPasswordStrengthComponent implements OnInit, OnChanges {\r\n @Input() password: string;\r\n @Input() externalError: boolean;\r\n\r\n @Input() enableLengthRule = true;\r\n @Input() enableLowerCaseLetterRule = true;\r\n @Input() enableUpperCaseLetterRule = true;\r\n @Input() enableDigitRule = true;\r\n @Input() enableSpecialCharRule = true;\r\n\r\n @Input() min = 8;\r\n @Input() max = 30;\r\n @Input() customValidator: RegExp;\r\n\r\n @Input() warnThreshold = 21;\r\n @Input() accentThreshold = 81;\r\n\r\n @Output()\r\n strengthChanged: EventEmitter<number> = new EventEmitter();\r\n\r\n criteriaMap = new Map<Criteria, RegExp>();\r\n\r\n containAtLeastMinChars: boolean | void;\r\n containAtLeastOneLowerCaseLetter: boolean | void;\r\n containAtLeastOneUpperCaseLetter: boolean | void;\r\n containAtLeastOneDigit: boolean | void;\r\n containAtLeastOneSpecialChar: boolean | void;\r\n containAtCustomChars: boolean | void;\r\n\r\n // TO ACCESS VIA CONTENT CHILD\r\n passwordFormControl: FormControl = new FormControl();\r\n passwordConfirmationFormControl: FormControl = new FormControl();\r\n\r\n validatorsArray: ValidatorFn[] = [];\r\n validators: ValidatorFn | null;\r\n cmatPasswordStrengthValidator = new CmatPasswordStrengthValidator();\r\n\r\n private _strength = 0;\r\n private _color: ThemePalette = 'warn';\r\n\r\n get strength(): number {\r\n return this._strength ? this._strength : 0;\r\n }\r\n get color(): ThemePalette {\r\n return this._color;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setRulesAndValidators();\r\n\r\n if (this.password) {\r\n this.calculatePasswordStrength();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ((changes['externalError'] && changes['externalError'].firstChange) || (changes['password'] && changes['password'].isFirstChange())) {\r\n return;\r\n } else if (changes['externalError'] && changes['externalError'].currentValue) {\r\n this._color = Colors.warn;\r\n return;\r\n } else if (changes['password'] && changes['password'].previousValue === changes['password'].currentValue && !changes['password'].firstChange) {\r\n this._checkPassword();\r\n } else if (this.password && this.password.length > 0) {\r\n this._checkPassword();\r\n } else {\r\n this.reset();\r\n }\r\n }\r\n\r\n parseCustomValidatorsRegex(): RegExp {\r\n if (this.customValidator instanceof RegExp) {\r\n return this.customValidator;\r\n } else {\r\n return RegExp(this.customValidator);\r\n }\r\n }\r\n\r\n setRulesAndValidators(): void {\r\n this.validatorsArray = [];\r\n this.criteriaMap = new Map<Criteria, RegExp>();\r\n this.passwordConfirmationFormControl\r\n .setValidators(Validators.compose([\r\n Validators.required, this.cmatPasswordStrengthValidator.confirm(this.password)\r\n ]));\r\n this.validatorsArray.push(Validators.required);\r\n if (this.enableLengthRule) {\r\n this.criteriaMap.set(Criteria.at_least_eight_chars, RegExp(`^.{${this.min},${this.max}}$`));\r\n this.validatorsArray.push(Validators.minLength(this.min));\r\n this.validatorsArray.push(Validators.maxLength(this.max));\r\n }\r\n if (this.enableLowerCaseLetterRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_lower_case_char, RegExpValidator.lowerCase);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.lowerCase));\r\n }\r\n if (this.enableUpperCaseLetterRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_upper_case_char, RegExpValidator.upperCase);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.upperCase));\r\n }\r\n if (this.enableDigitRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_digit_char, RegExpValidator.digit);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.digit));\r\n }\r\n if (this.enableSpecialCharRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_special_char, RegExpValidator.specialChar);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.specialChar));\r\n }\r\n if (this.customValidator) {\r\n this.criteriaMap.set(Criteria.at_custom_chars, this.parseCustomValidatorsRegex());\r\n this.validatorsArray.push(Validators.pattern(this.parseCustomValidatorsRegex()));\r\n }\r\n\r\n this.criteriaMap.forEach((value: any, key: string) => {\r\n this.validatorsArray.push(this.cmatPasswordStrengthValidator.validate(key, value));\r\n });\r\n\r\n this.passwordFormControl.setValidators(Validators.compose([...this.validatorsArray]));\r\n this.validators = Validators.compose([...this.validatorsArray]);\r\n\r\n }\r\n\r\n calculatePasswordStrength(): void {\r\n const requirements: Array<boolean> = [];\r\n const unit = 100 / this.criteriaMap.size;\r\n\r\n requirements.push(\r\n this.enableLengthRule ? this._containAtLeastMinChars() : false,\r\n this.enableLowerCaseLetterRule ? this._containAtLeastOneLowerCaseLetter() : false,\r\n this.enableUpperCaseLetterRule ? this._containAtLeastOneUpperCaseLetter() : false,\r\n this.enableDigitRule ? this._containAtLeastOneDigit() : false,\r\n this.enableSpecialCharRule ? this._containAtLeastOneSpecialChar() : false,\r\n this.customValidator ? this._containCustomChars() : false\r\n );\r\n\r\n this._strength = requirements.filter(v => v).length * unit;\r\n this.strengthChanged.emit(this.strength);\r\n this.setRulesAndValidators();\r\n\r\n if (this._strength < this.warnThreshold) {\r\n this._color = Colors.warn;\r\n } else if (this._strength < this.accentThreshold) {\r\n this._color = Colors.accent;\r\n } else {\r\n this._color = Colors.primary;\r\n }\r\n }\r\n\r\n reset(): void {\r\n this._strength = 0;\r\n this.containAtLeastMinChars =\r\n this.containAtLeastOneLowerCaseLetter =\r\n this.containAtLeastOneUpperCaseLetter =\r\n this.containAtLeastOneDigit =\r\n this.containAtCustomChars =\r\n this.containAtLeastOneSpecialChar = false;\r\n\r\n this._color = Colors.warn;\r\n this.strengthChanged.emit(this.strength);\r\n }\r\n\r\n private _containAtLeastMinChars(): boolean {\r\n this.containAtLeastMinChars = this.password.length >= this.min;\r\n return this.containAtLeastMinChars;\r\n }\r\n\r\n private _containAtLeastOneLowerCaseLetter(): boolean {\r\n this.containAtLeastOneLowerCaseLetter =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_lower_case_char)?.test(this.password);\r\n return this.containAtLeastOneLowerCaseLetter || false;\r\n }\r\n\r\n private _containAtLeastOneUpperCaseLetter(): boolean {\r\n this.containAtLeastOneUpperCaseLetter =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_upper_case_char)?.test(this.password);\r\n return this.containAtLeastOneUpperCaseLetter || false;\r\n }\r\n\r\n private _containAtLeastOneDigit(): boolean {\r\n this.containAtLeastOneDigit =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_digit_char)?.test(this.password);\r\n return this.containAtLeastOneDigit || false;\r\n }\r\n\r\n private _containAtLeastOneSpecialChar(): boolean {\r\n this.containAtLeastOneSpecialChar =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_special_char)?.test(this.password);\r\n return this.containAtLeastOneSpecialChar || false;\r\n }\r\n\r\n private _containCustomChars(): boolean {\r\n this.containAtCustomChars =\r\n this.criteriaMap\r\n .get(Criteria.at_custom_chars)?.test(this.password);\r\n return this.containAtCustomChars || false;\r\n }\r\n\r\n private _checkPassword(): void {\r\n this.calculatePasswordStrength();\r\n this.passwordConfirmationFormControl.updateValueAndValidity();\r\n }\r\n}\r\n","<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>","import { animate, animation, AnimationReferenceMetadata, keyframes, style } from '@angular/animations';\r\n\r\nexport const flipInX = flipIn(1, 1, 0);\r\nexport const flipInY = flipIn(1, 0, 1);\r\n\r\nexport const shake = animation(\r\n animate(\r\n '{{ timing }}s {{ delay }}s',\r\n keyframes([\r\n style({ transform: 'translate3d(0, 0, 0)', offset: 0 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.1 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.2 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.3 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.4 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.5 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.6 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.7 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.8 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.9 }),\r\n style({ transform: 'translate3d(0, 0, 0)', offset: 1 }),\r\n ])\r\n ),\r\n { params: { timing: 1, delay: 0 } }\r\n);\r\n\r\n\r\nfunction flipIn(timing: number, rotateX: number, rotateY: number): AnimationReferenceMetadata {\r\n const params = { timing: timing, delay: 0, rotateX, rotateY };\r\n\r\n return animation(\r\n [\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n style({ 'backface-visibility': 'visible' }),\r\n animate(\r\n '{{ timing }}s {{ delay }}s ease-in',\r\n keyframes([\r\n style({\r\n opacity: 0,\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',\r\n offset: 0,\r\n }),\r\n style({\r\n opacity: 1,\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',\r\n offset: 0.4,\r\n }),\r\n style({\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',\r\n offset: 0.6,\r\n }),\r\n style({\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',\r\n offset: 0.8,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',\r\n offset: 1,\r\n }),\r\n ])\r\n ),\r\n ],\r\n { params }\r\n );\r\n}\r\n","import { animate, animateChild, keyframes, query, stagger, style, transition, trigger, useAnimation } from '@angular/animations';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { shake } from '../animations'\r\nimport { CmatPasswordStrengthComponent } from '../mat-password-strength/mat-password-strength.component';\r\n\r\n@Component({\r\n selector: 'cmat-password-strength-info',\r\n exportAs: 'cmatPasswordStrengthInfo',\r\n templateUrl: './mat-password-strength-info.component.html',\r\n styleUrls: ['./mat-password-strength-info.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n // nice stagger effect when showing existing elements\r\n trigger('list', [\r\n transition(':enter', [\r\n // child animation selector + stagger\r\n query('@items', stagger(300, animateChild()))\r\n ]),\r\n ]),\r\n trigger('items', [\r\n // cubic-bezier for a tiny bouncing feel\r\n transition(':enter', [\r\n style({ transform: 'scale(0.5)', opacity: 0 }),\r\n animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(1)', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ transform: 'scale(1)', opacity: 1, height: '*' }),\r\n animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(0.5)', opacity: 0, height: '0px', margin: '0px' }))\r\n ]),\r\n ]),\r\n trigger('positiveState', [\r\n transition(':enter', [\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n style({ 'backface-visibility': 'visible' }),\r\n animate('{{ timing }}s {{ delay }}s ease-in', keyframes([\r\n style({\r\n opacity: 0,\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',\r\n offset: 0,\r\n }),\r\n style({\r\n opacity: 1,\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',\r\n offset: 0.4,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',\r\n offset: 0.6,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',\r\n offset: 0.8,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',\r\n offset: 1,\r\n }),\r\n ])),\r\n ], { params: { timing: 1, delay: 0, rotateX: 1, rotateY: 0 } }),\r\n ]),\r\n trigger('negativeState', [\r\n transition(':enter', useAnimation(shake)),\r\n ]),\r\n ],\r\n standalone: true,\r\n imports: [MatCardModule, MatIconModule]\r\n})\r\nexport class CmatPasswordStrengthInfoComponent implements OnInit {\r\n\r\n @Input()\r\n passwordComponent: CmatPasswordStrengthComponent;\r\n\r\n @Input()\r\n enableScoreInfo = false;\r\n\r\n @Input()\r\n lowerCaseCriteriaMsg = '包含至少一个小写字母';\r\n\r\n @Input()\r\n upperCaseCriteriaMsg = '包含至少一个大写字母';\r\n\r\n @Input()\r\n digitsCriteriaMsg = '包含至少一个数字';\r\n\r\n @Input()\r\n specialCharsCriteriaMsg = '包含至少一个特殊字符';\r\n\r\n @Input()\r\n customCharsCriteriaMsg = '包含至少一个传统字符';\r\n\r\n @Input()\r\n minCharsCriteriaMsg: string;\r\n\r\n ngOnInit(): void {\r\n if (!this.minCharsCriteriaMsg) {\r\n this.minCharsCriteriaMsg = `包含至少 ${this.passwordComponent.min} 个字符`;\r\n }\r\n }\r\n\r\n}\r\n","<mat-card @list class=\"info-card\">\n <mat-card-content>\n @if (passwordComponent.enableLowerCaseLetterRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneLowerCaseLetter) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{lowerCaseCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableUpperCaseLetterRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneUpperCaseLetter) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{upperCaseCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableDigitRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneDigit) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{digitsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableSpecialCharRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneSpecialChar) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{specialCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableLengthRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastMinChars) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{minCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.customValidator) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtCustomChars) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{customCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (enableScoreInfo) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.strength === 100) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>密码强度= {{passwordComponent.strength}} %100</span>\n </div>\n }\n\n </mat-card-content>\n</mat-card>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-components-password-strength.mjs","sources":["../../../projects/cmat/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.ts","../../../projects/cmat/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.html","../../../projects/cmat/components/password-strength/enum.ts","../../../projects/cmat/components/password-strength/mat-password-strength-validator.ts","../../../projects/cmat/components/password-strength/regexp.class.ts","../../../projects/cmat/components/password-strength/mat-password-strength/mat-password-strength.component.ts","../../../projects/cmat/components/password-strength/mat-password-strength/mat-password-strength.component.html","../../../projects/cmat/components/password-strength/animations/index.ts","../../../projects/cmat/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.ts","../../../projects/cmat/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.html","../../../projects/cmat/components/password-strength/cmat-components-password-strength.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\n\ntype Type = 'text' | 'password';\n\n@Component({\n selector: 'cmat-pass-toggle-visibility',\n templateUrl: './mat-pass-toggle-visibility.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cmatPassToggleVisibility',\n standalone: true,\n imports: [MatButtonModule, MatRippleModule, MatIconModule]\n})\nexport class CmatPassToggleVisibilityComponent {\n @Input()\n isVisible: boolean;\n @Input()\n tabindex?: string;\n\n _type: Type = 'text';\n\n get type(): string {\n return this.isVisible ? 'text' : 'password';\n }\n\n}\n","<button (click)=\"isVisible = !isVisible\" type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\"\n mat-icon-button [matRippleCentered]=\"true\" matRipple [attr.tabindex]=\"tabindex ? tabindex : null\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>","/* eslint-disable @typescript-eslint/naming-convention */\r\nexport enum Colors {\r\n primary = 'primary',\r\n accent = 'accent',\r\n warn = 'warn'\r\n}\r\n\r\nexport enum Criteria {\r\n at_least_eight_chars = 'minChar',\r\n at_least_one_lower_case_char = 'lowerCase',\r\n at_least_one_upper_case_char = 'upperCase',\r\n at_least_one_digit_char = 'digit',\r\n at_least_one_special_char = ' specialChar',\r\n at_custom_chars = 'customChars'\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport class CmatPasswordStrengthValidator {\r\n isUndefinedOrEmpty(control: AbstractControl): any | void {\r\n if (!control || !control.value || control.value.length === 0) {\r\n return void 0;\r\n }\r\n }\r\n\r\n validate(criteria: string, regex: RegExp): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n this.isUndefinedOrEmpty(control);\r\n if (!regex.test(control.value)) {\r\n const failed: any = {};\r\n failed[criteria] = {\r\n actualValue: control.value,\r\n requiredPattern: regex\r\n };\r\n return failed;\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n confirm(password: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n this.isUndefinedOrEmpty(control);\r\n if (control.value !== password) {\r\n return {\r\n notConfirmed: {\r\n password: password,\r\n passwordConfirmation: control.value\r\n }\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n}\r\n","// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const RegExpValidator = {\r\n 'lowerCase': RegExp(/^(?=.*?[a-z])/),\r\n 'upperCase': RegExp(/^(?=.*?[A-Z])/),\r\n 'digit': RegExp(/^(?=.*?[0-9])/),\r\n 'specialChar': RegExp(/^(?=.*?[\" !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\"])/),\r\n};\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { FormControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { Colors, Criteria } from '../enum';\r\nimport { CmatPasswordStrengthValidator } from '../mat-password-strength-validator';\r\nimport { RegExpValidator } from '../regexp.class';\r\n\r\n@Component({\r\n selector: 'cmat-password-strength',\r\n exportAs: 'cmatPasswordStrength',\r\n templateUrl: './mat-password-strength.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [MatProgressBarModule]\r\n})\r\nexport class CmatPasswordStrengthComponent implements OnInit, OnChanges {\r\n @Input() password: string;\r\n @Input() externalError: boolean;\r\n\r\n @Input() enableLengthRule = true;\r\n @Input() enableLowerCaseLetterRule = true;\r\n @Input() enableUpperCaseLetterRule = true;\r\n @Input() enableDigitRule = true;\r\n @Input() enableSpecialCharRule = true;\r\n\r\n @Input() min = 8;\r\n @Input() max = 30;\r\n @Input() customValidator: RegExp;\r\n\r\n @Input() warnThreshold = 21;\r\n @Input() accentThreshold = 81;\r\n\r\n @Output()\r\n strengthChanged: EventEmitter<number> = new EventEmitter();\r\n\r\n criteriaMap = new Map<Criteria, RegExp>();\r\n\r\n containAtLeastMinChars: boolean | void;\r\n containAtLeastOneLowerCaseLetter: boolean | void;\r\n containAtLeastOneUpperCaseLetter: boolean | void;\r\n containAtLeastOneDigit: boolean | void;\r\n containAtLeastOneSpecialChar: boolean | void;\r\n containAtCustomChars: boolean | void;\r\n\r\n // TO ACCESS VIA CONTENT CHILD\r\n passwordFormControl: FormControl = new FormControl();\r\n passwordConfirmationFormControl: FormControl = new FormControl();\r\n\r\n validatorsArray: ValidatorFn[] = [];\r\n validators: ValidatorFn | null;\r\n cmatPasswordStrengthValidator = new CmatPasswordStrengthValidator();\r\n\r\n private _strength = 0;\r\n private _color: ThemePalette = 'warn';\r\n\r\n get strength(): number {\r\n return this._strength ? this._strength : 0;\r\n }\r\n get color(): ThemePalette {\r\n return this._color;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setRulesAndValidators();\r\n\r\n if (this.password) {\r\n this.calculatePasswordStrength();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ((changes['externalError'] && changes['externalError'].firstChange) || (changes['password'] && changes['password'].isFirstChange())) {\r\n return;\r\n } else if (changes['externalError'] && changes['externalError'].currentValue) {\r\n this._color = Colors.warn;\r\n return;\r\n } else if (changes['password'] && changes['password'].previousValue === changes['password'].currentValue && !changes['password'].firstChange) {\r\n this._checkPassword();\r\n } else if (this.password && this.password.length > 0) {\r\n this._checkPassword();\r\n } else {\r\n this.reset();\r\n }\r\n }\r\n\r\n parseCustomValidatorsRegex(): RegExp {\r\n if (this.customValidator instanceof RegExp) {\r\n return this.customValidator;\r\n } else {\r\n return RegExp(this.customValidator);\r\n }\r\n }\r\n\r\n setRulesAndValidators(): void {\r\n this.validatorsArray = [];\r\n this.criteriaMap = new Map<Criteria, RegExp>();\r\n this.passwordConfirmationFormControl\r\n .setValidators(Validators.compose([\r\n Validators.required, this.cmatPasswordStrengthValidator.confirm(this.password)\r\n ]));\r\n this.validatorsArray.push(Validators.required);\r\n if (this.enableLengthRule) {\r\n this.criteriaMap.set(Criteria.at_least_eight_chars, RegExp(`^.{${this.min},${this.max}}$`));\r\n this.validatorsArray.push(Validators.minLength(this.min));\r\n this.validatorsArray.push(Validators.maxLength(this.max));\r\n }\r\n if (this.enableLowerCaseLetterRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_lower_case_char, RegExpValidator.lowerCase);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.lowerCase));\r\n }\r\n if (this.enableUpperCaseLetterRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_upper_case_char, RegExpValidator.upperCase);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.upperCase));\r\n }\r\n if (this.enableDigitRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_digit_char, RegExpValidator.digit);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.digit));\r\n }\r\n if (this.enableSpecialCharRule) {\r\n this.criteriaMap.set(Criteria.at_least_one_special_char, RegExpValidator.specialChar);\r\n this.validatorsArray.push(Validators.pattern(RegExpValidator.specialChar));\r\n }\r\n if (this.customValidator) {\r\n this.criteriaMap.set(Criteria.at_custom_chars, this.parseCustomValidatorsRegex());\r\n this.validatorsArray.push(Validators.pattern(this.parseCustomValidatorsRegex()));\r\n }\r\n\r\n this.criteriaMap.forEach((value: any, key: string) => {\r\n this.validatorsArray.push(this.cmatPasswordStrengthValidator.validate(key, value));\r\n });\r\n\r\n this.passwordFormControl.setValidators(Validators.compose([...this.validatorsArray]));\r\n this.validators = Validators.compose([...this.validatorsArray]);\r\n\r\n }\r\n\r\n calculatePasswordStrength(): void {\r\n const requirements: Array<boolean> = [];\r\n const unit = 100 / this.criteriaMap.size;\r\n\r\n requirements.push(\r\n this.enableLengthRule ? this._containAtLeastMinChars() : false,\r\n this.enableLowerCaseLetterRule ? this._containAtLeastOneLowerCaseLetter() : false,\r\n this.enableUpperCaseLetterRule ? this._containAtLeastOneUpperCaseLetter() : false,\r\n this.enableDigitRule ? this._containAtLeastOneDigit() : false,\r\n this.enableSpecialCharRule ? this._containAtLeastOneSpecialChar() : false,\r\n this.customValidator ? this._containCustomChars() : false\r\n );\r\n\r\n this._strength = requirements.filter(v => v).length * unit;\r\n this.strengthChanged.emit(this.strength);\r\n this.setRulesAndValidators();\r\n\r\n if (this._strength < this.warnThreshold) {\r\n this._color = Colors.warn;\r\n } else if (this._strength < this.accentThreshold) {\r\n this._color = Colors.accent;\r\n } else {\r\n this._color = Colors.primary;\r\n }\r\n }\r\n\r\n reset(): void {\r\n this._strength = 0;\r\n this.containAtLeastMinChars =\r\n this.containAtLeastOneLowerCaseLetter =\r\n this.containAtLeastOneUpperCaseLetter =\r\n this.containAtLeastOneDigit =\r\n this.containAtCustomChars =\r\n this.containAtLeastOneSpecialChar = false;\r\n\r\n this._color = Colors.warn;\r\n this.strengthChanged.emit(this.strength);\r\n }\r\n\r\n private _containAtLeastMinChars(): boolean {\r\n this.containAtLeastMinChars = this.password.length >= this.min;\r\n return this.containAtLeastMinChars;\r\n }\r\n\r\n private _containAtLeastOneLowerCaseLetter(): boolean {\r\n this.containAtLeastOneLowerCaseLetter =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_lower_case_char)?.test(this.password);\r\n return this.containAtLeastOneLowerCaseLetter || false;\r\n }\r\n\r\n private _containAtLeastOneUpperCaseLetter(): boolean {\r\n this.containAtLeastOneUpperCaseLetter =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_upper_case_char)?.test(this.password);\r\n return this.containAtLeastOneUpperCaseLetter || false;\r\n }\r\n\r\n private _containAtLeastOneDigit(): boolean {\r\n this.containAtLeastOneDigit =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_digit_char)?.test(this.password);\r\n return this.containAtLeastOneDigit || false;\r\n }\r\n\r\n private _containAtLeastOneSpecialChar(): boolean {\r\n this.containAtLeastOneSpecialChar =\r\n this.criteriaMap\r\n .get(Criteria.at_least_one_special_char)?.test(this.password);\r\n return this.containAtLeastOneSpecialChar || false;\r\n }\r\n\r\n private _containCustomChars(): boolean {\r\n this.containAtCustomChars =\r\n this.criteriaMap\r\n .get(Criteria.at_custom_chars)?.test(this.password);\r\n return this.containAtCustomChars || false;\r\n }\r\n\r\n private _checkPassword(): void {\r\n this.calculatePasswordStrength();\r\n this.passwordConfirmationFormControl.updateValueAndValidity();\r\n }\r\n}\r\n","<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>","import { animate, animation, AnimationReferenceMetadata, keyframes, style } from '@angular/animations';\r\n\r\nexport const flipInX = flipIn(1, 1, 0);\r\nexport const flipInY = flipIn(1, 0, 1);\r\n\r\nexport const shake = animation(\r\n animate(\r\n '{{ timing }}s {{ delay }}s',\r\n keyframes([\r\n style({ transform: 'translate3d(0, 0, 0)', offset: 0 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.1 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.2 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.3 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.4 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.5 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.6 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.7 }),\r\n style({ transform: 'translate3d(10px, 0, 0)', offset: 0.8 }),\r\n style({ transform: 'translate3d(-10px, 0, 0)', offset: 0.9 }),\r\n style({ transform: 'translate3d(0, 0, 0)', offset: 1 }),\r\n ])\r\n ),\r\n { params: { timing: 1, delay: 0 } }\r\n);\r\n\r\n\r\nfunction flipIn(timing: number, rotateX: number, rotateY: number): AnimationReferenceMetadata {\r\n const params = { timing: timing, delay: 0, rotateX, rotateY };\r\n\r\n return animation(\r\n [\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n style({ 'backface-visibility': 'visible' }),\r\n animate(\r\n '{{ timing }}s {{ delay }}s ease-in',\r\n keyframes([\r\n style({\r\n opacity: 0,\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',\r\n offset: 0,\r\n }),\r\n style({\r\n opacity: 1,\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',\r\n offset: 0.4,\r\n }),\r\n style({\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',\r\n offset: 0.6,\r\n }),\r\n style({\r\n transform:\r\n 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',\r\n offset: 0.8,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',\r\n offset: 1,\r\n }),\r\n ])\r\n ),\r\n ],\r\n { params }\r\n );\r\n}\r\n","import { animate, animateChild, keyframes, query, stagger, style, transition, trigger, useAnimation } from '@angular/animations';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { shake } from '../animations'\r\nimport { CmatPasswordStrengthComponent } from '../mat-password-strength/mat-password-strength.component';\r\n\r\n@Component({\r\n selector: 'cmat-password-strength-info',\r\n exportAs: 'cmatPasswordStrengthInfo',\r\n templateUrl: './mat-password-strength-info.component.html',\r\n styleUrls: ['./mat-password-strength-info.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n // nice stagger effect when showing existing elements\r\n trigger('list', [\r\n transition(':enter', [\r\n // child animation selector + stagger\r\n query('@items', stagger(300, animateChild()))\r\n ]),\r\n ]),\r\n trigger('items', [\r\n // cubic-bezier for a tiny bouncing feel\r\n transition(':enter', [\r\n style({ transform: 'scale(0.5)', opacity: 0 }),\r\n animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(1)', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ transform: 'scale(1)', opacity: 1, height: '*' }),\r\n animate('1s cubic-bezier(.8,-0.6,0.2,1.5)', style({ transform: 'scale(0.5)', opacity: 0, height: '0px', margin: '0px' }))\r\n ]),\r\n ]),\r\n trigger('positiveState', [\r\n transition(':enter', [\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n style({ 'backface-visibility': 'visible' }),\r\n animate('{{ timing }}s {{ delay }}s ease-in', keyframes([\r\n style({\r\n opacity: 0,\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 90deg)',\r\n offset: 0,\r\n }),\r\n style({\r\n opacity: 1,\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -20deg)',\r\n offset: 0.4,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, 10deg)',\r\n offset: 0.6,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d({{ rotateX }}, {{ rotateY }}, 0, -5deg)',\r\n offset: 0.8,\r\n }),\r\n style({\r\n transform: 'perspective(400px) rotate3d(0, 0, 0, 0)',\r\n offset: 1,\r\n }),\r\n ])),\r\n ], { params: { timing: 1, delay: 0, rotateX: 1, rotateY: 0 } }),\r\n ]),\r\n trigger('negativeState', [\r\n transition(':enter', useAnimation(shake)),\r\n ]),\r\n ],\r\n standalone: true,\r\n imports: [MatCardModule, MatIconModule]\r\n})\r\nexport class CmatPasswordStrengthInfoComponent implements OnInit {\r\n\r\n @Input()\r\n passwordComponent: CmatPasswordStrengthComponent;\r\n\r\n @Input()\r\n enableScoreInfo = false;\r\n\r\n @Input()\r\n lowerCaseCriteriaMsg = '包含至少一个小写字母';\r\n\r\n @Input()\r\n upperCaseCriteriaMsg = '包含至少一个大写字母';\r\n\r\n @Input()\r\n digitsCriteriaMsg = '包含至少一个数字';\r\n\r\n @Input()\r\n specialCharsCriteriaMsg = '包含至少一个特殊字符';\r\n\r\n @Input()\r\n customCharsCriteriaMsg = '包含至少一个传统字符';\r\n\r\n @Input()\r\n minCharsCriteriaMsg: string;\r\n\r\n ngOnInit(): void {\r\n if (!this.minCharsCriteriaMsg) {\r\n this.minCharsCriteriaMsg = `包含至少 ${this.passwordComponent.min} 个字符`;\r\n }\r\n }\r\n\r\n}\r\n","<mat-card @list class=\"info-card\">\n <mat-card-content>\n @if (passwordComponent.enableLowerCaseLetterRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneLowerCaseLetter) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{lowerCaseCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableUpperCaseLetterRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneUpperCaseLetter) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{upperCaseCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableDigitRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneDigit) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{digitsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableSpecialCharRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastOneSpecialChar) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{specialCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.enableLengthRule) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtLeastMinChars) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{minCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (passwordComponent.customValidator) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.containAtCustomChars) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>{{customCharsCriteriaMsg}}</span>\n </div>\n }\n\n @if (enableScoreInfo) {\n <div class=\"info-row\" @items>\n @if (passwordComponent.strength === 100) {\n <mat-icon @positiveState color=\"primary\" svgIcon=\"mat_outline:done\"></mat-icon>\n } @else {\n <mat-icon @negativeState color=\"warn\" svgIcon=\"mat_outline:error\"></mat-icon>\n }\n <span>密码强度= {{passwordComponent.strength}} %100</span>\n </div>\n }\n\n </mat-card-content>\n</mat-card>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;;;MAgBa,iCAAiC,CAAA;AAT9C,IAAA,WAAA,GAAA;QAeI,IAAK,CAAA,KAAA,GAAS,MAAM,CAAC;AAMxB,KAAA;AAJG,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;KAC/C;8GAVQ,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,yLChB9C,2VAGS,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWK,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,kSAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEhD,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAT7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,iBAExB,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,0BAA0B,EACxB,UAAA,EAAA,IAAI,WACP,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,2VAAA,EAAA,CAAA;8BAI1D,SAAS,EAAA,CAAA;sBADR,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;;;AEnBV;AACA,IAAY,MAIX,CAAA;AAJD,CAAA,UAAY,MAAM,EAAA;AACd,IAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACjB,CAAC,EAJW,MAAM,KAAN,MAAM,GAIjB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,QAOX,CAAA;AAPD,CAAA,UAAY,QAAQ,EAAA;AAChB,IAAA,QAAA,CAAA,sBAAA,CAAA,GAAA,SAAgC,CAAA;AAChC,IAAA,QAAA,CAAA,8BAAA,CAAA,GAAA,WAA0C,CAAA;AAC1C,IAAA,QAAA,CAAA,8BAAA,CAAA,GAAA,WAA0C,CAAA;AAC1C,IAAA,QAAA,CAAA,yBAAA,CAAA,GAAA,OAAiC,CAAA;AACjC,IAAA,QAAA,CAAA,2BAAA,CAAA,GAAA,cAA0C,CAAA;AAC1C,IAAA,QAAA,CAAA,iBAAA,CAAA,GAAA,aAA+B,CAAA;AACnC,CAAC,EAPW,QAAQ,KAAR,QAAQ,GAOnB,EAAA,CAAA,CAAA;;MCZY,6BAA6B,CAAA;AACtC,IAAA,kBAAkB,CAAC,OAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,KAAK,CAAC,CAAC;SACjB;KACJ;IAED,QAAQ,CAAC,QAAgB,EAAE,KAAa,EAAA;QACpC,OAAO,CAAC,OAAwB,KAAmC;AAC/D,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,MAAM,GAAQ,EAAE,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACf,WAAW,EAAE,OAAO,CAAC,KAAK;AAC1B,oBAAA,eAAe,EAAE,KAAK;iBACzB,CAAC;AACF,gBAAA,OAAO,MAAM,CAAC;aACjB;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC;KACL;AAED,IAAA,OAAO,CAAC,QAAgB,EAAA;QACpB,OAAO,CAAC,OAAwB,KAAmC;AAC/D,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACjC,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC5B,OAAO;AACH,oBAAA,YAAY,EAAE;AACV,wBAAA,QAAQ,EAAE,QAAQ;wBAClB,oBAAoB,EAAE,OAAO,CAAC,KAAK;AACtC,qBAAA;iBACJ,CAAC;aACL;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC;KACL;AAEJ;;ACvCD;AACO,MAAM,eAAe,GAAG;AAC3B,IAAA,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;AACpC,IAAA,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;AACpC,IAAA,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;AAChC,IAAA,aAAa,EAAE,MAAM,CAAC,+CAA+C,CAAC;CACzE;;MCWY,6BAA6B,CAAA;AAT1C,IAAA,WAAA,GAAA;QAaa,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC;QACjC,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QACvB,IAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;QAE7B,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;QACR,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;QAGT,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;QACnB,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,eAAe,GAAyB,IAAI,YAAY,EAAE,CAAC;AAE3D,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;;AAU1C,QAAA,IAAA,CAAA,mBAAmB,GAAgB,IAAI,WAAW,EAAE,CAAC;AACrD,QAAA,IAAA,CAAA,+BAA+B,GAAgB,IAAI,WAAW,EAAE,CAAC;QAEjE,IAAe,CAAA,eAAA,GAAkB,EAAE,CAAC;AAEpC,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAE5D,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;QACd,IAAM,CAAA,MAAA,GAAiB,MAAM,CAAC;AAsKzC,KAAA;AApKG,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KAC9C;AACD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAE7B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;KACJ;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE;YACpI,OAAO;SACV;AAAM,aAAA,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE;AAC1E,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,OAAO;SACV;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;YAC1I,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;aAAM;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;KACJ;IAED,0BAA0B,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,eAAe,YAAY,MAAM,EAAE;YACxC,OAAO,IAAI,CAAC,eAAe,CAAC;SAC/B;aAAM;AACH,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;KACJ;IAED,qBAAqB,GAAA;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC/C,QAAA,IAAI,CAAC,+BAA+B;AAC/B,aAAA,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAC9B,YAAA,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjF,SAAA,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC,CAAC;AAC5F,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7D;AACD,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;AACvF,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;SAC5E;AACD,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;AACvF,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;SAC5E;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAC9E,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;SACxE;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;AACtF,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;SAC9E;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAClF,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,GAAW,KAAI;AACjD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACvF,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;KAEnE;IAED,yBAAyB,GAAA;QACrB,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEzC,YAAY,CAAC,IAAI,CACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,KAAK,EAC9D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,iCAAiC,EAAE,GAAG,KAAK,EACjF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,iCAAiC,EAAE,GAAG,KAAK,EACjF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,KAAK,EAC7D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,6BAA6B,EAAE,GAAG,KAAK,EACzE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAC5D,CAAC;AAEF,QAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;SAC7B;aAAM,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE;AAC9C,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SAC/B;aAAM;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;SAChC;KACJ;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,sBAAsB;AACvB,YAAA,IAAI,CAAC,gCAAgC;AACrC,gBAAA,IAAI,CAAC,gCAAgC;AACrC,oBAAA,IAAI,CAAC,sBAAsB;AAC3B,wBAAA,IAAI,CAAC,oBAAoB;AACzB,4BAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;AAE9C,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5C;IAEO,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC;QAC/D,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;IAEO,iCAAiC,GAAA;AACrC,QAAA,IAAI,CAAC,gCAAgC;AACjC,YAAA,IAAI,CAAC,WAAW;AACX,iBAAA,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,gCAAgC,IAAI,KAAK,CAAC;KACzD;IAEO,iCAAiC,GAAA;AACrC,QAAA,IAAI,CAAC,gCAAgC;AACjC,YAAA,IAAI,CAAC,WAAW;AACX,iBAAA,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,gCAAgC,IAAI,KAAK,CAAC;KACzD;IAEO,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,sBAAsB;AACvB,YAAA,IAAI,CAAC,WAAW;AACX,iBAAA,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpE,QAAA,OAAO,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC;KAC/C;IAEO,6BAA6B,GAAA;AACjC,QAAA,IAAI,CAAC,4BAA4B;AAC7B,YAAA,IAAI,CAAC,WAAW;AACX,iBAAA,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,QAAA,OAAO,IAAI,CAAC,4BAA4B,IAAI,KAAK,CAAC;KACrD;IAEO,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,oBAAoB;AACrB,YAAA,IAAI,CAAC,WAAW;AACX,iBAAA,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC;KAC7C;IAEO,cAAc,GAAA;QAClB,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,+BAA+B,CAAC,sBAAsB,EAAE,CAAC;KACjE;8GA3MQ,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB1C,mGAA2F,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDe7E,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAErB,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,sBAAsB,EAEjB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,oBAAoB,CAAC,EAAA,QAAA,EAAA,mGAAA,EAAA,CAAA;8BAGtB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAEG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGN,eAAe,EAAA,CAAA;sBADd,MAAM;;;AEhCJ,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhC,MAAM,KAAK,GAAG,SAAS,CAC1B,OAAO,CACH,4BAA4B,EAC5B,SAAS,CAAC;IACN,KAAK,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvD,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAA,CAAC,CACL,EACD,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CACtC,CAAC;AAGF,SAAS,MAAM,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe,EAAA;AAC5D,IAAA,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAE9D,IAAA,OAAO,SAAS,CACZ;;AAEI,QAAA,KAAK,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;AAC3C,QAAA,OAAO,CACH,oCAAoC,EACpC,SAAS,CAAC;AACN,YAAA,KAAK,CAAC;AACF,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,SAAS,EACL,qEAAqE;AACzE,gBAAA,MAAM,EAAE,CAAC;aACZ,CAAC;AACF,YAAA,KAAK,CAAC;AACF,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,SAAS,EACL,sEAAsE;AAC1E,gBAAA,MAAM,EAAE,GAAG;aACd,CAAC;AACF,YAAA,KAAK,CAAC;AACF,gBAAA,SAAS,EACL,qEAAqE;AACzE,gBAAA,MAAM,EAAE,GAAG;aACd,CAAC;AACF,YAAA,KAAK,CAAC;AACF,gBAAA,SAAS,EACL,qEAAqE;AACzE,gBAAA,MAAM,EAAE,GAAG;aACd,CAAC;AACF,YAAA,KAAK,CAAC;AACF,gBAAA,SAAS,EAAE,yCAAyC;AACpD,gBAAA,MAAM,EAAE,CAAC;aACZ,CAAC;AACL,SAAA,CAAC,CACL;AACJ,KAAA,EACD,EAAE,MAAM,EAAE,CACb,CAAC;AACN;;MCEa,iCAAiC,CAAA;AA9D9C,IAAA,WAAA,GAAA;QAoEI,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;QAGxB,IAAoB,CAAA,oBAAA,GAAG,YAAY,CAAC;QAGpC,IAAoB,CAAA,oBAAA,GAAG,YAAY,CAAC;QAGpC,IAAiB,CAAA,iBAAA,GAAG,UAAU,CAAC;QAG/B,IAAuB,CAAA,uBAAA,GAAG,YAAY,CAAC;QAGvC,IAAsB,CAAA,sBAAA,GAAG,YAAY,CAAC;AAWzC,KAAA;IANG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAG,CAAQ,KAAA,EAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAA,IAAA,CAAM,CAAC;SACvE;KACJ;8GA9BQ,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,6eCrE9C,inGAgFW,EAAA,MAAA,EAAA,CAAA,onBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbG,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAtD1B,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;;YAER,OAAO,CAAC,MAAM,EAAE;gBACZ,UAAU,CAAC,QAAQ,EAAE;;oBAEjB,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;iBAChD,CAAC;aACL,CAAC;YACF,OAAO,CAAC,OAAO,EAAE;;gBAEb,UAAU,CAAC,QAAQ,EAAE;oBACjB,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC9C,oBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC5F,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;AACjB,oBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;oBACzD,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC5H,CAAC;aACL,CAAC;YACF,OAAO,CAAC,eAAe,EAAE;gBACrB,UAAU,CAAC,QAAQ,EAAE;;AAEjB,oBAAA,KAAK,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;AAC3C,oBAAA,OAAO,CAAC,oCAAoC,EAAE,SAAS,CAAC;AACpD,wBAAA,KAAK,CAAC;AACF,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,SAAS,EAAE,qEAAqE;AAChF,4BAAA,MAAM,EAAE,CAAC;yBACZ,CAAC;AACF,wBAAA,KAAK,CAAC;AACF,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,SAAS,EAAE,sEAAsE;AACjF,4BAAA,MAAM,EAAE,GAAG;yBACd,CAAC;AACF,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,qEAAqE;AAChF,4BAAA,MAAM,EAAE,GAAG;yBACd,CAAC;AACF,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,qEAAqE;AAChF,4BAAA,MAAM,EAAE,GAAG;yBACd,CAAC;AACF,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,yCAAyC;AACpD,4BAAA,MAAM,EAAE,CAAC;yBACZ,CAAC;AACL,qBAAA,CAAC,CAAC;iBACN,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;aAClE,CAAC;YACF,OAAO,CAAC,eAAe,EAAE;AACrB,gBAAA,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;aAC5C,CAAC;AACL,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIQ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBA9D7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,YAC7B,0BAA0B,EAAA,aAAA,EAGrB,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA;;wBAER,OAAO,CAAC,MAAM,EAAE;4BACZ,UAAU,CAAC,QAAQ,EAAE;;gCAEjB,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;6BAChD,CAAC;yBACL,CAAC;wBACF,OAAO,CAAC,OAAO,EAAE;;4BAEb,UAAU,CAAC,QAAQ,EAAE;gCACjB,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC9C,gCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC5F,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;AACjB,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gCACzD,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;6BAC5H,CAAC;yBACL,CAAC;wBACF,OAAO,CAAC,eAAe,EAAE;4BACrB,UAAU,CAAC,QAAQ,EAAE;;AAEjB,gCAAA,KAAK,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;AAC3C,gCAAA,OAAO,CAAC,oCAAoC,EAAE,SAAS,CAAC;AACpD,oCAAA,KAAK,CAAC;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,SAAS,EAAE,qEAAqE;AAChF,wCAAA,MAAM,EAAE,CAAC;qCACZ,CAAC;AACF,oCAAA,KAAK,CAAC;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,SAAS,EAAE,sEAAsE;AACjF,wCAAA,MAAM,EAAE,GAAG;qCACd,CAAC;AACF,oCAAA,KAAK,CAAC;AACF,wCAAA,SAAS,EAAE,qEAAqE;AAChF,wCAAA,MAAM,EAAE,GAAG;qCACd,CAAC;AACF,oCAAA,KAAK,CAAC;AACF,wCAAA,SAAS,EAAE,qEAAqE;AAChF,wCAAA,MAAM,EAAE,GAAG;qCACd,CAAC;AACF,oCAAA,KAAK,CAAC;AACF,wCAAA,SAAS,EAAE,yCAAyC;AACpD,wCAAA,MAAM,EAAE,CAAC;qCACZ,CAAC;AACL,iCAAA,CAAC,CAAC;6BACN,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;yBAClE,CAAC;wBACF,OAAO,CAAC,eAAe,EAAE;AACrB,4BAAA,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;yBAC5C,CAAC;AACL,qBAAA,EAAA,UAAA,EACW,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,inGAAA,EAAA,MAAA,EAAA,CAAA,onBAAA,CAAA,EAAA,CAAA;8BAKvC,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAIN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAIN,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAIN,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAIN,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAIN,uBAAuB,EAAA,CAAA;sBADtB,KAAK;gBAIN,sBAAsB,EAAA,CAAA;sBADrB,KAAK;gBAIN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;;;AE5FV;;AAEG;;;;"}
|
|
@@ -40,10 +40,9 @@ function throwCmatPopoverInvalidPositionEnd() {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
class CmatPopoverComponent {
|
|
43
|
-
constructor(_dir, _elementRef
|
|
43
|
+
constructor(_dir, _elementRef) {
|
|
44
44
|
this._dir = _dir;
|
|
45
45
|
this._elementRef = _elementRef;
|
|
46
|
-
this.zone = zone;
|
|
47
46
|
/** Event emitted when the popover is closed. */
|
|
48
47
|
this.closed = new EventEmitter();
|
|
49
48
|
this.role = 'dialog';
|
|
@@ -321,15 +320,15 @@ class CmatPopoverComponent {
|
|
|
321
320
|
this.classList['cmat-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';
|
|
322
321
|
this.classList['cmat-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';
|
|
323
322
|
}
|
|
324
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
325
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
323
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverComponent, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
324
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: CmatPopoverComponent, isStandalone: true, selector: "cmat-popover", inputs: { popoverPanelStyles: "popoverPanelStyles", popoverArrowStyles: "popoverArrowStyles", popoverContentStyles: "popoverContentStyles", position: "position", triggerEvent: "triggerEvent", scrollStrategy: "scrollStrategy", enterDelay: "enterDelay", leaveDelay: "leaveDelay", xOffset: "xOffset", yOffset: "yOffset", arrowOffsetX: "arrowOffsetX", arrowOffsetY: "arrowOffsetY", arrowWidth: "arrowWidth", arrowHeight: "arrowHeight", closeOnPanelClick: "closeOnPanelClick", closeOnBackdropClick: "closeOnBackdropClick", disableAnimation: "disableAnimation", focusTrapEnabled: "focusTrapEnabled", focusTrapAutoCaptureEnabled: "focusTrapAutoCaptureEnabled", panelClass: "panelClass" }, outputs: { closed: "closed" }, host: { properties: { "attr.role": "this.role" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["cmatPopover"], ngImport: i0, template: "<ng-template>\r\n <div class=\"cmat-popover-panel shadow\" role=\"dialog\" [ngClass]=\"classList\" [ngStyle]=\"popoverPanelStyles\"\r\n (keydown)=\"handleKeydown($event)\" (click)=\"onClick()\" (focus)=\"onFocus()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\"\r\n [@.disabled]=\"disableAnimation\" [@transform]=\"'enter'\">\r\n <div class=\"cmat-popover-direction-arrow\" [ngStyle]=\"popoverArrowStyles\"></div>\r\n <div class=\"cmat-popover-content\" [ngStyle]=\"popoverContentStyles\" [cdkTrapFocus]=\"focusTrapEnabled\"\r\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".cmat-popover-panel{max-height:calc(100vh - 48px);padding:.5rem;border-radius:.5rem;font-size:1rem}.cmat-popover-panel[class*=cmat-popover-below]{margin-top:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-above]{margin-bottom:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-before]{margin-right:calc(.5em + 2px)}[dir=rtl] .cmat-popover-panel[class*=cmat-popover-before]{margin-right:auto;margin-left:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-after]{margin-left:calc(.5em + 2px)}[dir=rtl] .cmat-popover-panel[class*=cmat-popover-after]{margin-left:auto;margin-right:calc(.5em + 2px)}.cmat-popover-direction-arrow{position:absolute}.cmat-popover-direction-arrow:before,.cmat-popover-direction-arrow:after{position:absolute;display:inline-block;border-style:solid;content:\"\"}.cmat-popover-direction-arrow:before{border-width:.5em;border-color:var(--cmat-divider)}.cmat-popover-direction-arrow:after{border-width:calc(.5em - 1px);border-color:var(--cmat-bg-card)}[class*=cmat-popover-below] .cmat-popover-direction-arrow,[class*=cmat-popover-above] .cmat-popover-direction-arrow{width:1em}[class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{left:1px}[dir=rtl] [class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[dir=rtl] [class*=cmat-popover-above] .cmat-popover-direction-arrow:after{right:1px;left:auto}[class*=cmat-popover-below] .cmat-popover-direction-arrow:before,[class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[class*=cmat-popover-above] .cmat-popover-direction-arrow:before,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{border-left-color:transparent;border-right-color:transparent}[class*=cmat-popover-below] .cmat-popover-direction-arrow{top:0}[class*=cmat-popover-below] .cmat-popover-direction-arrow:before,[class*=cmat-popover-below] .cmat-popover-direction-arrow:after{bottom:0;border-top-width:0}[class*=cmat-popover-above] .cmat-popover-direction-arrow{bottom:0}[class*=cmat-popover-above] .cmat-popover-direction-arrow:before,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{top:0;border-bottom-width:0}[class*=cmat-popover-before] .cmat-popover-direction-arrow,[class*=cmat-popover-after] .cmat-popover-direction-arrow{height:1em}[class*=cmat-popover-before] .cmat-popover-direction-arrow:after,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{top:1px}[class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[class*=cmat-popover-before] .cmat-popover-direction-arrow:after,[class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{border-top-color:transparent;border-bottom-color:transparent}[class*=cmat-popover-before] .cmat-popover-direction-arrow{right:0}[class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[class*=cmat-popover-before] .cmat-popover-direction-arrow:after{left:0;border-right-width:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow{right:auto;left:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:after{left:auto;right:0;border-left-width:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:before{border-right-width:.5em}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:after{border-right-width:calc(.5em - 1px)}[class*=cmat-popover-after] .cmat-popover-direction-arrow{left:0}[class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{right:0;border-left-width:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow{left:auto;right:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:after{right:auto;left:0;border-right-width:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:before{border-left-width:.5em}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:after{border-left-width:calc(.5em - 1px)}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [cmatAnimations], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
326
325
|
}
|
|
327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverComponent, decorators: [{
|
|
328
327
|
type: Component,
|
|
329
328
|
args: [{ selector: 'cmat-popover', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [cmatAnimations], exportAs: 'cmatPopover', standalone: true, imports: [NgStyle, NgClass, A11yModule], template: "<ng-template>\r\n <div class=\"cmat-popover-panel shadow\" role=\"dialog\" [ngClass]=\"classList\" [ngStyle]=\"popoverPanelStyles\"\r\n (keydown)=\"handleKeydown($event)\" (click)=\"onClick()\" (focus)=\"onFocus()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\"\r\n [@.disabled]=\"disableAnimation\" [@transform]=\"'enter'\">\r\n <div class=\"cmat-popover-direction-arrow\" [ngStyle]=\"popoverArrowStyles\"></div>\r\n <div class=\"cmat-popover-content\" [ngStyle]=\"popoverContentStyles\" [cdkTrapFocus]=\"focusTrapEnabled\"\r\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".cmat-popover-panel{max-height:calc(100vh - 48px);padding:.5rem;border-radius:.5rem;font-size:1rem}.cmat-popover-panel[class*=cmat-popover-below]{margin-top:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-above]{margin-bottom:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-before]{margin-right:calc(.5em + 2px)}[dir=rtl] .cmat-popover-panel[class*=cmat-popover-before]{margin-right:auto;margin-left:calc(.5em + 2px)}.cmat-popover-panel[class*=cmat-popover-after]{margin-left:calc(.5em + 2px)}[dir=rtl] .cmat-popover-panel[class*=cmat-popover-after]{margin-left:auto;margin-right:calc(.5em + 2px)}.cmat-popover-direction-arrow{position:absolute}.cmat-popover-direction-arrow:before,.cmat-popover-direction-arrow:after{position:absolute;display:inline-block;border-style:solid;content:\"\"}.cmat-popover-direction-arrow:before{border-width:.5em;border-color:var(--cmat-divider)}.cmat-popover-direction-arrow:after{border-width:calc(.5em - 1px);border-color:var(--cmat-bg-card)}[class*=cmat-popover-below] .cmat-popover-direction-arrow,[class*=cmat-popover-above] .cmat-popover-direction-arrow{width:1em}[class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{left:1px}[dir=rtl] [class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[dir=rtl] [class*=cmat-popover-above] .cmat-popover-direction-arrow:after{right:1px;left:auto}[class*=cmat-popover-below] .cmat-popover-direction-arrow:before,[class*=cmat-popover-below] .cmat-popover-direction-arrow:after,[class*=cmat-popover-above] .cmat-popover-direction-arrow:before,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{border-left-color:transparent;border-right-color:transparent}[class*=cmat-popover-below] .cmat-popover-direction-arrow{top:0}[class*=cmat-popover-below] .cmat-popover-direction-arrow:before,[class*=cmat-popover-below] .cmat-popover-direction-arrow:after{bottom:0;border-top-width:0}[class*=cmat-popover-above] .cmat-popover-direction-arrow{bottom:0}[class*=cmat-popover-above] .cmat-popover-direction-arrow:before,[class*=cmat-popover-above] .cmat-popover-direction-arrow:after{top:0;border-bottom-width:0}[class*=cmat-popover-before] .cmat-popover-direction-arrow,[class*=cmat-popover-after] .cmat-popover-direction-arrow{height:1em}[class*=cmat-popover-before] .cmat-popover-direction-arrow:after,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{top:1px}[class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[class*=cmat-popover-before] .cmat-popover-direction-arrow:after,[class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{border-top-color:transparent;border-bottom-color:transparent}[class*=cmat-popover-before] .cmat-popover-direction-arrow{right:0}[class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[class*=cmat-popover-before] .cmat-popover-direction-arrow:after{left:0;border-right-width:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow{right:auto;left:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:before,[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:after{left:auto;right:0;border-left-width:0}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:before{border-right-width:.5em}[dir=rtl] [class*=cmat-popover-before] .cmat-popover-direction-arrow:after{border-right-width:calc(.5em - 1px)}[class*=cmat-popover-after] .cmat-popover-direction-arrow{left:0}[class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[class*=cmat-popover-after] .cmat-popover-direction-arrow:after{right:0;border-left-width:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow{left:auto;right:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:before,[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:after{right:auto;left:0;border-right-width:0}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:before{border-left-width:.5em}[dir=rtl] [class*=cmat-popover-after] .cmat-popover-direction-arrow:after{border-left-width:calc(.5em - 1px)}\n"] }]
|
|
330
329
|
}], ctorParameters: () => [{ type: i1.Directionality, decorators: [{
|
|
331
330
|
type: Optional
|
|
332
|
-
}] }, { type: i0.ElementRef }
|
|
331
|
+
}] }, { type: i0.ElementRef }], propDecorators: { closed: [{
|
|
333
332
|
type: Output
|
|
334
333
|
}], templateRef: [{
|
|
335
334
|
type: ViewChild,
|
|
@@ -638,10 +637,8 @@ class CmatPopoverTriggerDirective {
|
|
|
638
637
|
: [posX, posY];
|
|
639
638
|
// required for ChangeDetectionStrategy.OnPush
|
|
640
639
|
this._changeDetectorRef.markForCheck();
|
|
641
|
-
this.popover.
|
|
642
|
-
|
|
643
|
-
this.popover.setPositionClasses(pos);
|
|
644
|
-
});
|
|
640
|
+
this.popover.setCurrentStyles(pos);
|
|
641
|
+
this.popover.setPositionClasses(pos);
|
|
645
642
|
});
|
|
646
643
|
}
|
|
647
644
|
/**
|
|
@@ -771,10 +768,10 @@ class CmatPopoverTriggerDirective {
|
|
|
771
768
|
}
|
|
772
769
|
this.popover.setCurrentStyles();
|
|
773
770
|
}
|
|
774
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
775
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
771
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
772
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: CmatPopoverTriggerDirective, isStandalone: true, selector: "[cmatPopoverTriggerFor],[cmatPopoverTargetAt],[cmatPopoverTriggerOn]", inputs: { popover: ["cmatPopoverTriggerFor", "popover"], targetElement: ["cmatPopoverTargetAt", "targetElement"], triggerEvent: ["cmatPopoverTriggerOn", "triggerEvent"] }, outputs: { popoverOpened: "popoverOpened", popoverClosed: "popoverClosed" }, host: { listeners: { "click": "onClick($event)", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)", "mousedown": "handleMousedown($event)" }, properties: { "attr.aria-haspopup": "this.ariaHaspopup" } }, exportAs: ["cmatPopoverTrigger"], ngImport: i0 }); }
|
|
776
773
|
}
|
|
777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverTriggerDirective, decorators: [{
|
|
778
775
|
type: Directive,
|
|
779
776
|
args: [{
|
|
780
777
|
selector: '[cmatPopoverTriggerFor],[cmatPopoverTargetAt],[cmatPopoverTriggerOn]',
|
|
@@ -817,10 +814,10 @@ class CmatPopoverTargetDirective {
|
|
|
817
814
|
constructor(elementRef) {
|
|
818
815
|
this.elementRef = elementRef;
|
|
819
816
|
}
|
|
820
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
821
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
817
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
818
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: CmatPopoverTargetDirective, isStandalone: true, selector: "cmat-popover-target, [cmatPopoverTarget]", exportAs: ["cmatPopoverTarget"], ngImport: i0 }); }
|
|
822
819
|
}
|
|
823
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
820
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatPopoverTargetDirective, decorators: [{
|
|
824
821
|
type: Directive,
|
|
825
822
|
args: [{
|
|
826
823
|
selector: 'cmat-popover-target, [cmatPopoverTarget]',
|