@onemrvapublic/design-system 18.2.10-develop.2 → 18.2.11-alpha.1
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/i18n/de.json +10 -4
- package/assets/i18n/en.json +10 -4
- package/assets/i18n/fr.json +10 -4
- package/assets/i18n/nl.json +10 -4
- package/esm2022/core/src/lib/core.module.mjs +4 -4
- package/esm2022/core/src/lib/services/onemrva-error-handler.service.mjs +3 -3
- package/esm2022/flag-icon/src/flag-icon.component.mjs +3 -3
- package/esm2022/layout/src/components/layout/layout.component.mjs +5 -5
- package/esm2022/layout/src/components/layout-after-nav/layout-after-nav.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-content/layout-content.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-drawer-content/layout-drawer-content.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-drawer-title/layout-drawer-title.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-footer/layout-footer.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-login-menu/layout-login-menu.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-route/layout-route.component.mjs +5 -5
- package/esm2022/layout/src/components/layout-sidenav/layout-sidenav.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.mjs +3 -3
- package/esm2022/layout/src/components/layout-subroute/layout-subroute.component.mjs +4 -4
- package/esm2022/layout/src/components/layout-title/layout-title.component.mjs +3 -3
- package/esm2022/layout/src/directives/drawer-host.directive.mjs +3 -3
- package/esm2022/layout/src/layout.module.mjs +4 -4
- package/esm2022/layout/src/services/drawer.service.mjs +3 -3
- package/esm2022/layout/src/striphtml.pipe.mjs +3 -3
- package/esm2022/mat-avatar/src/onemrva-mat-avatar.component.mjs +3 -3
- package/esm2022/mat-avatar/src/onemrva-mat-avatar.module.mjs +4 -4
- package/esm2022/mat-badge/src/onemrva-mat-badge.component.mjs +3 -3
- package/esm2022/mat-badge/src/onemrva-mat-badge.module.mjs +4 -4
- package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.mjs +3 -3
- package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.mjs +4 -4
- package/esm2022/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.mjs +3 -3
- package/esm2022/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.mjs +3 -3
- package/esm2022/mat-carousel/src/onemrva-mat-carousel.component.mjs +7 -4
- package/esm2022/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.mjs +3 -3
- package/esm2022/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.mjs +3 -3
- package/esm2022/mat-empty-row/src/onemrva-mat-empty-row.component.mjs +3 -3
- package/esm2022/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.mjs +3 -3
- package/esm2022/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.mjs +3 -3
- package/esm2022/mat-file-upload/src/directives/dnd.directive.mjs +3 -3
- package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.module.mjs +4 -4
- package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.service.mjs +3 -3
- package/esm2022/mat-file-upload/src/onemrva-mat-file-upload.store.mjs +3 -3
- package/esm2022/mat-input-birthplace/src/country-item.component.mjs +3 -3
- package/esm2022/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.mjs +3 -3
- package/esm2022/mat-input-country/src/onemrva-mat-input-country.component.mjs +3 -3
- package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +3 -3
- package/esm2022/mat-input-iban/index.mjs +5 -0
- package/esm2022/mat-input-iban/onemrvapublic-design-system-mat-input-iban.mjs +5 -0
- package/esm2022/mat-input-iban/src/onemrva-mat-input-iban.component.mjs +278 -0
- package/esm2022/mat-input-phone/src/onemrva-mat-input-phone.component.mjs +3 -3
- package/esm2022/mat-input-phone/src/phone-number.directive.mjs +3 -3
- package/esm2022/mat-message-box/src/onemrva-mat-message-box.component.mjs +3 -3
- package/esm2022/mat-message-box/src/onemrva-mat-message-box.module.mjs +4 -4
- package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.component.mjs +3 -3
- package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.module.mjs +4 -4
- package/esm2022/mat-notification/src/onemrva-mat-notification.component.mjs +3 -3
- package/esm2022/mat-paginator/src/onemrva-mat-paginator.component.mjs +3 -3
- package/esm2022/mat-paginator/src/onemrva-mat-paginator.module.mjs +4 -4
- package/esm2022/mat-panel/src/onemrva-mat-panel-content.component.mjs +3 -3
- package/esm2022/mat-panel/src/onemrva-mat-panel-icon.component.mjs +3 -3
- package/esm2022/mat-panel/src/onemrva-mat-panel-title-action.component.mjs +3 -3
- package/esm2022/mat-panel/src/onemrva-mat-panel-title.component.mjs +3 -3
- package/esm2022/mat-panel/src/onemrva-mat-panel.component.mjs +3 -3
- package/esm2022/mat-panel/src/onemrva-mat-panel.module.mjs +4 -4
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-content.component.mjs +3 -3
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.mjs +3 -3
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.component.mjs +3 -3
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.module.mjs +4 -4
- package/esm2022/mat-progress-bar/src/onemrva-mat-progress-bar.component.mjs +3 -3
- package/esm2022/mat-select-search/src/mat-select-no-entries-found.directive.mjs +3 -3
- package/esm2022/mat-select-search/src/mat-select-search-clear.directive.mjs +3 -3
- package/esm2022/mat-select-search/src/mat-select-search.component.mjs +3 -3
- package/esm2022/mat-select-search/src/mat-select-search.module.mjs +4 -4
- package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.component.mjs +3 -3
- package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.module.mjs +4 -4
- package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.component.mjs +3 -3
- package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.module.mjs +4 -4
- package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.component.mjs +3 -3
- package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.module.mjs +4 -4
- package/esm2022/mat-spinner/src/onemrva-mat-loading.directive.mjs +3 -3
- package/esm2022/mat-spinner/src/onemrva-mat-spinner.component.mjs +3 -3
- package/esm2022/mat-spinner/src/onemrva-mat-spinner.module.mjs +4 -4
- package/esm2022/mat-stepper/src/onemrva-mat-stepper.component.mjs +3 -3
- package/esm2022/mat-stepper/src/onemrva-mat-stepper.module.mjs +4 -4
- package/esm2022/mat-sticker/src/onemrva-mat-sticker.component.mjs +3 -3
- package/esm2022/mat-sticker/src/onemrva-mat-sticker.module.mjs +4 -4
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.component.mjs +3 -3
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.directive.mjs +3 -3
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.service.mjs +3 -3
- package/esm2022/mat-task-list/src/onemrva-mat-task-content.component.mjs +3 -3
- package/esm2022/mat-task-list/src/onemrva-mat-task-list.component.mjs +3 -3
- package/esm2022/mat-task-list/src/onemrva-mat-task-list.module.mjs +4 -4
- package/esm2022/mat-task-list/src/onemrva-mat-task-title.component.mjs +3 -3
- package/esm2022/mat-task-list/src/onemrva-mat-task.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/clock/clock.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.module.mjs +4 -4
- package/esm2022/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.mjs +6 -6
- package/esm2022/mat-timepicker/src/timepicker.directive.mjs +3 -3
- package/esm2022/mat-toast/src/onemrva-mat-toast.component.mjs +3 -3
- package/esm2022/mat-toast/src/onemrva-mat-toast.module.mjs +4 -4
- package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.component.mjs +3 -3
- package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.directive.mjs +3 -3
- package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.module.mjs +4 -4
- package/esm2022/page-not-found/src/page-not-found-action.component.mjs +3 -3
- package/esm2022/page-not-found/src/page-not-found-extra.component.mjs +3 -3
- package/esm2022/page-not-found/src/page-not-found-invader.component.mjs +3 -3
- package/esm2022/page-not-found/src/page-not-found.component.mjs +3 -3
- package/esm2022/page-not-found/src/page-not-found.module.mjs +4 -4
- package/esm2022/shared/src/lib/adapters/date.adapter.mjs +3 -3
- package/esm2022/shared/src/lib/components/clipboard-icon/clipboard-icon.component.mjs +3 -3
- package/esm2022/shared/src/lib/containers/WebComponentOverlayContainer.mjs +3 -3
- package/esm2022/shared/src/lib/directives/clipboard.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/color.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/digit-only.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/iconRight.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/if-width-is.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/mask.directive.mjs +3 -3
- package/esm2022/shared/src/lib/directives/mat-row-clickable.directive.mjs +3 -3
- package/esm2022/shared/src/lib/pipes/onemrva-bce.pipe.mjs +3 -3
- package/esm2022/shared/src/lib/pipes/onemrva-niss.pipe.mjs +3 -3
- package/esm2022/shared/src/lib/services/cache.service.mjs +3 -3
- package/esm2022/shared/src/lib/services/cdn.service.mjs +3 -3
- package/esm2022/shared/src/lib/services/country-cdn.service.mjs +8 -5
- package/esm2022/shared/src/lib/services/country-lookup.service.mjs +3 -3
- package/esm2022/shared/src/lib/shared.datepicker.module.mjs +4 -4
- package/esm2022/shared/src/lib/shared.module.mjs +4 -4
- package/esm2022/shared/src/lib/validators/bank-account.validator.utils.mjs +18 -7
- package/fesm2022/onemrvapublic-design-system-core.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-layout.mjs +54 -54
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-badge.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +10 -10
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +9 -6
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +19 -19
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +6 -6
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +289 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -0
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +6 -6
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +19 -19
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +13 -13
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +13 -13
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +10 -10
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +9 -9
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +16 -16
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +22 -22
- package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +10 -10
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +16 -16
- package/fesm2022/onemrvapublic-design-system-shared.mjs +77 -63
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/layout/src/components/layout/layout.component.scss +11 -0
- package/mat-input-iban/index.d.ts +1 -0
- package/{mat-input-bank-account/src/bank-account.component.d.ts → mat-input-iban/src/onemrva-mat-input-iban.component.d.ts} +39 -28
- package/mat-input-iban/src/onemrva-mat-input-iban.component.scss +10 -0
- package/package.json +7 -7
- package/shared/src/lib/services/country-cdn.service.d.ts +5 -65
- package/esm2022/mat-input-bank-account/index.mjs +0 -5
- package/esm2022/mat-input-bank-account/onemrvapublic-design-system-mat-input-bank-account.mjs +0 -5
- package/esm2022/mat-input-bank-account/src/bank-account.component.mjs +0 -223
- package/esm2022/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.mjs +0 -66
- package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs +0 -286
- package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs.map +0 -1
- package/mat-input-bank-account/index.d.ts +0 -1
- package/mat-input-bank-account/src/bank-account.component.scss +0 -42
- package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.d.ts +0 -15
- package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.scss +0 -14
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import * as i3 from '@angular/common';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { EventEmitter, Component, ViewEncapsulation, Optional, Inject, Self, ViewChild, Input, Output } from '@angular/core';
|
|
5
|
+
import * as i1 from '@angular/forms';
|
|
6
|
+
import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import * as i8 from '@angular/material/form-field';
|
|
8
|
+
import { MAT_FORM_FIELD, MatFormFieldControl, MatFormFieldModule, MatPrefix } from '@angular/material/form-field';
|
|
9
|
+
import * as i4 from '@angular/material/input';
|
|
10
|
+
import { MatInputModule } from '@angular/material/input';
|
|
11
|
+
import * as i5 from '@angular/material/select';
|
|
12
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
13
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
14
|
+
import { of, Subject, startWith, takeUntil, pairwise, distinctUntilChanged, combineLatestWith } from 'rxjs';
|
|
15
|
+
import * as i7 from '@onemrvapublic/design-system/mat-select-search';
|
|
16
|
+
import { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';
|
|
17
|
+
import { IBAN_SUPPORTED_COUNTRIES } from '@onemrvapublic/design-system/shared';
|
|
18
|
+
import { map } from 'rxjs/operators';
|
|
19
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
20
|
+
import { extractIBAN, isValidIBAN, friendlyFormatIBAN, countrySpecs } from 'ibantools';
|
|
21
|
+
import * as i2 from '@angular/cdk/a11y';
|
|
22
|
+
import * as i6 from '@angular/material/core';
|
|
23
|
+
|
|
24
|
+
class OnemrvaMatInputIbanComponent {
|
|
25
|
+
static { this.nextId = 0; }
|
|
26
|
+
get bbanField() {
|
|
27
|
+
return this.parts.get('bban');
|
|
28
|
+
}
|
|
29
|
+
get countryCodeField() {
|
|
30
|
+
return this.parts.get('countryCode');
|
|
31
|
+
}
|
|
32
|
+
constructor(formBuilder, _focusMonitor, _elementRef, _cd, _formField, ngControl) {
|
|
33
|
+
this._focusMonitor = _focusMonitor;
|
|
34
|
+
this._elementRef = _elementRef;
|
|
35
|
+
this._cd = _cd;
|
|
36
|
+
this._formField = _formField;
|
|
37
|
+
this.ngControl = ngControl;
|
|
38
|
+
this.noEntriesFoundLabel = 'Not found';
|
|
39
|
+
this.placeholderLabel = 'Search';
|
|
40
|
+
this.searchAriaLabel = 'Search';
|
|
41
|
+
this.getCountry = new EventEmitter();
|
|
42
|
+
this.countryCodes$ = of([]);
|
|
43
|
+
this.filterCtrl = new FormControl('');
|
|
44
|
+
this.destroyNotifier$ = new Subject();
|
|
45
|
+
this.placeholderIban = '';
|
|
46
|
+
this.controlType = 'bank-account-input';
|
|
47
|
+
this.stateChanges = new Subject();
|
|
48
|
+
this.focused = false;
|
|
49
|
+
this.id = `bank-account-input-${OnemrvaMatInputIbanComponent.nextId++}`;
|
|
50
|
+
this.touched = false;
|
|
51
|
+
this.onChange = (_) => {
|
|
52
|
+
//
|
|
53
|
+
};
|
|
54
|
+
this.onTouched = () => {
|
|
55
|
+
//
|
|
56
|
+
};
|
|
57
|
+
this.readonly = false;
|
|
58
|
+
this._disabled = false;
|
|
59
|
+
this._placeholder = '';
|
|
60
|
+
this._required = false;
|
|
61
|
+
this.ngControl.valueAccessor = this;
|
|
62
|
+
this.parts = formBuilder.group({
|
|
63
|
+
countryCode: ['', [Validators.maxLength(2)]],
|
|
64
|
+
bban: ['', []],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
errors() {
|
|
68
|
+
return this.parts.errors;
|
|
69
|
+
}
|
|
70
|
+
get errorState() {
|
|
71
|
+
const control = this.ngControl?.control;
|
|
72
|
+
return !!(control && control.invalid && (control.dirty || control.touched));
|
|
73
|
+
}
|
|
74
|
+
get shouldLabelFloat() {
|
|
75
|
+
return this.focused || !this.empty;
|
|
76
|
+
}
|
|
77
|
+
get empty() {
|
|
78
|
+
const { value: { countryCode, bban }, } = this.parts;
|
|
79
|
+
return !countryCode && !bban;
|
|
80
|
+
}
|
|
81
|
+
get value() {
|
|
82
|
+
const { value: { countryCode, bban }, } = this.parts;
|
|
83
|
+
return `${countryCode ?? ''}${bban ?? ''}`;
|
|
84
|
+
}
|
|
85
|
+
set value(iban) {
|
|
86
|
+
const { countryCode, bban } = extractIBAN(iban || '');
|
|
87
|
+
this.parts.setValue({
|
|
88
|
+
countryCode: countryCode || null,
|
|
89
|
+
bban: bban || null,
|
|
90
|
+
});
|
|
91
|
+
this.stateChanges.next();
|
|
92
|
+
}
|
|
93
|
+
get disabled() {
|
|
94
|
+
return this._disabled;
|
|
95
|
+
}
|
|
96
|
+
set disabled(value) {
|
|
97
|
+
this._disabled = coerceBooleanProperty(value);
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
99
|
+
this._disabled ? this.parts.disable() : this.parts.enable();
|
|
100
|
+
this.stateChanges.next();
|
|
101
|
+
}
|
|
102
|
+
get placeholder() {
|
|
103
|
+
return this._placeholder;
|
|
104
|
+
}
|
|
105
|
+
set placeholder(value) {
|
|
106
|
+
this._placeholder = value;
|
|
107
|
+
this.stateChanges.next();
|
|
108
|
+
}
|
|
109
|
+
get required() {
|
|
110
|
+
return this._required;
|
|
111
|
+
}
|
|
112
|
+
set required(value) {
|
|
113
|
+
this._required = coerceBooleanProperty(value);
|
|
114
|
+
this.stateChanges.next();
|
|
115
|
+
}
|
|
116
|
+
updateNumber(number) {
|
|
117
|
+
let shownValue = number.replace(/[^a-zA-Z0-9]/g, '');
|
|
118
|
+
// BE45063712751789
|
|
119
|
+
const fullNumber = this.countryCodeField.value + number;
|
|
120
|
+
if (isValidIBAN(fullNumber)) {
|
|
121
|
+
const formattedValue = friendlyFormatIBAN(fullNumber);
|
|
122
|
+
if (formattedValue !== null) {
|
|
123
|
+
shownValue = formattedValue.substring(2);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
this.bbanField.patchValue(shownValue, { emitEvent: false });
|
|
127
|
+
}
|
|
128
|
+
ngOnInit() {
|
|
129
|
+
this.countryCodes$ = this.getCountryCodes();
|
|
130
|
+
this.bbanField.valueChanges
|
|
131
|
+
.pipe(startWith(this.bbanField.getRawValue()), takeUntil(this.destroyNotifier$))
|
|
132
|
+
.subscribe(number => {
|
|
133
|
+
if (number !== null && number !== '') {
|
|
134
|
+
if (this.firstTwoCharsAreLetters(number)) {
|
|
135
|
+
const code = number?.substring(0, 2).toUpperCase();
|
|
136
|
+
const country = IBAN_SUPPORTED_COUNTRIES.find(country => country == code);
|
|
137
|
+
this.countryCodeField.setValue(country);
|
|
138
|
+
number = number.substring(2);
|
|
139
|
+
}
|
|
140
|
+
this.updateNumber(number);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
this.countryCodeField.valueChanges
|
|
144
|
+
.pipe(startWith(''), pairwise(), distinctUntilChanged(), takeUntil(this.destroyNotifier$))
|
|
145
|
+
.subscribe(([_prevIban, countryCode]) => {
|
|
146
|
+
this.placeholderIban = '';
|
|
147
|
+
this.touched = true;
|
|
148
|
+
if (!countryCode || countryCode.length < 2) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (this.firstTwoCharsAreLetters(countryCode)) {
|
|
152
|
+
const r = countrySpecs[countryCode]?.chars;
|
|
153
|
+
if (r !== undefined)
|
|
154
|
+
this.placeholderIban = this.generatePlaceholder(r);
|
|
155
|
+
}
|
|
156
|
+
if (this.bbanField.value !== null) {
|
|
157
|
+
this.updateNumber(this.bbanField.value);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
handleClick(e) {
|
|
162
|
+
e.stopPropagation();
|
|
163
|
+
}
|
|
164
|
+
ngOnDestroy() {
|
|
165
|
+
this.destroyNotifier$.next();
|
|
166
|
+
this.destroyNotifier$.complete();
|
|
167
|
+
}
|
|
168
|
+
getCountryCodes() {
|
|
169
|
+
return this.filterCtrl.valueChanges.pipe(startWith(''), combineLatestWith(of(IBAN_SUPPORTED_COUNTRIES)), map(([filterVal, countryCodes]) => {
|
|
170
|
+
return countryCodes.filter(code => {
|
|
171
|
+
if (!filterVal) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
return code.toLowerCase().includes(filterVal.toLowerCase());
|
|
175
|
+
});
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
autoFocusNext(control, nextElement) {
|
|
179
|
+
if (!control.errors && nextElement) {
|
|
180
|
+
this._focusMonitor.focusVia(nextElement, 'program');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
onContainerClick(event) {
|
|
184
|
+
if (event.target.tagName.toLowerCase() != 'input') {
|
|
185
|
+
this._elementRef.nativeElement.querySelector('input')?.focus();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
setDescribedByIds(ids) {
|
|
189
|
+
const controlElement = this._elementRef.nativeElement.querySelector('.iban-fields');
|
|
190
|
+
controlElement.setAttribute('aria-describedby', ids.join(' '));
|
|
191
|
+
}
|
|
192
|
+
registerOnChange(fn) {
|
|
193
|
+
this.onChange = fn;
|
|
194
|
+
}
|
|
195
|
+
registerOnTouched(fn) {
|
|
196
|
+
this.onTouched = fn;
|
|
197
|
+
}
|
|
198
|
+
writeValue(iban) {
|
|
199
|
+
this.value = iban;
|
|
200
|
+
}
|
|
201
|
+
_handleInput(control, nextElement) {
|
|
202
|
+
this.autoFocusNext(control, nextElement);
|
|
203
|
+
this.onChange(this.value);
|
|
204
|
+
}
|
|
205
|
+
firstTwoCharsAreLetters(input) {
|
|
206
|
+
const regex = /^[a-zA-Z]{2}/;
|
|
207
|
+
return regex.test(input);
|
|
208
|
+
}
|
|
209
|
+
generatePlaceholder(chars) {
|
|
210
|
+
let placeholder = '';
|
|
211
|
+
for (let i = 0; i < chars; i++) {
|
|
212
|
+
placeholder += '0';
|
|
213
|
+
}
|
|
214
|
+
const ph = friendlyFormatIBAN(placeholder)?.substring(2);
|
|
215
|
+
if (ph)
|
|
216
|
+
return ph;
|
|
217
|
+
return placeholder.substring(2);
|
|
218
|
+
}
|
|
219
|
+
onKeyup(event) {
|
|
220
|
+
// Clear country when backspace on empty bban
|
|
221
|
+
if (this.bbanField.value === '' && event.key === 'Backspace') {
|
|
222
|
+
this.countryCodeField.setValue(null);
|
|
223
|
+
this.parts.clearValidators();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatInputIbanComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_FORM_FIELD, optional: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
227
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OnemrvaMatInputIbanComponent, isStandalone: true, selector: "onemrva-mat-input-iban", inputs: { noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", searchAriaLabel: "searchAriaLabel", value: "value", readonly: "readonly", disabled: "disabled", placeholder: "placeholder", required: "required" }, outputs: { getCountry: "getCountry" }, providers: [
|
|
228
|
+
{ provide: MatFormFieldControl, useExisting: OnemrvaMatInputIbanComponent },
|
|
229
|
+
], viewQueries: [{ propertyName: "countryCode", first: true, predicate: ["countryCode"], descendants: true }, { propertyName: "bban", first: true, predicate: ["bban"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"parts\">\n <!-- <mat-form-field class=\"onemrva-input-iban\">-->\n <!-- <mat-label>{{ label }}</mat-label>-->\n <div class=\"iban-fields\">\n <div class=\"iban-prefix\">\n <mat-select\n class=\"onemrva-iban-select\"\n formControlName=\"countryCode\"\n (selectionChange)=\"_handleInput(parts.controls.countryCode)\"\n #countryCode\n >\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n <mat-option\n *ngFor=\"let country of countryCodes$ | async\"\n [value]=\"country\"\n >\n <span>{{ country }}</span>\n </mat-option>\n </mat-select>\n </div>\n <input\n (click)=\"handleClick($event)\"\n matInput\n [placeholder]=\"placeholderIban\"\n formControlName=\"bban\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly\"\n (input)=\"_handleInput(parts.controls.bban)\"\n (keyup)=\"onKeyup($event)\"\n #bban\n />\n </div>\n <!-- <mat-hint *ngIf=\"hint !== ''\">{{ hint }}</mat-hint>-->\n <!-- <mat-error >{{ 'error' | translate }}</mat-error>-->\n <!-- </mat-form-field>-->\n\n <!-- {{ parts.errors |json }}-->\n</ng-container>\n", styles: ["onemrva-mat-input-iban{width:100%}onemrva-mat-input-iban .iban-fields{display:flex}onemrva-mat-input-iban .iban-fields .iban-prefix{width:40px;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
230
|
+
}
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatInputIbanComponent, decorators: [{
|
|
232
|
+
type: Component,
|
|
233
|
+
args: [{ selector: 'onemrva-mat-input-iban', standalone: true, imports: [
|
|
234
|
+
CommonModule,
|
|
235
|
+
MatInputModule,
|
|
236
|
+
MatFormFieldModule,
|
|
237
|
+
MatSelectModule,
|
|
238
|
+
MatSelectSearchModule,
|
|
239
|
+
ReactiveFormsModule,
|
|
240
|
+
TranslateModule,
|
|
241
|
+
MatPrefix,
|
|
242
|
+
], encapsulation: ViewEncapsulation.None, providers: [
|
|
243
|
+
{ provide: MatFormFieldControl, useExisting: OnemrvaMatInputIbanComponent },
|
|
244
|
+
], template: "<ng-container [formGroup]=\"parts\">\n <!-- <mat-form-field class=\"onemrva-input-iban\">-->\n <!-- <mat-label>{{ label }}</mat-label>-->\n <div class=\"iban-fields\">\n <div class=\"iban-prefix\">\n <mat-select\n class=\"onemrva-iban-select\"\n formControlName=\"countryCode\"\n (selectionChange)=\"_handleInput(parts.controls.countryCode)\"\n #countryCode\n >\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n <mat-option\n *ngFor=\"let country of countryCodes$ | async\"\n [value]=\"country\"\n >\n <span>{{ country }}</span>\n </mat-option>\n </mat-select>\n </div>\n <input\n (click)=\"handleClick($event)\"\n matInput\n [placeholder]=\"placeholderIban\"\n formControlName=\"bban\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly\"\n (input)=\"_handleInput(parts.controls.bban)\"\n (keyup)=\"onKeyup($event)\"\n #bban\n />\n </div>\n <!-- <mat-hint *ngIf=\"hint !== ''\">{{ hint }}</mat-hint>-->\n <!-- <mat-error >{{ 'error' | translate }}</mat-error>-->\n <!-- </mat-form-field>-->\n\n <!-- {{ parts.errors |json }}-->\n</ng-container>\n", styles: ["onemrva-mat-input-iban{width:100%}onemrva-mat-input-iban .iban-fields{display:flex}onemrva-mat-input-iban .iban-fields .iban-prefix{width:40px;margin-right:8px}\n"] }]
|
|
245
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.FocusMonitor }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i8.MatFormField, decorators: [{
|
|
246
|
+
type: Optional
|
|
247
|
+
}, {
|
|
248
|
+
type: Inject,
|
|
249
|
+
args: [MAT_FORM_FIELD]
|
|
250
|
+
}] }, { type: i1.NgControl, decorators: [{
|
|
251
|
+
type: Optional
|
|
252
|
+
}, {
|
|
253
|
+
type: Self
|
|
254
|
+
}] }], propDecorators: { countryCode: [{
|
|
255
|
+
type: ViewChild,
|
|
256
|
+
args: ['countryCode']
|
|
257
|
+
}], bban: [{
|
|
258
|
+
type: ViewChild,
|
|
259
|
+
args: ['bban']
|
|
260
|
+
}], noEntriesFoundLabel: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], placeholderLabel: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], searchAriaLabel: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], getCountry: [{
|
|
267
|
+
type: Output
|
|
268
|
+
}], value: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], readonly: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], disabled: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], placeholder: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], required: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}] } });
|
|
279
|
+
|
|
280
|
+
/*
|
|
281
|
+
* Public API Surface of mat-bank-account-input
|
|
282
|
+
*/
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Generated bundle index. Do not edit.
|
|
286
|
+
*/
|
|
287
|
+
|
|
288
|
+
export { OnemrvaMatInputIbanComponent };
|
|
289
|
+
//# sourceMappingURL=onemrvapublic-design-system-mat-input-iban.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-input-iban.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-iban/src/onemrva-mat-input-iban.component.ts","../../../../projects/onemrva/design-system/mat-input-iban/src/onemrva-mat-input-iban.component.html","../../../../projects/onemrva/design-system/mat-input-iban/index.ts","../../../../projects/onemrva/design-system/mat-input-iban/onemrvapublic-design-system-mat-input-iban.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n NgControl,\n ReactiveFormsModule,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport {\n MAT_FORM_FIELD,\n MatFormField,\n MatFormFieldControl,\n MatFormFieldModule,\n MatPrefix,\n} from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n combineLatestWith,\n distinctUntilChanged,\n Observable,\n of,\n pairwise,\n startWith,\n Subject,\n takeUntil,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport { IBAN_SUPPORTED_COUNTRIES } from '@onemrvapublic/design-system/shared';\nimport { map } from 'rxjs/operators';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n countrySpecs,\n extractIBAN,\n friendlyFormatIBAN,\n isValidIBAN,\n} from 'ibantools';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'onemrva-mat-input-iban',\n styleUrls: ['onemrva-mat-input-iban.component.scss'],\n templateUrl: 'onemrva-mat-input-iban.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n MatPrefix,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: MatFormFieldControl, useExisting: OnemrvaMatInputIbanComponent },\n ],\n})\nexport class OnemrvaMatInputIbanComponent\n implements\n ControlValueAccessor,\n MatFormFieldControl<string>,\n OnInit,\n OnDestroy\n{\n @ViewChild('countryCode') countryCode!: HTMLInputElement;\n @ViewChild('bban') bban!: HTMLInputElement;\n\n static nextId = 0;\n\n @Input() noEntriesFoundLabel = 'Not found';\n @Input() placeholderLabel = 'Search';\n @Input() searchAriaLabel = 'Search';\n\n @Output() getCountry = new EventEmitter<any>();\n\n countryCodes$: Observable<any> = of([]);\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n placeholderIban = '';\n\n controlType = 'bank-account-input';\n stateChanges = new Subject<void>();\n focused = false;\n id = `bank-account-input-${OnemrvaMatInputIbanComponent.nextId++}`;\n touched = false;\n\n parts: FormGroup<{\n countryCode: FormControl<string | null>;\n bban: FormControl<string | null>;\n }>;\n\n get bbanField() {\n return this.parts.get('bban') as FormControl;\n }\n get countryCodeField() {\n return this.parts.get('countryCode') as FormControl;\n }\n\n constructor(\n formBuilder: FormBuilder,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n private _cd: ChangeDetectorRef,\n @Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,\n @Optional() @Self() public ngControl: NgControl,\n ) {\n this.ngControl.valueAccessor = this;\n\n this.parts = formBuilder.group({\n countryCode: ['', [Validators.maxLength(2)]],\n bban: ['', []],\n });\n }\n\n errors(): ValidationErrors | null {\n return this.parts.errors;\n }\n\n onChange = (_: any) => {\n //\n };\n onTouched = () => {\n //\n };\n\n get errorState(): boolean {\n const control = this.ngControl?.control;\n return !!(control && control.invalid && (control.dirty || control.touched));\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n get empty() {\n const {\n value: { countryCode, bban },\n } = this.parts;\n\n return !countryCode && !bban;\n }\n\n @Input()\n get value(): string {\n const {\n value: { countryCode, bban },\n } = this.parts;\n return `${countryCode ?? ''}${bban ?? ''}`;\n }\n\n set value(iban: string | null) {\n const { countryCode, bban } = extractIBAN(iban || '');\n\n this.parts.setValue({\n countryCode: countryCode || null,\n bban: bban || null,\n });\n this.stateChanges.next();\n }\n\n @Input()\n readonly = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this._disabled ? this.parts.disable() : this.parts.enable();\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n\n private _placeholder = '';\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n updateNumber(number: string) {\n let shownValue = number.replace(/[^a-zA-Z0-9]/g, '');\n // BE45063712751789\n const fullNumber = this.countryCodeField.value + number;\n if (isValidIBAN(fullNumber)) {\n const formattedValue = friendlyFormatIBAN(fullNumber);\n if (formattedValue !== null) {\n shownValue = formattedValue.substring(2);\n }\n }\n this.bbanField.patchValue(shownValue, { emitEvent: false });\n }\n\n ngOnInit(): void {\n this.countryCodes$ = this.getCountryCodes();\n\n this.bbanField.valueChanges\n .pipe(\n startWith(this.bbanField.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number !== null && number !== '') {\n if (this.firstTwoCharsAreLetters(number)) {\n const code = number?.substring(0, 2).toUpperCase();\n const country = IBAN_SUPPORTED_COUNTRIES.find(\n country => country == code,\n );\n this.countryCodeField.setValue(country);\n number = number.substring(2);\n }\n this.updateNumber(number);\n }\n });\n\n this.countryCodeField.valueChanges\n .pipe(\n startWith(''),\n pairwise(),\n distinctUntilChanged(),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(([_prevIban, countryCode]) => {\n this.placeholderIban = '';\n this.touched = true;\n if (!countryCode || countryCode.length < 2) {\n return;\n }\n\n if (this.firstTwoCharsAreLetters(countryCode)) {\n const r: number | undefined = countrySpecs[countryCode]?.chars;\n if (r !== undefined)\n this.placeholderIban = this.generatePlaceholder(r);\n }\n if (this.bbanField.value !== null) {\n this.updateNumber(this.bbanField.value);\n }\n });\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n getCountryCodes() {\n return this.filterCtrl.valueChanges.pipe(\n startWith(''),\n combineLatestWith(of(IBAN_SUPPORTED_COUNTRIES)),\n map(([filterVal, countryCodes]) => {\n return countryCodes.filter(code => {\n if (!filterVal) {\n return true;\n }\n\n return code.toLowerCase().includes(filterVal.toLowerCase());\n });\n }),\n );\n }\n\n autoFocusNext(\n control: AbstractControl,\n nextElement?: HTMLInputElement,\n ): void {\n if (!control.errors && nextElement) {\n this._focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this._elementRef.nativeElement.querySelector('input')?.focus();\n }\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement =\n this._elementRef.nativeElement.querySelector('.iban-fields')!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(iban: string | null): void {\n this.value = iban;\n }\n\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\n this.autoFocusNext(control, nextElement);\n this.onChange(this.value);\n }\n\n firstTwoCharsAreLetters(input: string): boolean {\n const regex = /^[a-zA-Z]{2}/;\n return regex.test(input);\n }\n\n generatePlaceholder(chars: number): string {\n let placeholder = '';\n\n for (let i = 0; i < chars; i++) {\n placeholder += '0';\n }\n const ph = friendlyFormatIBAN(placeholder)?.substring(2);\n if (ph) return ph;\n\n return placeholder.substring(2);\n }\n\n onKeyup(event: KeyboardEvent): void {\n // Clear country when backspace on empty bban\n if (this.bbanField.value === '' && event.key === 'Backspace') {\n this.countryCodeField.setValue(null);\n this.parts.clearValidators();\n }\n }\n}\n","<ng-container [formGroup]=\"parts\">\n <!-- <mat-form-field class=\"onemrva-input-iban\">-->\n <!-- <mat-label>{{ label }}</mat-label>-->\n <div class=\"iban-fields\">\n <div class=\"iban-prefix\">\n <mat-select\n class=\"onemrva-iban-select\"\n formControlName=\"countryCode\"\n (selectionChange)=\"_handleInput(parts.controls.countryCode)\"\n #countryCode\n >\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n <mat-option\n *ngFor=\"let country of countryCodes$ | async\"\n [value]=\"country\"\n >\n <span>{{ country }}</span>\n </mat-option>\n </mat-select>\n </div>\n <input\n (click)=\"handleClick($event)\"\n matInput\n [placeholder]=\"placeholderIban\"\n formControlName=\"bban\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly\"\n (input)=\"_handleInput(parts.controls.bban)\"\n (keyup)=\"onKeyup($event)\"\n #bban\n />\n </div>\n <!-- <mat-hint *ngIf=\"hint !== ''\">{{ hint }}</mat-hint>-->\n <!-- <mat-error >{{ 'error' | translate }}</mat-error>-->\n <!-- </mat-form-field>-->\n\n <!-- {{ parts.errors |json }}-->\n</ng-container>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-iban.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -55,10 +55,10 @@ class PhoneNumberDirective {
|
|
|
55
55
|
return;
|
|
56
56
|
e.preventDefault();
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PhoneNumberDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: PhoneNumberDirective, isStandalone: true, selector: "[phoneNumber]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PhoneNumberDirective, decorators: [{
|
|
62
62
|
type: Directive,
|
|
63
63
|
args: [{
|
|
64
64
|
selector: '[phoneNumber]',
|
|
@@ -237,10 +237,10 @@ class OnemrvaMatInputPhoneComponent {
|
|
|
237
237
|
return { phoneNumber: { value: 'input.phone.invalid' } };
|
|
238
238
|
};
|
|
239
239
|
}
|
|
240
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
241
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatInputPhoneComponent, deps: [{ token: i1.OnemRvaCDNCountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
241
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OnemrvaMatInputPhoneComponent, isStandalone: true, selector: "onemrva-mat-input-phone", inputs: { readonly: "readonly", phoneNumber: "phoneNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultPrefix: "defaultPrefix", searchAriaLabel: "searchAriaLabel", hint: "hint" }, outputs: { getCountry: "getCountry" }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: ["numberInput"], descendants: true }], ngImport: i0, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-phone-number\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n (click)=\"handleClick($event)\"\n type=\"tel\"\n matInput\n phoneNumber\n #numberInput\n placeholder=\"+32 475 12 34 56\"\n [formControl]=\"phoneNumber\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n <mat-option\n *ngFor=\"let country of filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" />\n \n {{ country.name }}\n \n <span class=\"dialcode\">\n {{ country.dial_code }}\n </span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"hint !== ''\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"number.invalid\">{{ errors() | translate }}</mat-error>\n </mat-form-field>\n</ng-container>\n", styles: [".onemrva-input-phone-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-phone-number mat-select .mat-mdc-select-placeholder:before{width:1em!important;height:1em!important;background:#eee!important;visibility:visible!important;margin:10px 0!important}.onemrva-input-phone-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-phone-number .onemrva-text-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-phone-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}.onemrva-input-phone-number span.dialcode{color:#acaab2}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "directive", type: PhoneNumberDirective, selector: "[phoneNumber]" }, { kind: "component", type: FlagIconComponent, selector: "flag-icon", inputs: ["countryCode", "mode", "width"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
242
242
|
}
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatInputPhoneComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{ selector: 'onemrva-mat-input-phone', standalone: true, imports: [
|
|
246
246
|
CommonModule,
|
|
@@ -126,10 +126,10 @@ class OnemrvaMatMessageBoxComponent {
|
|
|
126
126
|
this.mbcontent.nativeElement.insertAdjacentHTML('beforeend', this.messageCode);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OnemrvaMatMessageBoxComponent, selector: "onemrva-mat-message-box", inputs: { label: "label", messageCode: "messageCode", id: "id", dataCy: "dataCy", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "class.onemrva-mat-message-box": "this.cssClass", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-grayscale": "this.isGrayscale", "class.mat-info": "this._isInfo" } }, viewQueries: [{ propertyName: "mbcontent", first: true, predicate: ["mbcontent"], descendants: true }], ngImport: i0, template: "<div #mbcontent>\n <ng-content></ng-content>\n</div>\n" }); }
|
|
131
131
|
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{ selector: 'onemrva-mat-message-box', template: "<div #mbcontent>\n <ng-content></ng-content>\n</div>\n" }]
|
|
135
135
|
}], propDecorators: { label: [{
|
|
@@ -178,11 +178,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
178
178
|
}] } });
|
|
179
179
|
|
|
180
180
|
class OnemrvaMatMessageBoxModule {
|
|
181
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
182
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
183
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
182
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxModule, declarations: [OnemrvaMatMessageBoxComponent], imports: [CommonModule, MatIconModule, TranslateModule], exports: [OnemrvaMatMessageBoxComponent] }); }
|
|
183
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxModule, imports: [CommonModule, MatIconModule, TranslateModule] }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMessageBoxModule, decorators: [{
|
|
186
186
|
type: NgModule,
|
|
187
187
|
args: [{
|
|
188
188
|
declarations: [OnemrvaMatMessageBoxComponent],
|
|
@@ -125,8 +125,8 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
|
|
|
125
125
|
this.searchFilter.updateValueAndValidity({ emitEvent: true });
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OnemrvaMatMultiSelectComponent, selector: "onemrva-mat-multi-select", inputs: { formControl: "formControl", role: ["attr.role", "role"], label: ["attr.aria-label", "label"], invalid: ["attr.aria-invalid", "invalid"], showFilter: "showFilter", selectionToggle: "selectionToggle", dataCy: ["attr.data-cy", "dataCy"] }, host: { properties: { "style.opacity": "this.opacity" } }, providers: [
|
|
130
130
|
{
|
|
131
131
|
provide: MatFormFieldControl,
|
|
132
132
|
useExisting: OnemrvaMatMultiSelectComponent,
|
|
@@ -147,7 +147,7 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
|
|
|
147
147
|
// },
|
|
148
148
|
], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, ngImport: i0, template: "<mat-select\n multiple=\"true\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\"> | </span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{ selector: 'onemrva-mat-multi-select', providers: [
|
|
153
153
|
{
|
|
@@ -196,8 +196,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
196
196
|
}] } });
|
|
197
197
|
|
|
198
198
|
class OnemrvaMatMultiSelectModule {
|
|
199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
200
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
200
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, declarations: [OnemrvaMatMultiSelectComponent], imports: [CommonModule,
|
|
201
201
|
FormsModule,
|
|
202
202
|
TranslateModule,
|
|
203
203
|
MatFormFieldModule,
|
|
@@ -206,7 +206,7 @@ class OnemrvaMatMultiSelectModule {
|
|
|
206
206
|
MatIconModule,
|
|
207
207
|
MatSelectSearchModule,
|
|
208
208
|
ReactiveFormsModule], exports: [OnemrvaMatMultiSelectComponent] }); }
|
|
209
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
209
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, imports: [CommonModule,
|
|
210
210
|
FormsModule,
|
|
211
211
|
TranslateModule,
|
|
212
212
|
MatFormFieldModule,
|
|
@@ -216,7 +216,7 @@ class OnemrvaMatMultiSelectModule {
|
|
|
216
216
|
MatSelectSearchModule,
|
|
217
217
|
ReactiveFormsModule] }); }
|
|
218
218
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, decorators: [{
|
|
220
220
|
type: NgModule,
|
|
221
221
|
args: [{
|
|
222
222
|
declarations: [OnemrvaMatMultiSelectComponent],
|
|
@@ -117,10 +117,10 @@ class OnemrvaMatNotificationComponent {
|
|
|
117
117
|
this._isOpen = false;
|
|
118
118
|
this.notificationClose.emit();
|
|
119
119
|
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatNotificationComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OnemrvaMatNotificationComponent, isStandalone: true, selector: "onemrva-mat-notification", inputs: { message: "message", closable: "closable", id: "id", dataCy: "dataCy", color: "color" }, outputs: { notificationClose: "notificationClose" }, host: { properties: { "class.collapse-notification": "this._closed", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "attr.aria-live": "this.ariaLive", "attr.role": "this.role", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-info": "this._isInfo" } }, ngImport: i0, template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content\">\n <ng-container *ngIf=\"message !== ''\">{{\n message | translate\n }}</ng-container>\n <ng-content></ng-content>\n <mat-icon\n class=\"close-notification\"\n (click)=\"closeNotification()\"\n *ngIf=\"closable || isSmall\"\n >\n close\n </mat-icon>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OnemrvaMatNotificationComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
125
125
|
args: [{ selector: 'onemrva-mat-notification', standalone: true, imports: [CommonModule, TranslateModule, MatIconModule], template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content\">\n <ng-container *ngIf=\"message !== ''\">{{\n message | translate\n }}</ng-container>\n <ng-content></ng-content>\n <mat-icon\n class=\"close-notification\"\n (click)=\"closeNotification()\"\n *ngIf=\"closable || isSmall\"\n >\n close\n </mat-icon>\n </div>\n</div>\n" }]
|
|
126
126
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }], propDecorators: { message: [{
|