@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1117 → 1.5.1119
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/assets/styles/main.min.css +1 -1
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +538 -538
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/lib/ds-ng.component.d.ts +1 -1
- package/package.json +1 -3
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +0 -87
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +0 -159
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +0 -150
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +0 -49
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +0 -31
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +0 -35
- package/esm2022/lib/components/bmb-advertisement-card/types.mjs +0 -2
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +0 -40
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +0 -18
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +0 -148
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +0 -52
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +0 -196
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +0 -62
- package/esm2022/lib/components/bmb-alert-center/types.mjs +0 -2
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +0 -26
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +0 -26
- package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +0 -27
- package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +0 -42
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +0 -55
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +0 -30
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +0 -262
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +0 -95
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +0 -40
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +0 -68
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +0 -41
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +0 -63
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +0 -95
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +0 -45
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +0 -54
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +0 -24
- package/esm2022/lib/components/bmb-calendar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-calendar/utils.mjs +0 -96
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +0 -154
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +0 -76
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +0 -80
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +0 -175
- package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +0 -57
- package/esm2022/lib/components/bmb-chat-bar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +0 -56
- package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +0 -2
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +0 -46
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +0 -80
- package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +0 -36
- package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +0 -27
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +0 -83
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +0 -69
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +0 -211
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +0 -123
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +0 -54
- package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +0 -25
- package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +0 -34
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +0 -54
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +0 -200
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +0 -28
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +0 -175
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +0 -76
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +0 -78
- package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +0 -9
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +0 -37
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +0 -154
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +0 -36
- package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +0 -159
- package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +0 -159
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +0 -29
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +0 -22
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +0 -181
- package/esm2022/lib/components/bmb-grades/types.mjs +0 -2
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +0 -55
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +0 -49
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +0 -77
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +0 -59
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +0 -76
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +0 -41
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +0 -39
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +0 -20
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +0 -49
- package/esm2022/lib/components/bmb-icon/types.mjs +0 -2
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +0 -23
- package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +0 -24
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +0 -19
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +0 -21
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +0 -33
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +0 -77
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +0 -147
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +0 -162
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +0 -116
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +0 -178
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +0 -85
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +0 -219
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +0 -191
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +0 -54
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +0 -34
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +0 -28
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +0 -23
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +0 -83
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +0 -60
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +0 -55
- package/esm2022/lib/components/bmb-list-group/types.mjs +0 -2
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +0 -83
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +0 -77
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +0 -55
- package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +0 -66
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +0 -40
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +0 -20
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +0 -33
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +0 -87
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +0 -88
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +0 -57
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +0 -99
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +0 -39
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +0 -44
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +0 -52
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +0 -70
- package/esm2022/lib/components/bmb-login-onboarding/types.mjs +0 -2
- package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +0 -43
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +0 -64
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +0 -14
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +0 -88
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +0 -139
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +0 -84
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +0 -15
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +0 -59
- package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +0 -30
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +0 -43
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +0 -86
- package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +0 -22
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +0 -52
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +0 -52
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +0 -153
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +0 -39
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +0 -196
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +0 -88
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +0 -75
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +0 -24
- package/esm2022/lib/components/bmb-push-notification/types.mjs +0 -2
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +0 -78
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +0 -117
- package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +0 -16
- package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +0 -55
- package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +0 -82
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +0 -103
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +0 -64
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +0 -16
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +0 -64
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +0 -32
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +0 -53
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +0 -53
- package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +0 -27
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +0 -88
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +0 -545
- package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +0 -127
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +0 -65
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +0 -135
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +0 -43
- package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +0 -65
- package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +0 -30
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +0 -74
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +0 -13
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +0 -238
- package/esm2022/lib/components/bmb-timestream/types.mjs +0 -2
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +0 -139
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +0 -61
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +0 -47
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +0 -26
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +0 -31
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +0 -70
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +0 -122
- package/esm2022/lib/components/bmb-top-bar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +0 -138
- package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +0 -44
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +0 -19
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +0 -71
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +0 -51
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +0 -28
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +0 -23
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +0 -85
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +0 -128
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +0 -55
- package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +0 -88
- package/esm2022/lib/directives/bmb-button/button.directive.mjs +0 -84
- package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +0 -29
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +0 -51
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +0 -36
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +0 -34
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +0 -37
- package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +0 -89
- package/esm2022/lib/directives/utils/clickoutside.directive.mjs +0 -41
- package/esm2022/lib/ds-ng.component.mjs +0 -11
- package/esm2022/lib/ds-ng.service.mjs +0 -14
- package/esm2022/lib/services/calendar.service.mjs +0 -51
- package/esm2022/lib/services/index.mjs +0 -3
- package/esm2022/lib/services/native-modal.service.mjs +0 -69
- package/esm2022/lib/services/notification.service.mjs +0 -77
- package/esm2022/lib/services/tabs.service.mjs +0 -30
- package/esm2022/lib/services/theme.service.mjs +0 -30
- package/esm2022/lib/services/toast.service.mjs +0 -24
- package/esm2022/lib/services/user/profile.service.mjs +0 -26
- package/esm2022/lib/types/colors.mjs +0 -2
- package/esm2022/lib/types/index.mjs +0 -11
- package/esm2022/lib/utils/countryCodes.mjs +0 -1089
- package/esm2022/lib/utils/currencyFormat.mjs +0 -7
- package/esm2022/lib/utils/dropdown.mjs +0 -85
- package/esm2022/lib/utils/formControl.mjs +0 -25
- package/esm2022/lib/utils/timestreamFilters.mjs +0 -32
- package/esm2022/lib/utils/utils.mjs +0 -66
- package/esm2022/public-api.mjs +0 -151
- package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +0 -5
package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation, } from '@angular/core';
|
|
2
|
-
import { ReactiveFormsModule, Validators, } from '@angular/forms';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { BmbTooltipComponent } from '../../bmb-tooltip/bmb-tooltip.component';
|
|
5
|
-
import { getPositionClass } from '../../../utils/utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
export class BmbInputValidationComponent {
|
|
9
|
-
constructor(cdr) {
|
|
10
|
-
this.cdr = cdr;
|
|
11
|
-
this.inputId = input('');
|
|
12
|
-
this.type = input('text');
|
|
13
|
-
this.appearance = input('normal');
|
|
14
|
-
this.label = input('');
|
|
15
|
-
this.labelPosition = input();
|
|
16
|
-
this.name = input('');
|
|
17
|
-
this.value = input();
|
|
18
|
-
this.checked = input(false);
|
|
19
|
-
this.isRequired = input(false);
|
|
20
|
-
this.idDisabled = input(false);
|
|
21
|
-
this.max = input();
|
|
22
|
-
this.min = input();
|
|
23
|
-
this.maxLength = input();
|
|
24
|
-
this.minLength = input();
|
|
25
|
-
this.pattern = input();
|
|
26
|
-
this.jsonFormat = input(false);
|
|
27
|
-
this.tooltip = input('');
|
|
28
|
-
this.rows = input(3);
|
|
29
|
-
this.tooltipPosition = input({
|
|
30
|
-
align: 'above',
|
|
31
|
-
justify: 'before',
|
|
32
|
-
});
|
|
33
|
-
this.showMaxTextLength = input(true);
|
|
34
|
-
this.helperMessage = input('');
|
|
35
|
-
this.errorMessage = input('');
|
|
36
|
-
this.customValidation = input();
|
|
37
|
-
this.isCustomError = model(false);
|
|
38
|
-
this.showError = model(false);
|
|
39
|
-
this.control = model();
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
this.addControlConfig(this.type(), this.value(), this.checked(), this.isRequired(), this.min(), this.max(), this.minLength(), this.pattern(), this.jsonFormat(), this.isCustomError(), this.customValidation());
|
|
43
|
-
}
|
|
44
|
-
addControlConfig(type, value, checked, isRequired, min, max, minLength, pattern, isJsonFormat, isCustomError, customValidation) {
|
|
45
|
-
if (!this.control()?.value && (!!value || checked)) {
|
|
46
|
-
this.addValue(this.control(), type, value, checked);
|
|
47
|
-
}
|
|
48
|
-
if (isRequired && !this.control()?.hasValidator(Validators.required)) {
|
|
49
|
-
this.control()?.addValidators(Validators.required);
|
|
50
|
-
}
|
|
51
|
-
if (min) {
|
|
52
|
-
this.control()?.addValidators(Validators.min(min));
|
|
53
|
-
}
|
|
54
|
-
if (max) {
|
|
55
|
-
this.control()?.addValidators(Validators.max(max));
|
|
56
|
-
}
|
|
57
|
-
if (minLength) {
|
|
58
|
-
this.control()?.addValidators(Validators.minLength(minLength));
|
|
59
|
-
}
|
|
60
|
-
if (pattern) {
|
|
61
|
-
this.control()?.addValidators(Validators.pattern(pattern));
|
|
62
|
-
}
|
|
63
|
-
if (type === 'email' && !this.control()?.hasValidator(Validators.email)) {
|
|
64
|
-
this.control()?.addValidators(Validators.email);
|
|
65
|
-
}
|
|
66
|
-
if (isJsonFormat) {
|
|
67
|
-
this.control()?.addValidators(this.validatorError('jsonValidation'));
|
|
68
|
-
}
|
|
69
|
-
if (isCustomError) {
|
|
70
|
-
this.control()?.addValidators(this.validatorError(customValidation));
|
|
71
|
-
}
|
|
72
|
-
if (this.idDisabled())
|
|
73
|
-
this.control()?.disable();
|
|
74
|
-
else
|
|
75
|
-
this.control()?.enable();
|
|
76
|
-
this.control()?.valueChanges.subscribe(() => {
|
|
77
|
-
this.cdr.markForCheck();
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
validatorError(errorType) {
|
|
81
|
-
if (typeof errorType === 'string') {
|
|
82
|
-
return (control) => {
|
|
83
|
-
if (!control.value) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
if (errorType === 'jsonValidation') {
|
|
87
|
-
try {
|
|
88
|
-
JSON.parse(control.value);
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
catch (e) {
|
|
92
|
-
return { invalidJson: true };
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return errorType;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
addValue(control, type, value, checked) {
|
|
103
|
-
if (type === 'radio') {
|
|
104
|
-
if (checked)
|
|
105
|
-
control.setValue(value);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (type === 'checkbox' || type === 'switch') {
|
|
109
|
-
if (checked)
|
|
110
|
-
control.setValue(checked);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
if (value) {
|
|
114
|
-
control.setValue(value);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
getClasses(className) {
|
|
119
|
-
if (this.type() === 'radio' || this.type() === 'checkbox') {
|
|
120
|
-
return getPositionClass(`${className}-direction`, this.labelPosition());
|
|
121
|
-
}
|
|
122
|
-
return '';
|
|
123
|
-
}
|
|
124
|
-
getErrorType(errorMessages, type, alternativeMessage) {
|
|
125
|
-
if (!!errorMessages && !!errorMessages[type])
|
|
126
|
-
return errorMessages[type];
|
|
127
|
-
return alternativeMessage;
|
|
128
|
-
}
|
|
129
|
-
isFieldRequired() {
|
|
130
|
-
return (this.control()?.hasValidator(Validators.required) || this.isRequired());
|
|
131
|
-
}
|
|
132
|
-
getErrorMessage() {
|
|
133
|
-
if (typeof this.errorMessage() === 'string' && !!this.errorMessage()) {
|
|
134
|
-
return this.errorMessage().toString();
|
|
135
|
-
}
|
|
136
|
-
const errorMessages = this.errorMessage();
|
|
137
|
-
if (this.control()?.hasError('pattern'))
|
|
138
|
-
return this.getErrorType(errorMessages, 'pattern', 'Formato no válido');
|
|
139
|
-
if (this.control()?.hasError('min'))
|
|
140
|
-
return this.getErrorType(errorMessages, 'min', `El valor mínimo requerido es de ${this.min()}`);
|
|
141
|
-
if (this.control()?.hasError('max'))
|
|
142
|
-
return this.getErrorType(errorMessages, 'max', `El valor máximo requerido es de ${this.max()}`);
|
|
143
|
-
if (this.control()?.hasError('minlength'))
|
|
144
|
-
return this.getErrorType(errorMessages, 'minlength', `El mínimo de caracteres requerido es de ${this.minLength()}`);
|
|
145
|
-
if (this.control()?.hasError('maxlength'))
|
|
146
|
-
return this.getErrorType(errorMessages, 'maxlength', `El máximo de caracteres requerido es de ${this.maxLength()}`);
|
|
147
|
-
if (this.control()?.hasError('required'))
|
|
148
|
-
return this.getErrorType(errorMessages, 'required', 'Este campo es requerido');
|
|
149
|
-
if (this.control()?.hasError('invalidJson'))
|
|
150
|
-
return this.getErrorType(errorMessages, 'invalidJson', 'formato json no válido');
|
|
151
|
-
if (this.control()?.hasError('customValidation'))
|
|
152
|
-
return errorMessages?.customValidation || '';
|
|
153
|
-
return '';
|
|
154
|
-
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputValidationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbInputValidationComponent, isStandalone: true, selector: "bmb-input-validation", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, idDisabled: { classPropertyName: "idDisabled", publicName: "idDisabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, isCustomError: { classPropertyName: "isCustomError", publicName: "isCustomError", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCustomError: "isCustomErrorChange", showError: "showErrorChange", control: "controlChange" }, ngImport: i0, template: "<section\n #inputValidation\n class=\"bmb_input-validation\"\n [ngClass]=\"{ disabled: idDisabled() }\"\n>\n <span\n class=\"bmb_input-validation-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validation')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validation-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validation-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validation-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === \"text-area\" && showMaxTextLength()) {\n <span class=\"bmb_input-validation-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || \"-\" }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validation-support\">\n @if (showError()) {\n <p class=\"bmb_input-validation-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validation-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-validation{-webkit-user-select:none;user-select:none}.bmb_input-validation-wrapper{display:block;position:relative}.bmb_input-validation-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validation-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validation-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validation-label-required{color:var(--input-error)}.bmb_input-validation-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validation-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validation-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validation-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validation-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validation-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validation.disabled{pointer-events:none;opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: BmbTooltipComponent, selector: "bmb-tooltip", inputs: ["text", "title", "icon", "size", "align", "justify", "isFill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
157
|
-
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputValidationComponent, decorators: [{
|
|
159
|
-
type: Component,
|
|
160
|
-
args: [{ selector: 'bmb-input-validation', standalone: true, imports: [CommonModule, ReactiveFormsModule, BmbTooltipComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #inputValidation\n class=\"bmb_input-validation\"\n [ngClass]=\"{ disabled: idDisabled() }\"\n>\n <span\n class=\"bmb_input-validation-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validation')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validation-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validation-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validation-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === \"text-area\" && showMaxTextLength()) {\n <span class=\"bmb_input-validation-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || \"-\" }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validation-support\">\n @if (showError()) {\n <p class=\"bmb_input-validation-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validation-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-validation{-webkit-user-select:none;user-select:none}.bmb_input-validation-wrapper{display:block;position:relative}.bmb_input-validation-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validation-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validation-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validation-label-required{color:var(--input-error)}.bmb_input-validation-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validation-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validation-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validation-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validation-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validation-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validation.disabled{pointer-events:none;opacity:.5}\n"] }]
|
|
161
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdGlvbi9ibWItaW5wdXQtdmFsaWRhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0aW9uL2JtYi1pbnB1dC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFHTCxtQkFBbUIsRUFFbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFheEQsTUFBTSxPQUFPLDJCQUEyQjtJQWdDdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvQjFDLFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsU0FBSSxHQUFHLEtBQUssQ0FBbUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsZUFBVSxHQUFHLEtBQUssQ0FBK0IsUUFBUSxDQUFDLENBQUM7UUFDM0QsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEtBQUssRUFBMkIsQ0FBQztR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LG1CQUFtQiwrQkFBRSxtQkFBbUI7OzRGQU1yRCwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxpQkFHbEQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUJtYklucHV0QXBwZWFyYW5jZSxcbiAgSUJtYklucHV0RXJyb3IsXG4gIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbixcbiAgSUJtYklucHV0VHlwZSxcbn0gZnJvbSAnLi4vYm1iLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1Db250cm9sLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJibVNpZGVQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYm1iLXRvb2x0aXAvYm1iLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFBvc2l0aW9uQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlscyc7XG5cbmV4cG9ydCB0eXBlIElCbWJJbnB1dFZhbFR5cGUgPSAnY2hlY2tib3gnIHwgJ2VtYWlsJyB8ICdwaG9uZScgfCAnc3dpdGNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWlucHV0LXZhbGlkYXRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBCbWJUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1pbnB1dC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC12YWxpZGF0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJtYklucHV0VmFsaWRhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlucHV0SWQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgdHlwZSA9IGlucHV0PElCbWJJbnB1dFR5cGUgfCBJQm1iSW5wdXRWYWxUeXBlPigndGV4dCcpO1xuICBhcHBlYXJhbmNlID0gaW5wdXQ8SUJtYklucHV0QXBwZWFyYW5jZSB8IHN0cmluZz4oJ25vcm1hbCcpO1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuICBsYWJlbFBvc2l0aW9uID0gaW5wdXQ8SUJibVNpZGVQb3NpdGlvbiB8IG51bGw+KCk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgdmFsdWUgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgY2hlY2tlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaXNSZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaWREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbWF4ID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtaW4gPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1heExlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluTGVuZ3RoID0gaW5wdXQ8bnVtYmVyPigpO1xuICBwYXR0ZXJuID0gaW5wdXQ8c3RyaW5nPigpO1xuICBqc29uRm9ybWF0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB0b29sdGlwID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJvd3MgPSBpbnB1dDxudW1iZXI+KDMpO1xuICB0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24+KHtcbiAgICBhbGlnbjogJ2Fib3ZlJyxcbiAgICBqdXN0aWZ5OiAnYmVmb3JlJyxcbiAgfSk7XG4gIHNob3dNYXhUZXh0TGVuZ3RoID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KHRydWUpO1xuICBoZWxwZXJNZXNzYWdlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGN1c3RvbVZhbGlkYXRpb24gPSBpbnB1dDxWYWxpZGF0b3JGbj4oKTtcblxuICBpc0N1c3RvbUVycm9yID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBzaG93RXJyb3IgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDb250cm9sQ29uZmlnKFxuICAgICAgdGhpcy50eXBlKCksXG4gICAgICB0aGlzLnZhbHVlKCksXG4gICAgICB0aGlzLmNoZWNrZWQoKSxcbiAgICAgIHRoaXMuaXNSZXF1aXJlZCgpLFxuICAgICAgdGhpcy5taW4oKSEsXG4gICAgICB0aGlzLm1heCgpISxcbiAgICAgIHRoaXMubWluTGVuZ3RoKCkhLFxuICAgICAgdGhpcy5wYXR0ZXJuKCkhLFxuICAgICAgdGhpcy5qc29uRm9ybWF0KCksXG4gICAgICB0aGlzLmlzQ3VzdG9tRXJyb3IoKSxcbiAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbigpISxcbiAgICApO1xuICB9XG5cbiAgYWRkQ29udHJvbENvbmZpZyhcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgY2hlY2tlZDogYm9vbGVhbixcbiAgICBpc1JlcXVpcmVkOiBib29sZWFuLFxuICAgIG1pbjogbnVtYmVyLFxuICAgIG1heDogbnVtYmVyLFxuICAgIG1pbkxlbmd0aDogbnVtYmVyLFxuICAgIHBhdHRlcm46IHN0cmluZyxcbiAgICBpc0pzb25Gb3JtYXQ6IGJvb2xlYW4sXG4gICAgaXNDdXN0b21FcnJvcjogYm9vbGVhbixcbiAgICBjdXN0b21WYWxpZGF0aW9uOiBWYWxpZGF0b3JGbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKT8udmFsdWUgJiYgKCEhdmFsdWUgfHwgY2hlY2tlZCkpIHtcbiAgICAgIHRoaXMuYWRkVmFsdWUodGhpcy5jb250cm9sKCkhLCB0eXBlLCB2YWx1ZSwgY2hlY2tlZCk7XG4gICAgfVxuXG4gICAgaWYgKGlzUmVxdWlyZWQgJiYgIXRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cblxuICAgIGlmIChtaW4pIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluKG1pbikpO1xuICAgIH1cblxuICAgIGlmIChtYXgpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4KG1heCkpO1xuICAgIH1cblxuICAgIGlmIChtaW5MZW5ndGgpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCkpO1xuICAgIH1cblxuICAgIGlmIChwYXR0ZXJuKSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnZW1haWwnICYmICF0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMuZW1haWwpKSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLmVtYWlsKTtcbiAgICB9XG5cbiAgICBpZiAoaXNKc29uRm9ybWF0KSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKCdqc29uVmFsaWRhdGlvbicpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNDdXN0b21FcnJvcikge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JFcnJvcihjdXN0b21WYWxpZGF0aW9uKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWREaXNhYmxlZCgpKSB0aGlzLmNvbnRyb2woKT8uZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5jb250cm9sKCk/LmVuYWJsZSgpO1xuXG4gICAgdGhpcy5jb250cm9sKCk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICB2YWxpZGF0b3JFcnJvcihlcnJvclR5cGU6IHN0cmluZyB8IFZhbGlkYXRvckZuKTogVmFsaWRhdG9yRm4ge1xuICAgIGlmICh0eXBlb2YgZXJyb3JUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yVHlwZSA9PT0gJ2pzb25WYWxpZGF0aW9uJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBKU09OLnBhcnNlKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZEpzb246IHRydWUgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXJyb3JUeXBlO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZhbHVlKFxuICAgIGNvbnRyb2w6IEZvcm1Db250cm9sLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBjaGVja2VkOiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICBpZiAodHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgaWYgKGNoZWNrZWQpIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnY2hlY2tib3gnIHx8IHR5cGUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldENsYXNzZXMoY2xhc3NOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3JhZGlvJyB8fCB0aGlzLnR5cGUoKSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgcmV0dXJuIGdldFBvc2l0aW9uQ2xhc3MoYCR7Y2xhc3NOYW1lfS1kaXJlY3Rpb25gLCB0aGlzLmxhYmVsUG9zaXRpb24oKSEpO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldEVycm9yVHlwZShcbiAgICBlcnJvck1lc3NhZ2VzOiBJQm1iSW5wdXRFcnJvcixcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgYWx0ZXJuYXRpdmVNZXNzYWdlOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCEhZXJyb3JNZXNzYWdlcyAmJiAhIShlcnJvck1lc3NhZ2VzIGFzIGFueSlbdHlwZV0pXG4gICAgICByZXR1cm4gKGVycm9yTWVzc2FnZXMgYXMgYW55KVt0eXBlXTtcbiAgICByZXR1cm4gYWx0ZXJuYXRpdmVNZXNzYWdlO1xuICB9XG5cbiAgaXNGaWVsZFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIHx8IHRoaXMuaXNSZXF1aXJlZCgpXG4gICAgKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdGhpcy5lcnJvck1lc3NhZ2UoKSA9PT0gJ3N0cmluZycgJiYgISF0aGlzLmVycm9yTWVzc2FnZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2UoKS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSB0aGlzLmVycm9yTWVzc2FnZSgpIGFzIElCbWJJbnB1dEVycm9yO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcigncGF0dGVybicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKGVycm9yTWVzc2FnZXMsICdwYXR0ZXJuJywgJ0Zvcm1hdG8gbm8gdsOhbGlkbycpO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21pbicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWluJyxcbiAgICAgICAgYEVsIHZhbG9yIG3DrW5pbW8gcmVxdWVyaWRvIGVzIGRlICR7dGhpcy5taW4oKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtYXgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21heCcsXG4gICAgICAgIGBFbCB2YWxvciBtw6F4aW1vIHJlcXVlcmlkbyBlcyBkZSAke3RoaXMubWF4KCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWlubGVuZ3RoJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtaW5sZW5ndGgnLFxuICAgICAgICBgRWwgbcOtbmltbyBkZSBjYXJhY3RlcmVzIHJlcXVlcmlkbyBlcyBkZSAke3RoaXMubWluTGVuZ3RoKCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWF4bGVuZ3RoJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtYXhsZW5ndGgnLFxuICAgICAgICBgRWwgbcOheGltbyBkZSBjYXJhY3RlcmVzIHJlcXVlcmlkbyBlcyBkZSAke3RoaXMubWF4TGVuZ3RoKCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcigncmVxdWlyZWQnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ3JlcXVpcmVkJyxcbiAgICAgICAgJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJyxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignaW52YWxpZEpzb24nKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ2ludmFsaWRKc29uJyxcbiAgICAgICAgJ2Zvcm1hdG8ganNvbiBubyB2w6FsaWRvJyxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignY3VzdG9tVmFsaWRhdGlvbicpKVxuICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZXM/LmN1c3RvbVZhbGlkYXRpb24gfHwgJyc7XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gICNpbnB1dFZhbGlkYXRpb25cbiAgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdGlvblwiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGlkRGlzYWJsZWQoKSB9XCJcbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0aW9uLXdyYXBwZXJcIlxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzZXMoJ2JtYl9pbnB1dC12YWxpZGF0aW9uJylcIlxuICA+XG4gICAgQGlmIChcbiAgICAgICEhbGFiZWwoKSB8fFxuICAgICAgaXNSZXF1aXJlZCgpIHx8XG4gICAgICAhIXRvb2x0aXAoKSB8fFxuICAgICAgKHR5cGUoKSA9PT0gXCJ0ZXh0LWFyZWFcIiAmJiBzaG93TWF4VGV4dExlbmd0aCgpKVxuICAgICkge1xuICAgICAgPGxhYmVsIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24tbGFiZWxcIiBbaHRtbEZvcl09XCJpbnB1dElkKClcIj5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICBAaWYgKGlzRmllbGRSZXF1aXJlZCgpKSB7XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24tbGFiZWwtcmVxdWlyZWRcIj4qPC9zbWFsbD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCEhdG9vbHRpcCgpKSB7XG4gICAgICAgICAgPGJtYi10b29sdGlwXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0aW9uLWxhYmVsLXRvb2x0aXBcIlxuICAgICAgICAgICAgW3RleHRdPVwidG9vbHRpcCgpXCJcbiAgICAgICAgICAgIFthbGlnbl09XCJ0b29sdGlwUG9zaXRpb24oKS5hbGlnblwiXG4gICAgICAgICAgICBbanVzdGlmeV09XCJ0b29sdGlwUG9zaXRpb24oKS5qdXN0aWZ5XCJcbiAgICAgICAgICAgIFtpY29uXT1cIidoZWxwJ1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHR5cGUoKSA9PT0gXCJ0ZXh0LWFyZWFcIiAmJiBzaG93TWF4VGV4dExlbmd0aCgpKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdGlvbi1sYWJlbC1tYXhcIj5cbiAgICAgICAgICAgIHt7IGNvbnRyb2woKT8udmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoIH19L3t7IG1heExlbmd0aCgpIHx8IFwiLVwiIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2xhYmVsPlxuICAgIH1cbiAgICA8bmctY29udGVudCAvPlxuICA8L3NwYW4+XG4gIEBpZiAoISFoZWxwZXJNZXNzYWdlKCkgfHwgc2hvd0Vycm9yKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24tc3VwcG9ydFwiPlxuICAgICAgQGlmIChzaG93RXJyb3IoKSkge1xuICAgICAgICA8cCBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0aW9uLXN1cHBvcnQtZXJyb3JcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L3A+XG4gICAgICB9IEBlbHNlIGlmICghIWhlbHBlck1lc3NhZ2UoKSkge1xuICAgICAgICA8cCBbY2xhc3NdPVwiJ2JtYl9pbnB1dC12YWxpZGF0aW9uLXN1cHBvcnQtaGVscGVyLScgKyBhcHBlYXJhbmNlKClcIj5cbiAgICAgICAgICB7eyBoZWxwZXJNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L3NlY3Rpb24+XG4iXX0=
|
package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { FormControl, Validators, } from '@angular/forms';
|
|
3
|
-
import { showError } from '../../../utils/utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class BmbInputValidationService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.controls = {};
|
|
8
|
-
}
|
|
9
|
-
getFormControlByName(name) {
|
|
10
|
-
return this.controls[name];
|
|
11
|
-
}
|
|
12
|
-
setFormControl(controlAdded, type, name) {
|
|
13
|
-
if (!this.getFormControlByName(name)) {
|
|
14
|
-
if (controlAdded) {
|
|
15
|
-
this.controls[name] = controlAdded;
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
this.controls[name] = this.newFormControlByType(type);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
newFormControlByType(type) {
|
|
22
|
-
if (type === 'radio' ||
|
|
23
|
-
type === 'checkbox' ||
|
|
24
|
-
type === 'phone' ||
|
|
25
|
-
type === 'number' ||
|
|
26
|
-
type === 'switch')
|
|
27
|
-
return new FormControl(null);
|
|
28
|
-
return new FormControl('');
|
|
29
|
-
}
|
|
30
|
-
addValue(control, type, value, checked) {
|
|
31
|
-
if (type === 'radio') {
|
|
32
|
-
if (checked)
|
|
33
|
-
control.setValue(value);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (type === 'checkbox' || type === 'switch') {
|
|
37
|
-
if (checked)
|
|
38
|
-
control.setValue(checked);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (value) {
|
|
42
|
-
control.setValue(value);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
addControlConfig(type, name, value, checked, isRequired, min, max, minLength, pattern, isJsonFormat, isCustomError, customValidation, cdr) {
|
|
47
|
-
const formControl = this.getFormControlByName(name);
|
|
48
|
-
if (!formControl.value && (!!value || checked)) {
|
|
49
|
-
this.addValue(formControl, type, value, checked);
|
|
50
|
-
}
|
|
51
|
-
if (isRequired && !formControl.hasValidator(Validators.required)) {
|
|
52
|
-
formControl.addValidators(Validators.required);
|
|
53
|
-
}
|
|
54
|
-
if (min) {
|
|
55
|
-
formControl.addValidators(Validators.min(min));
|
|
56
|
-
}
|
|
57
|
-
if (max) {
|
|
58
|
-
formControl.addValidators(Validators.max(max));
|
|
59
|
-
}
|
|
60
|
-
if (minLength) {
|
|
61
|
-
formControl.addValidators(Validators.minLength(minLength));
|
|
62
|
-
}
|
|
63
|
-
if (pattern) {
|
|
64
|
-
formControl.addValidators(Validators.pattern(pattern));
|
|
65
|
-
}
|
|
66
|
-
if (type === 'email' && !formControl.hasValidator(Validators.email)) {
|
|
67
|
-
formControl.addValidators(Validators.email);
|
|
68
|
-
}
|
|
69
|
-
if (isJsonFormat) {
|
|
70
|
-
formControl.addValidators(this.validatorError('jsonValidation'));
|
|
71
|
-
}
|
|
72
|
-
if (isCustomError) {
|
|
73
|
-
formControl.addValidators(this.validatorError(customValidation));
|
|
74
|
-
}
|
|
75
|
-
formControl.valueChanges.subscribe(() => {
|
|
76
|
-
cdr.markForCheck();
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
validatorError(errorType) {
|
|
80
|
-
if (typeof errorType === 'string') {
|
|
81
|
-
return (control) => {
|
|
82
|
-
if (!control.value) {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
if (errorType === 'jsonValidation') {
|
|
86
|
-
try {
|
|
87
|
-
JSON.parse(control.value);
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
catch (e) {
|
|
91
|
-
return { invalidJson: true };
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return null;
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return errorType;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
showError(name) {
|
|
102
|
-
return showError(this.getFormControlByName(name));
|
|
103
|
-
}
|
|
104
|
-
handleValidity(name) {
|
|
105
|
-
const control = this.getFormControlByName(name);
|
|
106
|
-
control.updateValueAndValidity();
|
|
107
|
-
control.markAsTouched();
|
|
108
|
-
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
110
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputValidationService, providedIn: 'root' }); }
|
|
111
|
-
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputValidationService, decorators: [{
|
|
113
|
-
type: Injectable,
|
|
114
|
-
args: [{ providedIn: 'root' }]
|
|
115
|
-
}] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LXZhbGlkYXRpb24vYm1iLWlucHV0LXZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBRUwsV0FBVyxFQUNYLFVBQVUsR0FFWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVVLGFBQVEsR0FBbUMsRUFBRSxDQUFDO0tBNkl2RDtJQTNJQyxvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQWdCLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxZQUF5QixFQUFFLElBQVksRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFTO1FBQzVCLElBQ0UsSUFBSSxLQUFLLE9BQU87WUFDaEIsSUFBSSxLQUFLLFVBQVU7WUFDbkIsSUFBSSxLQUFLLE9BQU87WUFDaEIsSUFBSSxLQUFLLFFBQVE7WUFDakIs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TyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxPQUF3QixFQUFpQyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDbEIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsSUFBSSxTQUFTLEtBQUssZ0JBQWdCLEVBQUU7b0JBQ2xDLElBQUk7d0JBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzFCLE9BQU8sSUFBSSxDQUFDO3FCQUNiO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7cUJBQzlCO2lCQUNGO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLE9BQU8sR0FBZ0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQTdJVSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQURaLE1BQU07OzRGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgVmFsaWRhdG9ycyxcclxuICBWYWxpZGF0b3JGbixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IHNob3dFcnJvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBCbWJJbnB1dFZhbGlkYXRpb25TZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH0gPSB7fTtcclxuXHJcbiAgZ2V0Rm9ybUNvbnRyb2xCeU5hbWUobmFtZTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHNbbmFtZV0gYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtQ29udHJvbChjb250cm9sQWRkZWQ6IEZvcm1Db250cm9sLCB0eXBlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmdldEZvcm1Db250cm9sQnlOYW1lKG5hbWUpKSB7XHJcbiAgICAgIGlmIChjb250cm9sQWRkZWQpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xzW25hbWVdID0gY29udHJvbEFkZGVkO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250cm9sc1tuYW1lXSA9IHRoaXMubmV3Rm9ybUNvbnRyb2xCeVR5cGUodHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXdGb3JtQ29udHJvbEJ5VHlwZSh0eXBlOiBhbnkpOiBGb3JtQ29udHJvbCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHR5cGUgPT09ICdyYWRpbycgfHxcclxuICAgICAgdHlwZSA9PT0gJ2NoZWNrYm94JyB8fFxyXG4gICAgICB0eXBlID09PSAncGhvbmUnIHx8XHJcbiAgICAgIHR5cGUgPT09ICdudW1iZXInIHx8XHJcbiAgICAgIHR5cGUgPT09ICdzd2l0Y2gnXHJcbiAgICApXHJcbiAgICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcbiAgfVxyXG5cclxuICBhZGRWYWx1ZShcclxuICAgIGNvbnRyb2w6IEZvcm1Db250cm9sLFxyXG4gICAgdHlwZTogc3RyaW5nLFxyXG4gICAgdmFsdWU6IHVua25vd24sXHJcbiAgICBjaGVja2VkOiBib29sZWFuLFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGUgPT09ICdyYWRpbycpIHtcclxuICAgICAgaWYgKGNoZWNrZWQpIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGUgPT09ICdjaGVja2JveCcgfHwgdHlwZSA9PT0gJ3N3aXRjaCcpIHtcclxuICAgICAgaWYgKGNoZWNrZWQpIGNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZENvbnRyb2xDb25maWcoXHJcbiAgICB0eXBlOiBzdHJpbmcsXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogdW5rbm93bixcclxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXHJcbiAgICBpc1JlcXVpcmVkOiBib29sZWFuLFxyXG4gICAgbWluOiBudW1iZXIsXHJcbiAgICBtYXg6IG51bWJlcixcclxuICAgIG1pbkxlbmd0aDogbnVtYmVyLFxyXG4gICAgcGF0dGVybjogc3RyaW5nLFxyXG4gICAgaXNKc29uRm9ybWF0OiBib29sZWFuLFxyXG4gICAgaXNDdXN0b21FcnJvcjogYm9vbGVhbixcclxuICAgIGN1c3RvbVZhbGlkYXRpb246IFZhbGlkYXRvckZuLFxyXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IHRoaXMuZ2V0Rm9ybUNvbnRyb2xCeU5hbWUobmFtZSk7XHJcblxyXG4gICAgaWYgKCFmb3JtQ29udHJvbC52YWx1ZSAmJiAoISF2YWx1ZSB8fCBjaGVja2VkKSkge1xyXG4gICAgICB0aGlzLmFkZFZhbHVlKGZvcm1Db250cm9sLCB0eXBlLCB2YWx1ZSwgY2hlY2tlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzUmVxdWlyZWQgJiYgIWZvcm1Db250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xyXG4gICAgICBmb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW4pIHtcclxuICAgICAgZm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1pbihtaW4pKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWF4KSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXgobWF4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1pbkxlbmd0aCkge1xyXG4gICAgICBmb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5wYXR0ZXJuKHBhdHRlcm4pKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ2VtYWlsJyAmJiAhZm9ybUNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMuZW1haWwpKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5lbWFpbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzSnNvbkZvcm1hdCkge1xyXG4gICAgICBmb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoJ2pzb25WYWxpZGF0aW9uJykpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0N1c3RvbUVycm9yKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JFcnJvcihjdXN0b21WYWxpZGF0aW9uKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdG9yRXJyb3IoZXJyb3JUeXBlOiBzdHJpbmcgfCBWYWxpZGF0b3JGbik6IFZhbGlkYXRvckZuIHtcclxuICAgIGlmICh0eXBlb2YgZXJyb3JUeXBlID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcclxuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVycm9yVHlwZSA9PT0gJ2pzb25WYWxpZGF0aW9uJykge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgSlNPTi5wYXJzZShjb250cm9sLnZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGludmFsaWRKc29uOiB0cnVlIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGVycm9yVHlwZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dFcnJvcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5nZXRGb3JtQ29udHJvbEJ5TmFtZShuYW1lKSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVWYWxpZGl0eShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRyb2w6IEZvcm1Db250cm9sID0gdGhpcy5nZXRGb3JtQ29udHJvbEJ5TmFtZShuYW1lKTtcclxuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|