@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1117-b → 1.5.1117-d
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/images/placeholders/credential.svg +69 -69
- package/assets/images/placeholders/user-icon-test.svg +9 -9
- package/assets/styles/main.min.css +1 -1
- package/assets/styles/main.min.css.map +1 -1
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +3 -3
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +3 -3
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +36 -14
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +3 -3
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +3 -3
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +3 -3
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +3 -3
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +3 -3
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +3 -3
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +7 -5
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +3 -3
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +3 -3
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +3 -3
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +4 -4
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +2 -2
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +9 -4
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +3 -3
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +3 -3
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +68 -44
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +3 -3
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +3 -3
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +3 -3
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +3 -3
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +3 -3
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +3 -3
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +3 -3
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +16 -5
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +12 -11
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +3 -3
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +3 -3
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +3 -3
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +3 -3
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +3 -3
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +28 -16
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +1 -1
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +3 -3
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +3 -3
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +3 -3
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +9 -12
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +3 -3
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +3 -3
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +14 -5
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +3 -3
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +3 -3
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +6 -6
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +3 -3
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +3 -3
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +3 -3
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +3 -3
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +3 -4
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +3 -3
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +3 -3
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +3 -3
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +3 -3
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +3 -3
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +3 -3
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +3 -3
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +3 -3
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +20 -16
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +3 -3
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +2 -2
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +3 -3
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +3 -3
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +1 -1
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +4 -4
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +6 -3
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +6 -16
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +3 -3
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +3 -3
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +3 -3
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +3 -3
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +8 -3
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +17 -23
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +3 -3
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +3 -3
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +19 -5
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +3 -3
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +3 -3
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +9 -9
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +3 -3
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +3 -3
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +3 -3
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +3 -3
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +3 -3
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +3 -3
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +9 -11
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +2 -2
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +3 -3
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +3 -3
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +3 -3
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +3 -3
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +43 -5
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +9 -3
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +3 -3
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +3 -3
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +17 -7
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +3 -3
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +3 -3
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +3 -3
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +3 -3
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +3 -3
- package/esm2022/lib/services/notification.service.mjs +15 -8
- package/esm2022/lib/types/index.mjs +1 -1
- package/esm2022/lib/utils/utils.mjs +6 -1
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +741 -589
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +6 -4
- package/lib/components/bmb-card/bmb-card.component.d.ts +2 -1
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +19 -18
- package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +1 -1
- package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +2 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +6 -5
- package/lib/components/bmb-grades/bmb-grades.component.d.ts +3 -3
- package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +7 -0
- package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +3 -3
- package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +1 -2
- package/lib/components/bmb-item/bmb-item.component.d.ts +1 -1
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +6 -5
- package/lib/components/bmb-portal/bmb-portal.component.d.ts +1 -0
- package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +1 -10
- package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +4 -4
- package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +10 -0
- package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +3 -3
- package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +2 -0
- package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +4 -1
- package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +4 -2
- package/lib/services/notification.service.d.ts +1 -1
- package/lib/types/index.d.ts +2 -1
- package/lib/utils/utils.d.ts +1 -0
- package/package.json +1 -1
- package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
- package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
- package/assets/images/lang-flags/mx.svg +0 -392
- package/assets/images/lang-flags/us.svg +0 -13
- package/assets/svg/info_fill.svg +0 -1
- package/assets/svg/info_fill_primary.svg +0 -1
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +0 -63
- package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +0 -159
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +0 -162
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +0 -116
- package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +0 -16
- package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +0 -55
- package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +0 -17
- package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +0 -34
- package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +0 -46
- package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +0 -16
- package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +0 -6
- package/lib/components/bmb-select/bmb-select.component.d.ts +0 -17
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input, output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output, signal, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { BmbBalanceOverviewComponent } from '../bmb-balance-overview/bmb-balance-overview.component';
|
|
3
3
|
import { BmbCardComponent, BmbCardContentComponent, } from '../bmb-card/bmb-card.component';
|
|
4
4
|
import { BmbProgressBarComponent } from '../bmb-progress-bar/bmb-progress-bar.component';
|
|
5
5
|
import { DateTime } from 'luxon';
|
|
6
6
|
import { BmbDividerComponent } from '../bmb-divider/bmb-divider.component';
|
|
7
7
|
import { BmbButtonDirective } from '../../directives/bmb-button/button.directive';
|
|
8
|
-
import { BmbModalComponent } from '../bmb-modal/bmb-modal.component';
|
|
9
8
|
import { BmbRadialComponent } from '../bmb-radial/bmb-radial.component';
|
|
10
9
|
import { currencyFormat } from '../../utils/currencyFormat';
|
|
11
10
|
import { BmbLayoutDirective } from '../../directives/bmb-layout/bmb-layout.directive';
|
|
@@ -13,12 +12,13 @@ import { BmbLayoutItemDirective } from '../../directives/bmb-layout/bmb-layout-i
|
|
|
13
12
|
import { BmbInputComponent } from '../bmb-input/bmb-input.component';
|
|
14
13
|
import { BmbInnerHeaderComponent } from '../bmb-inner-header/bmb-inner-header.component';
|
|
15
14
|
import { FormControl, FormGroup, Validators, ReactiveFormsModule, } from '@angular/forms';
|
|
15
|
+
import { CommonModule } from '@angular/common';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "
|
|
17
|
+
import * as i1 from "../../services/native-modal.service";
|
|
18
18
|
import * as i2 from "@angular/forms";
|
|
19
19
|
export class BmbAccountStatementComponent {
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
20
|
+
constructor(modalService) {
|
|
21
|
+
this.modalService = modalService;
|
|
22
22
|
this.title = input('Estado de cuenta');
|
|
23
23
|
this.progressCircleTitle = input(['Total a pagar', 'este mes']);
|
|
24
24
|
this.labelPrimary = input('Cuota Mensual');
|
|
@@ -46,6 +46,7 @@ export class BmbAccountStatementComponent {
|
|
|
46
46
|
this.customAmount = 0;
|
|
47
47
|
this.isEnableCustomAmount = false;
|
|
48
48
|
this.maxAmount = 0;
|
|
49
|
+
this.modalID = signal(null);
|
|
49
50
|
this.amountForm = new FormGroup({
|
|
50
51
|
amount: new FormControl(0, [Validators.required]),
|
|
51
52
|
});
|
|
@@ -71,10 +72,8 @@ export class BmbAccountStatementComponent {
|
|
|
71
72
|
subtitle: this.modalSubtitle(),
|
|
72
73
|
content: this.newModal,
|
|
73
74
|
size: 'large',
|
|
74
|
-
hidePrimaryButton: true,
|
|
75
|
-
hideSecondaryButton: true,
|
|
76
75
|
};
|
|
77
|
-
this.
|
|
76
|
+
this.modalID.set(this.modalService.openModal(data));
|
|
78
77
|
}
|
|
79
78
|
getFormattedDate(date) {
|
|
80
79
|
if (!date)
|
|
@@ -92,14 +91,18 @@ export class BmbAccountStatementComponent {
|
|
|
92
91
|
handleActiveCustomAmount(event) {
|
|
93
92
|
this.isEnableCustomAmount = event.value === 'modalOtherAmountInput';
|
|
94
93
|
}
|
|
95
|
-
|
|
94
|
+
handleSubmit() {
|
|
96
95
|
if (!this.isEnableCustomAmount) {
|
|
97
96
|
this.payEvent.emit(this.totalCount() - this.counter());
|
|
97
|
+
this.modalService.closeModal(this.modalID());
|
|
98
|
+
this.modalID.set(null);
|
|
98
99
|
}
|
|
99
100
|
else if (this.amountForm.valid) {
|
|
100
101
|
const amount = Number(this.amountForm.controls['amount'].value);
|
|
101
102
|
if (amount > 0 && amount <= this.maxAmount) {
|
|
102
103
|
this.payEvent.emit(amount);
|
|
104
|
+
this.modalService.closeModal(this.modalID());
|
|
105
|
+
this.modalID.set(null);
|
|
103
106
|
}
|
|
104
107
|
else {
|
|
105
108
|
this.showErrors['amount'] = true;
|
|
@@ -124,8 +127,26 @@ export class BmbAccountStatementComponent {
|
|
|
124
127
|
getProgressPercent() {
|
|
125
128
|
return (100 * this.counter()) / this.totalCount();
|
|
126
129
|
}
|
|
127
|
-
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbAccountStatementComponent, isStandalone: true, selector: "bmb-account-statement", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, progressCircleTitle: { classPropertyName: "progressCircleTitle", publicName: "progressCircleTitle", isSignal: true, isRequired: false, transformFunction: null }, labelPrimary: { classPropertyName: "labelPrimary", publicName: "labelPrimary", isSignal: true, isRequired: false, transformFunction: null }, labelSecondary: { classPropertyName: "labelSecondary", publicName: "labelSecondary", isSignal: true, isRequired: false, transformFunction: null }, totalCount: { classPropertyName: "totalCount", publicName: "totalCount", isSignal: true, isRequired: false, transformFunction: null }, counter: { classPropertyName: "counter", publicName: "counter", isSignal: true, isRequired: false, transformFunction: null }, progressTitle: { classPropertyName: "progressTitle", publicName: "progressTitle", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadline: { classPropertyName: "paymentDeadline", publicName: "paymentDeadline", isSignal: true, isRequired: false, transformFunction: null }, cutOffDate: { classPropertyName: "cutOffDate", publicName: "cutOffDate", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadlineLabel: { classPropertyName: "paymentDeadlineLabel", publicName: "paymentDeadlineLabel", isSignal: true, isRequired: false, transformFunction: null }, cutOffDateLabel: { classPropertyName: "cutOffDateLabel", publicName: "cutOffDateLabel", isSignal: true, isRequired: false, transformFunction: null }, payButtonLabel: { classPropertyName: "payButtonLabel", publicName: "payButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, backButtonLabel: { classPropertyName: "backButtonLabel", publicName: "backButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, modalSubtitle: { classPropertyName: "modalSubtitle", publicName: "modalSubtitle", isSignal: true, isRequired: false, transformFunction: null }, modalRestLabel: { classPropertyName: "modalRestLabel", publicName: "modalRestLabel", isSignal: true, isRequired: false, transformFunction: null }, modalOtherAmountLabel: { classPropertyName: "modalOtherAmountLabel", publicName: "modalOtherAmountLabel", isSignal: true, isRequired: false, transformFunction: null }, modalPrimaryButtonLabel: { classPropertyName: "modalPrimaryButtonLabel", publicName: "modalPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEvent: "closeEvent", backEvent: "backEvent", payEvent: "payEvent" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"onSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"0\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"], dependencies: [{ kind: "component", type: BmbBalanceOverviewComponent, selector: "bmb-balance-overview", inputs: ["progressCirclePercent", "progressCircleValue", "showProgressCircleValue", "progressCircleTitle", "showProgressCircleTitle", "showProgressCircleBackground", "labelPrimary", "valuePrimary", "labelSecondary", "valueSecondary"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground"] }, { kind: "component", type: BmbProgressBarComponent, selector: "bmb-progress-bar", inputs: ["type", "totalCount", "counter", "title", "appearance", "textLink", "href", "target", "textFormat"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
130
|
+
customHandleClick() {
|
|
131
|
+
console.log('customHandleClick');
|
|
132
|
+
if (!this.isEnableCustomAmount) {
|
|
133
|
+
this.payEvent.emit(this.totalCount() - this.counter());
|
|
134
|
+
}
|
|
135
|
+
else if (this.amountForm.valid) {
|
|
136
|
+
const amount = Number(this.amountForm.controls['amount'].value);
|
|
137
|
+
if (amount > 0 && amount <= this.maxAmount) {
|
|
138
|
+
this.payEvent.emit(amount);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
this.showErrors['amount'] = true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.showErrors['amount'] = true;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbAccountStatementComponent, deps: [{ token: i1.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbAccountStatementComponent, isStandalone: true, selector: "bmb-account-statement", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, progressCircleTitle: { classPropertyName: "progressCircleTitle", publicName: "progressCircleTitle", isSignal: true, isRequired: false, transformFunction: null }, labelPrimary: { classPropertyName: "labelPrimary", publicName: "labelPrimary", isSignal: true, isRequired: false, transformFunction: null }, labelSecondary: { classPropertyName: "labelSecondary", publicName: "labelSecondary", isSignal: true, isRequired: false, transformFunction: null }, totalCount: { classPropertyName: "totalCount", publicName: "totalCount", isSignal: true, isRequired: false, transformFunction: null }, counter: { classPropertyName: "counter", publicName: "counter", isSignal: true, isRequired: false, transformFunction: null }, progressTitle: { classPropertyName: "progressTitle", publicName: "progressTitle", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadline: { classPropertyName: "paymentDeadline", publicName: "paymentDeadline", isSignal: true, isRequired: false, transformFunction: null }, cutOffDate: { classPropertyName: "cutOffDate", publicName: "cutOffDate", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadlineLabel: { classPropertyName: "paymentDeadlineLabel", publicName: "paymentDeadlineLabel", isSignal: true, isRequired: false, transformFunction: null }, cutOffDateLabel: { classPropertyName: "cutOffDateLabel", publicName: "cutOffDateLabel", isSignal: true, isRequired: false, transformFunction: null }, payButtonLabel: { classPropertyName: "payButtonLabel", publicName: "payButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, backButtonLabel: { classPropertyName: "backButtonLabel", publicName: "backButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, modalSubtitle: { classPropertyName: "modalSubtitle", publicName: "modalSubtitle", isSignal: true, isRequired: false, transformFunction: null }, modalRestLabel: { classPropertyName: "modalRestLabel", publicName: "modalRestLabel", isSignal: true, isRequired: false, transformFunction: null }, modalOtherAmountLabel: { classPropertyName: "modalOtherAmountLabel", publicName: "modalOtherAmountLabel", isSignal: true, isRequired: false, transformFunction: null }, modalPrimaryButtonLabel: { classPropertyName: "modalPrimaryButtonLabel", publicName: "modalPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEvent: "closeEvent", backEvent: "backEvent", payEvent: "payEvent" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"handleSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"1\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"], dependencies: [{ kind: "component", type: BmbBalanceOverviewComponent, selector: "bmb-balance-overview", inputs: ["progressCirclePercent", "progressCircleValue", "showProgressCircleValue", "progressCircleTitle", "showProgressCircleTitle", "showProgressCircleBackground", "labelPrimary", "valuePrimary", "labelSecondary", "valueSecondary"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground", "setBorderRadius"] }, { kind: "component", type: BmbProgressBarComponent, selector: "bmb-progress-bar", inputs: ["type", "totalCount", "counter", "title", "appearance", "textLink", "href", "target", "textFormat"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
129
150
|
}
|
|
130
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbAccountStatementComponent, decorators: [{
|
|
131
152
|
type: Component,
|
|
@@ -142,9 +163,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
142
163
|
BmbInputComponent,
|
|
143
164
|
ReactiveFormsModule,
|
|
144
165
|
BmbInnerHeaderComponent,
|
|
145
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"onSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"0\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"] }]
|
|
146
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { modalTemplate: [{
|
|
166
|
+
CommonModule,
|
|
167
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"handleSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"1\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"] }]
|
|
168
|
+
}], ctorParameters: () => [{ type: i1.BmbNativeModalService }], propDecorators: { modalTemplate: [{
|
|
147
169
|
type: ViewChild,
|
|
148
170
|
args: ['modalTemplate', { read: TemplateRef }]
|
|
149
171
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsR0FDeEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0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RUQsa0JBQWtCO1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7K0dBM0hVLDRCQUE0QjttR0FBNUIsNEJBQTRCLG9uR0E0QkgsV0FBVyw2QkN0RmpELG84SEErSEEscWhPRHZGSSwyQkFBMkIsNFNBQzNCLGdCQUFnQiwwSkFDaEIsdUJBQXVCLHFHQUN2Qix1QkFBdUIsMktBQ3ZCLG1CQUFtQiwwRUFDbkIsa0JBQWtCLDRNQUNsQixrQkFBa0Isa1dBQ2xCLGtCQUFrQiwrSEFDbEIsc0JBQXNCLGlKQUN0QixpQkFBaUIsdWlCQUNqQixtQkFBbUIscWJBQ25CLHVCQUF1Qjs7NEZBT2QsNEJBQTRCO2tCQXRCeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix1QkFBdUI7cUJBQ3hCLGlCQUdjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEVBK0IvQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhbGFuY2Utb3ZlcnZpZXcvYm1iLWJhbGFuY2Utb3ZlcnZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJtYkNhcmRDb21wb25lbnQsXG4gIEJtYkNhcmRDb250ZW50Q29tcG9uZW50LFxufSBmcm9tICcuLi9ibWItY2FyZC9ibWItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcHJvZ3Jlc3MtYmFyL2JtYi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQm1iTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbERhdGFDb25maWcgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJSYWRpYWxDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcmFkaWFsL2JtYi1yYWRpYWwuY29tcG9uZW50JztcbmltcG9ydCB7IGN1cnJlbmN5Rm9ybWF0IH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lGb3JtYXQnO1xuaW1wb3J0IHsgQm1iTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkxheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYklubmVySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlubmVyLWhlYWRlci9ibWItaW5uZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1hY2NvdW50LXN0YXRlbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCbWJCYWxhbmNlT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbXBvbmVudCxcbiAgICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbiAgICBCbWJQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBCbWJEaXZpZGVyQ29tcG9uZW50LFxuICAgIEJtYkJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCbWJSYWRpYWxDb21wb25lbnQsXG4gICAgQm1iTGF5b3V0RGlyZWN0aXZlLFxuICAgIEJtYkxheW91dEl0ZW1EaXJlY3RpdmUsXG4gICAgQm1iSW5wdXRDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCbWJJbm5lckhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1hY2NvdW50LXN0YXRlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItYWNjb3VudC1zdGF0ZW1lbnQuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQWNjb3VudFN0YXRlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nPignRXN0YWRvIGRlIGN1ZW50YScpO1xuICBwcm9ncmVzc0NpcmNsZVRpdGxlID0gaW5wdXQ8c3RyaW5nW10+KFsnVG90YWwgYSBwYWdhcicsICdlc3RlIG1lcyddKTtcbiAgbGFiZWxQcmltYXJ5ID0gaW5wdXQ8c3RyaW5nPignQ3VvdGEgTWVuc3VhbCcpO1xuICBsYWJlbFNlY29uZGFyeSA9IGlucHV0PHN0cmluZz4oJ1BlbmRpZW50ZScpO1xuICB0b3RhbENvdW50ID0gaW5wdXQ8bnVtYmVyPigwKTtcbiAgY291bnRlciA9IGlucHV0PG51bWJlcj4oMCk7XG4gIHByb2dyZXNzVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdUb3RhbCBwYWdhZG8nKTtcbiAgZm9ybWF0RGF0ZXMgPSBpbnB1dDxzdHJpbmc+KCd5eXl5LU1NLWRkJyk7XG4gIHBheW1lbnREZWFkbGluZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgY3V0T2ZmRGF0ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcGF5bWVudERlYWRsaW5lTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdGZWNoYSBsw61taXRlIGRlIHBhZ286Jyk7XG4gIGN1dE9mZkRhdGVMYWJlbCA9IGlucHV0PHN0cmluZz4oJ0ZlY2hhIGRlIGNvcnRlOicpO1xuICBwYXlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oJ1BhZ2FyJyk7XG4gIGJhY2tCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oJ1JlZ3Jlc2FyJyk7XG4gIG1vZGFsVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbW9kYWxTdWJ0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBtb2RhbFJlc3RMYWJlbCA9IGlucHV0PHN0cmluZz4oJ1BhZ2FyIHJlc3RhbnRlJyk7XG4gIG1vZGFsT3RoZXJBbW91bnRMYWJlbCA9IGlucHV0PHN0cmluZz4oJ090cmEgY2FudGlkYWQnKTtcbiAgbW9kYWxQcmltYXJ5QnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdQYWdhcicpO1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KFxuICAgICdFcnJvciwgRXN0ZSBjYW1wbyBlcyByZXF1ZXJpZG8geSBkZWJlIHNlciB1bmEgY2FudGlkYWQgZW50cmUgMSB5ICcsXG4gICk7XG5cbiAgY2xvc2VFdmVudCA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBiYWNrRXZlbnQgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgcGF5RXZlbnQgPSBvdXRwdXQ8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIG1vZGFsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIG5ld01vZGFsOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIGN1c3RvbUFtb3VudDogbnVtYmVyID0gMDtcbiAgaXNFbmFibGVDdXN0b21BbW91bnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWF4QW1vdW50OiBudW1iZXIgPSAwO1xuXG4gIGFtb3VudEZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGFtb3VudDogbmV3IEZvcm1Db250cm9sPG51bWJlcj4oMCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgfSk7XG4gIHNob3dFcnJvcnM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1heEFtb3VudCA9IHRoaXMudG90YWxDb3VudCgpIC0gdGhpcy5jb3VudGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kYWxUZW1wbGF0ZSkge1xuICAgICAgdGhpcy5uZXdNb2RhbCA9IHRoaXMubW9kYWxUZW1wbGF0ZTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbG9zZShldmVudD86IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdChldmVudCB8fCBuZXcgTW91c2VFdmVudCgnY2xpY2snKSk7XG4gIH1cblxuICBoYW5kbGVCYWNrKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIHRoaXMuYmFja0V2ZW50LmVtaXQoZXZlbnQgfHwgbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJykpO1xuICB9XG5cbiAgaGFuZGxlUGF5KCkge1xuICAgIGNvbnN0IGRhdGE6IE1vZGFsRGF0YUNvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiB0aGlzLm1vZGFsVGl0bGUoKSxcbiAgICAgIHN1YnRpdGxlOiB0aGlzLm1vZGFsU3VidGl0bGUoKSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMubmV3TW9kYWwsXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgaGlkZVByaW1hcnlCdXR0b246IHRydWUsXG4gICAgICBoaWRlU2Vjb25kYXJ5QnV0dG9uOiB0cnVlLFxuICAgIH07XG5cbiAgICB0aGlzLm1hdERpYWxvZy5vcGVuKEJtYk1vZGFsQ29tcG9uZW50LCB7IGRhdGEgfSk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWREYXRlKGRhdGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZGF0ZSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IGZvcm1hdERhdGUgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGRhdGUsIHRoaXMuZm9ybWF0RGF0ZXMoKSk7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUudG9Mb2NhbGVTdHJpbmcoe1xuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZEFtb3VudChhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGN1cnJlbmN5Rm9ybWF0KGFtb3VudCk7XG4gIH1cblxuICBoYW5kbGVBY3RpdmVDdXN0b21BbW91bnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaXNFbmFibGVDdXN0b21BbW91bnQgPSBldmVudC52YWx1ZSA9PT0gJ21vZGFsT3RoZXJBbW91bnRJbnB1dCc7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVDdXN0b21BbW91bnQpIHtcbiAgICAgIHRoaXMucGF5RXZlbnQuZW1pdCh0aGlzLnRvdGFsQ291bnQoKSAtIHRoaXMuY291bnRlcigpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1vdW50Rm9ybS52YWxpZCkge1xuICAgICAgY29uc3QgYW1vdW50ID0gTnVtYmVyKHRoaXMuYW1vdW50Rm9ybS5jb250cm9sc1snYW1vdW50J10udmFsdWUpO1xuICAgICAgaWYgKGFtb3VudCA+IDAgJiYgYW1vdW50IDw9IHRoaXMubWF4QW1vdW50KSB7XG4gICAgICAgIHRoaXMucGF5RXZlbnQuZW1pdChhbW91bnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93RXJyb3JzWydhbW91bnQnXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yc1snYW1vdW50J10gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGdldEZvcm1Db250cm9sKG5hbWU6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnRGb3JtLmdldChuYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIHVwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbW91bnRGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuYW1vdW50Rm9ybS5nZXQoZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLnNob3dFcnJvcnNbZmllbGRdID1cbiAgICAgICAgICBjb250cm9sLmludmFsaWQgJiYgKGNvbnRyb2wudG91Y2hlZCB8fCBjb250cm9sLmRpcnR5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFByb2dyZXNzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiAoMTAwICogdGhpcy5jb3VudGVyKCkpIC8gdGhpcy50b3RhbENvdW50KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnRcIj5cbiAgPGJtYi1pbm5lci1oZWFkZXJcbiAgICAob25IYW5kbGVDbG9zZSk9XCJoYW5kbGVDbG9zZSgkZXZlbnQpXCJcbiAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgW3Nob3dTZWFyY2hdPVwiZmFsc2VcIlxuICAgIFtzaG93Q2xvc2VdPVwidHJ1ZVwiXG4gIC8+XG4gIDxtYWluIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWNvbnRlbnQtYmFsYW5jZVwiPlxuICAgICAgPGJtYi1iYWxhbmNlLW92ZXJ2aWV3XG4gICAgICAgIFtwcm9ncmVzc0NpcmNsZVRpdGxlXT1cInByb2dyZXNzQ2lyY2xlVGl0bGUoKVwiXG4gICAgICAgIFtsYWJlbFByaW1hcnldPVwibGFiZWxQcmltYXJ5KClcIlxuICAgICAgICBbbGFiZWxTZWNvbmRhcnldPVwibGFiZWxTZWNvbmRhcnkoKVwiXG4gICAgICAgIFtwcm9ncmVzc0NpcmNsZVZhbHVlXT1cImdldEZvcm1hdHRlZEFtb3VudCh0b3RhbENvdW50KCkgLSBjb3VudGVyKCkpXCJcbiAgICAgICAgW3ZhbHVlUHJpbWFyeV09XCJnZXRGb3JtYXR0ZWRBbW91bnQodG90YWxDb3VudCgpKVwiXG4gICAgICAgIFt2YWx1ZVNlY29uZGFyeV09XCJnZXRGb3JtYXR0ZWRBbW91bnQoY291bnRlcigpKVwiXG4gICAgICAgIFtwcm9ncmVzc0NpcmNsZVBlcmNlbnRdPVwiZ2V0UHJvZ3Jlc3NQZXJjZW50KClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8Ym1iLWNhcmQ+XG4gICAgICA8Ym1iLWNhcmQtY29udGVudCBwYWRkaW5nPVwibm9uZVwiPlxuICAgICAgICA8Ym1iLXByb2dyZXNzLWJhclxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJpbmZvXCJcbiAgICAgICAgICB0eXBlPVwiY29udGFpbmVyXCJcbiAgICAgICAgICBbY291bnRlcl09XCJjb3VudGVyKClcIlxuICAgICAgICAgIFt0b3RhbENvdW50XT1cInRvdGFsQ291bnQoKVwiXG4gICAgICAgICAgW3RpdGxlXT1cInByb2dyZXNzVGl0bGUoKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2JtYi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9ibWItY2FyZD5cbiAgICA8Ym1iLWNhcmQ+XG4gICAgICA8Ym1iLWNhcmQtY29udGVudD5cbiAgICAgICAgPHAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtY29udGVudC1kYXRlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgY3V0T2ZmRGF0ZUxhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgZ2V0Rm9ybWF0dGVkRGF0ZShjdXRPZmZEYXRlKCkpIH19PC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxibWItZGl2aWRlciAvPlxuICAgICAgICA8cCBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50LWRhdGVcIj5cbiAgICAgICAgICA8c3Bhbj57eyBwYXltZW50RGVhZGxpbmVMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGdldEZvcm1hdHRlZERhdGUocGF5bWVudERlYWRsaW5lKCkpIH19PC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICA8L2JtYi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9ibWItY2FyZD5cbiAgPC9tYWluPlxuICA8Zm9vdGVyIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWZvb3RlclwiPlxuICAgIDxidXR0b25cbiAgICAgIGJtYkJ1dHRvblxuICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnktb3V0bGluZWRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUJhY2soJGV2ZW50KVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICB7eyBiYWNrQnV0dG9uTGFiZWwoKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZVBheSgpXCIgYm1iQnV0dG9uIHNpemU9XCJsYXJnZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgIHt7IHBheUJ1dHRvbkxhYmVsKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9mb290ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNtb2RhbFRlbXBsYXRlPlxuICA8c2VjdGlvbiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1tb2RhbFwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiYW1vdW50Rm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XG4gICAgICA8Ym1iLXByb2dyZXNzLWJhclxuICAgICAgICBhcHBlYXJhbmNlPVwiaW5mb1wiXG4gICAgICAgIHR5cGU9XCJjb250YWluZXJcIlxuICAgICAgICBbY291bnRlcl09XCJjb3VudGVyKClcIlxuICAgICAgICBbdG90YWxDb3VudF09XCJ0b3RhbENvdW50KClcIlxuICAgICAgICBbdGl0bGVdPVwicHJvZ3Jlc3NUaXRsZSgpXCJcbiAgICAgIC8+XG4gICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1tb2RhbC1sYWJlbFwiXG4gICAgICAgIGJtYkxheW91dFxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgW2R5bmFtaWNDb2xzXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8Ym1iLXJhZGlhbFxuICAgICAgICAgIGlkPVwibW9kYWxSZXN0SW5wdXRcIlxuICAgICAgICAgIG5hbWU9XCJtb2RhbEFtb3VudFwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVBY3RpdmVDdXN0b21BbW91bnQoJGV2ZW50KVwiXG4gICAgICAgICAgdmFsdWU9XCJtb2RhbFJlc3RJbnB1dFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuIGJtYkxheW91dEl0ZW0gW2NvbEdyb3ddPVwiMVwiPlxuICAgICAgICAgIHt7IG1vZGFsUmVzdExhYmVsKCkgfX1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7eyBnZXRGb3JtYXR0ZWRBbW91bnQodG90YWxDb3VudCgpIC0gY291bnRlcigpKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGJtYi1kaXZpZGVyIC8+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtbW9kYWwtbGFiZWxcIlxuICAgICAgICBibWJMYXlvdXRcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIFtkeW5hbWljQ29sc109XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGJtYi1yYWRpYWxcbiAgICAgICAgICBpZD1cIm1vZGFsT3RoZXJBbW91bnRJbnB1dFwiXG4gICAgICAgICAgbmFtZT1cIm1vZGFsQW1vdW50XCJcbiAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUFjdGl2ZUN1c3RvbUFtb3VudCgkZXZlbnQpXCJcbiAgICAgICAgICB2YWx1ZT1cIm1vZGFsT3RoZXJBbW91bnRJbnB1dFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuIGJtYkxheW91dEl0ZW0gW2NvbEdyb3ddPVwiMVwiPlxuICAgICAgICAgIHt7IG1vZGFsT3RoZXJBbW91bnRMYWJlbCgpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICBAaWYgKGlzRW5hYmxlQ3VzdG9tQW1vdW50KSB7XG4gICAgICAgIDxibWItaW5wdXRcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBbbWF4XT1cInRvdGFsQ291bnQoKSAtIGNvdW50ZXIoKVwiXG4gICAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgICBwYXR0ZXJuPVwiXFxkKlwiXG4gICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2UoKVwiXG4gICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2woJ2Ftb3VudCcpXCJcbiAgICAgICAgICBbc2hvd0Vycm9yXT1cInNob3dFcnJvcnNbJ2Ftb3VudCddXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtZm9vdGVyXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGJtYkJ1dHRvbiBzaXplPVwibGFyZ2VcIj5cbiAgICAgICAgICB7eyBtb2RhbFByaW1hcnlCdXR0b25MYWJlbCgpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9mb290ZXI+XG4gICAgPC9mb3JtPlxuICA8L3NlY3Rpb24+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEdBQ3hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVE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QUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzsrR0EvSVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsb25HQTRCSCxXQUFXLDZCQ3hGakQsdzhIQStIQSx3bU5EdEZJLDJCQUEyQiw0U0FDM0IsZ0JBQWdCLDBKQUNoQix1QkFBdUIsd0hBQ3ZCLHVCQUF1QiwyS0FDdkIsbUJBQW1CLDBFQUNuQixrQkFBa0IsNE1BQ2xCLGtCQUFrQixrV0FDbEIsa0JBQWtCLCtIQUNsQixzQkFBc0IsaUpBQ3RCLGlCQUFpQix1aUJBQ2pCLG1CQUFtQixxYkFDbkIsdUJBQXVCLDJUQUN2QixZQUFZOzs0RkFPSCw0QkFBNEI7a0JBdkJ4QyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsMkJBQTJCO3dCQUMzQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzBGQStCL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhbGFuY2Utb3ZlcnZpZXcvYm1iLWJhbGFuY2Utb3ZlcnZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJtYkNhcmRDb21wb25lbnQsXG4gIEJtYkNhcmRDb250ZW50Q29tcG9uZW50LFxufSBmcm9tICcuLi9ibWItY2FyZC9ibWItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcHJvZ3Jlc3MtYmFyL2JtYi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJSYWRpYWxDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcmFkaWFsL2JtYi1yYWRpYWwuY29tcG9uZW50JztcbmltcG9ydCB7IGN1cnJlbmN5Rm9ybWF0IH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lGb3JtYXQnO1xuaW1wb3J0IHsgQm1iTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkxheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYklubmVySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlubmVyLWhlYWRlci9ibWItaW5uZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQm1iTmF0aXZlTW9kYWwgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItYWNjb3VudC1zdGF0ZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50LFxuICAgIEJtYkNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gICAgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iUmFkaWFsQ29tcG9uZW50LFxuICAgIEJtYkxheW91dERpcmVjdGl2ZSxcbiAgICBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICAgIEJtYklucHV0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iSW5uZXJIZWFkZXJDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1hY2NvdW50LXN0YXRlbWVudC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJBY2NvdW50U3RhdGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdFc3RhZG8gZGUgY3VlbnRhJyk7XG4gIHByb2dyZXNzQ2lyY2xlVGl0bGUgPSBpbnB1dDxzdHJpbmdbXT4oWydUb3RhbCBhIHBhZ2FyJywgJ2VzdGUgbWVzJ10pO1xuICBsYWJlbFByaW1hcnkgPSBpbnB1dDxzdHJpbmc+KCdDdW90YSBNZW5zdWFsJyk7XG4gIGxhYmVsU2Vjb25kYXJ5ID0gaW5wdXQ8c3RyaW5nPignUGVuZGllbnRlJyk7XG4gIHRvdGFsQ291bnQgPSBpbnB1dDxudW1iZXI+KDApO1xuICBjb3VudGVyID0gaW5wdXQ8bnVtYmVyPigwKTtcbiAgcHJvZ3Jlc3NUaXRsZSA9IGlucHV0PHN0cmluZz4oJ1RvdGFsIHBhZ2FkbycpO1xuICBmb3JtYXREYXRlcyA9IGlucHV0PHN0cmluZz4oJ3l5eXktTU0tZGQnKTtcbiAgcGF5bWVudERlYWRsaW5lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBjdXRPZmZEYXRlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwYXltZW50RGVhZGxpbmVMYWJlbCA9IGlucHV0PHN0cmluZz4oJ0ZlY2hhIGzDrW1pdGUgZGUgcGFnbzonKTtcbiAgY3V0T2ZmRGF0ZUxhYmVsID0gaW5wdXQ8c3RyaW5nPignRmVjaGEgZGUgY29ydGU6Jyk7XG4gIHBheUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPignUGFnYXInKTtcbiAgYmFja0J1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPignUmVncmVzYXInKTtcbiAgbW9kYWxUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBtb2RhbFN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIG1vZGFsUmVzdExhYmVsID0gaW5wdXQ8c3RyaW5nPignUGFnYXIgcmVzdGFudGUnKTtcbiAgbW9kYWxPdGhlckFtb3VudExhYmVsID0gaW5wdXQ8c3RyaW5nPignT3RyYSBjYW50aWRhZCcpO1xuICBtb2RhbFByaW1hcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oJ1BhZ2FyJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oXG4gICAgJ0Vycm9yLCBFc3RlIGNhbXBvIGVzIHJlcXVlcmlkbyB5IGRlYmUgc2VyIHVuYSBjYW50aWRhZCBlbnRyZSAxIHkgJyxcbiAgKTtcblxuICBjbG9zZUV2ZW50ID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG4gIGJhY2tFdmVudCA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBwYXlFdmVudCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbW9kYWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmV3TW9kYWw6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgY3VzdG9tQW1vdW50OiBudW1iZXIgPSAwO1xuICBpc0VuYWJsZUN1c3RvbUFtb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuICBtYXhBbW91bnQ6IG51bWJlciA9IDA7XG4gIG1vZGFsSUQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgYW1vdW50Rm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigwLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICB9KTtcbiAgc2hvd0Vycm9yczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF4QW1vdW50ID0gdGhpcy50b3RhbENvdW50KCkgLSB0aGlzLmNvdW50ZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RhbFRlbXBsYXRlKSB7XG4gICAgICB0aGlzLm5ld01vZGFsID0gdGhpcy5tb2RhbFRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsb3NlKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KGV2ZW50IHx8IG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKTtcbiAgfVxuXG4gIGhhbmRsZUJhY2soZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5iYWNrRXZlbnQuZW1pdChldmVudCB8fCBuZXcgTW91c2VFdmVudCgnY2xpY2snKSk7XG4gIH1cblxuICBoYW5kbGVQYXkoKSB7XG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IHRoaXMubW9kYWxUaXRsZSgpLFxuICAgICAgc3VidGl0bGU6IHRoaXMubW9kYWxTdWJ0aXRsZSgpLFxuICAgICAgY29udGVudDogdGhpcy5uZXdNb2RhbCxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgfTtcblxuICAgIHRoaXMubW9kYWxJRC5zZXQodGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpKTtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZERhdGUoZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXRlKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZm9ybWF0RGF0ZSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZGF0ZSwgdGhpcy5mb3JtYXREYXRlcygpKTtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZS50b0xvY2FsZVN0cmluZyh7XG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIG1vbnRoOiAnc2hvcnQnLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkQW1vdW50KGFtb3VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY3VycmVuY3lGb3JtYXQoYW1vdW50KTtcbiAgfVxuXG4gIGhhbmRsZUFjdGl2ZUN1c3RvbUFtb3VudChldmVudDogYW55KSB7XG4gICAgdGhpcy5pc0VuYWJsZUN1c3RvbUFtb3VudCA9IGV2ZW50LnZhbHVlID09PSAnbW9kYWxPdGhlckFtb3VudElucHV0JztcbiAgfVxuXG4gIGhhbmRsZVN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVDdXN0b21BbW91bnQpIHtcbiAgICAgIHRoaXMucGF5RXZlbnQuZW1pdCh0aGlzLnRvdGFsQ291bnQoKSAtIHRoaXMuY291bnRlcigpKTtcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwodGhpcy5tb2RhbElEKCkgYXMgc3RyaW5nKTtcbiAgICAgIHRoaXMubW9kYWxJRC5zZXQobnVsbCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtb3VudEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IGFtb3VudCA9IE51bWJlcih0aGlzLmFtb3VudEZvcm0uY29udHJvbHNbJ2Ftb3VudCddLnZhbHVlKTtcbiAgICAgIGlmIChhbW91bnQgPiAwICYmIGFtb3VudCA8PSB0aGlzLm1heEFtb3VudCkge1xuICAgICAgICB0aGlzLnBheUV2ZW50LmVtaXQoYW1vdW50KTtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCh0aGlzLm1vZGFsSUQoKSBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLm1vZGFsSUQuc2V0KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93RXJyb3JzWydhbW91bnQnXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yc1snYW1vdW50J10gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGdldEZvcm1Db250cm9sKG5hbWU6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnRGb3JtLmdldChuYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIHVwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbW91bnRGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuYW1vdW50Rm9ybS5nZXQoZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLnNob3dFcnJvcnNbZmllbGRdID1cbiAgICAgICAgICBjb250cm9sLmludmFsaWQgJiYgKGNvbnRyb2wudG91Y2hlZCB8fCBjb250cm9sLmRpcnR5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFByb2dyZXNzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiAoMTAwICogdGhpcy5jb3VudGVyKCkpIC8gdGhpcy50b3RhbENvdW50KCk7XG4gIH1cblxuICBjdXN0b21IYW5kbGVDbGljaygpIHtcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tSGFuZGxlQ2xpY2snKTtcblxuICAgIGlmICghdGhpcy5pc0VuYWJsZUN1c3RvbUFtb3VudCkge1xuICAgICAgdGhpcy5wYXlFdmVudC5lbWl0KHRoaXMudG90YWxDb3VudCgpIC0gdGhpcy5jb3VudGVyKCkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbW91bnRGb3JtLnZhbGlkKSB7XG4gICAgICBjb25zdCBhbW91bnQgPSBOdW1iZXIodGhpcy5hbW91bnRGb3JtLmNvbnRyb2xzWydhbW91bnQnXS52YWx1ZSk7XG4gICAgICBpZiAoYW1vdW50ID4gMCAmJiBhbW91bnQgPD0gdGhpcy5tYXhBbW91bnQpIHtcbiAgICAgICAgdGhpcy5wYXlFdmVudC5lbWl0KGFtb3VudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dFcnJvcnNbJ2Ftb3VudCddID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93RXJyb3JzWydhbW91bnQnXSA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50XCI+XG4gIDxibWItaW5uZXItaGVhZGVyXG4gICAgKG9uSGFuZGxlQ2xvc2UpPVwiaGFuZGxlQ2xvc2UoJGV2ZW50KVwiXG4gICAgW3RpdGxlXT1cInRpdGxlKClcIlxuICAgIFtzaG93U2VhcmNoXT1cImZhbHNlXCJcbiAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50LWJhbGFuY2VcIj5cbiAgICAgIDxibWItYmFsYW5jZS1vdmVydmlld1xuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVUaXRsZV09XCJwcm9ncmVzc0NpcmNsZVRpdGxlKClcIlxuICAgICAgICBbbGFiZWxQcmltYXJ5XT1cImxhYmVsUHJpbWFyeSgpXCJcbiAgICAgICAgW2xhYmVsU2Vjb25kYXJ5XT1cImxhYmVsU2Vjb25kYXJ5KClcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVWYWx1ZV09XCJnZXRGb3JtYXR0ZWRBbW91bnQodG90YWxDb3VudCgpIC0gY291bnRlcigpKVwiXG4gICAgICAgIFt2YWx1ZVByaW1hcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KHRvdGFsQ291bnQoKSlcIlxuICAgICAgICBbdmFsdWVTZWNvbmRhcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KGNvdW50ZXIoKSlcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVQZXJjZW50XT1cImdldFByb2dyZXNzUGVyY2VudCgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQgcGFkZGluZz1cIm5vbmVcIj5cbiAgICAgICAgPGJtYi1wcm9ncmVzcy1iYXJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwiaW5mb1wiXG4gICAgICAgICAgdHlwZT1cImNvbnRhaW5lclwiXG4gICAgICAgICAgW2NvdW50ZXJdPVwiY291bnRlcigpXCJcbiAgICAgICAgICBbdG90YWxDb3VudF09XCJ0b3RhbENvdW50KClcIlxuICAgICAgICAgIFt0aXRsZV09XCJwcm9ncmVzc1RpdGxlKClcIlxuICAgICAgICAvPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWNvbnRlbnQtZGF0ZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGN1dE9mZkRhdGVMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGdldEZvcm1hdHRlZERhdGUoY3V0T2ZmRGF0ZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtY29udGVudC1kYXRlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcGF5bWVudERlYWRsaW5lTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBnZXRGb3JtYXR0ZWREYXRlKHBheW1lbnREZWFkbGluZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gIDwvbWFpbj5cbiAgPGZvb3RlciBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBibWJCdXR0b25cbiAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5LW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCYWNrKCRldmVudClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3sgYmFja0J1dHRvbkxhYmVsKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQYXkoKVwiIGJtYkJ1dHRvbiBzaXplPVwibGFyZ2VcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICB7eyBwYXlCdXR0b25MYWJlbCgpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgPHNlY3Rpb24gY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtbW9kYWxcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFtb3VudEZvcm1cIiAobmdTdWJtaXQpPVwiaGFuZGxlU3VibWl0KClcIj5cbiAgICAgIDxibWItcHJvZ3Jlc3MtYmFyXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpbmZvXCJcbiAgICAgICAgdHlwZT1cImNvbnRhaW5lclwiXG4gICAgICAgIFtjb3VudGVyXT1cImNvdW50ZXIoKVwiXG4gICAgICAgIFt0b3RhbENvdW50XT1cInRvdGFsQ291bnQoKVwiXG4gICAgICAgIFt0aXRsZV09XCJwcm9ncmVzc1RpdGxlKClcIlxuICAgICAgLz5cbiAgICAgIDxibWItZGl2aWRlciAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LW1vZGFsLWxhYmVsXCJcbiAgICAgICAgYm1iTGF5b3V0XG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBbZHluYW1pY0NvbHNdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxibWItcmFkaWFsXG4gICAgICAgICAgaWQ9XCJtb2RhbFJlc3RJbnB1dFwiXG4gICAgICAgICAgbmFtZT1cIm1vZGFsQW1vdW50XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUFjdGl2ZUN1c3RvbUFtb3VudCgkZXZlbnQpXCJcbiAgICAgICAgICB2YWx1ZT1cIm1vZGFsUmVzdElucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gYm1iTGF5b3V0SXRlbSBbY29sR3Jvd109XCIxXCI+XG4gICAgICAgICAge3sgbW9kYWxSZXN0TGFiZWwoKSB9fVxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIHt7IGdldEZvcm1hdHRlZEFtb3VudCh0b3RhbENvdW50KCkgLSBjb3VudGVyKCkpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1tb2RhbC1sYWJlbFwiXG4gICAgICAgIGJtYkxheW91dFxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgW2R5bmFtaWNDb2xzXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8Ym1iLXJhZGlhbFxuICAgICAgICAgIGlkPVwibW9kYWxPdGhlckFtb3VudElucHV0XCJcbiAgICAgICAgICBuYW1lPVwibW9kYWxBbW91bnRcIlxuICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQWN0aXZlQ3VzdG9tQW1vdW50KCRldmVudClcIlxuICAgICAgICAgIHZhbHVlPVwibW9kYWxPdGhlckFtb3VudElucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gYm1iTGF5b3V0SXRlbSBbY29sR3Jvd109XCIxXCI+XG4gICAgICAgICAge3sgbW9kYWxPdGhlckFtb3VudExhYmVsKCkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIEBpZiAoaXNFbmFibGVDdXN0b21BbW91bnQpIHtcbiAgICAgICAgPGJtYi1pbnB1dFxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFttYXhdPVwidG90YWxDb3VudCgpIC0gY291bnRlcigpXCJcbiAgICAgICAgICBbbWluXT1cIjFcIlxuICAgICAgICAgIHBhdHRlcm49XCJcXGQqXCJcbiAgICAgICAgICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcbiAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCgnYW1vdW50JylcIlxuICAgICAgICAgIFtzaG93RXJyb3JdPVwic2hvd0Vycm9yc1snYW1vdW50J11cIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgPGZvb3RlciBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgYm1iQnV0dG9uIHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgIHt7IG1vZGFsUHJpbWFyeUJ1dHRvbkxhYmVsKCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|