@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1318 → 1.5.1320
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 +1962 -1962
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/index.d.ts +4070 -5
- package/package.json +1 -3
- package/esm2022/assets/i18n/en.json +0 -122
- package/esm2022/assets/i18n/es.json +0 -122
- 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 -174
- 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 -37
- 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 -71
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +0 -19
- 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 -47
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +0 -204
- 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 -32
- 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 -288
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +0 -101
- 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 -43
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +0 -100
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +0 -47
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +0 -56
- 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 -159
- 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 -200
- 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 -92
- 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 -208
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +0 -144
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +0 -58
- 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 -65
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +0 -177
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +0 -31
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +0 -192
- 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 -80
- 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 -166
- 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-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 -178
- package/esm2022/lib/components/bmb-grades/types.mjs +0 -2
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +0 -60
- 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 -86
- 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 -45
- 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 -50
- package/esm2022/lib/components/bmb-icon/types.mjs +0 -2
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +0 -32
- 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 -79
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +0 -147
- 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 -68
- 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 -91
- 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 -67
- 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 -65
- 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 -121
- 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 -45
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card-modal/bmb-notification-card-modal.component.mjs +0 -21
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +0 -114
- package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +0 -23
- 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 -58
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +0 -123
- 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 -180
- 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 -122
- 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 -101
- 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 -59
- 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 -90
- package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.component.mjs +0 -564
- package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +0 -541
- package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +0 -132
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +0 -66
- 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 -236
- 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 -39
- 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 -94
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +0 -86
- package/esm2022/lib/components/bmb-top-bar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +0 -141
- 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 -77
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +0 -64
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +0 -34
- 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 -51
- 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 -64
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +0 -41
- 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/bmb-selector/bmb-selector.directive.mjs +0 -28
- 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/pipes/translations.mjs +0 -22
- package/esm2022/lib/services/calendar/calendar.service.mjs +0 -51
- package/esm2022/lib/services/calendar.service.mjs +0 -51
- package/esm2022/lib/services/index.mjs +0 -3
- package/esm2022/lib/services/modal/native-modal.service.mjs +0 -60
- package/esm2022/lib/services/native-modal.service.mjs +0 -60
- package/esm2022/lib/services/notification/notification.service.mjs +0 -84
- package/esm2022/lib/services/notification.service.mjs +0 -84
- package/esm2022/lib/services/projection/projection.service.mjs +0 -49
- package/esm2022/lib/services/projection.service.mjs +0 -49
- package/esm2022/lib/services/tabs/tabs.service.mjs +0 -30
- package/esm2022/lib/services/tabs.service.mjs +0 -30
- package/esm2022/lib/services/theme/theme.service.mjs +0 -30
- package/esm2022/lib/services/theme.service.mjs +0 -30
- package/esm2022/lib/services/toast/toast.service.mjs +0 -24
- package/esm2022/lib/services/toast.service.mjs +0 -24
- package/esm2022/lib/services/translations/translations.service.mjs +0 -53
- 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 -71
- package/esm2022/public-api.mjs +0 -160
- package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +0 -5
- package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +0 -21
- package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +0 -37
- package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +0 -56
- package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +0 -23
- package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +0 -17
- package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +0 -13
- package/lib/components/bmb-advertisement-card/types.d.ts +0 -21
- package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +0 -14
- package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +0 -7
- package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +0 -31
- package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +0 -20
- package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +0 -48
- package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +0 -20
- package/lib/components/bmb-alert-center/types.d.ts +0 -64
- package/lib/components/bmb-badge/bmb-badge.component.d.ts +0 -11
- package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +0 -15
- package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +0 -8
- package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +0 -25
- package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +0 -27
- package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +0 -16
- package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +0 -69
- package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +0 -23
- package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +0 -13
- package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +0 -16
- package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +0 -21
- package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +0 -35
- package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +0 -21
- package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +0 -26
- package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +0 -9
- package/lib/components/bmb-calendar/types.d.ts +0 -43
- package/lib/components/bmb-calendar/utils.d.ts +0 -12
- package/lib/components/bmb-card/bmb-card.component.d.ts +0 -43
- package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +0 -50
- package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +0 -20
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +0 -62
- package/lib/components/bmb-chat-bar/bot_list.d.ts +0 -6
- package/lib/components/bmb-chat-bar/types.d.ts +0 -9
- package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +0 -23
- package/lib/components/bmb-chat-bubbles/types.d.ts +0 -23
- package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +0 -21
- package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +0 -33
- package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +0 -17
- package/lib/components/bmb-container/bmb-container.component.d.ts +0 -9
- package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +0 -35
- package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +0 -35
- package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +0 -42
- package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +0 -51
- package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +0 -28
- package/lib/components/bmb-divider/bmb-divider.component.d.ts +0 -8
- package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +0 -17
- package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +0 -26
- package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +0 -62
- package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +0 -13
- package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +0 -53
- package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +0 -45
- package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +0 -25
- package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +0 -10
- package/lib/components/bmb-fab/bmb-fab.component.d.ts +0 -15
- package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +0 -34
- package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +0 -12
- package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +0 -14
- package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +0 -34
- package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +0 -13
- package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +0 -11
- package/lib/components/bmb-grades/bmb-grades.component.d.ts +0 -43
- package/lib/components/bmb-grades/types.d.ts +0 -25
- package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +0 -17
- package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +0 -23
- package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +0 -30
- package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +0 -24
- package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +0 -28
- package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +0 -27
- package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +0 -25
- package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +0 -9
- package/lib/components/bmb-icon/bmb-icon.component.d.ts +0 -23
- package/lib/components/bmb-icon/types.d.ts +0 -1
- package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +0 -14
- package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +0 -10
- package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +0 -11
- package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +0 -10
- package/lib/components/bmb-image/bmb-image.component.d.ts +0 -19
- package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +0 -31
- package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +0 -52
- package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +0 -45
- package/lib/components/bmb-input/bmb-input.component.d.ts +0 -68
- package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +0 -52
- package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +0 -55
- package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +0 -23
- package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +0 -31
- package/lib/components/bmb-item/bmb-item.component.d.ts +0 -16
- package/lib/components/bmb-legend/bmb-legend.component.d.ts +0 -9
- package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +0 -33
- package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +0 -27
- package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +0 -18
- package/lib/components/bmb-list-group/types.d.ts +0 -1
- package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +0 -33
- package/lib/components/bmb-loader/bmb-loader.component.d.ts +0 -31
- package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +0 -27
- package/lib/components/bmb-login/bmb-login.component.d.ts +0 -33
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +0 -14
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +0 -8
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +0 -12
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +0 -19
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +0 -17
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +0 -11
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +0 -19
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +0 -19
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +0 -15
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +0 -22
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +0 -25
- package/lib/components/bmb-login-onboarding/types.d.ts +0 -15
- package/lib/components/bmb-logo/bmb-logo.component.d.ts +0 -19
- package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +0 -35
- package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +0 -6
- package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +0 -47
- package/lib/components/bmb-modal/bmb-modal.component.d.ts +0 -31
- package/lib/components/bmb-modal/bmb-modal.interface.d.ts +0 -44
- package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +0 -45
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +0 -7
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +0 -15
- package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +0 -13
- package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +0 -21
- package/lib/components/bmb-notification-card/bmb-notification-card-modal/bmb-notification-card-modal.component.d.ts +0 -8
- package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +0 -35
- package/lib/components/bmb-notification-counter/bmb-notification-counter.component.d.ts +0 -9
- package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +0 -9
- package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +0 -14
- package/lib/components/bmb-portal/bmb-portal.component.d.ts +0 -23
- package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +0 -40
- package/lib/components/bmb-profile/bmb-profile.component.d.ts +0 -34
- package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +0 -19
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +0 -57
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +0 -15
- package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +0 -23
- package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +0 -18
- package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +0 -11
- package/lib/components/bmb-push-notification/types.d.ts +0 -46
- package/lib/components/bmb-radial/bmb-radial.component.d.ts +0 -33
- package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +0 -33
- package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +0 -26
- package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +0 -35
- package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +0 -10
- package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +0 -10
- package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +0 -7
- package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +0 -24
- package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +0 -11
- package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +0 -32
- package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +0 -23
- package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +0 -10
- package/lib/components/bmb-switch/bmb-switch.component.d.ts +0 -25
- package/lib/components/bmb-table-lite/bmb-table-lite.component.d.ts +0 -97
- package/lib/components/bmb-table-lite/bmb-table-lite.interface.d.ts +0 -22
- package/lib/components/bmb-tables/bmb-tables.component.d.ts +0 -104
- package/lib/components/bmb-tables/bmb-tables.interface.d.ts +0 -21
- package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +0 -41
- package/lib/components/bmb-tags/bmb-tags.component.d.ts +0 -26
- package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +0 -34
- package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +0 -17
- package/lib/components/bmb-theme/bmb-theme.component.d.ts +0 -19
- package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +0 -15
- package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +0 -25
- package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +0 -5
- package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +0 -67
- package/lib/components/bmb-timestream/types.d.ts +0 -54
- package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +0 -29
- package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +0 -26
- package/lib/components/bmb-toast/bmb-toast.component.d.ts +0 -16
- package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +0 -17
- package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +0 -7
- package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +0 -32
- package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +0 -47
- package/lib/components/bmb-top-bar/types.d.ts +0 -6
- package/lib/components/bmb-totp/bmb-totp.component.d.ts +0 -31
- package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +0 -19
- package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +0 -10
- package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +0 -19
- package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +0 -28
- package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +0 -14
- package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +0 -8
- package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +0 -42
- package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +0 -40
- package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +0 -16
- package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +0 -22
- package/lib/directives/bmb-button/button.directive.d.ts +0 -29
- package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +0 -10
- package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +0 -24
- package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +0 -15
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +0 -9
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +0 -14
- package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +0 -29
- package/lib/directives/bmb-selector/bmb-selector.directive.d.ts +0 -8
- package/lib/directives/utils/clickoutside.directive.d.ts +0 -15
- package/lib/ds-ng.component.d.ts +0 -5
- package/lib/ds-ng.service.d.ts +0 -6
- package/lib/pipes/translations.d.ts +0 -10
- package/lib/services/calendar/calendar.service.d.ts +0 -15
- package/lib/services/calendar.service.d.ts +0 -15
- package/lib/services/index.d.ts +0 -2
- package/lib/services/modal/native-modal.service.d.ts +0 -18
- package/lib/services/native-modal.service.d.ts +0 -18
- package/lib/services/notification/notification.service.d.ts +0 -20
- package/lib/services/notification.service.d.ts +0 -20
- package/lib/services/projection/projection.service.d.ts +0 -31
- package/lib/services/projection.service.d.ts +0 -31
- package/lib/services/tabs/tabs.service.d.ts +0 -13
- package/lib/services/tabs.service.d.ts +0 -13
- package/lib/services/theme/theme.service.d.ts +0 -11
- package/lib/services/theme.service.d.ts +0 -11
- package/lib/services/toast/toast.service.d.ts +0 -9
- package/lib/services/toast.service.d.ts +0 -9
- package/lib/services/translations/translations.service.d.ts +0 -22
- package/lib/services/user/profile.service.d.ts +0 -9
- package/lib/types/colors.d.ts +0 -2
- package/lib/types/index.d.ts +0 -128
- package/lib/utils/countryCodes.d.ts +0 -7
- package/lib/utils/currencyFormat.d.ts +0 -1
- package/lib/utils/dropdown.d.ts +0 -6
- package/lib/utils/formControl.d.ts +0 -7
- package/lib/utils/timestreamFilters.d.ts +0 -2
- package/lib/utils/utils.d.ts +0 -13
- package/public-api.d.ts +0 -150
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, input, model, signal, } from '@angular/core';
|
|
2
|
-
import { FormControl, FormsModule, ReactiveFormsModule, } from '@angular/forms';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { BmbDropdownComponent, } from '../bmb-dropdown/bmb-dropdown.component';
|
|
5
|
-
import { IBmbCountryCodes } from '../../utils/countryCodes';
|
|
6
|
-
import { BmbInputValidatorComponent } from '../bmb-input/bmb-input-validator/bmb-input-validator.component';
|
|
7
|
-
import { buildErrorMessage, getCustomValidation, getCustomValidationMessage, getUUID, } from '../../utils/utils';
|
|
8
|
-
import { BmbInputContentComponent } from '../bmb-input/bmb-input-content/bmb-input-content.component';
|
|
9
|
-
import { assignNewFormControl, handleValidity, showError, } from '../../utils/formControl';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "@angular/forms";
|
|
13
|
-
export class BmbInputPhoneNumberComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.label = input('');
|
|
16
|
-
this.name = input(getUUID());
|
|
17
|
-
this.value = input('');
|
|
18
|
-
this.isRequired = input(false);
|
|
19
|
-
this.tooltip = input('');
|
|
20
|
-
this.tooltipPosition = input({
|
|
21
|
-
align: 'above',
|
|
22
|
-
justify: 'before',
|
|
23
|
-
});
|
|
24
|
-
this.defaultLada = input('+52'); //Deprecated
|
|
25
|
-
this.defaultCountryCode = input('mx'); //Must match the area lada of the initial value
|
|
26
|
-
this.placeholder = input('');
|
|
27
|
-
this.appearance = input('normal'); //Deprecated
|
|
28
|
-
this.errorMessage = input('');
|
|
29
|
-
this.disabled = input(false);
|
|
30
|
-
this.inputId = input(this.name());
|
|
31
|
-
this.helperMessage = input('');
|
|
32
|
-
this.preferredCountries = input(['mx']);
|
|
33
|
-
this.onlyCountries = input([]);
|
|
34
|
-
this.customValidation = input();
|
|
35
|
-
this.control = model(new FormControl());
|
|
36
|
-
this.showError = model(false); // deprecated
|
|
37
|
-
this.uuid = getUUID();
|
|
38
|
-
this.isFocused = signal(false);
|
|
39
|
-
this.allCountryCodes = IBmbCountryCodes;
|
|
40
|
-
this.ladaControl = new FormControl();
|
|
41
|
-
this.phoneControl = new FormControl({
|
|
42
|
-
value: '',
|
|
43
|
-
disabled: this.disabled(),
|
|
44
|
-
});
|
|
45
|
-
this.countryFiltering = [];
|
|
46
|
-
this.isControlNull = false;
|
|
47
|
-
this.customValidationMessage = '';
|
|
48
|
-
}
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
if (!this.control()) {
|
|
51
|
-
this.control.set(assignNewFormControl(this.name(), this.control()));
|
|
52
|
-
this.isControlNull = true;
|
|
53
|
-
}
|
|
54
|
-
if (!!this.value() || !!this.control().value) {
|
|
55
|
-
let inputs = [];
|
|
56
|
-
if (!this.defaultCountryCode()) {
|
|
57
|
-
inputs.push('defaultCountry');
|
|
58
|
-
}
|
|
59
|
-
else if (!this.getSelectedCountry(this.defaultCountryCode())) {
|
|
60
|
-
throw new Error(`
|
|
61
|
-
[${this.name()}] - The value ${this.defaultCountryCode()} for "defaultCountryCode" does not exist in the country List.
|
|
62
|
-
`);
|
|
63
|
-
}
|
|
64
|
-
if (inputs.length) {
|
|
65
|
-
throw new Error(`
|
|
66
|
-
[${this.name()}] - The ${buildErrorMessage(inputs)} required when there is an initial "value" in "bmb-input-phone.".
|
|
67
|
-
`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
this.ladaControl.setValue(this.getSelectedCountryCode(this.defaultCountryCode().toLocaleLowerCase()));
|
|
71
|
-
this.phoneControl.setValue(this.getNumberValue());
|
|
72
|
-
this.countryFiltering = this.getOptions();
|
|
73
|
-
this.phoneControl.valueChanges.subscribe((value) => {
|
|
74
|
-
if (!!value) {
|
|
75
|
-
this.setControlValue(this.getSelectedCountryLada(this.ladaControl.value), value);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
this.control().valueChanges.subscribe((value) => {
|
|
79
|
-
if (value === null) {
|
|
80
|
-
this.phoneControl.reset('');
|
|
81
|
-
this.ladaControl.reset(this.getSelectedCountryCode(this.defaultCountryCode().toLocaleLowerCase()));
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
handleFocus(value) {
|
|
86
|
-
this.isFocused.set(value);
|
|
87
|
-
}
|
|
88
|
-
handleCustomValidator() {
|
|
89
|
-
return (control) => {
|
|
90
|
-
const { value } = control;
|
|
91
|
-
if (!value)
|
|
92
|
-
return null;
|
|
93
|
-
if (this.phoneControl.hasError('pattern'))
|
|
94
|
-
return { pattern: true };
|
|
95
|
-
if (this.phoneControl.hasError('maxlength') ||
|
|
96
|
-
this.phoneControl.hasError('minlength')) {
|
|
97
|
-
return { minlength: true };
|
|
98
|
-
}
|
|
99
|
-
const regExp = new RegExp(`^\\${this.getSelectedCountryLada(this.ladaControl.value)}\\d{${this.getSelectedCountryLength(this.ladaControl.value)}}$`);
|
|
100
|
-
if (!regExp.test(control.value)) {
|
|
101
|
-
this.customValidationMessage =
|
|
102
|
-
'Por favor ingresa un número de teléfono válido, verifica si la lada es correcta.';
|
|
103
|
-
return { customValidation: true };
|
|
104
|
-
}
|
|
105
|
-
const result = getCustomValidation(this.customValidation(), this.control());
|
|
106
|
-
this.customValidationMessage = getCustomValidationMessage(result, this.errorMessage());
|
|
107
|
-
return result;
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
getUUID(name) {
|
|
111
|
-
return `${name}_${this.name()}_${this.uuid}`;
|
|
112
|
-
}
|
|
113
|
-
setControlValue(lada, phoneNumber) {
|
|
114
|
-
if (!!lada && !!phoneNumber) {
|
|
115
|
-
this.control().setValue(lada + phoneNumber);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
this.control().reset('');
|
|
119
|
-
}
|
|
120
|
-
this.handleValidity();
|
|
121
|
-
}
|
|
122
|
-
getNumberValue() {
|
|
123
|
-
const value = this.control().value || this.value();
|
|
124
|
-
return value.replace(this.getSelectedCountryLada(this.ladaControl.value), '');
|
|
125
|
-
}
|
|
126
|
-
getSelectedCountry(value) {
|
|
127
|
-
return this.allCountryCodes.find(({ country_code }) => country_code.toLocaleLowerCase() === value);
|
|
128
|
-
}
|
|
129
|
-
getSelectedCountryCode(value) {
|
|
130
|
-
const selectedCountry = this.getSelectedCountry(value);
|
|
131
|
-
if (!!selectedCountry) {
|
|
132
|
-
return selectedCountry.country_code.toLocaleLowerCase();
|
|
133
|
-
}
|
|
134
|
-
return '';
|
|
135
|
-
}
|
|
136
|
-
getSelectedCountryLada(value) {
|
|
137
|
-
const selectedCountry = this.getSelectedCountry(value);
|
|
138
|
-
if (!!selectedCountry) {
|
|
139
|
-
return selectedCountry.lada;
|
|
140
|
-
}
|
|
141
|
-
return '';
|
|
142
|
-
}
|
|
143
|
-
getSelectedCountryLength(value) {
|
|
144
|
-
const selectedCountry = this.getSelectedCountry(value);
|
|
145
|
-
if (!!selectedCountry) {
|
|
146
|
-
return selectedCountry.length;
|
|
147
|
-
}
|
|
148
|
-
return 0;
|
|
149
|
-
}
|
|
150
|
-
onValueChange(value) {
|
|
151
|
-
if (!!this.phoneControl.value) {
|
|
152
|
-
this.setControlValue(this.getSelectedCountryLada(value), this.phoneControl.value);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
getOptions() {
|
|
156
|
-
if (this.onlyCountries().length) {
|
|
157
|
-
const lowerCaseCountries = this.onlyCountries().map((country) => country.toLocaleLowerCase());
|
|
158
|
-
const filteredOptions = this.allCountryCodes.filter(({ country_code }) => {
|
|
159
|
-
return lowerCaseCountries.includes(country_code.toLocaleLowerCase());
|
|
160
|
-
});
|
|
161
|
-
return filteredOptions.map(({ country, lada, country_code }) => ({
|
|
162
|
-
name: `${country} (${lada})`,
|
|
163
|
-
value: country_code.toLocaleLowerCase(),
|
|
164
|
-
selectedText: lada,
|
|
165
|
-
icon: 'flag',
|
|
166
|
-
}));
|
|
167
|
-
}
|
|
168
|
-
return this.allCountryCodes.map(({ country, lada, country_code }) => ({
|
|
169
|
-
name: `${country} (${lada})`,
|
|
170
|
-
value: country_code.toLocaleLowerCase(),
|
|
171
|
-
selectedText: lada,
|
|
172
|
-
icon: 'flag',
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
getErrorMessage() {
|
|
176
|
-
const pattern = 'Por favor ingresa sólo caracteres numéricos';
|
|
177
|
-
const minLength = `Por favor ingresa ${this.getSelectedCountryLength(this.ladaControl.value)} caracteres numéricos`;
|
|
178
|
-
if (!!this.errorMessage()) {
|
|
179
|
-
if (typeof this.errorMessage() === 'string')
|
|
180
|
-
return {
|
|
181
|
-
required: this.errorMessage().toString(),
|
|
182
|
-
pattern,
|
|
183
|
-
minLength,
|
|
184
|
-
customValidation: this.customValidationMessage,
|
|
185
|
-
};
|
|
186
|
-
return {
|
|
187
|
-
pattern,
|
|
188
|
-
minLength,
|
|
189
|
-
...this.errorMessage(),
|
|
190
|
-
customValidation: this.customValidationMessage,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
pattern,
|
|
195
|
-
minLength,
|
|
196
|
-
customValidation: this.customValidationMessage,
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
handleValidity() {
|
|
200
|
-
handleValidity(this.control());
|
|
201
|
-
}
|
|
202
|
-
get shouldShowError() {
|
|
203
|
-
return showError(this.control()) || showError(this.phoneControl);
|
|
204
|
-
}
|
|
205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputPhoneNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbInputPhoneNumberComponent, isStandalone: true, selector: "bmb-input-phone-number", inputs: { label: { classPropertyName: "label", publicName: "label", 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 }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, defaultLada: { classPropertyName: "defaultLada", publicName: "defaultLada", isSignal: true, isRequired: false, transformFunction: null }, defaultCountryCode: { classPropertyName: "defaultCountryCode", publicName: "defaultCountryCode", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null }, onlyCountries: { classPropertyName: "onlyCountries", publicName: "onlyCountries", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { control: "controlChange", showError: "showErrorChange" }, ngImport: i0, template: "<bmb-input-validator\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"!!defaultCountryCode() ? value() : ''\"\n [errorMessage]=\"getErrorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"handleCustomValidator()\"\n [inputId]=\"inputId()\"\n>\n <section class=\"bmb_input-phone\">\n <section\n class=\"bmb_input-phone-container\"\n [ngClass]=\"{\n 'bmb_input-phone-container-error': shouldShowError,\n 'bmb_input-phone-container-focus': isFocused()\n }\"\n >\n <bmb-dropdown\n class=\"bmb_input-phone-lada\"\n [name]=\"getUUID('lada')\"\n [value]=\"ladaControl.value\"\n [required]=\"true\"\n [disabled]=\"disabled()\"\n [showIcon]=\"false\"\n [options]=\"countryFiltering\"\n [preferredOptions]=\"preferredCountries()\"\n [control]=\"ladaControl\"\n (onValueChange)=\"onValueChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n <bmb-input-content\n class=\"bmb_input-phone-number\"\n [name]=\"getUUID('phone')\"\n pattern=\"^\\d+$\"\n [control]=\"phoneControl\"\n [inputId]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [maxLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [minLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [isRequired]=\"isRequired()\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleValidity()\"\n />\n </section>\n <input\n hidden\n type=\"text\"\n [name]=\"name()\"\n [required]=\"isRequired()\"\n [formControl]=\"control()\"\n [tabindex]=\"-1\"\n />\n </section>\n</bmb-input-validator>\n", styles: ["@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-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-phone{display:block;position:relative}.bmb_input-phone-container{display:flex;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease}.bmb_input-phone-container-error{border-color:var(--input-error)}.bmb_input-phone-container:focus,.bmb_input-phone-container:focus-visible,.bmb_input-phone-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-phone-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-phone-container .bmb_input-validator-label{display:none}.bmb_input-phone-container .bmb_input-validator{padding:0}.bmb_input-phone-lada .bmb_dropdown{width:5rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal{border-top-right-radius:0;border-bottom-right-radius:0;border-width:0 .0625rem 0 0;height:2.75rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus-visible,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:hover{border-width:0 .0625rem 0 0;outline:0 none}.bmb_input-phone-lada .bmb_dropdown .bmb_dropdown-content-modal{min-width:max-content}.bmb_input-phone-number{flex:1}.bmb_input-phone-number .bmb_field-input-normal{border-top-left-radius:0;border-bottom-left-radius:0;border:0;height:2.75rem}.bmb_input-phone-number .bmb_field-input-normal:focus,.bmb_input-phone-number .bmb_field-input-normal:focus-visible,.bmb_input-phone-number .bmb_field-input-normal:hover{border:0;outline:0 none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: BmbDropdownComponent, selector: "bmb-dropdown", inputs: ["required", "showIcon", "placeholder", "icon", "options", "helperText", "errorMessage", "label", "name", "preferredOptions", "isMultiSelect", "tooltip", "tooltipPosition", "disabled", "value", "isFilterable", "inputId", "customValidation", "control", "isModalOpen"], outputs: ["controlChange", "onValueChange", "onFocus", "isModalOpenChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
207
|
-
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputPhoneNumberComponent, decorators: [{
|
|
209
|
-
type: Component,
|
|
210
|
-
args: [{ selector: 'bmb-input-phone-number', standalone: true, imports: [
|
|
211
|
-
CommonModule,
|
|
212
|
-
FormsModule,
|
|
213
|
-
ReactiveFormsModule,
|
|
214
|
-
BmbDropdownComponent,
|
|
215
|
-
BmbInputContentComponent,
|
|
216
|
-
BmbInputValidatorComponent,
|
|
217
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<bmb-input-validator\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"!!defaultCountryCode() ? value() : ''\"\n [errorMessage]=\"getErrorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"handleCustomValidator()\"\n [inputId]=\"inputId()\"\n>\n <section class=\"bmb_input-phone\">\n <section\n class=\"bmb_input-phone-container\"\n [ngClass]=\"{\n 'bmb_input-phone-container-error': shouldShowError,\n 'bmb_input-phone-container-focus': isFocused()\n }\"\n >\n <bmb-dropdown\n class=\"bmb_input-phone-lada\"\n [name]=\"getUUID('lada')\"\n [value]=\"ladaControl.value\"\n [required]=\"true\"\n [disabled]=\"disabled()\"\n [showIcon]=\"false\"\n [options]=\"countryFiltering\"\n [preferredOptions]=\"preferredCountries()\"\n [control]=\"ladaControl\"\n (onValueChange)=\"onValueChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n <bmb-input-content\n class=\"bmb_input-phone-number\"\n [name]=\"getUUID('phone')\"\n pattern=\"^\\d+$\"\n [control]=\"phoneControl\"\n [inputId]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [maxLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [minLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [isRequired]=\"isRequired()\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleValidity()\"\n />\n </section>\n <input\n hidden\n type=\"text\"\n [name]=\"name()\"\n [required]=\"isRequired()\"\n [formControl]=\"control()\"\n [tabindex]=\"-1\"\n />\n </section>\n</bmb-input-validator>\n", styles: ["@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-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-phone{display:block;position:relative}.bmb_input-phone-container{display:flex;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease}.bmb_input-phone-container-error{border-color:var(--input-error)}.bmb_input-phone-container:focus,.bmb_input-phone-container:focus-visible,.bmb_input-phone-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-phone-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-phone-container .bmb_input-validator-label{display:none}.bmb_input-phone-container .bmb_input-validator{padding:0}.bmb_input-phone-lada .bmb_dropdown{width:5rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal{border-top-right-radius:0;border-bottom-right-radius:0;border-width:0 .0625rem 0 0;height:2.75rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus-visible,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:hover{border-width:0 .0625rem 0 0;outline:0 none}.bmb_input-phone-lada .bmb_dropdown .bmb_dropdown-content-modal{min-width:max-content}.bmb_input-phone-number{flex:1}.bmb_input-phone-number .bmb_field-input-normal{border-top-left-radius:0;border-bottom-left-radius:0;border:0;height:2.75rem}.bmb_input-phone-number .bmb_field-input-normal:focus,.bmb_input-phone-number .bmb_field-input-normal:focus-visible,.bmb_input-phone-number .bmb_field-input-normal:hover{border:0;outline:0 none}\n"] }]
|
|
218
|
-
}] });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXBob25lLW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0LXBob25lLW51bWJlci9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtcGhvbmUtbnVtYmVyL2JtYi1pbnB1dC1waG9uZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLG1CQUFtQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsb0JBQW9CLEdBRXJCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQWtCakMsTUFBTSxPQUFPLDRCQUE0QjtJ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dUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQm1iRHJvcGRvd25Db21wb25lbnQsXG4gIElCbWJEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb3VudHJ5Q29kZSwgSUJtYkNvdW50cnlDb2RlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvdW50cnlDb2Rlcyc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxufSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdG9yL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIGJ1aWxkRXJyb3JNZXNzYWdlLFxuICBnZXRDdXN0b21WYWxpZGF0aW9uLFxuICBnZXRDdXN0b21WYWxpZGF0aW9uTWVzc2FnZSxcbiAgZ2V0VVVJRCxcbiAgaXNFcnJvck1lc3NhZ2VTZXQsXG59IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IEJtYklucHV0Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtY29udGVudC9ibWItaW5wdXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIGhhbmRsZVZhbGlkaXR5LFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWlucHV0LXBob25lLW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC1waG9uZS1udW1iZXIuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iRHJvcGRvd25Db21wb25lbnQsXG4gICAgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50LFxuICAgIEJtYklucHV0VmFsaWRhdG9yQ29tcG9uZW50LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRQaG9uZU51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBkZWZhdWx0TGFkYSA9IGlucHV0PHN0cmluZz4oJys1MicpOyAvL0RlcHJlY2F0ZWRcbiAgZGVmYXVsdENvdW50cnlDb2RlID0gaW5wdXQ8c3RyaW5nPignbXgnKTsgLy9NdXN0IG1hdGNoIHRoZSBhcmVhIGxhZGEgb2YgdGhlIGluaXRpYWwgdmFsdWVcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgYXBwZWFyYW5jZSA9IGlucHV0PElCbWJJbnB1dEFwcGVhcmFuY2U+KCdub3JtYWwnKTsgLy9EZXByZWNhdGVkXG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPih0aGlzLm5hbWUoKSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHJlZmVycmVkQ291bnRyaWVzID0gaW5wdXQ8c3RyaW5nW10+KFsnbXgnXSk7XG4gIG9ubHlDb3VudHJpZXMgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4+KCk7XG5cbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXcgRm9ybUNvbnRyb2woKSk7XG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTsgLy8gZGVwcmVjYXRlZFxuXG4gIHV1aWQ6IHN0cmluZyA9IGdldFVVSUQoKTtcbiAgaXNGb2N1c2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYWxsQ291bnRyeUNvZGVzOiBJQm1iQ291bnRyeUNvZGVbXSA9IElCbWJDb3VudHJ5Q29kZXM7XG4gIGxhZGFDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBwaG9uZUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHtcbiAgICB2YWx1ZTogJycsXG4gICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSxcbiAgfSk7XG4gIGNvdW50cnlGaWx0ZXJpbmc6IElCbWJEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBpc0NvbnRyb2xOdWxsOiBib29sZWFuID0gZmFsc2U7XG4gIGN1c3RvbVZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KGFzc2lnbk5ld0Zvcm1Db250cm9sKHRoaXMubmFtZSgpLCB0aGlzLmNvbnRyb2woKSkhKTtcbiAgICAgIHRoaXMuaXNDb250cm9sTnVsbCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy52YWx1ZSgpIHx8ICEhdGhpcy5jb250cm9sKCkudmFsdWUpIHtcbiAgICAgIGxldCBpbnB1dHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q291bnRyeUNvZGUoKSkge1xuICAgICAgICBpbnB1dHMucHVzaCgnZGVmYXVsdENvdW50cnknKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHRoaXMuZGVmYXVsdENvdW50cnlDb2RlKCkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgWyR7dGhpcy5uYW1lKCl9XSAtIFRoZSB2YWx1ZSAke3RoaXMuZGVmYXVsdENvdW50cnlDb2RlKCl9IGZvciBcImRlZmF1bHRDb3VudHJ5Q29kZVwiIGRvZXMgbm90IGV4aXN0IGluIHRoZSBjb3VudHJ5IExpc3QuXG4gICAgICAgICAgYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgWyR7dGhpcy5uYW1lKCl9XSAtIFRoZSAke2J1aWxkRXJyb3JNZXNzYWdlKGlucHV0cyl9IHJlcXVpcmVkIHdoZW4gdGhlcmUgaXMgYW4gaW5pdGlhbCBcInZhbHVlXCIgaW4gXCJibWItaW5wdXQtcGhvbmUuXCIuXG4gICAgICAgICAgYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhZGFDb250cm9sLnNldFZhbHVlKFxuICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlDb2RlKFxuICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICApLFxuICAgICk7XG4gICAgdGhpcy5waG9uZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5nZXROdW1iZXJWYWx1ZSgpKTtcbiAgICB0aGlzLmNvdW50cnlGaWx0ZXJpbmcgPSB0aGlzLmdldE9wdGlvbnMoKTtcblxuICAgIHRoaXMucGhvbmVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShcbiAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodGhpcy5sYWRhQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbnRyb2woKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMucGhvbmVDb250cm9sLnJlc2V0KCcnKTtcbiAgICAgICAgdGhpcy5sYWRhQ29udHJvbC5yZXNldChcbiAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUNvZGUoXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUN1c3RvbVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSBjb250cm9sO1xuXG4gICAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmICh0aGlzLnBob25lQ29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucGhvbmVDb250cm9sLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSB8fFxuICAgICAgICB0aGlzLnBob25lQ29udHJvbC5oYXNFcnJvcignbWlubGVuZ3RoJylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4geyBtaW5sZW5ndGg6IHRydWUgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgICAgYF5cXFxcJHt0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEoXG4gICAgICAgICAgdGhpcy5sYWRhQ29udHJvbC52YWx1ZSxcbiAgICAgICAgKX1cXFxcZHske3RoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5TGVuZ3RoKHRoaXMubGFkYUNvbnRyb2wudmFsdWUpfX0kYCxcbiAgICAgICk7XG5cbiAgICAgIGlmICghcmVnRXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21WYWxpZGF0aW9uTWVzc2FnZSA9XG4gICAgICAgICAgJ1BvciBmYXZvciBpbmdyZXNhIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIHbDoWxpZG8sIHZlcmlmaWNhIHNpIGxhIGxhZGEgZXMgY29ycmVjdGEuJztcbiAgICAgICAgcmV0dXJuIHsgY3VzdG9tVmFsaWRhdGlvbjogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRDdXN0b21WYWxpZGF0aW9uKFxuICAgICAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb24oKSEsXG4gICAgICAgIHRoaXMuY29udHJvbCgpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UgPSBnZXRDdXN0b21WYWxpZGF0aW9uTWVzc2FnZShcbiAgICAgICAgcmVzdWx0LFxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSgpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICB9XG5cbiAgZ2V0VVVJRChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfV8ke3RoaXMubmFtZSgpfV8ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgc2V0Q29udHJvbFZhbHVlKGxhZGE6IHN0cmluZywgcGhvbmVOdW1iZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghIWxhZGEgJiYgISFwaG9uZU51bWJlcikge1xuICAgICAgdGhpcy5jb250cm9sKCkuc2V0VmFsdWUobGFkYSArIHBob25lTnVtYmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250cm9sKCkucmVzZXQoJycpO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlVmFsaWRpdHkoKTtcbiAgfVxuXG4gIGdldE51bWJlclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2woKS52YWx1ZSB8fCB0aGlzLnZhbHVlKCk7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoXG4gICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodGhpcy5sYWRhQ29udHJvbC52YWx1ZSksXG4gICAgICAnJyxcbiAgICApITtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZTogc3RyaW5nKTogSUJtYkNvdW50cnlDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5hbGxDb3VudHJ5Q29kZXMuZmluZChcbiAgICAgICh7IGNvdW50cnlfY29kZSB9KSA9PiBjb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gdmFsdWUsXG4gICAgKSE7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnlDb2RlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHZhbHVlKTtcblxuICAgIGlmICghIXNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQ291bnRyeS5jb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnlMYWRhKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHZhbHVlKTtcblxuICAgIGlmICghIXNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQ291bnRyeS5sYWRhO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeUxlbmd0aCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZSk7XG5cbiAgICBpZiAoISFzZWxlY3RlZENvdW50cnkpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZENvdW50cnkubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCEhdGhpcy5waG9uZUNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKFxuICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodmFsdWUpLFxuICAgICAgICB0aGlzLnBob25lQ29udHJvbC52YWx1ZSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0T3B0aW9ucygpOiBJQm1iRHJvcGRvd25JdGVtW10ge1xuICAgIGlmICh0aGlzLm9ubHlDb3VudHJpZXMoKS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGxvd2VyQ2FzZUNvdW50cmllcyA9IHRoaXMub25seUNvdW50cmllcygpLm1hcCgoY291bnRyeSkgPT5cbiAgICAgICAgY291bnRyeS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5hbGxDb3VudHJ5Q29kZXMuZmlsdGVyKFxuICAgICAgICAoeyBjb3VudHJ5X2NvZGUgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiBsb3dlckNhc2VDb3VudHJpZXMuaW5jbHVkZXMoY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZpbHRlcmVkT3B0aW9ucy5tYXAoKHsgY291bnRyeSwgbGFkYSwgY291bnRyeV9jb2RlIH0pID0+ICh7XG4gICAgICAgIG5hbWU6IGAke2NvdW50cnl9ICgke2xhZGF9KWAsXG4gICAgICAgIHZhbHVlOiBjb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSxcbiAgICAgICAgc2VsZWN0ZWRUZXh0OiBsYWRhLFxuICAgICAgICBpY29uOiAnZmxhZycsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWxsQ291bnRyeUNvZGVzLm1hcCgoeyBjb3VudHJ5LCBsYWRhLCBjb3VudHJ5X2NvZGUgfSkgPT4gKHtcbiAgICAgIG5hbWU6IGAke2NvdW50cnl9ICgke2xhZGF9KWAsXG4gICAgICB2YWx1ZTogY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICBzZWxlY3RlZFRleHQ6IGxhZGEsXG4gICAgICBpY29uOiAnZmxhZycsXG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IElCbWJJbnB1dEVycm9yIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gJ1BvciBmYXZvciBpbmdyZXNhIHPDs2xvIGNhcmFjdGVyZXMgbnVtw6lyaWNvcyc7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gYFBvciBmYXZvciBpbmdyZXNhICR7dGhpcy5nZXRTZWxlY3RlZENvdW50cnlMZW5ndGgoXG4gICAgICB0aGlzLmxhZGFDb250cm9sLnZhbHVlLFxuICAgICl9IGNhcmFjdGVyZXMgbnVtw6lyaWNvc2A7XG4gICAgaWYgKCEhdGhpcy5lcnJvck1lc3NhZ2UoKSkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yTWVzc2FnZSgpID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXF1aXJlZDogdGhpcy5lcnJvck1lc3NhZ2UoKS50b1N0cmluZygpLFxuICAgICAgICAgIHBhdHRlcm4sXG4gICAgICAgICAgbWluTGVuZ3RoLFxuICAgICAgICAgIGN1c3RvbVZhbGlkYXRpb246IHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdHRlcm4sXG4gICAgICAgIG1pbkxlbmd0aCxcbiAgICAgICAgLi4uKHRoaXMuZXJyb3JNZXNzYWdlKCkgYXMgSUJtYklucHV0RXJyb3IpLFxuICAgICAgICBjdXN0b21WYWxpZGF0aW9uOiB0aGlzLmN1c3RvbVZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybixcbiAgICAgIG1pbkxlbmd0aCxcbiAgICAgIGN1c3RvbVZhbGlkYXRpb246IHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVZhbGlkaXR5KCk6IHZvaWQge1xuICAgIGhhbmRsZVZhbGlkaXR5KHRoaXMuY29udHJvbCgpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNob3dFcnJvcih0aGlzLmNvbnRyb2woKSkgfHwgc2hvd0Vycm9yKHRoaXMucGhvbmVDb250cm9sKTtcbiAgfVxufVxuIiwiPGJtYi1pbnB1dC12YWxpZGF0b3JcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICBbdmFsdWVdPVwiISFkZWZhdWx0Q291bnRyeUNvZGUoKSA/IHZhbHVlKCkgOiAnJ1wiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZ2V0RXJyb3JNZXNzYWdlKClcIlxuICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlKClcIlxuICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgW3Nob3dFcnJvcl09XCJzaG91bGRTaG93RXJyb3JcIlxuICBbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxuICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcbiAgW2N1c3RvbVZhbGlkYXRpb25dPVwiaGFuZGxlQ3VzdG9tVmFsaWRhdG9yKClcIlxuICBbaW5wdXRJZF09XCJpbnB1dElkKClcIlxuPlxuICA8c2VjdGlvbiBjbGFzcz1cImJtYl9pbnB1dC1waG9uZVwiPlxuICAgIDxzZWN0aW9uXG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC1waG9uZS1jb250YWluZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYm1iX2lucHV0LXBob25lLWNvbnRhaW5lci1lcnJvcic6IHNob3VsZFNob3dFcnJvcixcbiAgICAgICAgJ2JtYl9pbnB1dC1waG9uZS1jb250YWluZXItZm9jdXMnOiBpc0ZvY3VzZWQoKVxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGJtYi1kcm9wZG93blxuICAgICAgICBjbGFzcz1cImJtYl9pbnB1dC1waG9uZS1sYWRhXCJcbiAgICAgICAgW25hbWVdPVwiZ2V0VVVJRCgnbGFkYScpXCJcbiAgICAgICAgW3ZhbHVlXT1cImxhZGFDb250cm9sLnZhbHVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcHRpb25zXT1cImNvdW50cnlGaWx0ZXJpbmdcIlxuICAgICAgICBbcHJlZmVycmVkT3B0aW9uc109XCJwcmVmZXJyZWRDb3VudHJpZXMoKVwiXG4gICAgICAgIFtjb250cm9sXT1cImxhZGFDb250cm9sXCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uRm9jdXMpPVwiaGFuZGxlRm9jdXMoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPGJtYi1pbnB1dC1jb250ZW50XG4gICAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXBob25lLW51bWJlclwiXG4gICAgICAgIFtuYW1lXT1cImdldFVVSUQoJ3Bob25lJylcIlxuICAgICAgICBwYXR0ZXJuPVwiXlxcZCskXCJcbiAgICAgICAgW2NvbnRyb2xdPVwicGhvbmVDb250cm9sXCJcbiAgICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cImdldFNlbGVjdGVkQ291bnRyeUxlbmd0aChsYWRhQ29udHJvbC52YWx1ZSlcIlxuICAgICAgICBbbWluTGVuZ3RoXT1cImdldFNlbGVjdGVkQ291bnRyeUxlbmd0aChsYWRhQ29udHJvbC52YWx1ZSlcIlxuICAgICAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICAgICAgICAob25Gb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKG9uQmx1cik9XCJoYW5kbGVWYWxpZGl0eSgpXCJcbiAgICAgIC8+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxpbnB1dFxuICAgICAgaGlkZGVuXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgLz5cbiAgPC9zZWN0aW9uPlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { BmbTagComponent } from './../bmb-tags/bmb-tags.component';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, input, ViewEncapsulation, output, model, signal, } from '@angular/core';
|
|
4
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { ClickOutsideDirective } from '../../directives/utils/clickoutside.directive';
|
|
6
|
-
import { debounceTime } from 'rxjs';
|
|
7
|
-
import { convertListToSelectList, filteredValue, getSelectedValues, getValidInitialValues, } from '../../utils/dropdown';
|
|
8
|
-
import { BmbInputValidatorComponent } from '../bmb-input/bmb-input-validator/bmb-input-validator.component';
|
|
9
|
-
import { BmbDropdownContentComponent } from '../utils/bmb-dropdown-content/bmb-dropdown-content.component';
|
|
10
|
-
import { BmbInputContentComponent } from '../bmb-input/bmb-input-content/bmb-input-content.component';
|
|
11
|
-
import { getUUID } from '../../utils/utils';
|
|
12
|
-
import { assignNewFormControl, handleValidity, newFormControlByType, showError, } from '../../utils/formControl';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@angular/common";
|
|
15
|
-
import * as i2 from "@angular/forms";
|
|
16
|
-
export class BmbInputTagsComponent {
|
|
17
|
-
constructor(cdr) {
|
|
18
|
-
this.cdr = cdr;
|
|
19
|
-
this.errorMessage = input('');
|
|
20
|
-
this.tooltip = input('');
|
|
21
|
-
this.tooltipPosition = input({
|
|
22
|
-
align: 'above',
|
|
23
|
-
justify: 'before',
|
|
24
|
-
});
|
|
25
|
-
this.label = input('');
|
|
26
|
-
this.placeholder = input('');
|
|
27
|
-
this.isRequired = input(false);
|
|
28
|
-
this.helperMessage = input('');
|
|
29
|
-
this.disabled = input(false);
|
|
30
|
-
this.maxSelectedItems = input(); //Deprecated
|
|
31
|
-
this.name = input(getUUID());
|
|
32
|
-
this.value = input('');
|
|
33
|
-
this.showError = input(false);
|
|
34
|
-
this.inputId = input(this.name());
|
|
35
|
-
this.customValidation = input();
|
|
36
|
-
this.tagOptions = model([]);
|
|
37
|
-
this.control = model(newFormControlByType());
|
|
38
|
-
this.onKeyDown = output();
|
|
39
|
-
this.onChange = output();
|
|
40
|
-
this.uuid = getUUID();
|
|
41
|
-
this.showDropdown = false;
|
|
42
|
-
this.selectedTags = [];
|
|
43
|
-
this.filteredOptions = [];
|
|
44
|
-
this.filterControl = new FormControl();
|
|
45
|
-
this.items = [];
|
|
46
|
-
this.isFocused = signal(false);
|
|
47
|
-
this.isKeyboardEvent = false;
|
|
48
|
-
this.isControlNull = false;
|
|
49
|
-
}
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
if (this.disabled())
|
|
52
|
-
this.filterControl.disable();
|
|
53
|
-
else
|
|
54
|
-
this.filterControl.enable();
|
|
55
|
-
this.filterControl.valueChanges
|
|
56
|
-
.pipe(debounceTime(300))
|
|
57
|
-
.subscribe((value) => {
|
|
58
|
-
this.filteredOptions = filteredValue(value, this.items);
|
|
59
|
-
this.cdr.detectChanges();
|
|
60
|
-
});
|
|
61
|
-
this.control().valueChanges.subscribe((value) => {
|
|
62
|
-
this.setSelectedTags(value || []);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
ngOnChanges(changes) {
|
|
66
|
-
if (!this.control()) {
|
|
67
|
-
this.control.set(assignNewFormControl(this.name(), this.control()));
|
|
68
|
-
this.isControlNull = true;
|
|
69
|
-
}
|
|
70
|
-
if (changes['tagOptions']) {
|
|
71
|
-
this.initOptions(changes['tagOptions'].currentValue);
|
|
72
|
-
this.control()?.setValue(this.getValidInitialValues());
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
initOptions(list) {
|
|
76
|
-
this.items = convertListToSelectList(list);
|
|
77
|
-
this.items = this.items.map((element) => {
|
|
78
|
-
return {
|
|
79
|
-
...element,
|
|
80
|
-
action: () => {
|
|
81
|
-
this.setSelectedValue(element);
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
this.setSelectedTags(this.getValidInitialValues());
|
|
86
|
-
this.filteredOptions = [...this.items];
|
|
87
|
-
}
|
|
88
|
-
getUUID(name) {
|
|
89
|
-
return `${name}_${this.name()}_${this.uuid}`;
|
|
90
|
-
}
|
|
91
|
-
getValidInitialValues() {
|
|
92
|
-
const initialValue = getValidInitialValues(this.control().value, this.value(), this.tagOptions(), true);
|
|
93
|
-
return Array.isArray(initialValue) ? initialValue : [];
|
|
94
|
-
}
|
|
95
|
-
setSelectedValue(element) {
|
|
96
|
-
this.control().setValue(getSelectedValues(this.control().value, element.value));
|
|
97
|
-
this.filterControl.setValue('');
|
|
98
|
-
this.onChange.emit(this.control().value);
|
|
99
|
-
}
|
|
100
|
-
setSelectedTags(controlValue) {
|
|
101
|
-
this.selectedTags = this.items.filter(({ value }) => controlValue.includes(value));
|
|
102
|
-
}
|
|
103
|
-
removeTag(tag) {
|
|
104
|
-
this.setSelectedValue(tag);
|
|
105
|
-
}
|
|
106
|
-
openList() {
|
|
107
|
-
this.showDropdown = true;
|
|
108
|
-
}
|
|
109
|
-
closeList() {
|
|
110
|
-
this.showDropdown = false;
|
|
111
|
-
this.isKeyboardEvent = false;
|
|
112
|
-
}
|
|
113
|
-
selectOptionWithKey(value) {
|
|
114
|
-
if (!!value) {
|
|
115
|
-
const selectedLength = this.filteredOptions.length;
|
|
116
|
-
if (!!selectedLength) {
|
|
117
|
-
this.setSelectedValue(this.filteredOptions[0]);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
this.addOption(value);
|
|
121
|
-
this.setSelectedValue(this.filteredOptions[this.filteredOptions.length - 1]);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
addOption(value) {
|
|
126
|
-
if (typeof this.tagOptions()[0] === 'string') {
|
|
127
|
-
const newTagOptions = [
|
|
128
|
-
...this.tagOptions(),
|
|
129
|
-
value,
|
|
130
|
-
];
|
|
131
|
-
this.tagOptions.set([...new Set(newTagOptions)]);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
const newOption = {
|
|
135
|
-
name: value,
|
|
136
|
-
value,
|
|
137
|
-
selectedText: value,
|
|
138
|
-
id: getUUID(),
|
|
139
|
-
};
|
|
140
|
-
const newList = [
|
|
141
|
-
...this.tagOptions(),
|
|
142
|
-
newOption,
|
|
143
|
-
];
|
|
144
|
-
this.tagOptions.set([...new Set(newList)]);
|
|
145
|
-
}
|
|
146
|
-
this.initOptions(this.tagOptions());
|
|
147
|
-
}
|
|
148
|
-
handleKeyDown(event) {
|
|
149
|
-
const keyboardValuesToOpenDialog = [' ', 'ArrowDown', 'Down'];
|
|
150
|
-
const keyboardValuesToAddOption = [',', 'Enter'];
|
|
151
|
-
if (keyboardValuesToOpenDialog.includes(event.key)) {
|
|
152
|
-
if (!this.showDropdown) {
|
|
153
|
-
this.isKeyboardEvent = true;
|
|
154
|
-
this.openList();
|
|
155
|
-
}
|
|
156
|
-
if (!this.filteredOptions.length) {
|
|
157
|
-
event.preventDefault();
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
if (keyboardValuesToAddOption.includes(event.key)) {
|
|
163
|
-
event.preventDefault();
|
|
164
|
-
this.selectOptionWithKey(this.filterControl.value);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
handleFocus(value) {
|
|
168
|
-
this.isFocused.set(value);
|
|
169
|
-
}
|
|
170
|
-
handleValidity() {
|
|
171
|
-
handleValidity(this.control());
|
|
172
|
-
}
|
|
173
|
-
get shouldShowError() {
|
|
174
|
-
return showError(this.control());
|
|
175
|
-
}
|
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputTagsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbInputTagsComponent, isStandalone: true, selector: "bmb-input-tags", inputs: { errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", 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 }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, tagOptions: { classPropertyName: "tagOptions", publicName: "tagOptions", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagOptions: "tagOptionsChange", control: "controlChange", onKeyDown: "onKeyDown", onChange: "onChange" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@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-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-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive", "enableClick"], outputs: ["closedTag", "clickedTag"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbDropdownContentComponent, selector: "bmb-dropdown-content", inputs: ["selectedOption", "items", "isKeyboardEvent", "enableFilter", "isOpen"], outputs: ["itemsChange", "isKeyboardEventChange", "isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
178
|
-
}
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputTagsComponent, decorators: [{
|
|
180
|
-
type: Component,
|
|
181
|
-
args: [{ selector: 'bmb-input-tags', standalone: true, imports: [
|
|
182
|
-
CommonModule,
|
|
183
|
-
ReactiveFormsModule,
|
|
184
|
-
ClickOutsideDirective,
|
|
185
|
-
BmbTagComponent,
|
|
186
|
-
BmbInputValidatorComponent,
|
|
187
|
-
BmbInputContentComponent,
|
|
188
|
-
BmbDropdownContentComponent,
|
|
189
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [], template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@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-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-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"] }]
|
|
190
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC10YWdzL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtdGFncy9ibWItaW5wdXQtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBTS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFP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ZUFBZTtRQUNqQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQW5NVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiwreEVBRnJCLEVBQUUsK0NDekRmLDhnRUFxRUEsa3dQRHhCSSxZQUFZLDRIQUNaLG1CQUFtQiwwa0JBQ25CLHFCQUFxQixzRkFDckIsZUFBZSx1TkFDZiwwQkFBMEIscWJBQzFCLHdCQUF3Qix1YkFDeEIsMkJBQTJCOzs0RkFRbEIscUJBQXFCO2tCQWxCakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3FCQUM1QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbWJUYWdDb21wb25lbnQgfSBmcm9tICcuLy4uL2JtYi10YWdzL2JtYi10YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQm1iRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vYm1iLWRyb3Bkb3duL2JtYi1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUJtYklucHV0RXJyb3IsXG4gIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbixcbn0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy91dGlscy9jbGlja291dHNpZGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY29udmVydExpc3RUb1NlbGVjdExpc3QsXG4gIGZpbHRlcmVkVmFsdWUsXG4gIGdldFNlbGVjdGVkVmFsdWVzLFxuICBnZXRWYWxpZEluaXRpYWxWYWx1ZXMsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEJtYklucHV0VmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iRHJvcGRvd25Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vdXRpbHMvYm1iLWRyb3Bkb3duLWNvbnRlbnQvYm1iLWRyb3Bkb3duLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LWNvbnRlbnQvYm1iLWlucHV0LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFVVSUQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQge1xuICBhc3NpZ25OZXdGb3JtQ29udHJvbCxcbiAgaGFuZGxlVmFsaWRpdHksXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlLFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWlucHV0LXRhZ3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEJtYlRhZ0NvbXBvbmVudCxcbiAgICBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCxcbiAgICBCbWJJbnB1dENvbnRlbnRDb21wb25lbnQsXG4gICAgQm1iRHJvcGRvd25Db250ZW50Q29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICB0b29sdGlwID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbj4oe1xuICAgIGFsaWduOiAnYWJvdmUnLFxuICAgIGp1c3RpZnk6ICdiZWZvcmUnLFxuICB9KTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgaXNSZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaGVscGVyTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PG51bWJlcj4oKTsgLy9EZXByZWNhdGVkXG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcbiAgc2hvd0Vycm9yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPih0aGlzLm5hbWUoKSk7XG4gIGN1c3RvbVZhbGlkYXRpb24gPSBpbnB1dDxWYWxpZGF0b3JGbj4oKTtcblxuICB0YWdPcHRpb25zID0gbW9kZWw8c3RyaW5nW10gfCBJQm1iRHJvcGRvd25JdGVtW10+KFtdKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSgpKTtcblxuICBvbktleURvd24gPSBvdXRwdXQ8S2V5Ym9hcmRFdmVudD4oKTtcbiAgb25DaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nW10+KCk7XG5cbiAgdXVpZDogc3RyaW5nID0gZ2V0VVVJRCgpO1xuICBzaG93RHJvcGRvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRUYWdzOiBJRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgZmlsdGVyZWRPcHRpb25zOiBJRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgZmlsdGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBpdGVtczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGlzRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGlzS2V5Ym9hcmRFdmVudDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvbnRyb2xOdWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHRoaXMuZmlsdGVyQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgZWxzZSB0aGlzLmZpbHRlckNvbnRyb2wuZW5hYmxlKCk7XG5cbiAgICB0aGlzLmZpbHRlckNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyZWRWYWx1ZSh2YWx1ZSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9sKCkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWdzKHZhbHVlIHx8IFtdKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KGFzc2lnbk5ld0Zvcm1Db250cm9sKHRoaXMubmFtZSgpLCB0aGlzLmNvbnRyb2woKSkhKTtcbiAgICAgIHRoaXMuaXNDb250cm9sTnVsbCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3RhZ09wdGlvbnMnXSkge1xuICAgICAgdGhpcy5pbml0T3B0aW9ucyhjaGFuZ2VzWyd0YWdPcHRpb25zJ10uY3VycmVudFZhbHVlKTtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5zZXRWYWx1ZSh0aGlzLmdldFZhbGlkSW5pdGlhbFZhbHVlcygpKTtcbiAgICB9XG4gIH1cblxuICBpbml0T3B0aW9ucyhsaXN0OiBzdHJpbmdbXSB8IElCbWJEcm9wZG93bkl0ZW1bXSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBjb252ZXJ0TGlzdFRvU2VsZWN0TGlzdChsaXN0KTtcbiAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGVsZW1lbnQ6IElEcm9wZG93bkl0ZW0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50KTtcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgSURyb3Bkb3duSXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWdzKHRoaXMuZ2V0VmFsaWRJbml0aWFsVmFsdWVzKCkpO1xuXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbLi4udGhpcy5pdGVtc107XG4gIH1cblxuICBnZXRVVUlEKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWV9XyR7dGhpcy5uYW1lKCl9XyR7dGhpcy51dWlkfWA7XG4gIH1cblxuICBnZXRWYWxpZEluaXRpYWxWYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZTogc3RyaW5nW10gfCBzdHJpbmcgPSBnZXRWYWxpZEluaXRpYWxWYWx1ZXMoXG4gICAgICB0aGlzLmNvbnRyb2woKS52YWx1ZSxcbiAgICAgIHRoaXMudmFsdWUoKSxcbiAgICAgIHRoaXMudGFnT3B0aW9ucygpLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZSA6IFtdO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50OiBJRHJvcGRvd25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sKCkuc2V0VmFsdWUoXG4gICAgICBnZXRTZWxlY3RlZFZhbHVlcyh0aGlzLmNvbnRyb2woKS52YWx1ZSwgZWxlbWVudC52YWx1ZSEpLFxuICAgICk7XG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5jb250cm9sKCkudmFsdWUpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRUYWdzKGNvbnRyb2xWYWx1ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVGFncyA9IHRoaXMuaXRlbXMuZmlsdGVyKCh7IHZhbHVlIH0pID0+XG4gICAgICBjb250cm9sVmFsdWUuaW5jbHVkZXModmFsdWUhKSxcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlVGFnKHRhZzogSURyb3Bkb3duSXRlbSkge1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh0YWcpO1xuICB9XG5cbiAgb3Blbkxpc3QoKSB7XG4gICAgdGhpcy5zaG93RHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgY2xvc2VMaXN0KCkge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gICAgdGhpcy5pc0tleWJvYXJkRXZlbnQgPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbldpdGhLZXkodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZExlbmd0aDogbnVtYmVyID0gdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuXG4gICAgICBpZiAoISFzZWxlY3RlZExlbmd0aCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRPcHRpb24odmFsdWUpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoIC0gMV0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHRoaXMudGFnT3B0aW9ucygpWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgbmV3VGFnT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgICAgIC4uLih0aGlzLnRhZ09wdGlvbnMoKSBhcyBzdHJpbmdbXSksXG4gICAgICAgIHZhbHVlLFxuICAgICAgXTtcbiAgICAgIHRoaXMudGFnT3B0aW9ucy5zZXQoWy4uLm5ldyBTZXQobmV3VGFnT3B0aW9ucyldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3T3B0aW9uOiBJQm1iRHJvcGRvd25JdGVtID0ge1xuICAgICAgICBuYW1lOiB2YWx1ZSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHNlbGVjdGVkVGV4dDogdmFsdWUsXG4gICAgICAgIGlkOiBnZXRVVUlEKCksXG4gICAgICB9O1xuICAgICAgY29uc3QgbmV3TGlzdDogSUJtYkRyb3Bkb3duSXRlbVtdID0gW1xuICAgICAgICAuLi4odGhpcy50YWdPcHRpb25zKCkgYXMgSUJtYkRyb3Bkb3duSXRlbVtdKSxcbiAgICAgICAgbmV3T3B0aW9uLFxuICAgICAgXTtcbiAgICAgIHRoaXMudGFnT3B0aW9ucy5zZXQoWy4uLm5ldyBTZXQobmV3TGlzdCldKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRPcHRpb25zKHRoaXMudGFnT3B0aW9ucygpKTtcbiAgfVxuXG4gIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXlib2FyZFZhbHVlc1RvT3BlbkRpYWxvZyA9IFsnICcsICdBcnJvd0Rvd24nLCAnRG93biddO1xuICAgIGNvbnN0IGtleWJvYXJkVmFsdWVzVG9BZGRPcHRpb24gPSBbJywnLCAnRW50ZXInXTtcblxuICAgIGlmIChrZXlib2FyZFZhbHVlc1RvT3BlbkRpYWxvZy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvd0Ryb3Bkb3duKSB7XG4gICAgICAgIHRoaXMuaXNLZXlib2FyZEV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuTGlzdCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGtleWJvYXJkVmFsdWVzVG9BZGRPcHRpb24uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uV2l0aEtleSh0aGlzLmZpbHRlckNvbnRyb2wudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVZhbGlkaXR5KCk6IHZvaWQge1xuICAgIGhhbmRsZVZhbGlkaXR5KHRoaXMuY29udHJvbCgpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNob3dFcnJvcih0aGlzLmNvbnRyb2woKSk7XG4gIH1cbn1cbiIsIjxibWItaW5wdXQtdmFsaWRhdG9yXG4gIGNsYXNzPVwiYm1iX2lucHV0LXRhZ3NcIlxuICBbbmFtZV09XCJuYW1lKClcIlxuICBbdmFsdWVdPVwiZ2V0VmFsaWRJbml0aWFsVmFsdWVzKClcIlxuICBbbGFiZWxdPVwibGFiZWwoKSFcIlxuICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcbiAgW2hlbHBlck1lc3NhZ2VdPVwiaGVscGVyTWVzc2FnZSgpXCJcbiAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcbiAgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIFtjb250cm9sXT1cImNvbnRyb2woKVwiXG4gIFtzaG93RXJyb3JdPVwic2hvdWxkU2hvd0Vycm9yXCJcbiAgW3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcbiAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oKVwiXG4gIFtjdXN0b21WYWxpZGF0aW9uXT1cImN1c3RvbVZhbGlkYXRpb24oKVwiXG4gIGNsaWNrT3V0c2lkZVxuICAoY2xpY2tPdXRzaWRlKT1cImNsb3NlTGlzdCgpXCJcbiAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbj5cbiAgPHNlY3Rpb25cbiAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JtYl9pbnB1dC10YWdzLWNvbnRhaW5lci1lcnJvcic6IHNob3VsZFNob3dFcnJvcixcbiAgICAgICdibWJfaW5wdXQtdGFncy1jb250YWluZXItZm9jdXMnOiBpc0ZvY3VzZWQoKVxuICAgIH1cIlxuICA+XG4gICAgPGJtYi1pbnB1dC1jb250ZW50XG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWZpbHRlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbaW5wdXRJZF09XCJpbnB1dElkKClcIlxuICAgICAgW25hbWVdPVwiZ2V0VVVJRCgnZmlsdGVyJylcIlxuICAgICAgW2NvbnRyb2xdPVwiZmlsdGVyQ29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICAoY2xpY2spPVwib3Blbkxpc3QoKVwiXG4gICAgICAob25CbHVyKT1cImhhbmRsZVZhbGlkaXR5KClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChvbkZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgIC8+XG4gICAgQGlmICghIXNlbGVjdGVkVGFncyAmJiAhIXNlbGVjdGVkVGFncy5sZW5ndGgpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1zZWxlY3RlZC1saXN0XCIgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0ZWRUYWdzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8Ym1iLXRhZ1xuICAgICAgICAgICAgW3RleHRdPVwiaXRlbS5zZWxlY3RlZFRleHQhXCJcbiAgICAgICAgICAgIFtkaXNtaXNzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgKGNsaWNrZWRUYWcpPVwicmVtb3ZlVGFnKGl0ZW0pXCJcbiAgICAgICAgICAgIChjbG9zZWRUYWcpPVwicmVtb3ZlVGFnKGl0ZW0pXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvc2VjdGlvbj5cbiAgPGlucHV0XG4gICAgaGlkZGVuXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtpZF09XCJuYW1lKClcIlxuICAgIFtuYW1lXT1cIm5hbWUoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2woKVwiXG4gIC8+XG4gIDxkaWFsb2cgW29wZW5dPVwic2hvd0Ryb3Bkb3duXCIgY2xhc3M9XCJibWJfZ2VuZXJpYy1kaWFsb2dcIj5cbiAgICA8Ym1iLWRyb3Bkb3duLWNvbnRlbnRcbiAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXRhZ3MtZGlhbG9nXCJcbiAgICAgIG5hbWU9XCJsaXN0XCJcbiAgICAgIFtzZWxlY3RlZE9wdGlvbl09XCJjb250cm9sKCkudmFsdWVcIlxuICAgICAgW2lzS2V5Ym9hcmRFdmVudF09XCJpc0tleWJvYXJkRXZlbnRcIlxuICAgICAgWyhpdGVtcyldPVwiZmlsdGVyZWRPcHRpb25zXCJcbiAgICAgIFsoaXNPcGVuKV09XCJzaG93RHJvcGRvd25cIlxuICAgIC8+XG4gIDwvZGlhbG9nPlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19
|