@onemrvapublic/design-system 18.2.21-develop.3 → 18.2.21-develop.4
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/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +7 -6
- package/esm2022/shared/src/lib/constants/constants.mjs +2 -1
- package/esm2022/shared/src/lib/tokens/lookup.token.mjs +3 -2
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +6 -5
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +3 -2
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.d.ts +0 -1
- package/package.json +7 -7
- package/shared/src/lib/constants/constants.d.ts +1 -0
package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs
CHANGED
|
@@ -5,7 +5,6 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
5
5
|
import { MatInputModule } from '@angular/material/input';
|
|
6
6
|
import { MatSelectModule } from '@angular/material/select';
|
|
7
7
|
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
-
import { NgxMaskDirective } from 'ngx-mask';
|
|
9
8
|
import { combineLatestWith, debounceTime, map, startWith, Subject, takeUntil, zip, } from 'rxjs';
|
|
10
9
|
import { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';
|
|
11
10
|
import { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';
|
|
@@ -97,10 +96,13 @@ export class OnemrvaMatInputEnterpriseNumberComponent {
|
|
|
97
96
|
if (countryFromCode) {
|
|
98
97
|
this.getCountry.next(countryFromCode);
|
|
99
98
|
number = countryFromCode.pattern.substring(0, 2) + number;
|
|
100
|
-
this.formatEnterpriseNumber(countryFromCode);
|
|
99
|
+
//this.formatEnterpriseNumber(countryFromCode); /// done twice ?
|
|
101
100
|
}
|
|
102
101
|
this.number.setValue(number, { emitEvent: false });
|
|
103
102
|
this.formatEnterpriseNumber(countryFromCode);
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
this.numberInput.nativeElement.focus();
|
|
105
|
+
}, 100);
|
|
104
106
|
});
|
|
105
107
|
});
|
|
106
108
|
}
|
|
@@ -139,7 +141,7 @@ export class OnemrvaMatInputEnterpriseNumberComponent {
|
|
|
139
141
|
return 'input.vies.unknown.error';
|
|
140
142
|
}
|
|
141
143
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, deps: [{ token: i1.OnemRvaCDNCountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: "readonly", enterpriseNumber: "enterpriseNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultCountry: "defaultCountry", 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-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: "readonly", enterpriseNumber: "enterpriseNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultCountry: "defaultCountry", 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-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-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-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\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: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "component", type: FlagIconComponent, selector: "flag-icon", inputs: ["countryCode", "mode", "width"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i9.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"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
143
145
|
}
|
|
144
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, decorators: [{
|
|
145
147
|
type: Component,
|
|
@@ -151,9 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
151
153
|
ReactiveFormsModule,
|
|
152
154
|
TranslateModule,
|
|
153
155
|
FlagIconComponent,
|
|
154
|
-
NgxMaskDirective,
|
|
155
156
|
MatSelectSearchModule,
|
|
156
|
-
], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n
|
|
157
|
+
], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-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-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"] }]
|
|
157
158
|
}], ctorParameters: () => [{ type: i1.OnemRvaCDNCountryService }], propDecorators: { readonly: [{
|
|
158
159
|
type: Input
|
|
159
160
|
}], enterpriseNumber: [{
|
|
@@ -176,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
176
177
|
type: ViewChild,
|
|
177
178
|
args: ['numberInput']
|
|
178
179
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci9zcmMvb25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci9zcmMvb25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixHQUFHLEVBRUgsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0s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cUMsY0FHbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3RCLGlCQUNjLGlCQUFpQixDQUFDLElBQUk7NkZBTXJDLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNtQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neE1hc2tEaXJlY3RpdmUgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0V2l0aCxcbiAgZGVib3VuY2VUaW1lLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxuICB6aXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnQG9uZW1ydmFwdWJsaWMvZGVzaWduLXN5c3RlbS9tYXQtc2VsZWN0LXNlYXJjaCc7XG5pbXBvcnQge1xuICBPbmVtUnZhQ0ROQ291bnRyeVNlcnZpY2UsXG4gIE9uZW1ydmFNYXRlcmlhbENvdW50cnksXG59IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IEZsYWdJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9uZW1ydmFwdWJsaWMvZGVzaWduLXN5c3RlbS9mbGFnLWljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLW1hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlcicsXG4gIHN0eWxlVXJsczogWydvbmVtcnZhLW1hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ29uZW1ydmEtbWF0LWlucHV0LWVudGVycHJpc2UtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZsYWdJY29uQ29tcG9uZW50LFxuICAgIE5neE1hc2tEaXJlY3RpdmUsXG4gICAgTWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBPbmVtcnZhTWF0SW5wdXRFbnRlcnByaXNlTnVtYmVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlbnRlcnByaXNlTnVtYmVyITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGxhYmVsID0gJ1ZJRVMnO1xuICBASW5wdXQoKSBub0VudHJpZXNGb3VuZExhYmVsID0gJ05vdCBmb3VuZCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyTGFiZWwgPSAnU2VhcmNoJztcbiAgQElucHV0KCkgZGVmYXVsdENvdW50cnkgPSAnQkUnO1xuICBASW5wdXQoKSBzZWFyY2hBcmlhTGFiZWwgPSAnJztcbiAgQElucHV0KCkgaGludCA9ICcnO1xuICBAT3V0cHV0KCkgZ2V0Q291bnRyeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAVmlld0NoaWxkKCdudW1iZXJJbnB1dCcpIG51bWJlcklucHV0ITogRWxlbWVudFJlZjtcblxuICBjb3VudHJ5Q29kZTogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIHB1YmxpYyBmaWx0ZXJDdHJsOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPiA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcblxuICBkZXN0cm95Tm90aWZpZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBtYXNrJCE6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBwdWJsaWMgY291bnRyaWVzJDogT2JzZXJ2YWJsZTxPbmVtcnZhTWF0ZXJpYWxDb3VudHJ5W10+ID1cbiAgICB0aGlzLmNkbi5nZXRDb3VudHJpZXNCeVpvbmUoJ0VVJyk7XG4gIHB1YmxpYyBmaWx0ZXJlZENvdW50cmllcyQ6IE9ic2VydmFibGU8T25lbXJ2YU1hdGVyaWFsQ291bnRyeVtdPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkbjogT25lbVJ2YUNETkNvdW50cnlTZXJ2aWNlKSB7XG4gICAgdGhpcy5maWx0ZXJlZENvdW50cmllcyQgPSB0aGlzLmZpbHRlckN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNDAwKSxcbiAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLmNvdW50cmllcyQpLFxuICAgICAgbWFwKChbc2VhcmNoLCBjb3VudHJpZXNdKSA9PiB7XG4gICAgICAgIHJldHVybiBjb3VudHJpZXMuZmlsdGVyKChjb3VudHJ5OiBPbmVtcnZhTWF0ZXJpYWxDb3VudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKCFzZWFyY2ggfHwgc2VhcmNoID09PSAnJykgcmV0dXJuIGNvdW50cmllcztcbiAgICAgICAgICBpZiAoY291bnRyeS5uYW1lID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gY291bnRyeS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IG51bWJlcigpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZW50ZXJwcmlzZU51bWJlciBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29kZShjb3VudHJ5OiBPbmVtcnZhTWF0ZXJpYWxDb3VudHJ5IHwgbnVsbCkge1xuICAgIHRoaXMuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgaWYgKGNvdW50cnkpIHtcbiAgICAgIHRoaXMuY291bnRyeUNvZGUuc2V0VmFsdWUoY291bnRyeS5jb2RlKTtcbiAgICAgIHRoaXMuZm9ybWF0RW50ZXJwcmlzZU51bWJlcihjb3VudHJ5KTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm51bWJlci52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5udW1iZXIuZ2V0UmF3VmFsdWUoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lOb3RpZmllciQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShudW1iZXIgPT4ge1xuICAgICAgICBpZiAobnVtYmVyID09PSAnMCcpIHtcbiAgICAgICAgICB0aGlzLmNkblxuICAgICAgICAgICAgLmZpbmRDb3VudHJ5RnJvbUNvZGUodGhpcy5kZWZhdWx0Q291bnRyeSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lOb3RpZmllciQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcbiAgICAgICAgICAgICAgaWYgKGNvdW50cnkpIHtcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBjb3VudHJ5LnBhdHRlcm4uc3Vic3RyaW5nKDAsIDIpICsgbnVtYmVyO1xuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyLnNldFZhbHVlKG51bWJlciwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGUuc2V0VmFsdWUoY291bnRyeS5jb2RlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlDb2RlLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG51bWJlci5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLmNkblxuICAgICAgICAgICAgICAuZmluZENvdW50cnlGcm9tVklFU0NvZGUobnVtYmVyKVxuICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95Tm90aWZpZXIkKSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5Q29kZS5zZXRWYWx1ZShjb3VudHJ5LmNvZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuY291bnRyeUNvZGUudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95Tm90aWZpZXIkKSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICBsZXQgbnVtYmVyID0gdGhpcy5udW1iZXIuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgemlwKFxuICAgICAgICAgIHRoaXMuY2RuLmZpbmRDb3VudHJ5RnJvbVZJRVNDb2RlKG51bWJlciksXG4gICAgICAgICAgdGhpcy5jZG4uZmluZENvdW50cnlGcm9tQ29kZSh2YWx1ZSksXG4gICAgICAgICkuc3Vic2NyaWJlKChbY291bnRyeUZyb21WaWVzLCBjb3VudHJ5RnJvbUNvZGVdKSA9PiB7XG4gICAgICAgICAgaWYgKGNvdW50cnlGcm9tVmllcykge1xuICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyLnJlcGxhY2UoXG4gICAgICAgICAgICAgIGNvdW50cnlGcm9tVmllcy5wYXR0ZXJuLnN1YnN0cmluZygwLCAyKSxcbiAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY291bnRyeUZyb21Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLmdldENvdW50cnkubmV4dChjb3VudHJ5RnJvbUNvZGUpO1xuICAgICAgICAgICAgbnVtYmVyID0gY291bnRyeUZyb21Db2RlLnBhdHRlcm4uc3Vic3RyaW5nKDAsIDIpICsgbnVtYmVyO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRFbnRlcnByaXNlTnVtYmVyKGNvdW50cnlGcm9tQ29kZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubnVtYmVyLnNldFZhbHVlKG51bWJlciwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuZm9ybWF0RW50ZXJwcmlzZU51bWJlcihjb3VudHJ5RnJvbUNvZGUpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclZhbGlkYXRvcnMoKSB7XG4gICAgbGV0IHJlcXVpcmVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubnVtYmVyLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgcmVxdWlyZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm51bWJlci5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAocmVxdWlyZWQpIHtcbiAgICAgIHRoaXMubnVtYmVyLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRFbnRlcnByaXNlTnVtYmVyKGNvdW50cnk6IE9uZW1ydmFNYXRlcmlhbENvdW50cnkgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIGlmICh0aGlzLmNvdW50cnlDb2RlLmdldFJhd1ZhbHVlKCkgIT09ICcnICYmIGNvdW50cnkpIHtcbiAgICAgIHRoaXMuZW50ZXJwcmlzZU51bWJlci5hZGRWYWxpZGF0b3JzKFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4obmV3IFJlZ0V4cChjb3VudHJ5LnBhdHRlcm4pKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGU6IGFueSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBlcnJvcnMoKSB7XG4gICAgZm9yIChjb25zdCBrIGluIHRoaXMubnVtYmVyLmVycm9ycykge1xuICAgICAgaWYgKGsgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgcmV0dXJuICdpbnB1dC52aWVzLnJlcXVpcmVkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnaW5wdXQudmllcy5pbnZhbGlkJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICdpbnB1dC52aWVzLnVua25vd24uZXJyb3InO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJvbmVtcnZhLWlucHV0LWVudGVycHJpc2UtbnVtYmVyXCI+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgICNudW1iZXJJbnB1dFxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImVudGVycHJpc2VOdW1iZXJcIlxuICAgICAgY2xhc3M9XCJvbmVtcnZhLXRleHQtZW50ZXJwcmlzZS1udW1iZXJcIlxuICAgICAgW21hc2tdPVwibWFzayQgfCBhc3luY1wiXG4gICAgLz5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgbWF0VGV4dFByZWZpeFxuICAgICAgY2xhc3M9XCJvbmVtcnZhLXBob25lLW51bWJlci1zZWxlY3RcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvdW50cnlDb2RlXCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICA8ZmxhZy1pY29uIFtjb3VudHJ5Q29kZV09XCJjb3VudHJ5Q29kZS5nZXRSYXdWYWx1ZSgpXCIgLz5cbiAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuXG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckN0cmxcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwic2VhcmNoQXJpYUxhYmVsXCJcbiAgICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJub0VudHJpZXNGb3VuZExhYmVsXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJwbGFjZWhvbGRlckxhYmVsXCJcbiAgICAgICAgPjwvbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGZpbHRlcmVkQ291bnRyaWVzJCB8IGFzeW5jXCJcbiAgICAgICAgW3ZhbHVlXT1cImNvdW50cnkuY29kZVwiXG4gICAgICA+XG4gICAgICAgIDxmbGFnLWljb24gW2NvdW50cnlDb2RlXT1cImNvdW50cnkuY29kZVwiIC8+Jm5ic3A7Jm5ic3A7e3sgY291bnRyeS5uYW1lIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICAgIDxtYXQtaGludCAqbmdJZj1cImhpbnQgIT09ICcnXCI+e3sgaGludCB9fTwvbWF0LWhpbnQ+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm51bWJlci5pbnZhbGlkXCI+e3sgZXJyb3JzKCkgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci9zcmMvb25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci9zcmMvb25lbXJ2YS1tYXQtaW5wdXQtZW50ZXJwcmlzZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEdBQUcsRUFFSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUt2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFtQjNFLE1BQU0sT0FBTyx3Q0FBd0M7SUEwQm5ELFlBQW9CLEdBQTZCO1FBQTdCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBdEJqRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR1IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUNmLHdCQUFtQixHQUFHLFdBQVcsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDNUIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRy9DLGdCQUFXLEdBQWdCLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLGVBQVUsR0FBK0IsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFNUUscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxlQUFVLEdBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUlsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6RCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDYixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQ2xDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO2dCQUMxRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxFQUFFO29CQUFFLE9BQU8sU0FBUyxDQUFDO2dCQUMvQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUztvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFDN0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsZ0JBQStCLENBQUM7SUFDOUMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUFzQztRQUNwRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2FBQ3JCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQ2pDO2FBQ0EsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRztxQkFDTCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO3FCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUN0QyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ25CLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7d0JBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEMsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxHQUFHO3lCQUNMLHVCQUF1QixDQUFDLE1BQU0sQ0FBQzt5QkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNuQixJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDMUMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZO2FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUNELElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQ3BDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDdkMsRUFBRSxDQUNILENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDdEMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7b0JBQzFELGdFQUFnRTtnQkFDbEUsQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM3QyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEQsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBMkM7UUFDeEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FDakMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFNO1FBQ2hCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxxQkFBcUIsQ0FBQztZQUMvQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxvQkFBb0IsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQzsrR0F6SlUsd0NBQXdDO21HQUF4Qyx3Q0FBd0MsZ2ZDbkRyRCx5eUNBeUNBLGt1QkRESSxZQUFZLG9UQUNaLGNBQWMsNDZCQUNkLGtCQUFrQiw4QkFDbEIsZUFBZSxxd0JBQ2YsbUJBQW1CLHlrQkFDbkIsZUFBZSw0RkFDZixpQkFBaUIsK0ZBQ2pCLHFCQUFxQjs7NEZBSVosd0NBQXdDO2tCQWpCcEQsU0FBUzsrQkFDRSxxQ0FBcUMsY0FHbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzZGQU1yQyxRQUFRO3NCQURQLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDbUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0V2l0aCxcbiAgZGVib3VuY2VUaW1lLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxuICB6aXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnQG9uZW1ydmFwdWJsaWMvZGVzaWduLXN5c3RlbS9tYXQtc2VsZWN0LXNlYXJjaCc7XG5pbXBvcnQge1xuICBPbmVtUnZhQ0ROQ291bnRyeVNlcnZpY2UsXG4gIE9uZW1ydmFNYXRlcmlhbENvdW50cnksXG59IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IEZsYWdJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9uZW1ydmFwdWJsaWMvZGVzaWduLXN5c3RlbS9mbGFnLWljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLW1hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlcicsXG4gIHN0eWxlVXJsczogWydvbmVtcnZhLW1hdC1pbnB1dC1lbnRlcnByaXNlLW51bWJlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ29uZW1ydmEtbWF0LWlucHV0LWVudGVycHJpc2UtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZsYWdJY29uQ29tcG9uZW50LFxuICAgIE1hdFNlbGVjdFNlYXJjaE1vZHVsZSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdElucHV0RW50ZXJwcmlzZU51bWJlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZW50ZXJwcmlzZU51bWJlciE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBsYWJlbCA9ICdWSUVTJztcbiAgQElucHV0KCkgbm9FbnRyaWVzRm91bmRMYWJlbCA9ICdOb3QgZm91bmQnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsID0gJ1NlYXJjaCc7XG4gIEBJbnB1dCgpIGRlZmF1bHRDb3VudHJ5ID0gJ0JFJztcbiAgQElucHV0KCkgc2VhcmNoQXJpYUxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGhpbnQgPSAnJztcbiAgQE91dHB1dCgpIGdldENvdW50cnkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZCgnbnVtYmVySW5wdXQnKSBudW1iZXJJbnB1dCE6IEVsZW1lbnRSZWY7XG5cbiAgY291bnRyeUNvZGU6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBwdWJsaWMgZmlsdGVyQ3RybDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG5cbiAgZGVzdHJveU5vdGlmaWVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGNvdW50cmllcyQ6IE9ic2VydmFibGU8T25lbXJ2YU1hdGVyaWFsQ291bnRyeVtdPiA9XG4gICAgdGhpcy5jZG4uZ2V0Q291bnRyaWVzQnlab25lKCdFVScpO1xuICBwdWJsaWMgZmlsdGVyZWRDb3VudHJpZXMkOiBPYnNlcnZhYmxlPE9uZW1ydmFNYXRlcmlhbENvdW50cnlbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZG46IE9uZW1SdmFDRE5Db3VudHJ5U2VydmljZSkge1xuICAgIHRoaXMuZmlsdGVyZWRDb3VudHJpZXMkID0gdGhpcy5maWx0ZXJDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDQwMCksXG4gICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5jb3VudHJpZXMkKSxcbiAgICAgIG1hcCgoW3NlYXJjaCwgY291bnRyaWVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gY291bnRyaWVzLmZpbHRlcigoY291bnRyeTogT25lbXJ2YU1hdGVyaWFsQ291bnRyeSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoIHx8IHNlYXJjaCA9PT0gJycpIHJldHVybiBjb3VudHJpZXM7XG4gICAgICAgICAgaWYgKGNvdW50cnkubmFtZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIGNvdW50cnkubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBudW1iZXIoKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmVudGVycHJpc2VOdW1iZXIgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBwcml2YXRlIHNldENvZGUoY291bnRyeTogT25lbXJ2YU1hdGVyaWFsQ291bnRyeSB8IG51bGwpIHtcbiAgICB0aGlzLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIGlmIChjb3VudHJ5KSB7XG4gICAgICB0aGlzLmNvdW50cnlDb2RlLnNldFZhbHVlKGNvdW50cnkuY29kZSk7XG4gICAgICB0aGlzLmZvcm1hdEVudGVycHJpc2VOdW1iZXIoY291bnRyeSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5udW1iZXIudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMubnVtYmVyLmdldFJhd1ZhbHVlKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95Tm90aWZpZXIkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUobnVtYmVyID0+IHtcbiAgICAgICAgaWYgKG51bWJlciA9PT0gJzAnKSB7XG4gICAgICAgICAgdGhpcy5jZG5cbiAgICAgICAgICAgIC5maW5kQ291bnRyeUZyb21Db2RlKHRoaXMuZGVmYXVsdENvdW50cnkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95Tm90aWZpZXIkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoY291bnRyeSA9PiB7XG4gICAgICAgICAgICAgIGlmIChjb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyID0gY291bnRyeS5wYXR0ZXJuLnN1YnN0cmluZygwLCAyKSArIG51bWJlcjtcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlci5zZXRWYWx1ZShudW1iZXIsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlDb2RlLnNldFZhbHVlKGNvdW50cnkuY29kZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5Q29kZS5zZXRWYWx1ZSgnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChudW1iZXIubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy5jZG5cbiAgICAgICAgICAgICAgLmZpbmRDb3VudHJ5RnJvbVZJRVNDb2RlKG51bWJlcilcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoY291bnRyeSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50cnkpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGUuc2V0VmFsdWUoY291bnRyeS5jb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmNvdW50cnlDb2RlLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgbGV0IG51bWJlciA9IHRoaXMubnVtYmVyLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIHppcChcbiAgICAgICAgICB0aGlzLmNkbi5maW5kQ291bnRyeUZyb21WSUVTQ29kZShudW1iZXIpLFxuICAgICAgICAgIHRoaXMuY2RuLmZpbmRDb3VudHJ5RnJvbUNvZGUodmFsdWUpLFxuICAgICAgICApLnN1YnNjcmliZSgoW2NvdW50cnlGcm9tVmllcywgY291bnRyeUZyb21Db2RlXSkgPT4ge1xuICAgICAgICAgIGlmIChjb3VudHJ5RnJvbVZpZXMpIHtcbiAgICAgICAgICAgIG51bWJlciA9IG51bWJlci5yZXBsYWNlKFxuICAgICAgICAgICAgICBjb3VudHJ5RnJvbVZpZXMucGF0dGVybi5zdWJzdHJpbmcoMCwgMiksXG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvdW50cnlGcm9tQ29kZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRDb3VudHJ5Lm5leHQoY291bnRyeUZyb21Db2RlKTtcbiAgICAgICAgICAgIG51bWJlciA9IGNvdW50cnlGcm9tQ29kZS5wYXR0ZXJuLnN1YnN0cmluZygwLCAyKSArIG51bWJlcjtcbiAgICAgICAgICAgIC8vdGhpcy5mb3JtYXRFbnRlcnByaXNlTnVtYmVyKGNvdW50cnlGcm9tQ29kZSk7IC8vLyBkb25lIHR3aWNlID9cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5udW1iZXIuc2V0VmFsdWUobnVtYmVyLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy5mb3JtYXRFbnRlcnByaXNlTnVtYmVyKGNvdW50cnlGcm9tQ29kZSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm51bWJlcklucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclZhbGlkYXRvcnMoKSB7XG4gICAgbGV0IHJlcXVpcmVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubnVtYmVyLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgcmVxdWlyZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm51bWJlci5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAocmVxdWlyZWQpIHtcbiAgICAgIHRoaXMubnVtYmVyLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRFbnRlcnByaXNlTnVtYmVyKGNvdW50cnk6IE9uZW1ydmFNYXRlcmlhbENvdW50cnkgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIGlmICh0aGlzLmNvdW50cnlDb2RlLmdldFJhd1ZhbHVlKCkgIT09ICcnICYmIGNvdW50cnkpIHtcbiAgICAgIHRoaXMuZW50ZXJwcmlzZU51bWJlci5hZGRWYWxpZGF0b3JzKFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4obmV3IFJlZ0V4cChjb3VudHJ5LnBhdHRlcm4pKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGU6IGFueSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBlcnJvcnMoKSB7XG4gICAgZm9yIChjb25zdCBrIGluIHRoaXMubnVtYmVyLmVycm9ycykge1xuICAgICAgaWYgKGsgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgcmV0dXJuICdpbnB1dC52aWVzLnJlcXVpcmVkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnaW5wdXQudmllcy5pbnZhbGlkJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICdpbnB1dC52aWVzLnVua25vd24uZXJyb3InO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJvbmVtcnZhLWlucHV0LWVudGVycHJpc2UtbnVtYmVyXCI+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgICNudW1iZXJJbnB1dFxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImVudGVycHJpc2VOdW1iZXJcIlxuICAgICAgY2xhc3M9XCJvbmVtcnZhLXRleHQtZW50ZXJwcmlzZS1udW1iZXJcIlxuICAgIC8+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgIG1hdFRleHRQcmVmaXhcbiAgICAgIGNsYXNzPVwib25lbXJ2YS1waG9uZS1udW1iZXItc2VsZWN0XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb3VudHJ5Q29kZVwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgPGZsYWctaWNvbiBbY291bnRyeUNvZGVdPVwiY291bnRyeUNvZGUuZ2V0UmF3VmFsdWUoKVwiIC8+XG4gICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cblxuICAgICAgPG1hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWx0ZXJDdHJsXCJcbiAgICAgICAgICBbYXJpYUxhYmVsXT1cInNlYXJjaEFyaWFMYWJlbFwiXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwibm9FbnRyaWVzRm91bmRMYWJlbFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyTGFiZWxdPVwicGxhY2Vob2xkZXJMYWJlbFwiXG4gICAgICAgID48L21hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBmaWx0ZXJlZENvdW50cmllcyQgfCBhc3luY1wiXG4gICAgICAgIFt2YWx1ZV09XCJjb3VudHJ5LmNvZGVcIlxuICAgICAgPlxuICAgICAgICA8ZmxhZy1pY29uIFtjb3VudHJ5Q29kZV09XCJjb3VudHJ5LmNvZGVcIiAvPiZuYnNwOyZuYnNwO3t7IGNvdW50cnkubmFtZSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJoaW50ICE9PSAnJ1wiPnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJudW1iZXIuaW52YWxpZFwiPnt7IGVycm9ycygpIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -3,4 +3,5 @@ export const CDN_URLS = {
|
|
|
3
3
|
val: 'https://cdn.servicesval.rvaonem.fgov.be',
|
|
4
4
|
};
|
|
5
5
|
export const NISS_MASK = '000000/000-00';
|
|
6
|
-
|
|
6
|
+
export const LOOKUP_COUNTRY_URL = 'https://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2NvbnN0YW50cy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLElBQUksRUFBRSxzQ0FBc0M7SUFDNUMsR0FBRyxFQUFFLHlDQUF5QztDQUMvQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IsNkhBQTZILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ0ROX1VSTFMgPSB7XG4gIHByb2Q6ICdodHRwczovL2Nkbi5zZXJ2aWNlcy5ydmFvbmVtLmZnb3YuYmUnLFxuICB2YWw6ICdodHRwczovL2Nkbi5zZXJ2aWNlc3ZhbC5ydmFvbmVtLmZnb3YuYmUnLFxufTtcblxuZXhwb3J0IGNvbnN0IE5JU1NfTUFTSyA9ICcwMDAwMDAvMDAwLTAwJztcblxuZXhwb3J0IGNvbnN0IExPT0tVUF9DT1VOVFJZX1VSTCA9XG4gICdodHRwczovL3NlcnZpY2VzL2xvb2t1cHdwcHRzZXJ2aWNlL3Jlc3QvbG9va3VwL2dldExvb2t1cHM/Y2xhc3M9YmUuZmdvdi5vbmVydmEubG9va3VwLndwcHQucGVyc2lzdGVuY2UubW9kZWwuY29tbW9uLkNvdW50cnknO1xuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { LOOKUP_COUNTRY_URL } from '../constants';
|
|
2
3
|
export const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken('LOOKUP_COUNTRY_SERVICE_URL', {
|
|
3
4
|
providedIn: 'root',
|
|
4
|
-
factory: () =>
|
|
5
|
+
factory: () => LOOKUP_COUNTRY_URL,
|
|
5
6
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3Rva2Vucy9sb29rdXAudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELDRCQUE0QixFQUM1QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0I7Q0FDbEMsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExPT0tVUF9DT1VOVFJZX1VSTCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBMT09LVVBfQ09VTlRSWV9TRVJWSUNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnTE9PS1VQX0NPVU5UUllfU0VSVklDRV9VUkwnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IExPT0tVUF9DT1VOVFJZX1VSTCxcbiAgfSxcbik7XG4iXX0=
|
|
@@ -12,7 +12,6 @@ import * as i5 from '@angular/material/select';
|
|
|
12
12
|
import { MatSelectModule } from '@angular/material/select';
|
|
13
13
|
import * as i8 from '@ngx-translate/core';
|
|
14
14
|
import { TranslateModule } from '@ngx-translate/core';
|
|
15
|
-
import { NgxMaskDirective } from 'ngx-mask';
|
|
16
15
|
import { Subject, debounceTime, startWith, combineLatestWith, map, takeUntil, zip } from 'rxjs';
|
|
17
16
|
import * as i9 from '@onemrvapublic/design-system/mat-select-search';
|
|
18
17
|
import { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';
|
|
@@ -98,10 +97,13 @@ class OnemrvaMatInputEnterpriseNumberComponent {
|
|
|
98
97
|
if (countryFromCode) {
|
|
99
98
|
this.getCountry.next(countryFromCode);
|
|
100
99
|
number = countryFromCode.pattern.substring(0, 2) + number;
|
|
101
|
-
this.formatEnterpriseNumber(countryFromCode);
|
|
100
|
+
//this.formatEnterpriseNumber(countryFromCode); /// done twice ?
|
|
102
101
|
}
|
|
103
102
|
this.number.setValue(number, { emitEvent: false });
|
|
104
103
|
this.formatEnterpriseNumber(countryFromCode);
|
|
104
|
+
setTimeout(() => {
|
|
105
|
+
this.numberInput.nativeElement.focus();
|
|
106
|
+
}, 100);
|
|
105
107
|
});
|
|
106
108
|
});
|
|
107
109
|
}
|
|
@@ -140,7 +142,7 @@ class OnemrvaMatInputEnterpriseNumberComponent {
|
|
|
140
142
|
return 'input.vies.unknown.error';
|
|
141
143
|
}
|
|
142
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, deps: [{ token: i1.OnemRvaCDNCountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: "readonly", enterpriseNumber: "enterpriseNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultCountry: "defaultCountry", 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-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: "readonly", enterpriseNumber: "enterpriseNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultCountry: "defaultCountry", 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-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-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-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\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: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "component", type: FlagIconComponent, selector: "flag-icon", inputs: ["countryCode", "mode", "width"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i9.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"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
144
146
|
}
|
|
145
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, decorators: [{
|
|
146
148
|
type: Component,
|
|
@@ -152,9 +154,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
152
154
|
ReactiveFormsModule,
|
|
153
155
|
TranslateModule,
|
|
154
156
|
FlagIconComponent,
|
|
155
|
-
NgxMaskDirective,
|
|
156
157
|
MatSelectSearchModule,
|
|
157
|
-
], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n
|
|
158
|
+
], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-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-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"] }]
|
|
158
159
|
}], ctorParameters: () => [{ type: i1.OnemRvaCDNCountryService }], propDecorators: { readonly: [{
|
|
159
160
|
type: Input
|
|
160
161
|
}], enterpriseNumber: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-mat-input-enterprise-number.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html","../../../../projects/onemrva/design-system/mat-input-enterprise-number/index.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/onemrvapublic-design-system-mat-input-enterprise-number.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgxMaskDirective } from 'ngx-mask';\nimport {\n combineLatestWith,\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\n\n@Component({\n selector: 'onemrva-mat-input-enterprise-number',\n styleUrls: ['onemrva-mat-input-enterprise-number.component.scss'],\n templateUrl: 'onemrva-mat-input-enterprise-number.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n NgxMaskDirective,\n MatSelectSearchModule,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputEnterpriseNumberComponent\n implements OnInit, OnDestroy\n{\n @Input()\n readonly = false;\n\n @Input() enterpriseNumber!: FormControl;\n @Input() label = 'VIES';\n @Input() noEntriesFoundLabel = 'Not found';\n @Input() placeholderLabel = 'Search';\n @Input() defaultCountry = 'BE';\n @Input() searchAriaLabel = '';\n @Input() hint = '';\n @Output() getCountry = new EventEmitter<any>();\n @ViewChild('numberInput') numberInput!: ElementRef;\n\n countryCode: FormControl = new FormControl('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n mask$!: Observable<string | undefined>;\n\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountriesByZone('EU');\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n\n constructor(private cdn: OnemRvaCDNCountryService) {\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith(''),\n combineLatestWith(this.countries$),\n map(([search, countries]) => {\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search === '') return countries;\n if (country.name === undefined) return false;\n return country.name.toLowerCase().indexOf(search.toLowerCase()) > -1;\n });\n }),\n );\n }\n\n get number(): FormControl {\n return this.enterpriseNumber as FormControl;\n }\n\n private setCode(country: OnemrvaMaterialCountry | null) {\n this.clearValidators();\n if (country) {\n this.countryCode.setValue(country.code);\n this.formatEnterpriseNumber(country);\n }\n }\n\n ngOnInit(): void {\n this.number.valueChanges\n .pipe(\n startWith(this.number.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number === '0') {\n this.cdn\n .findCountryFromCode(this.defaultCountry)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n number = country.pattern.substring(0, 2) + number;\n this.number.setValue(number, { emitEvent: false });\n this.countryCode.setValue(country.code);\n } else {\n this.countryCode.setValue('');\n }\n });\n } else {\n if (number.length > 1) {\n this.cdn\n .findCountryFromVIESCode(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n this.countryCode.setValue(country.code);\n }\n });\n }\n }\n });\n\n this.countryCode.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.number.getRawValue();\n zip(\n this.cdn.findCountryFromVIESCode(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n if (countryFromVies) {\n number = number.replace(\n countryFromVies.pattern.substring(0, 2),\n '',\n );\n }\n if (countryFromCode) {\n this.getCountry.next(countryFromCode);\n number = countryFromCode.pattern.substring(0, 2) + number;\n this.formatEnterpriseNumber(countryFromCode);\n }\n this.number.setValue(number, { emitEvent: false });\n this.formatEnterpriseNumber(countryFromCode);\n });\n });\n }\n\n private clearValidators() {\n let required = false;\n if (this.number.hasValidator(Validators.required)) {\n required = true;\n }\n this.number.clearValidators();\n if (required) {\n this.number.addValidators(Validators.required);\n }\n }\n\n private formatEnterpriseNumber(country: OnemrvaMaterialCountry | undefined) {\n this.clearValidators();\n if (this.countryCode.getRawValue() !== '' && country) {\n this.enterpriseNumber.addValidators(\n Validators.pattern(new RegExp(country.pattern)),\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n errors() {\n for (const k in this.number.errors) {\n if (k === 'required') {\n return 'input.vies.required';\n } else {\n return 'input.vies.invalid';\n }\n }\n return 'input.vies.unknown.error';\n }\n}\n","<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n [mask]=\"mask$ | async\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-enterprise-number.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-mat-input-enterprise-number.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html","../../../../projects/onemrva/design-system/mat-input-enterprise-number/index.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/onemrvapublic-design-system-mat-input-enterprise-number.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatFormFieldModule } 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 debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\n\n@Component({\n selector: 'onemrva-mat-input-enterprise-number',\n styleUrls: ['onemrva-mat-input-enterprise-number.component.scss'],\n templateUrl: 'onemrva-mat-input-enterprise-number.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n MatSelectSearchModule,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputEnterpriseNumberComponent\n implements OnInit, OnDestroy\n{\n @Input()\n readonly = false;\n\n @Input() enterpriseNumber!: FormControl;\n @Input() label = 'VIES';\n @Input() noEntriesFoundLabel = 'Not found';\n @Input() placeholderLabel = 'Search';\n @Input() defaultCountry = 'BE';\n @Input() searchAriaLabel = '';\n @Input() hint = '';\n @Output() getCountry = new EventEmitter<any>();\n @ViewChild('numberInput') numberInput!: ElementRef;\n\n countryCode: FormControl = new FormControl('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountriesByZone('EU');\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n\n constructor(private cdn: OnemRvaCDNCountryService) {\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith(''),\n combineLatestWith(this.countries$),\n map(([search, countries]) => {\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search === '') return countries;\n if (country.name === undefined) return false;\n return country.name.toLowerCase().indexOf(search.toLowerCase()) > -1;\n });\n }),\n );\n }\n\n get number(): FormControl {\n return this.enterpriseNumber as FormControl;\n }\n\n private setCode(country: OnemrvaMaterialCountry | null) {\n this.clearValidators();\n if (country) {\n this.countryCode.setValue(country.code);\n this.formatEnterpriseNumber(country);\n }\n }\n\n ngOnInit(): void {\n this.number.valueChanges\n .pipe(\n startWith(this.number.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number === '0') {\n this.cdn\n .findCountryFromCode(this.defaultCountry)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n number = country.pattern.substring(0, 2) + number;\n this.number.setValue(number, { emitEvent: false });\n this.countryCode.setValue(country.code);\n } else {\n this.countryCode.setValue('');\n }\n });\n } else {\n if (number.length > 1) {\n this.cdn\n .findCountryFromVIESCode(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n this.countryCode.setValue(country.code);\n }\n });\n }\n }\n });\n\n this.countryCode.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.number.getRawValue();\n zip(\n this.cdn.findCountryFromVIESCode(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n if (countryFromVies) {\n number = number.replace(\n countryFromVies.pattern.substring(0, 2),\n '',\n );\n }\n if (countryFromCode) {\n this.getCountry.next(countryFromCode);\n number = countryFromCode.pattern.substring(0, 2) + number;\n //this.formatEnterpriseNumber(countryFromCode); /// done twice ?\n }\n this.number.setValue(number, { emitEvent: false });\n this.formatEnterpriseNumber(countryFromCode);\n setTimeout(() => {\n this.numberInput.nativeElement.focus();\n }, 100);\n });\n });\n }\n\n private clearValidators() {\n let required = false;\n if (this.number.hasValidator(Validators.required)) {\n required = true;\n }\n this.number.clearValidators();\n if (required) {\n this.number.addValidators(Validators.required);\n }\n }\n\n private formatEnterpriseNumber(country: OnemrvaMaterialCountry | undefined) {\n this.clearValidators();\n if (this.countryCode.getRawValue() !== '' && country) {\n this.enterpriseNumber.addValidators(\n Validators.pattern(new RegExp(country.pattern)),\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n errors() {\n for (const k in this.number.errors) {\n if (k === 'required') {\n return 'input.vies.required';\n } else {\n return 'input.vies.invalid';\n }\n }\n return 'input.vies.unknown.error';\n }\n}\n","<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\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\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 filteredCountries$ | async\"\n [value]=\"country.code\"\n >\n <flag-icon [countryCode]=\"country.code\" /> {{ country.name }}\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","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-enterprise-number.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ const CDN_URLS = {
|
|
|
44
44
|
val: 'https://cdn.servicesval.rvaonem.fgov.be',
|
|
45
45
|
};
|
|
46
46
|
const NISS_MASK = '000000/000-00';
|
|
47
|
+
const LOOKUP_COUNTRY_URL = 'https://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';
|
|
47
48
|
|
|
48
49
|
const parseNativeDateFormats = [
|
|
49
50
|
'ddMMyyyy',
|
|
@@ -952,7 +953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
952
953
|
|
|
953
954
|
const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken('LOOKUP_COUNTRY_SERVICE_URL', {
|
|
954
955
|
providedIn: 'root',
|
|
955
|
-
factory: () =>
|
|
956
|
+
factory: () => LOOKUP_COUNTRY_URL,
|
|
956
957
|
});
|
|
957
958
|
|
|
958
959
|
class CommonCountryLookupService {
|
|
@@ -1754,5 +1755,5 @@ function onemrvaDateLuxonYearMonthProvider() {
|
|
|
1754
1755
|
* Generated bundle index. Do not edit.
|
|
1755
1756
|
*/
|
|
1756
1757
|
|
|
1757
|
-
export { CDNUrlModeOptions, CDN_URLS, CDN_URL_MODE, ClipboardIconComponent, CommonCountryLookupService, DefaultStorage, DigitOnlyDirective, HttpRequestCache, IBAN_SUPPORTED_COUNTRIES, IfWidthIsDirective, LOOKUP_COUNTRY_SERVICE_URL, MatRowClickableDirective, NISS_MASK, ONEMRVA_MAT_LUXON_DATE_FORMATS, ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS, ONEMRVA_MAT_NATIVE_DATE_FORMAT, ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT, OnemRvaCDNCountryService, OnemRvaCDNMimeService, OnemRvaCDNService, OnemRvaClipboardDirective, OnemRvaColorDirective, OnemRvaIconRightDirective, OnemrvaBcePipe, OnemrvaLuxonDateAdapter, OnemrvaMaskDirective, OnemrvaNativeDateAdapter, OnemrvaNissPipe, OnemrvaSharedModule, OnemrvaTranslateCDNLoader, OnemrvaTranslateHttpLoader, OnemrvaValidators, RequestTimes, WebComponentOverlayContainer, bankAccountValidator, directives, onemrvaDateLuxonProvider, onemrvaDateLuxonYearMonthProvider, onemrvaDateNativeProvider, onemrvaDateNativeYearMonthProvider, setTranslationLanguage, setTranslationLanguageFromWO };
|
|
1758
|
+
export { CDNUrlModeOptions, CDN_URLS, CDN_URL_MODE, ClipboardIconComponent, CommonCountryLookupService, DefaultStorage, DigitOnlyDirective, HttpRequestCache, IBAN_SUPPORTED_COUNTRIES, IfWidthIsDirective, LOOKUP_COUNTRY_SERVICE_URL, LOOKUP_COUNTRY_URL, MatRowClickableDirective, NISS_MASK, ONEMRVA_MAT_LUXON_DATE_FORMATS, ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS, ONEMRVA_MAT_NATIVE_DATE_FORMAT, ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT, OnemRvaCDNCountryService, OnemRvaCDNMimeService, OnemRvaCDNService, OnemRvaClipboardDirective, OnemRvaColorDirective, OnemRvaIconRightDirective, OnemrvaBcePipe, OnemrvaLuxonDateAdapter, OnemrvaMaskDirective, OnemrvaNativeDateAdapter, OnemrvaNissPipe, OnemrvaSharedModule, OnemrvaTranslateCDNLoader, OnemrvaTranslateHttpLoader, OnemrvaValidators, RequestTimes, WebComponentOverlayContainer, bankAccountValidator, directives, onemrvaDateLuxonProvider, onemrvaDateLuxonYearMonthProvider, onemrvaDateNativeProvider, onemrvaDateNativeYearMonthProvider, setTranslationLanguage, setTranslationLanguageFromWO };
|
|
1758
1759
|
//# sourceMappingURL=onemrvapublic-design-system-shared.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onemrvapublic-design-system-shared.mjs","sources":["../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.ts","../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.html","../../../../projects/onemrva/design-system/shared/src/lib/constants/CDNUrlModeOptions.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/constants.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/date.format.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/cdn.ts","../../../../projects/onemrva/design-system/shared/src/lib/containers/WebComponentOverlayContainer.ts","../../../../projects/onemrva/design-system/shared/src/lib/decorators/HttpCacheDecorator.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/digit-only.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mat-row-clickable.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/if-width-is.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/color.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mask.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/clipboard.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/iconRight.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/index.ts","../../../../projects/onemrva/design-system/shared/src/lib/helpers/translation-helper.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-cdn-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-http-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-bce.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-niss.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/tokens/lookup.token.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-lookup.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cache.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/mime-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/onemrva-validators.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/bank-account.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/shared.module.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/native.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/index.ts","../../../../projects/onemrva/design-system/shared/onemrvapublic-design-system-shared.ts"],"sourcesContent":["import { Component, ElementRef } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Clipboard } from '@angular/cdk/clipboard';\n\n@Component({\n selector: 'lib-clipboard-icon',\n templateUrl: './clipboard-icon.component.html',\n styleUrls: ['./clipboard-icon.component.css'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n})\nexport class ClipboardIconComponent {\n constructor(\n public _elementRef: ElementRef,\n private clipboardService: Clipboard,\n ) {}\n}\n","<mat-icon [matTooltip]=\"'TEST'\">content_copy</mat-icon>\n","export enum CDNUrlModeOptions {\n PROD = 'production',\n VAL = 'validation',\n}\n","export const CDN_URLS = {\n prod: 'https://cdn.services.rvaonem.fgov.be',\n val: 'https://cdn.servicesval.rvaonem.fgov.be',\n};\n\nexport const NISS_MASK = '000000/000-00';\n","import { MatDateFormats } from '@angular/material/core';\n\nconst parseNativeDateFormats = [\n 'ddMMyyyy',\n 'dd/MM/yyyy',\n 'd/M/yyyy',\n 'dd/M/yyyy',\n 'd/MM/yyyy',\n 'd.M.yyyy',\n 'dd.M.yyyy',\n 'd.MM.yyyy',\n 'd/M/yy',\n 'dd/M/yy',\n 'd/MM/yy',\n 'd.M.yy',\n 'dd.M.yy',\n 'd.MM.yy',\n];\nconst parseNativeYearMonthFormats = [\n 'MMyyyy',\n 'M/yyyy',\n 'M/yy',\n 'MM/yyyy',\n 'MM/yy',\n 'M.yyyy',\n 'MM.yyyy',\n];\nconst parseLuxonYearMonthFormats = [\n 'LLyyyy',\n 'L/yyyy',\n 'L/yy',\n 'LL/yyyy',\n 'LL/yy',\n 'L.yyyy',\n 'LL.yyyy',\n];\nconst parseLuxonDateFormat = [\n 'ddLLyyyy',\n 'd/LL/yyyy',\n 'd/L/yyyy',\n 'dd/L/yyyy',\n 'd/LL/yyyy',\n 'd.L.yyyy',\n 'dd.L.yyyy',\n 'd.LL.yyyy',\n 'd/L/yy',\n 'dd/L/yy',\n 'd/LL/yy',\n 'd.L.yy',\n 'dd.L.yy',\n 'd.LL.yy',\n];\n\nexport const ONEMRVA_MAT_NATIVE_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeDateFormats,\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeYearMonthFormats,\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonYearMonthFormats,\n },\n display: {\n dateInput: 'LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonDateFormat,\n },\n display: {\n dateInput: 'dd/LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLL yyyy',\n },\n};\n","import { InjectionToken } from '@angular/core';\n\nexport const CDN_URL_MODE = new InjectionToken<string>(\n 'This is cdn url that will be used (val/prod)',\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { Platform, _isTestEnvironment } from '@angular/cdk/platform';\n\n/** Container inside which all overlays will render. */\n@Injectable({ providedIn: 'root' })\nexport class WebComponentOverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement | null = null;\n protected _document: Document;\n\n constructor(\n @Inject(DOCUMENT) document: any,\n protected _platform: Platform,\n ) {\n this._document = document;\n }\n\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement | null {\n if (this._containerElement === null) {\n this._createContainer();\n }\n\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n const containerClass = 'cdk-overlay-container';\n\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(\n `.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`,\n );\n\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n oppositePlatformContainers.forEach(platform => {\n platform.remove();\n });\n }\n\n const containerwrap = this._document.createElement('div');\n containerwrap.classList.add('onemrva-theme');\n\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n } else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n\n containerwrap.appendChild(container);\n this._document.body.appendChild(containerwrap);\n this._containerElement = container;\n }\n}\n","import {\n filter,\n finalize,\n merge,\n NEVER,\n Observable,\n Subject,\n tap,\n shareReplay,\n startWith,\n switchMap,\n BehaviorSubject,\n take,\n catchError,\n} from 'rxjs';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport interface HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void;\n getItem(key: string): Observable<null> | undefined;\n deleteItem(key: string): void;\n}\n\nexport interface HttpCacheOptions {\n refCount?: boolean;\n windowTime?: number;\n ttl?: number;\n storage?: HttpCacheStorage;\n refreshOn?: Observable<unknown> | Subject<unknown> | BehaviorSubject<unknown>;\n}\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport const HttpRequestCache = <T extends Record<string, any>>(\n optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions,\n) => {\n return (\n target: T,\n methodName: string,\n descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>,\n ): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(\n `'@HttpRequestCache' can be applied only to the class method which returns an Observable`,\n );\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function (...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: { requestTime: number; subject: Subject<void> } =\n undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? (NEVER as Observable<unknown>),\n ttl?.subject ?? (NEVER as Observable<unknown>),\n );\n\n return storage.getItem(key).pipe(\n take(1),\n tap(value => {\n subscribers++;\n if (value === null) throw '';\n }),\n catchError(() => {\n const observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n }),\n );\n storage.setItem(key, observable);\n return observable;\n }),\n );\n\n // let observable = storage.getItem(key);\n //\n // if (!observable) {\n //\n // observable = refreshOn.pipe(\n // startWith(true),\n // switchMap(() => originalMethod.apply(this, [...args])),\n // tap(() => {\n // delete working[key];\n // }),\n // shareReplay({\n // bufferSize: 1,\n // refCount: options?.refCount ?? false,\n // windowTime: options?.windowTime ?? Infinity,\n // }),\n // filter(() => {\n // return !working[key];\n // }),\n // finalize(() => {\n // subscribers--;\n // if (subscribers === 0 && options?.refCount) {\n // storage.deleteItem(key);\n // (target as any)._____ttl_storage_____?.deleteItem(key);\n // }\n // })\n // );\n // storage.setItem(key, observable);\n // }\n\n // subscribers++;\n\n // return observable;\n };\n\n return descriptor;\n };\n};\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[digitOnly]',\n})\nexport class DigitOnlyDirective {\n @HostListener('keydown', ['$event']) onKeyDown(event: any) {\n const e = event as KeyboardEvent;\n\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '.',\n ',',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (allowedKey.indexOf(e.key) >= 0) return;\n\n // HWKTODO manage ctrl Z and ctrl U\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n\n e.preventDefault();\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n@Directive({\n selector: 'tr[matRowClickable]',\n})\nexport class MatRowClickableDirective {\n @Output()\n matRowClickable = new EventEmitter<any>();\n\n @Input()\n color: OnemrvaMatColor = '';\n\n @HostListener('click', ['$event'])\n click() {\n this.matRowClickable.emit();\n }\n\n @HostBinding('class.onemrva-clickable-row')\n public cssClass = true;\n\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-accent')\n public get _isAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-info')\n public get _isInfo(): boolean {\n return this.color === OnemrvaMatColor.INFO;\n }\n}\n","import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: '[ifWidthIs]',\n})\nexport class IfWidthIsDirective implements OnInit {\n @Input() ifWidthIs!: (typeof Breakpoints)[keyof typeof Breakpoints][];\n\n constructor(\n public breakpointObserver: BreakpointObserver,\n private _templateRef: TemplateRef<any>,\n private _viewContainer: ViewContainerRef,\n ) {}\n\n ngOnInit() {\n this.breakpointObserver\n .observe([...this.ifWidthIs])\n .subscribe((state: BreakpointState) => {\n this._viewContainer.clear();\n if (state.matches) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n });\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'mat-card[color],mat-chip[color]',\n})\nexport class OnemRvaColorDirective {\n @Input()\n color: OnemrvaMatColor = '';\n\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-accent')\n public get _isAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-info')\n public get _isInfo(): boolean {\n return this.color === OnemrvaMatColor.INFO;\n }\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\nconst UNDO_STACK_MAX_LENGTH = 50;\n\n/**\n * 0: digits\n * A: letters (uppercase or lowercase) and digits\n * S: only letters (uppercase or lowercase)\n * U: only letters uppercase\n * L: only letters lowercase\n */\n\n@Directive({\n selector: '[onemrvamask]',\n})\nexport class OnemrvaMaskDirective {\n @Input() onemrvamask!: string;\n\n private inputStack: string[] = ['']; // Stack for undo/redo\n private stackIdx = 0; // Current index in undo/redo stack\n\n markForDelete = false;\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n // Allow functional keystrokes\n const e = event as KeyboardEvent;\n\n let specialKeys = [\n 'Tab',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (specialKeys.indexOf(e.key) >= 0) return;\n\n specialKeys = ['Backspace', 'Delete'];\n if (specialKeys.indexOf(e.key) >= 0) {\n this.markForDelete = true;\n return;\n }\n\n // Undo\n if (e.ctrlKey && 'z' === e.key && this.stackIdx > 0) {\n this.stackIdx--;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n // Redo\n if (\n e.ctrlKey &&\n 'u' === e.key &&\n this.stackIdx < this.inputStack.length - 1\n ) {\n this.stackIdx++;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n }\n\n @HostListener('input', ['$event']) onInput(event: any) {\n const selectionStart = event.target?.selectionStart;\n\n /*\n * Step 1\n * This block lets a delete execution if the new value is compliant.\n * There are 2 deletion cases, after which the new value is not compliant\n * - dd/MX/yyyy: X is deleted, then the date becomes dd/M/yyyy\n * This case is resolved by step 2 and the date will become: dd/My/yyy\n * - dd/MMXyyyy: the last '/' is deleted, then the date becomes dd/MMyyyy\n * In this particular case, step 2 will automatically add the missing slash, so the date will remain dd/MM/yyyy\n * The issue is that the caret position will remain stuck where it was, so if the user keeps hitting the delete key, nothing will change at all. This is resolved in step 4 by moving the caret to the left\n */\n if (this.markForDelete) {\n const isCompliantAfterDeletion =\n [...this.el.nativeElement.value].findIndex((char, idx) => {\n const rule = this.onemrvamask[idx];\n\n if (rule === null || rule === undefined) return true;\n\n if (isNaN(char) && char.toLowerCase() === char.toUpperCase())\n return char !== rule;\n\n return !isAllowed(rule, char);\n }) < 0;\n\n if (isCompliantAfterDeletion) {\n this.markForDelete = false;\n return;\n }\n }\n\n // Step 2\n const compliantValue = [...this.el.nativeElement.value]\n .filter(char => isAllowed('A', char)) // Necessary when several special char in a row\n .reduce((newValue, char) => {\n let idx = newValue.length;\n const rule = this.onemrvamask[idx];\n\n if (rule === null || rule === undefined) return newValue;\n\n newValue = !isAllowed(rule, char) ? newValue : newValue + char;\n\n // Add all trailing special characters\n let nextRule = this.onemrvamask[++idx];\n let i = 0;\n\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n i++;\n newValue += nextRule;\n nextRule = this.onemrvamask[++idx];\n\n if (i > 50) break;\n }\n\n return newValue;\n }, '');\n\n this.el.nativeElement.value = compliantValue;\n\n // Step 3 - Find the new cursor position. If the last new character is just before special character, move the caret after\n let idx = selectionStart;\n let nextRule = this.onemrvamask[idx];\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n idx++;\n nextRule = this.onemrvamask[idx];\n if (\n nextRule !== null &&\n nextRule &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n /* empty */\n } else break;\n }\n\n // Step 4 - Update inputStack only when all characters are processed\n if (compliantValue !== this.inputStack[this.stackIdx]) {\n this.stackIdx++;\n\n const stack =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? this.inputStack.slice(1)\n : this.inputStack.splice(0, this.stackIdx);\n this.stackIdx =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? UNDO_STACK_MAX_LENGTH - 1\n : this.stackIdx;\n\n this.inputStack = [...stack, compliantValue];\n\n this.el.nativeElement.setSelectionRange(idx, idx);\n } else {\n if (this.markForDelete) {\n let i = idx - 1;\n /* Finds the last rule character before the special character.\n * e.g: (nnn)/nnnn\n * If the user tries to delete '/', the caret will move just before ')'\n */\n while (i > 0) {\n const previousRule = this.onemrvamask[i - 1];\n if (['0', 'A', 'S', 'U', 'L'].indexOf(previousRule) < 0) {\n i--;\n } else break;\n }\n this.el.nativeElement.setSelectionRange(i, i);\n }\n }\n this.markForDelete = false;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isAllowed(rule: string, character: string) {\n switch (rule) {\n // Any digit\n case '0':\n if (character === ' ') return false;\n return !isNaN(+character);\n\n // A: letters (uppercase or lowercase) and digits\n case 'A':\n if (character === ' ') return false;\n return (\n !isNaN(+character) || character.toLowerCase() != character.toUpperCase()\n );\n\n // only letters (uppercase or lowercase)\n case 'S':\n return character.toLowerCase() != character.toUpperCase();\n\n // only uppercase letters\n case 'U':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toUpperCase()\n );\n\n // only lowercase letters\n case 'L':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toLowerCase()\n );\n }\n\n return false;\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { ClipboardIconComponent } from '../components/clipboard-icon/clipboard-icon.component';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'span[clipboard]',\n})\nexport class OnemRvaClipboardDirective implements OnInit {\n private icon: ComponentRef<ClipboardIconComponent>;\n private iconEl: any;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private factory: ComponentFactoryResolver,\n private vcRef: ViewContainerRef,\n private clipboardService: Clipboard,\n ) {\n const miFactory = this.factory.resolveComponentFactory(\n ClipboardIconComponent,\n );\n this.icon = this.vcRef.createComponent(miFactory);\n this.iconEl = this.icon.injector.get(\n ClipboardIconComponent,\n )._elementRef.nativeElement;\n }\n\n @HostBinding('class')\n class = '';\n\n @Input()\n clipboard = '';\n\n ngOnInit(): void {\n this.vcRef.clear();\n\n this.renderer.appendChild(this.elementRef.nativeElement, this.iconEl);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'button[iconRight]',\n})\nexport class OnemRvaIconRightDirective {\n @HostBinding('class.onemrva-icon-right')\n class = true;\n}\n","import { DigitOnlyDirective } from './digit-only.directive';\nimport { MatRowClickableDirective } from './mat-row-clickable.directive';\nimport { IfWidthIsDirective } from './if-width-is.directive';\nimport { OnemRvaColorDirective } from './color.directive';\nimport { OnemrvaMaskDirective } from './mask.directive';\nimport { OnemRvaClipboardDirective } from './clipboard.directive';\nimport { OnemRvaIconRightDirective } from './iconRight.directive';\n\nexport const directives: any[] = [\n DigitOnlyDirective,\n MatRowClickableDirective,\n OnemRvaClipboardDirective,\n OnemRvaIconRightDirective,\n IfWidthIsDirective,\n OnemRvaColorDirective,\n OnemrvaMaskDirective,\n];\n\nexport * from './digit-only.directive';\nexport * from './mat-row-clickable.directive';\nexport * from './if-width-is.directive';\nexport * from './color.directive';\nexport * from './mask.directive';\nexport * from './clipboard.directive';\nexport * from './iconRight.directive';\n","import { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n/**\n * Get language from local storage or browser.ééééééééééééé\n * é\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguage(\n translateService: TranslateService,\n languages = ['en', 'fr', 'nl', 'de'],\n default_language = 'en',\n) {\n return async () => {\n translateService.onLangChange.subscribe(value => {\n localStorage.setItem('language', value.lang);\n });\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem('language');\n if (language === null || languages.indexOf(language) < 0) {\n // getting language from browser\n if (languages.indexOf(navigator.language) >= 0) {\n language = navigator.language;\n } else {\n // getting language from one of the browser's languages\n for (const lng of navigator.languages) {\n if (languages.indexOf(lng) >= 0) {\n language = lng;\n break;\n }\n }\n // getting default language\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n }\n }\n await translateService.use(language).toPromise();\n };\n}\n\n/**\n * Get language from WO\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguageFromWO(\n translateService: TranslateService,\n languages = ['fr', 'nl'],\n default_language = 'fr',\n) {\n return async () => {\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem(\n 'be_social_security_workenv_language',\n );\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n await translateService.use(language).toPromise();\n };\n}\n","import { Observable } from 'rxjs';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { OnemRvaCDNService } from '../services';\n\nexport class OnemrvaTranslateCDNLoader implements TranslateLoader {\n constructor(\n private cdn: OnemRvaCDNService,\n public projects: string[] = [],\n public prefix = '/i18n/',\n public suffix = '.json',\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n return this.cdn.getTranslations(\n this.projects,\n lang,\n this.prefix,\n this.suffix,\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { TranslateLoader } from '@ngx-translate/core';\n\nexport class OnemrvaTranslateHttpLoader implements TranslateLoader {\n constructor(\n private http: HttpClient,\n public prefix = '/assets/i18n/',\n public suffix = '.json',\n public modules: string[] = [],\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n const observables = [\n this.http\n .get(`${this.prefix}${lang}${this.suffix}`)\n .pipe(catchError(() => of(null))),\n ...this.modules.map(m => {\n this.http\n .get(`${this.prefix}${m}/${lang}${this.suffix}`)\n .pipe(catchError(() => of(null)));\n //console.log(`${this.prefix}${m}/${lang}${this.suffix}`);\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaBce',\n standalone: true,\n})\nexport class OnemrvaBcePipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 10) return '?01?.???.???';\n\n return `${strOut.substring(0, 4)}.${strOut.substring(\n 4,\n 7,\n )}.${strOut.substring(7, 10)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaNiss',\n standalone: true,\n})\nexport class OnemrvaNissPipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 11) return '??01??/???-??';\n\n return `${strOut.substring(0, 6)}/${strOut.substring(\n 6,\n 9,\n )}-${strOut.substring(9, 11)}`;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken<string>(\n 'LOOKUP_COUNTRY_SERVICE_URL',\n {\n providedIn: 'root',\n factory: () =>\n 'https://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country',\n },\n);\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {\n Observable,\n map,\n ReplaySubject,\n skip,\n distinctUntilChanged,\n} from 'rxjs';\nimport { OnemRvaCommonCountry } from '../interfaces';\nimport { LOOKUP_COUNTRY_SERVICE_URL } from '../tokens/lookup.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommonCountryLookupService {\n protected _countries$ = new ReplaySubject<OnemRvaCommonCountry[]>(1);\n protected _customersInitialized = false;\n\n constructor(\n public http: HttpClient,\n @Inject(LOOKUP_COUNTRY_SERVICE_URL) private commonCountryServiceURL: string,\n ) {\n console.log(this.commonCountryServiceURL);\n }\n\n public getCountries(refresh = false): Observable<OnemRvaCommonCountry[]> {\n if (refresh || !this._customersInitialized) {\n this._customersInitialized = true;\n this.http\n .get<OnemRvaCommonCountry[]>(this.commonCountryServiceURL)\n .subscribe(countries => {\n this._countries$.next(countries);\n });\n }\n\n return this._countries$.pipe(skip(+refresh), distinctUntilChanged());\n }\n\n public getCountryByCode(code: string | null) {\n return this._countries$.pipe(\n map(countries => {\n const country = countries.find(country => country.code === code);\n\n return country || null;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpCacheStorage } from '../decorators/HttpCacheDecorator';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService implements HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void {\n //console.log(\"SET \" + key);\n item.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n }\n\n public getItem(key: string): Observable<any> {\n const r = localStorage.getItem(key);\n if (r === null) {\n return of(null);\n }\n return of(JSON.parse(r));\n }\n\n deleteItem(key: string): void {\n //console.log(\"DELETE \" + key);\n localStorage.removeItem(key);\n }\n}\n","import {\n Inject,\n Injectable,\n Optional,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { CDN_URL_MODE, CDN_URLS } from '../constants';\nimport { CDNUrlModeOptions } from '../constants';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { HttpRequestCache } from '../decorators';\nimport { CacheService } from './cache.service';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNService {\n private readonly cdnUrl: string;\n public refresh$ = new Subject();\n private renderer: Renderer2;\n\n constructor(\n private rendererFactory: RendererFactory2,\n private cacheService: CacheService,\n private http: HttpClient,\n @Optional() @Inject(CDN_URL_MODE) cdnUrlMode: CDNUrlModeOptions,\n ) {\n this.renderer = rendererFactory.createRenderer(null, null);\n switch (cdnUrlMode) {\n case CDNUrlModeOptions.PROD:\n this.cdnUrl = CDN_URLS.prod;\n break;\n case CDNUrlModeOptions.VAL:\n this.cdnUrl = CDN_URLS.val;\n break;\n default:\n this.cdnUrl = CDN_URLS.prod;\n }\n }\n\n public getUrl(path = '') {\n return this.cdnUrl + path;\n }\n\n public getImg(path = '') {\n return this.getUrl('/img/' + path);\n }\n\n public getOri(path = '') {\n return this.getImg('ori/' + path);\n }\n\n @HttpRequestCache<OnemRvaCDNService>(cdnService => ({\n refreshOn: cdnService.refresh$,\n storage: cdnService.cacheService,\n ttl: 3600000,\n }))\n public fetch(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public fetchNoCache(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public getTranslations(\n projects: string[],\n lang: string,\n prefix = '',\n suffix = '',\n ): Observable<any> {\n const observables = [\n this.http\n .get(\n `${this.cdnUrl}${prefix}design-system/design-system/${lang}${suffix}`,\n )\n .pipe(catchError(() => of({}))),\n ...projects.map(m => {\n return this.http\n .get(`${this.cdnUrl}${prefix}${m}/${lang}${suffix}`)\n .pipe(\n catchError(() => {\n return of({});\n }),\n );\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n\n /**\n * Loads a CSS file dynamically into the document head.\n * @param href The URL of the CSS file.\n * @returns A promise that resolves when the CSS file is loaded.\n * //\n */\n loadCss(href: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const existingLink = document.querySelector(`link[href=\"${href}\"]`);\n if (existingLink) {\n resolve(); // CSS is already loaded\n return;\n }\n\n const link = this.renderer.createElement('link');\n this.renderer.setAttribute(link, 'rel', 'stylesheet');\n this.renderer.setAttribute(link, 'type', 'text/css');\n this.renderer.setAttribute(link, 'href', href);\n\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS: ${href}`));\n\n this.renderer.appendChild(document.head, link);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { map, startWith } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatestWith, from } from 'rxjs';\nimport { OnemRvaCDNService } from './cdn.service';\n\nexport interface OnemrvaMaterialCountry {\n code: string;\n name: string;\n dial_code: string;\n zone: string;\n pattern: string;\n placeholder: string;\n translations: {\n fr: string;\n nl: string;\n de: string;\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNCountryService {\n constructor(\n private cdnService: OnemRvaCDNService,\n private translateService: TranslateService,\n ) {}\n\n public getCountries() {\n return this.cdnService.fetch('/json/countries.json').pipe(\n combineLatestWith(\n from(this.translateService.onLangChange).pipe(\n startWith(this.translateService.currentLang),\n ),\n ),\n map(([response]) => {\n return (response as OnemrvaMaterialCountry[])\n .slice()\n .map(country => {\n const translatedName = this.getTranslatedCountryName(\n country,\n this.translateService.currentLang,\n );\n return {\n ...country,\n name: translatedName,\n } as OnemrvaMaterialCountry;\n })\n .sort((a, b) => {\n const fa = a.name.toLowerCase(),\n fb = b.name.toLowerCase();\n\n if (fa < fb) {\n return -1;\n }\n if (fa > fb) {\n return 1;\n }\n return 0;\n });\n }),\n );\n }\n\n public getCountriesByZone(zone: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.filter(country => country.zone === zone);\n }),\n );\n }\n\n public getTranslatedCountryName(\n country: OnemrvaMaterialCountry,\n languageCode: string = this.translateService.currentLang,\n ) {\n if (\n languageCode === 'fr' ||\n languageCode === 'nl' ||\n languageCode === 'de'\n ) {\n if (country.translations[languageCode] !== undefined)\n return country.translations[languageCode];\n }\n return country.name;\n }\n\n public findCountryFromCode(code: any) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.code.toLowerCase() === code.toLowerCase(),\n );\n }),\n );\n }\n\n public findCountryFromVIESCode(code: any) {\n return this.getCountriesByZone('EU').pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.pattern.substring(0, 2) === code.substring(0, 2),\n );\n }),\n );\n }\n\n public findCountryFromPrefix(number: any) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find((country: OnemrvaMaterialCountry) => {\n return (\n country.dial_code === number.substring(0, country.dial_code.length)\n );\n });\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OnemRvaCDNService } from './cdn.service';\nimport { catchError, map } from 'rxjs';\n\nexport interface MimeDefinition {\n extension: string;\n mimeType: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNMimeService {\n static mimetypeFile = '/json/mimetypes.json';\n\n constructor(private cdnService: OnemRvaCDNService) {}\n\n public getMimesForExtension(extensions: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return extensions.includes(mime.extension);\n })\n .map(mime => {\n return mime.mimeType;\n });\n }),\n );\n }\n\n public getExtensionsForMime(mimTypes: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return mimTypes.includes(mime.mimeType);\n })\n .map(mime => {\n return mime.extension;\n });\n }),\n );\n }\n}\n","import { ValidationErrors } from '@angular/forms';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class OnemrvaValidators {\n private static bceValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { bceNull: true };\n }\n\n const bceCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (bceCandidate.length !== 10)\n return { bceLengthError: { value: bceCandidate } };\n\n if (Number.isNaN(+bceCandidate)) return { bceNan: { value: bceCandidate } };\n\n return null;\n }\n\n static bce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.bceValidator(required, control);\n };\n }\n\n private static nissValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { nissNull: true };\n }\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (nissCandidate.length !== 11) {\n return { nissLengthError: { value: nissCandidate } };\n }\n\n if (Number.isNaN(+nissCandidate)) {\n return { nissNan: { value: nissCandidate } };\n }\n\n // Niss day and year are actual values, the month can be different according to the logic below\n // [20-32] & [40-52] => foreigners & temporary NISS values\n // it is not necessary to check for the actual date to be valid\n\n const checksumValue = nissCandidate.substring(9);\n const nissNumbersToCheck = nissCandidate.substring(0, 9);\n const isValidChecksumYear1900 =\n 97 - (+nissNumbersToCheck % 97) === +checksumValue;\n const isValidChecksumYear2000 =\n 97 - (+`2${nissNumbersToCheck}` % 97) === +checksumValue;\n\n if (!isValidChecksumYear1900 && !isValidChecksumYear2000) {\n return { nissCheckDigitError: { value: nissCandidate } };\n }\n\n /*\n Below checks aren't really necessary but are here to exclude even more potential errors\n We could still improve this to include february days & 30 day months + the real potential ranges\n */\n const monthString = nissCandidate.substring(2, 4);\n const month = parseInt(monthString) - 1;\n const real_month = (parseInt(monthString) % 20) - 1;\n\n if (real_month > 11 || month > 51) {\n return { nissInvalidMonth: { value: nissCandidate } };\n }\n\n const day = +nissCandidate.substring(4, 6);\n if (day > 31) {\n return { nissInvalidDate: { value: nissCandidate } };\n }\n\n return null;\n }\n\n static niss(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.nissValidator(required, control);\n };\n }\n\n static nissOrBce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value === null || control.value.trim() === '')\n return !required ? null : { nissNull: true };\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (control.value.length === 11) {\n return this.nissValidator(required, control);\n } else if (control.value.length === 10) {\n return this.bceValidator(required, control);\n }\n return { lengthError: { value: nissCandidate } };\n };\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport {\n validateIBAN,\n electronicFormatIBAN,\n countrySpecs,\n ValidationErrorsIBAN,\n} from 'ibantools';\n\nexport const IBAN_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].IBANRegistry;\n })\n .map(value => {\n return value[0];\n });\n\nconst internValidateIban = (iban = '') => {\n return validateIBAN(electronicFormatIBAN(iban) || undefined);\n};\n\n// const getMappedCodes = (errorCodes: ValidationErrorsIBAN[], value?: any) => {\n// const mappedCodes = errorCodes.map(code => ValidationErrorsIBAN[code]);\n//\n// if (mappedCodes.length > 0) {\n// const listCodes: Record<string, any> = {};\n//\n// mappedCodes.forEach((code: string) => {\n// listCodes[code] = { value };\n// });\n//\n// return listCodes as ValidationErrors;\n// }\n//\n// return null;\n// };\n\nexport const bankAccountValidator = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let finalErrorCodes: number[] = [];\n if (typeof control.getRawValue() === 'string') {\n const regex = /^[a-zA-Z]{2}/;\n if (regex.test(control.getRawValue().substring(0, 2))) {\n const { valid: _valid, errorCodes } = internValidateIban(control.value);\n finalErrorCodes = errorCodes;\n }\n } else {\n const countryCodeValue: string =\n control.value !== null ? control.value['countryCode'] : '';\n const bankNumber: string =\n control.value !== null ? control.value['bban'] : '';\n\n if (countryCodeValue !== '') {\n const { valid: _valid, errorCodes } = internValidateIban(\n `${countryCodeValue}${bankNumber}`,\n );\n finalErrorCodes = errorCodes;\n }\n }\n\n if (finalErrorCodes.length === 0) {\n return null;\n }\n\n const validationErrors: Record<string, { value: any }> = {};\n finalErrorCodes.forEach(errCode => {\n const key = ValidationErrorsIBAN[errCode];\n validationErrors[key] = { value: control.getRawValue() };\n });\n\n return validationErrors;\n };\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { directives } from './directives';\n\n@NgModule({\n declarations: [...directives],\n imports: [CommonModule],\n exports: [...directives, CommonModule],\n})\nexport class OnemrvaSharedModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { NativeDateAdapter } from '@angular/material/core';\nimport { DateTime } from 'luxon';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\n\n@Injectable()\nexport class OnemrvaNativeDateAdapter\n extends NativeDateAdapter\n implements OnDestroy\n{\n private destroyNotifier$ = new Subject<void>();\n\n override localeChanges = new Subject<any>();\n\n constructor(private translateService: TranslateService) {\n super();\n\n this.setLocale(this.translateService.currentLang);\n this.localeChanges.next(this);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n this.localeChanges.next(this);\n });\n }\n }\n\n override format(date: Date, formats: any): string {\n const dt = DateTime.fromJSDate(date);\n return dt.toFormat(formats);\n }\n\n override parse(value: any): Date | null {\n const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;\n if (value && typeof value === 'string') {\n value = value.replace(/\\D/g, '/');\n }\n\n if (value === null || value === '') {\n return null;\n }\n\n const dt = DateTime.fromFormat(value, formats.display.dateInput, {\n locale: this.locale,\n });\n\n if (dt.isValid) {\n return dt.toJSDate();\n }\n\n for (const format of formats.parse.dateInput) {\n const parsed = DateTime.fromFormat(value, format, {\n locale: this.locale,\n });\n if (parsed.isValid) {\n return parsed.toJSDate();\n }\n }\n\n return this.invalid();\n }\n\n override getFirstDayOfWeek(): number {\n return 1;\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n}\n","import { CalendarSystem as LuxonCalendarSystem } from 'luxon/src/misc';\nimport { InjectionToken } from '@angular/core';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n\n /**\n * Sets the output Calendar.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n defaultOutputCalendar: LuxonCalendarSystem;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS =\n new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n );\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n defaultOutputCalendar: 'gregory',\n };\n}\n\n/** Creates an array and fills it with values. */\nexport function luxonRange<T>(\n length: number,\n valueFunction: (index: number) => T,\n): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injectable, inject } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n CalendarSystem as LuxonCalendarSystem,\n} from 'luxon';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n luxonRange,\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n MatLuxonDateAdapterOptions,\n} from './luxon.utils';\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n private _defaultOutputCalendar: LuxonCalendarSystem;\n\n constructor(private translateService: TranslateService) {\n super();\n\n const dateLocale = inject(MAT_DATE_LOCALE, { optional: true });\n const options = inject<MatLuxonDateAdapterOptions>(\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n {\n optional: true,\n },\n );\n\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n\n this.setLocale(this.translateService.currentLang);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntilDestroyed())\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n });\n }\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings\n return LuxonInfo.months(style, {\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n });\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {\n day: 'numeric',\n timeZone: 'utc',\n });\n\n // Format a UTC date in order to avoid DST issues.\n return luxonRange(31, i =>\n dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()),\n );\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, { locale: this.locale });\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy', this._getOptions());\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth!;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject(), this._getOptions());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n const options = this._getOptions();\n\n if (month < 0 || month > 11) {\n throw Error(\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`,\n );\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date, options)\n : LuxonDateTime.local(year, month + 1, date, options);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result;\n }\n\n today(): LuxonDateTime {\n const options = this._getOptions();\n\n return this._useUTC\n ? LuxonDateTime.utc(options)\n : LuxonDateTime.local(options);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n // This is screwing things up as 062005 would become 05 0602\n // const iso8601Date = LuxonDateTime.fromISO(value, options);\n //\n // if (this.isValid(iso8601Date)) {\n // console.log(iso8601Date);\n // return iso8601Date;\n // }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n if (this._useUTC) {\n return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);\n } else {\n return date.setLocale(this.locale).toFormat(displayFormat);\n }\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ years });\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ months });\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ days });\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO()!;\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n setTime(\n target: LuxonDateTime,\n hours: number,\n minutes: number,\n seconds: number,\n ): LuxonDateTime {\n //if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (hours < 0 || hours > 23) {\n throw Error(\n `Invalid hours \"${hours}\". Hours value must be between 0 and 23.`,\n );\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(\n `Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`,\n );\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(\n `Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`,\n );\n }\n //}\n\n return this.clone(target).set({\n hour: hours,\n minute: minutes,\n second: seconds,\n millisecond: 0,\n });\n }\n\n getHours(date: LuxonDateTime): number {\n return date.hour;\n }\n\n getMinutes(date: LuxonDateTime): number {\n return date.minute;\n }\n\n getSeconds(date: LuxonDateTime): number {\n return date.second;\n }\n\n parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const result = this.parse(value, parseFormat);\n\n if ((!result || !this.isValid(result)) && typeof value === 'string') {\n // It seems like Luxon doesn't work well cross-browser for strings that have\n // additional characters around the time. Try parsing without those characters.\n return (\n this.parse(value.replace(/[^0-9:(AM|PM)]/gi, ''), parseFormat) || result\n );\n }\n\n return result;\n }\n\n addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ seconds: amount });\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n };\n }\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_DATE_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_DATE_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_DATE_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","/*\n * Public API Surface of shared\n */\n\nexport * from './src/lib/components';\nexport * from './src/lib/constants';\nexport * from './src/lib/containers';\nexport * from './src/lib/decorators';\nexport * from './src/lib/directives';\nexport * from './src/lib/helpers';\nexport * from './src/lib/loaders';\nexport * from './src/lib/interfaces';\nexport * from './src/lib/pipes';\nexport * from './src/lib/services';\nexport * from './src/lib/validators';\nexport * from './src/lib/shared.module';\nexport * from './src/lib/adapters';\nexport * from './src/lib/providers';\nexport * from './src/lib/tokens';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","catchError","map","startWith","i1.OnemRvaCDNService","i2","i1.DigitOnlyDirective","i2.MatRowClickableDirective","i3.OnemRvaClipboardDirective","i4.OnemRvaIconRightDirective","i5.IfWidthIsDirective","i6.OnemRvaColorDirective","i7.OnemrvaMaskDirective","LuxonDateTime","LuxonInfo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onemrvapublic-design-system-shared.mjs","sources":["../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.ts","../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.html","../../../../projects/onemrva/design-system/shared/src/lib/constants/CDNUrlModeOptions.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/constants.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/date.format.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/cdn.ts","../../../../projects/onemrva/design-system/shared/src/lib/containers/WebComponentOverlayContainer.ts","../../../../projects/onemrva/design-system/shared/src/lib/decorators/HttpCacheDecorator.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/digit-only.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mat-row-clickable.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/if-width-is.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/color.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mask.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/clipboard.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/iconRight.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/index.ts","../../../../projects/onemrva/design-system/shared/src/lib/helpers/translation-helper.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-cdn-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-http-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-bce.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-niss.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/tokens/lookup.token.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-lookup.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cache.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/mime-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/onemrva-validators.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/bank-account.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/shared.module.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/native.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/index.ts","../../../../projects/onemrva/design-system/shared/onemrvapublic-design-system-shared.ts"],"sourcesContent":["import { Component, ElementRef } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Clipboard } from '@angular/cdk/clipboard';\n\n@Component({\n selector: 'lib-clipboard-icon',\n templateUrl: './clipboard-icon.component.html',\n styleUrls: ['./clipboard-icon.component.css'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n})\nexport class ClipboardIconComponent {\n constructor(\n public _elementRef: ElementRef,\n private clipboardService: Clipboard,\n ) {}\n}\n","<mat-icon [matTooltip]=\"'TEST'\">content_copy</mat-icon>\n","export enum CDNUrlModeOptions {\n PROD = 'production',\n VAL = 'validation',\n}\n","export const CDN_URLS = {\n prod: 'https://cdn.services.rvaonem.fgov.be',\n val: 'https://cdn.servicesval.rvaonem.fgov.be',\n};\n\nexport const NISS_MASK = '000000/000-00';\n\nexport const LOOKUP_COUNTRY_URL =\n 'https://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';\n","import { MatDateFormats } from '@angular/material/core';\n\nconst parseNativeDateFormats = [\n 'ddMMyyyy',\n 'dd/MM/yyyy',\n 'd/M/yyyy',\n 'dd/M/yyyy',\n 'd/MM/yyyy',\n 'd.M.yyyy',\n 'dd.M.yyyy',\n 'd.MM.yyyy',\n 'd/M/yy',\n 'dd/M/yy',\n 'd/MM/yy',\n 'd.M.yy',\n 'dd.M.yy',\n 'd.MM.yy',\n];\nconst parseNativeYearMonthFormats = [\n 'MMyyyy',\n 'M/yyyy',\n 'M/yy',\n 'MM/yyyy',\n 'MM/yy',\n 'M.yyyy',\n 'MM.yyyy',\n];\nconst parseLuxonYearMonthFormats = [\n 'LLyyyy',\n 'L/yyyy',\n 'L/yy',\n 'LL/yyyy',\n 'LL/yy',\n 'L.yyyy',\n 'LL.yyyy',\n];\nconst parseLuxonDateFormat = [\n 'ddLLyyyy',\n 'd/LL/yyyy',\n 'd/L/yyyy',\n 'dd/L/yyyy',\n 'd/LL/yyyy',\n 'd.L.yyyy',\n 'dd.L.yyyy',\n 'd.LL.yyyy',\n 'd/L/yy',\n 'dd/L/yy',\n 'd/LL/yy',\n 'd.L.yy',\n 'dd.L.yy',\n 'd.LL.yy',\n];\n\nexport const ONEMRVA_MAT_NATIVE_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeDateFormats,\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeYearMonthFormats,\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonYearMonthFormats,\n },\n display: {\n dateInput: 'LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonDateFormat,\n },\n display: {\n dateInput: 'dd/LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLL yyyy',\n },\n};\n","import { InjectionToken } from '@angular/core';\n\nexport const CDN_URL_MODE = new InjectionToken<string>(\n 'This is cdn url that will be used (val/prod)',\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { Platform, _isTestEnvironment } from '@angular/cdk/platform';\n\n/** Container inside which all overlays will render. */\n@Injectable({ providedIn: 'root' })\nexport class WebComponentOverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement | null = null;\n protected _document: Document;\n\n constructor(\n @Inject(DOCUMENT) document: any,\n protected _platform: Platform,\n ) {\n this._document = document;\n }\n\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement | null {\n if (this._containerElement === null) {\n this._createContainer();\n }\n\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n const containerClass = 'cdk-overlay-container';\n\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(\n `.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`,\n );\n\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n oppositePlatformContainers.forEach(platform => {\n platform.remove();\n });\n }\n\n const containerwrap = this._document.createElement('div');\n containerwrap.classList.add('onemrva-theme');\n\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n } else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n\n containerwrap.appendChild(container);\n this._document.body.appendChild(containerwrap);\n this._containerElement = container;\n }\n}\n","import {\n filter,\n finalize,\n merge,\n NEVER,\n Observable,\n Subject,\n tap,\n shareReplay,\n startWith,\n switchMap,\n BehaviorSubject,\n take,\n catchError,\n} from 'rxjs';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport interface HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void;\n getItem(key: string): Observable<null> | undefined;\n deleteItem(key: string): void;\n}\n\nexport interface HttpCacheOptions {\n refCount?: boolean;\n windowTime?: number;\n ttl?: number;\n storage?: HttpCacheStorage;\n refreshOn?: Observable<unknown> | Subject<unknown> | BehaviorSubject<unknown>;\n}\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport const HttpRequestCache = <T extends Record<string, any>>(\n optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions,\n) => {\n return (\n target: T,\n methodName: string,\n descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>,\n ): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(\n `'@HttpRequestCache' can be applied only to the class method which returns an Observable`,\n );\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function (...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: { requestTime: number; subject: Subject<void> } =\n undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? (NEVER as Observable<unknown>),\n ttl?.subject ?? (NEVER as Observable<unknown>),\n );\n\n return storage.getItem(key).pipe(\n take(1),\n tap(value => {\n subscribers++;\n if (value === null) throw '';\n }),\n catchError(() => {\n const observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n }),\n );\n storage.setItem(key, observable);\n return observable;\n }),\n );\n\n // let observable = storage.getItem(key);\n //\n // if (!observable) {\n //\n // observable = refreshOn.pipe(\n // startWith(true),\n // switchMap(() => originalMethod.apply(this, [...args])),\n // tap(() => {\n // delete working[key];\n // }),\n // shareReplay({\n // bufferSize: 1,\n // refCount: options?.refCount ?? false,\n // windowTime: options?.windowTime ?? Infinity,\n // }),\n // filter(() => {\n // return !working[key];\n // }),\n // finalize(() => {\n // subscribers--;\n // if (subscribers === 0 && options?.refCount) {\n // storage.deleteItem(key);\n // (target as any)._____ttl_storage_____?.deleteItem(key);\n // }\n // })\n // );\n // storage.setItem(key, observable);\n // }\n\n // subscribers++;\n\n // return observable;\n };\n\n return descriptor;\n };\n};\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[digitOnly]',\n})\nexport class DigitOnlyDirective {\n @HostListener('keydown', ['$event']) onKeyDown(event: any) {\n const e = event as KeyboardEvent;\n\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '.',\n ',',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (allowedKey.indexOf(e.key) >= 0) return;\n\n // HWKTODO manage ctrl Z and ctrl U\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n\n e.preventDefault();\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n@Directive({\n selector: 'tr[matRowClickable]',\n})\nexport class MatRowClickableDirective {\n @Output()\n matRowClickable = new EventEmitter<any>();\n\n @Input()\n color: OnemrvaMatColor = '';\n\n @HostListener('click', ['$event'])\n click() {\n this.matRowClickable.emit();\n }\n\n @HostBinding('class.onemrva-clickable-row')\n public cssClass = true;\n\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-accent')\n public get _isAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-info')\n public get _isInfo(): boolean {\n return this.color === OnemrvaMatColor.INFO;\n }\n}\n","import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: '[ifWidthIs]',\n})\nexport class IfWidthIsDirective implements OnInit {\n @Input() ifWidthIs!: (typeof Breakpoints)[keyof typeof Breakpoints][];\n\n constructor(\n public breakpointObserver: BreakpointObserver,\n private _templateRef: TemplateRef<any>,\n private _viewContainer: ViewContainerRef,\n ) {}\n\n ngOnInit() {\n this.breakpointObserver\n .observe([...this.ifWidthIs])\n .subscribe((state: BreakpointState) => {\n this._viewContainer.clear();\n if (state.matches) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n });\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'mat-card[color],mat-chip[color]',\n})\nexport class OnemRvaColorDirective {\n @Input()\n color: OnemrvaMatColor = '';\n\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-accent')\n public get _isAccent(): boolean {\n return this.color === OnemrvaMatColor.ACCENT;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-info')\n public get _isInfo(): boolean {\n return this.color === OnemrvaMatColor.INFO;\n }\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\nconst UNDO_STACK_MAX_LENGTH = 50;\n\n/**\n * 0: digits\n * A: letters (uppercase or lowercase) and digits\n * S: only letters (uppercase or lowercase)\n * U: only letters uppercase\n * L: only letters lowercase\n */\n\n@Directive({\n selector: '[onemrvamask]',\n})\nexport class OnemrvaMaskDirective {\n @Input() onemrvamask!: string;\n\n private inputStack: string[] = ['']; // Stack for undo/redo\n private stackIdx = 0; // Current index in undo/redo stack\n\n markForDelete = false;\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n // Allow functional keystrokes\n const e = event as KeyboardEvent;\n\n let specialKeys = [\n 'Tab',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (specialKeys.indexOf(e.key) >= 0) return;\n\n specialKeys = ['Backspace', 'Delete'];\n if (specialKeys.indexOf(e.key) >= 0) {\n this.markForDelete = true;\n return;\n }\n\n // Undo\n if (e.ctrlKey && 'z' === e.key && this.stackIdx > 0) {\n this.stackIdx--;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n // Redo\n if (\n e.ctrlKey &&\n 'u' === e.key &&\n this.stackIdx < this.inputStack.length - 1\n ) {\n this.stackIdx++;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n }\n\n @HostListener('input', ['$event']) onInput(event: any) {\n const selectionStart = event.target?.selectionStart;\n\n /*\n * Step 1\n * This block lets a delete execution if the new value is compliant.\n * There are 2 deletion cases, after which the new value is not compliant\n * - dd/MX/yyyy: X is deleted, then the date becomes dd/M/yyyy\n * This case is resolved by step 2 and the date will become: dd/My/yyy\n * - dd/MMXyyyy: the last '/' is deleted, then the date becomes dd/MMyyyy\n * In this particular case, step 2 will automatically add the missing slash, so the date will remain dd/MM/yyyy\n * The issue is that the caret position will remain stuck where it was, so if the user keeps hitting the delete key, nothing will change at all. This is resolved in step 4 by moving the caret to the left\n */\n if (this.markForDelete) {\n const isCompliantAfterDeletion =\n [...this.el.nativeElement.value].findIndex((char, idx) => {\n const rule = this.onemrvamask[idx];\n\n if (rule === null || rule === undefined) return true;\n\n if (isNaN(char) && char.toLowerCase() === char.toUpperCase())\n return char !== rule;\n\n return !isAllowed(rule, char);\n }) < 0;\n\n if (isCompliantAfterDeletion) {\n this.markForDelete = false;\n return;\n }\n }\n\n // Step 2\n const compliantValue = [...this.el.nativeElement.value]\n .filter(char => isAllowed('A', char)) // Necessary when several special char in a row\n .reduce((newValue, char) => {\n let idx = newValue.length;\n const rule = this.onemrvamask[idx];\n\n if (rule === null || rule === undefined) return newValue;\n\n newValue = !isAllowed(rule, char) ? newValue : newValue + char;\n\n // Add all trailing special characters\n let nextRule = this.onemrvamask[++idx];\n let i = 0;\n\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n i++;\n newValue += nextRule;\n nextRule = this.onemrvamask[++idx];\n\n if (i > 50) break;\n }\n\n return newValue;\n }, '');\n\n this.el.nativeElement.value = compliantValue;\n\n // Step 3 - Find the new cursor position. If the last new character is just before special character, move the caret after\n let idx = selectionStart;\n let nextRule = this.onemrvamask[idx];\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n idx++;\n nextRule = this.onemrvamask[idx];\n if (\n nextRule !== null &&\n nextRule &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n /* empty */\n } else break;\n }\n\n // Step 4 - Update inputStack only when all characters are processed\n if (compliantValue !== this.inputStack[this.stackIdx]) {\n this.stackIdx++;\n\n const stack =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? this.inputStack.slice(1)\n : this.inputStack.splice(0, this.stackIdx);\n this.stackIdx =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? UNDO_STACK_MAX_LENGTH - 1\n : this.stackIdx;\n\n this.inputStack = [...stack, compliantValue];\n\n this.el.nativeElement.setSelectionRange(idx, idx);\n } else {\n if (this.markForDelete) {\n let i = idx - 1;\n /* Finds the last rule character before the special character.\n * e.g: (nnn)/nnnn\n * If the user tries to delete '/', the caret will move just before ')'\n */\n while (i > 0) {\n const previousRule = this.onemrvamask[i - 1];\n if (['0', 'A', 'S', 'U', 'L'].indexOf(previousRule) < 0) {\n i--;\n } else break;\n }\n this.el.nativeElement.setSelectionRange(i, i);\n }\n }\n this.markForDelete = false;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isAllowed(rule: string, character: string) {\n switch (rule) {\n // Any digit\n case '0':\n if (character === ' ') return false;\n return !isNaN(+character);\n\n // A: letters (uppercase or lowercase) and digits\n case 'A':\n if (character === ' ') return false;\n return (\n !isNaN(+character) || character.toLowerCase() != character.toUpperCase()\n );\n\n // only letters (uppercase or lowercase)\n case 'S':\n return character.toLowerCase() != character.toUpperCase();\n\n // only uppercase letters\n case 'U':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toUpperCase()\n );\n\n // only lowercase letters\n case 'L':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toLowerCase()\n );\n }\n\n return false;\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { ClipboardIconComponent } from '../components/clipboard-icon/clipboard-icon.component';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'span[clipboard]',\n})\nexport class OnemRvaClipboardDirective implements OnInit {\n private icon: ComponentRef<ClipboardIconComponent>;\n private iconEl: any;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private factory: ComponentFactoryResolver,\n private vcRef: ViewContainerRef,\n private clipboardService: Clipboard,\n ) {\n const miFactory = this.factory.resolveComponentFactory(\n ClipboardIconComponent,\n );\n this.icon = this.vcRef.createComponent(miFactory);\n this.iconEl = this.icon.injector.get(\n ClipboardIconComponent,\n )._elementRef.nativeElement;\n }\n\n @HostBinding('class')\n class = '';\n\n @Input()\n clipboard = '';\n\n ngOnInit(): void {\n this.vcRef.clear();\n\n this.renderer.appendChild(this.elementRef.nativeElement, this.iconEl);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'button[iconRight]',\n})\nexport class OnemRvaIconRightDirective {\n @HostBinding('class.onemrva-icon-right')\n class = true;\n}\n","import { DigitOnlyDirective } from './digit-only.directive';\nimport { MatRowClickableDirective } from './mat-row-clickable.directive';\nimport { IfWidthIsDirective } from './if-width-is.directive';\nimport { OnemRvaColorDirective } from './color.directive';\nimport { OnemrvaMaskDirective } from './mask.directive';\nimport { OnemRvaClipboardDirective } from './clipboard.directive';\nimport { OnemRvaIconRightDirective } from './iconRight.directive';\n\nexport const directives: any[] = [\n DigitOnlyDirective,\n MatRowClickableDirective,\n OnemRvaClipboardDirective,\n OnemRvaIconRightDirective,\n IfWidthIsDirective,\n OnemRvaColorDirective,\n OnemrvaMaskDirective,\n];\n\nexport * from './digit-only.directive';\nexport * from './mat-row-clickable.directive';\nexport * from './if-width-is.directive';\nexport * from './color.directive';\nexport * from './mask.directive';\nexport * from './clipboard.directive';\nexport * from './iconRight.directive';\n","import { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n/**\n * Get language from local storage or browser.ééééééééééééé\n * é\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguage(\n translateService: TranslateService,\n languages = ['en', 'fr', 'nl', 'de'],\n default_language = 'en',\n) {\n return async () => {\n translateService.onLangChange.subscribe(value => {\n localStorage.setItem('language', value.lang);\n });\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem('language');\n if (language === null || languages.indexOf(language) < 0) {\n // getting language from browser\n if (languages.indexOf(navigator.language) >= 0) {\n language = navigator.language;\n } else {\n // getting language from one of the browser's languages\n for (const lng of navigator.languages) {\n if (languages.indexOf(lng) >= 0) {\n language = lng;\n break;\n }\n }\n // getting default language\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n }\n }\n await translateService.use(language).toPromise();\n };\n}\n\n/**\n * Get language from WO\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguageFromWO(\n translateService: TranslateService,\n languages = ['fr', 'nl'],\n default_language = 'fr',\n) {\n return async () => {\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem(\n 'be_social_security_workenv_language',\n );\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n await translateService.use(language).toPromise();\n };\n}\n","import { Observable } from 'rxjs';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { OnemRvaCDNService } from '../services';\n\nexport class OnemrvaTranslateCDNLoader implements TranslateLoader {\n constructor(\n private cdn: OnemRvaCDNService,\n public projects: string[] = [],\n public prefix = '/i18n/',\n public suffix = '.json',\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n return this.cdn.getTranslations(\n this.projects,\n lang,\n this.prefix,\n this.suffix,\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { TranslateLoader } from '@ngx-translate/core';\n\nexport class OnemrvaTranslateHttpLoader implements TranslateLoader {\n constructor(\n private http: HttpClient,\n public prefix = '/assets/i18n/',\n public suffix = '.json',\n public modules: string[] = [],\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n const observables = [\n this.http\n .get(`${this.prefix}${lang}${this.suffix}`)\n .pipe(catchError(() => of(null))),\n ...this.modules.map(m => {\n this.http\n .get(`${this.prefix}${m}/${lang}${this.suffix}`)\n .pipe(catchError(() => of(null)));\n //console.log(`${this.prefix}${m}/${lang}${this.suffix}`);\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaBce',\n standalone: true,\n})\nexport class OnemrvaBcePipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 10) return '?01?.???.???';\n\n return `${strOut.substring(0, 4)}.${strOut.substring(\n 4,\n 7,\n )}.${strOut.substring(7, 10)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaNiss',\n standalone: true,\n})\nexport class OnemrvaNissPipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 11) return '??01??/???-??';\n\n return `${strOut.substring(0, 6)}/${strOut.substring(\n 6,\n 9,\n )}-${strOut.substring(9, 11)}`;\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { LOOKUP_COUNTRY_URL } from '../constants';\n\nexport const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken<string>(\n 'LOOKUP_COUNTRY_SERVICE_URL',\n {\n providedIn: 'root',\n factory: () => LOOKUP_COUNTRY_URL,\n },\n);\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {\n Observable,\n map,\n ReplaySubject,\n skip,\n distinctUntilChanged,\n} from 'rxjs';\nimport { OnemRvaCommonCountry } from '../interfaces';\nimport { LOOKUP_COUNTRY_SERVICE_URL } from '../tokens/lookup.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommonCountryLookupService {\n protected _countries$ = new ReplaySubject<OnemRvaCommonCountry[]>(1);\n protected _customersInitialized = false;\n\n constructor(\n public http: HttpClient,\n @Inject(LOOKUP_COUNTRY_SERVICE_URL) private commonCountryServiceURL: string,\n ) {\n console.log(this.commonCountryServiceURL);\n }\n\n public getCountries(refresh = false): Observable<OnemRvaCommonCountry[]> {\n if (refresh || !this._customersInitialized) {\n this._customersInitialized = true;\n this.http\n .get<OnemRvaCommonCountry[]>(this.commonCountryServiceURL)\n .subscribe(countries => {\n this._countries$.next(countries);\n });\n }\n\n return this._countries$.pipe(skip(+refresh), distinctUntilChanged());\n }\n\n public getCountryByCode(code: string | null) {\n return this._countries$.pipe(\n map(countries => {\n const country = countries.find(country => country.code === code);\n\n return country || null;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpCacheStorage } from '../decorators/HttpCacheDecorator';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService implements HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void {\n //console.log(\"SET \" + key);\n item.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n }\n\n public getItem(key: string): Observable<any> {\n const r = localStorage.getItem(key);\n if (r === null) {\n return of(null);\n }\n return of(JSON.parse(r));\n }\n\n deleteItem(key: string): void {\n //console.log(\"DELETE \" + key);\n localStorage.removeItem(key);\n }\n}\n","import {\n Inject,\n Injectable,\n Optional,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { CDN_URL_MODE, CDN_URLS } from '../constants';\nimport { CDNUrlModeOptions } from '../constants';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { HttpRequestCache } from '../decorators';\nimport { CacheService } from './cache.service';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNService {\n private readonly cdnUrl: string;\n public refresh$ = new Subject();\n private renderer: Renderer2;\n\n constructor(\n private rendererFactory: RendererFactory2,\n private cacheService: CacheService,\n private http: HttpClient,\n @Optional() @Inject(CDN_URL_MODE) cdnUrlMode: CDNUrlModeOptions,\n ) {\n this.renderer = rendererFactory.createRenderer(null, null);\n switch (cdnUrlMode) {\n case CDNUrlModeOptions.PROD:\n this.cdnUrl = CDN_URLS.prod;\n break;\n case CDNUrlModeOptions.VAL:\n this.cdnUrl = CDN_URLS.val;\n break;\n default:\n this.cdnUrl = CDN_URLS.prod;\n }\n }\n\n public getUrl(path = '') {\n return this.cdnUrl + path;\n }\n\n public getImg(path = '') {\n return this.getUrl('/img/' + path);\n }\n\n public getOri(path = '') {\n return this.getImg('ori/' + path);\n }\n\n @HttpRequestCache<OnemRvaCDNService>(cdnService => ({\n refreshOn: cdnService.refresh$,\n storage: cdnService.cacheService,\n ttl: 3600000,\n }))\n public fetch(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public fetchNoCache(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public getTranslations(\n projects: string[],\n lang: string,\n prefix = '',\n suffix = '',\n ): Observable<any> {\n const observables = [\n this.http\n .get(\n `${this.cdnUrl}${prefix}design-system/design-system/${lang}${suffix}`,\n )\n .pipe(catchError(() => of({}))),\n ...projects.map(m => {\n return this.http\n .get(`${this.cdnUrl}${prefix}${m}/${lang}${suffix}`)\n .pipe(\n catchError(() => {\n return of({});\n }),\n );\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n\n /**\n * Loads a CSS file dynamically into the document head.\n * @param href The URL of the CSS file.\n * @returns A promise that resolves when the CSS file is loaded.\n * //\n */\n loadCss(href: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const existingLink = document.querySelector(`link[href=\"${href}\"]`);\n if (existingLink) {\n resolve(); // CSS is already loaded\n return;\n }\n\n const link = this.renderer.createElement('link');\n this.renderer.setAttribute(link, 'rel', 'stylesheet');\n this.renderer.setAttribute(link, 'type', 'text/css');\n this.renderer.setAttribute(link, 'href', href);\n\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS: ${href}`));\n\n this.renderer.appendChild(document.head, link);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { map, startWith } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatestWith, from } from 'rxjs';\nimport { OnemRvaCDNService } from './cdn.service';\n\nexport interface OnemrvaMaterialCountry {\n code: string;\n name: string;\n dial_code: string;\n zone: string;\n pattern: string;\n placeholder: string;\n translations: {\n fr: string;\n nl: string;\n de: string;\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNCountryService {\n constructor(\n private cdnService: OnemRvaCDNService,\n private translateService: TranslateService,\n ) {}\n\n public getCountries() {\n return this.cdnService.fetch('/json/countries.json').pipe(\n combineLatestWith(\n from(this.translateService.onLangChange).pipe(\n startWith(this.translateService.currentLang),\n ),\n ),\n map(([response]) => {\n return (response as OnemrvaMaterialCountry[])\n .slice()\n .map(country => {\n const translatedName = this.getTranslatedCountryName(\n country,\n this.translateService.currentLang,\n );\n return {\n ...country,\n name: translatedName,\n } as OnemrvaMaterialCountry;\n })\n .sort((a, b) => {\n const fa = a.name.toLowerCase(),\n fb = b.name.toLowerCase();\n\n if (fa < fb) {\n return -1;\n }\n if (fa > fb) {\n return 1;\n }\n return 0;\n });\n }),\n );\n }\n\n public getCountriesByZone(zone: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.filter(country => country.zone === zone);\n }),\n );\n }\n\n public getTranslatedCountryName(\n country: OnemrvaMaterialCountry,\n languageCode: string = this.translateService.currentLang,\n ) {\n if (\n languageCode === 'fr' ||\n languageCode === 'nl' ||\n languageCode === 'de'\n ) {\n if (country.translations[languageCode] !== undefined)\n return country.translations[languageCode];\n }\n return country.name;\n }\n\n public findCountryFromCode(code: any) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.code.toLowerCase() === code.toLowerCase(),\n );\n }),\n );\n }\n\n public findCountryFromVIESCode(code: any) {\n return this.getCountriesByZone('EU').pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.pattern.substring(0, 2) === code.substring(0, 2),\n );\n }),\n );\n }\n\n public findCountryFromPrefix(number: any) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find((country: OnemrvaMaterialCountry) => {\n return (\n country.dial_code === number.substring(0, country.dial_code.length)\n );\n });\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OnemRvaCDNService } from './cdn.service';\nimport { catchError, map } from 'rxjs';\n\nexport interface MimeDefinition {\n extension: string;\n mimeType: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNMimeService {\n static mimetypeFile = '/json/mimetypes.json';\n\n constructor(private cdnService: OnemRvaCDNService) {}\n\n public getMimesForExtension(extensions: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return extensions.includes(mime.extension);\n })\n .map(mime => {\n return mime.mimeType;\n });\n }),\n );\n }\n\n public getExtensionsForMime(mimTypes: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return mimTypes.includes(mime.mimeType);\n })\n .map(mime => {\n return mime.extension;\n });\n }),\n );\n }\n}\n","import { ValidationErrors } from '@angular/forms';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class OnemrvaValidators {\n private static bceValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { bceNull: true };\n }\n\n const bceCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (bceCandidate.length !== 10)\n return { bceLengthError: { value: bceCandidate } };\n\n if (Number.isNaN(+bceCandidate)) return { bceNan: { value: bceCandidate } };\n\n return null;\n }\n\n static bce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.bceValidator(required, control);\n };\n }\n\n private static nissValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { nissNull: true };\n }\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (nissCandidate.length !== 11) {\n return { nissLengthError: { value: nissCandidate } };\n }\n\n if (Number.isNaN(+nissCandidate)) {\n return { nissNan: { value: nissCandidate } };\n }\n\n // Niss day and year are actual values, the month can be different according to the logic below\n // [20-32] & [40-52] => foreigners & temporary NISS values\n // it is not necessary to check for the actual date to be valid\n\n const checksumValue = nissCandidate.substring(9);\n const nissNumbersToCheck = nissCandidate.substring(0, 9);\n const isValidChecksumYear1900 =\n 97 - (+nissNumbersToCheck % 97) === +checksumValue;\n const isValidChecksumYear2000 =\n 97 - (+`2${nissNumbersToCheck}` % 97) === +checksumValue;\n\n if (!isValidChecksumYear1900 && !isValidChecksumYear2000) {\n return { nissCheckDigitError: { value: nissCandidate } };\n }\n\n /*\n Below checks aren't really necessary but are here to exclude even more potential errors\n We could still improve this to include february days & 30 day months + the real potential ranges\n */\n const monthString = nissCandidate.substring(2, 4);\n const month = parseInt(monthString) - 1;\n const real_month = (parseInt(monthString) % 20) - 1;\n\n if (real_month > 11 || month > 51) {\n return { nissInvalidMonth: { value: nissCandidate } };\n }\n\n const day = +nissCandidate.substring(4, 6);\n if (day > 31) {\n return { nissInvalidDate: { value: nissCandidate } };\n }\n\n return null;\n }\n\n static niss(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.nissValidator(required, control);\n };\n }\n\n static nissOrBce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value === null || control.value.trim() === '')\n return !required ? null : { nissNull: true };\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (control.value.length === 11) {\n return this.nissValidator(required, control);\n } else if (control.value.length === 10) {\n return this.bceValidator(required, control);\n }\n return { lengthError: { value: nissCandidate } };\n };\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport {\n validateIBAN,\n electronicFormatIBAN,\n countrySpecs,\n ValidationErrorsIBAN,\n} from 'ibantools';\n\nexport const IBAN_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].IBANRegistry;\n })\n .map(value => {\n return value[0];\n });\n\nconst internValidateIban = (iban = '') => {\n return validateIBAN(electronicFormatIBAN(iban) || undefined);\n};\n\n// const getMappedCodes = (errorCodes: ValidationErrorsIBAN[], value?: any) => {\n// const mappedCodes = errorCodes.map(code => ValidationErrorsIBAN[code]);\n//\n// if (mappedCodes.length > 0) {\n// const listCodes: Record<string, any> = {};\n//\n// mappedCodes.forEach((code: string) => {\n// listCodes[code] = { value };\n// });\n//\n// return listCodes as ValidationErrors;\n// }\n//\n// return null;\n// };\n\nexport const bankAccountValidator = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let finalErrorCodes: number[] = [];\n if (typeof control.getRawValue() === 'string') {\n const regex = /^[a-zA-Z]{2}/;\n if (regex.test(control.getRawValue().substring(0, 2))) {\n const { valid: _valid, errorCodes } = internValidateIban(control.value);\n finalErrorCodes = errorCodes;\n }\n } else {\n const countryCodeValue: string =\n control.value !== null ? control.value['countryCode'] : '';\n const bankNumber: string =\n control.value !== null ? control.value['bban'] : '';\n\n if (countryCodeValue !== '') {\n const { valid: _valid, errorCodes } = internValidateIban(\n `${countryCodeValue}${bankNumber}`,\n );\n finalErrorCodes = errorCodes;\n }\n }\n\n if (finalErrorCodes.length === 0) {\n return null;\n }\n\n const validationErrors: Record<string, { value: any }> = {};\n finalErrorCodes.forEach(errCode => {\n const key = ValidationErrorsIBAN[errCode];\n validationErrors[key] = { value: control.getRawValue() };\n });\n\n return validationErrors;\n };\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { directives } from './directives';\n\n@NgModule({\n declarations: [...directives],\n imports: [CommonModule],\n exports: [...directives, CommonModule],\n})\nexport class OnemrvaSharedModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { NativeDateAdapter } from '@angular/material/core';\nimport { DateTime } from 'luxon';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\n\n@Injectable()\nexport class OnemrvaNativeDateAdapter\n extends NativeDateAdapter\n implements OnDestroy\n{\n private destroyNotifier$ = new Subject<void>();\n\n override localeChanges = new Subject<any>();\n\n constructor(private translateService: TranslateService) {\n super();\n\n this.setLocale(this.translateService.currentLang);\n this.localeChanges.next(this);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n this.localeChanges.next(this);\n });\n }\n }\n\n override format(date: Date, formats: any): string {\n const dt = DateTime.fromJSDate(date);\n return dt.toFormat(formats);\n }\n\n override parse(value: any): Date | null {\n const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;\n if (value && typeof value === 'string') {\n value = value.replace(/\\D/g, '/');\n }\n\n if (value === null || value === '') {\n return null;\n }\n\n const dt = DateTime.fromFormat(value, formats.display.dateInput, {\n locale: this.locale,\n });\n\n if (dt.isValid) {\n return dt.toJSDate();\n }\n\n for (const format of formats.parse.dateInput) {\n const parsed = DateTime.fromFormat(value, format, {\n locale: this.locale,\n });\n if (parsed.isValid) {\n return parsed.toJSDate();\n }\n }\n\n return this.invalid();\n }\n\n override getFirstDayOfWeek(): number {\n return 1;\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n}\n","import { CalendarSystem as LuxonCalendarSystem } from 'luxon/src/misc';\nimport { InjectionToken } from '@angular/core';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n\n /**\n * Sets the output Calendar.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n defaultOutputCalendar: LuxonCalendarSystem;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS =\n new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n );\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n defaultOutputCalendar: 'gregory',\n };\n}\n\n/** Creates an array and fills it with values. */\nexport function luxonRange<T>(\n length: number,\n valueFunction: (index: number) => T,\n): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injectable, inject } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n CalendarSystem as LuxonCalendarSystem,\n} from 'luxon';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n luxonRange,\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n MatLuxonDateAdapterOptions,\n} from './luxon.utils';\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n private _defaultOutputCalendar: LuxonCalendarSystem;\n\n constructor(private translateService: TranslateService) {\n super();\n\n const dateLocale = inject(MAT_DATE_LOCALE, { optional: true });\n const options = inject<MatLuxonDateAdapterOptions>(\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n {\n optional: true,\n },\n );\n\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n\n this.setLocale(this.translateService.currentLang);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntilDestroyed())\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n });\n }\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings\n return LuxonInfo.months(style, {\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n });\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {\n day: 'numeric',\n timeZone: 'utc',\n });\n\n // Format a UTC date in order to avoid DST issues.\n return luxonRange(31, i =>\n dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()),\n );\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, { locale: this.locale });\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy', this._getOptions());\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth!;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject(), this._getOptions());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n const options = this._getOptions();\n\n if (month < 0 || month > 11) {\n throw Error(\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`,\n );\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date, options)\n : LuxonDateTime.local(year, month + 1, date, options);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result;\n }\n\n today(): LuxonDateTime {\n const options = this._getOptions();\n\n return this._useUTC\n ? LuxonDateTime.utc(options)\n : LuxonDateTime.local(options);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n // This is screwing things up as 062005 would become 05 0602\n // const iso8601Date = LuxonDateTime.fromISO(value, options);\n //\n // if (this.isValid(iso8601Date)) {\n // console.log(iso8601Date);\n // return iso8601Date;\n // }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n if (this._useUTC) {\n return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);\n } else {\n return date.setLocale(this.locale).toFormat(displayFormat);\n }\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ years });\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ months });\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ days });\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO()!;\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n setTime(\n target: LuxonDateTime,\n hours: number,\n minutes: number,\n seconds: number,\n ): LuxonDateTime {\n //if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (hours < 0 || hours > 23) {\n throw Error(\n `Invalid hours \"${hours}\". Hours value must be between 0 and 23.`,\n );\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(\n `Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`,\n );\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(\n `Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`,\n );\n }\n //}\n\n return this.clone(target).set({\n hour: hours,\n minute: minutes,\n second: seconds,\n millisecond: 0,\n });\n }\n\n getHours(date: LuxonDateTime): number {\n return date.hour;\n }\n\n getMinutes(date: LuxonDateTime): number {\n return date.minute;\n }\n\n getSeconds(date: LuxonDateTime): number {\n return date.second;\n }\n\n parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const result = this.parse(value, parseFormat);\n\n if ((!result || !this.isValid(result)) && typeof value === 'string') {\n // It seems like Luxon doesn't work well cross-browser for strings that have\n // additional characters around the time. Try parsing without those characters.\n return (\n this.parse(value.replace(/[^0-9:(AM|PM)]/gi, ''), parseFormat) || result\n );\n }\n\n return result;\n }\n\n addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ seconds: amount });\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n };\n }\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_DATE_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_DATE_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_DATE_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","/*\n * Public API Surface of shared\n */\n\nexport * from './src/lib/components';\nexport * from './src/lib/constants';\nexport * from './src/lib/containers';\nexport * from './src/lib/decorators';\nexport * from './src/lib/directives';\nexport * from './src/lib/helpers';\nexport * from './src/lib/loaders';\nexport * from './src/lib/interfaces';\nexport * from './src/lib/pipes';\nexport * from './src/lib/services';\nexport * from './src/lib/validators';\nexport * from './src/lib/shared.module';\nexport * from './src/lib/adapters';\nexport * from './src/lib/providers';\nexport * from './src/lib/tokens';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","catchError","map","startWith","i1.OnemRvaCDNService","i2","i1.DigitOnlyDirective","i2.MatRowClickableDirective","i3.OnemRvaClipboardDirective","i4.OnemRvaIconRightDirective","i5.IfWidthIsDirective","i6.OnemRvaColorDirective","i7.OnemrvaMaskDirective","LuxonDateTime","LuxonInfo"],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ export declare class OnemrvaMatInputEnterpriseNumberComponent implements OnInit,
|
|
|
18
18
|
countryCode: FormControl;
|
|
19
19
|
filterCtrl: FormControl<string | null>;
|
|
20
20
|
destroyNotifier$: Subject<void>;
|
|
21
|
-
mask$: Observable<string | undefined>;
|
|
22
21
|
countries$: Observable<OnemrvaMaterialCountry[]>;
|
|
23
22
|
filteredCountries$: Observable<OnemrvaMaterialCountry[]>;
|
|
24
23
|
constructor(cdn: OnemRvaCDNCountryService);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onemrvapublic/design-system",
|
|
3
|
-
"version": "18.2.21-develop.
|
|
3
|
+
"version": "18.2.21-develop.4",
|
|
4
4
|
"description": "Design System Onem/Rva without theme included",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -46,12 +46,6 @@
|
|
|
46
46
|
"./package.json": {
|
|
47
47
|
"default": "./package.json"
|
|
48
48
|
},
|
|
49
|
-
"./core": {
|
|
50
|
-
"types": "./core/index.d.ts",
|
|
51
|
-
"esm2022": "./esm2022/core/onemrvapublic-design-system-core.mjs",
|
|
52
|
-
"esm": "./esm2022/core/onemrvapublic-design-system-core.mjs",
|
|
53
|
-
"default": "./fesm2022/onemrvapublic-design-system-core.mjs"
|
|
54
|
-
},
|
|
55
49
|
"./flag-icon": {
|
|
56
50
|
"types": "./flag-icon/index.d.ts",
|
|
57
51
|
"esm2022": "./esm2022/flag-icon/onemrvapublic-design-system-flag-icon.mjs",
|
|
@@ -142,6 +136,12 @@
|
|
|
142
136
|
"esm": "./esm2022/mat-input-phone/onemrvapublic-design-system-mat-input-phone.mjs",
|
|
143
137
|
"default": "./fesm2022/onemrvapublic-design-system-mat-input-phone.mjs"
|
|
144
138
|
},
|
|
139
|
+
"./core": {
|
|
140
|
+
"types": "./core/index.d.ts",
|
|
141
|
+
"esm2022": "./esm2022/core/onemrvapublic-design-system-core.mjs",
|
|
142
|
+
"esm": "./esm2022/core/onemrvapublic-design-system-core.mjs",
|
|
143
|
+
"default": "./fesm2022/onemrvapublic-design-system-core.mjs"
|
|
144
|
+
},
|
|
145
145
|
"./mat-message-box": {
|
|
146
146
|
"types": "./mat-message-box/index.d.ts",
|
|
147
147
|
"esm2022": "./esm2022/mat-message-box/onemrvapublic-design-system-mat-message-box.mjs",
|