@eui/ecl 16.2.2 → 16.2.3-snapshot-1694704869693

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.
Files changed (35) hide show
  1. package/docs/components/EclButtonComponent.html +69 -0
  2. package/docs/components/EclDateBlockComponent.html +47 -1
  3. package/docs/components/EclMenuComponent.html +417 -87
  4. package/docs/components/EclMenuItemComponent.html +254 -2
  5. package/docs/components/EclMenuMegaComponent.html +157 -1
  6. package/docs/dependencies.html +2 -2
  7. package/docs/interfaces/EclMenuItem.html +45 -0
  8. package/docs/js/menu-wc.js +3 -3
  9. package/docs/js/search/search_index.js +2 -2
  10. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +8 -7
  11. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +5 -3
  12. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +26 -2
  13. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +78 -23
  14. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +225 -17
  15. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +1 -1
  16. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +12 -5
  17. package/esm2022/lib/model/ecl-menu-item.model.mjs +1 -1
  18. package/fesm2022/eui-ecl.mjs +339 -44
  19. package/fesm2022/eui-ecl.mjs.map +1 -1
  20. package/lib/components/ecl-button/ecl-button.component.d.ts +3 -1
  21. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  22. package/lib/components/ecl-date-block/ecl-date-block.component.d.ts +1 -0
  23. package/lib/components/ecl-date-block/ecl-date-block.component.d.ts.map +1 -1
  24. package/lib/components/ecl-date-block/ecl-date-block.module.d.ts +24 -0
  25. package/lib/components/ecl-date-block/ecl-date-block.module.d.ts.map +1 -1
  26. package/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts +11 -1
  27. package/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts.map +1 -1
  28. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +44 -9
  29. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  30. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  31. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +5 -2
  32. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
  33. package/lib/model/ecl-menu-item.model.d.ts +1 -0
  34. package/lib/model/ecl-menu-item.model.d.ts.map +1 -1
  35. package/package.json +2 -2
@@ -5,10 +5,6 @@ import { EclIconComponent } from '../ecl-icon/ecl-icon.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  export class EclButtonComponent extends ECLBaseDirective {
8
- constructor() {
9
- super(...arguments);
10
- this.variant = 'primary';
11
- }
12
8
  get cssClasses() {
13
9
  return [
14
10
  super.getCssClasses('ecl-button'),
@@ -18,6 +14,11 @@ export class EclButtonComponent extends ECLBaseDirective {
18
14
  get hasIcon() {
19
15
  return this.iconComponents;
20
16
  }
17
+ constructor(el) {
18
+ super();
19
+ this.el = el;
20
+ this.variant = 'primary';
21
+ }
21
22
  ngAfterViewInit() {
22
23
  if (this.iconComponents) {
23
24
  setTimeout(() => {
@@ -33,13 +34,13 @@ export class EclButtonComponent extends ECLBaseDirective {
33
34
  });
34
35
  }
35
36
  }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
37
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
37
38
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: { variant: "variant", containerStyleClass: "containerStyleClass" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "iconComponents", predicate: i0.forwardRef(function () { return EclIconComponent; }) }], usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"hasIcon\" class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n<ng-container *ngIf=\"!hasIcon\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
38
39
  }
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclButtonComponent, decorators: [{
40
41
  type: Component,
41
42
  args: [{ selector: 'button[eclButton], button[ecl-button], a[eclButton]', template: "<span *ngIf=\"hasIcon\" class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n<ng-container *ngIf=\"!hasIcon\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
42
- }], propDecorators: { variant: [{
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { variant: [{
43
44
  type: Input
44
45
  }], containerStyleClass: [{
45
46
  type: Input
@@ -50,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
50
51
  type: HostBinding,
51
52
  args: ['class']
52
53
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJ1dHRvbi9lY2wtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtYnV0dG9uL2VjbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFNbEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUp4RDs7UUFNYSxZQUFPLEdBQXdELFNBQVMsQ0FBQztLQWtDckY7SUE3QkcsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ2pDLGVBQWUsSUFBSSxDQUFDLE9BQU8sRUFBRTtTQUNoQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBNEIsQ0FBQztvQkFFbkQsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTt3QkFDdkQsR0FBRyxDQUFDLEtBQUssR0FBRywyQ0FBMkMsQ0FBQztxQkFDM0Q7b0JBRUQsSUFBSSwrQkFBK0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTt3QkFDM0QsR0FBRyxDQUFDLEtBQUssR0FBRywwQ0FBMEMsQ0FBQztxQkFDMUQ7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztpSUFuQ1Esa0JBQWtCO3FIQUFsQixrQkFBa0IsK1JBS08sZ0JBQWdCLHdEQ2R0RCwwVkFRYzs7MkZEQ0Qsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNJLHFEQUFxRDs4QkFLdEQsT0FBTztzQkFBZixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFK0MsY0FBYztzQkFBbEUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBRy9DLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNOZXh0U2libGluZ1dpdGhBdHRyaWJ1dGUsIGhhc1ByZXZpb3VzU2libGluZ1dpdGhBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscy9kb20vZG9tLWhlbHBlcnMnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWljb24vZWNsLWljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bZWNsQnV0dG9uXSwgYnV0dG9uW2VjbC1idXR0b25dLCBhW2VjbEJ1dHRvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQElucHV0KCkgdmFyaWFudDogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnY2FsbCcgfCAnZ2hvc3QnIHwgc3RyaW5nID0gJ3ByaW1hcnknO1xuICAgIEBJbnB1dCgpIGNvbnRhaW5lclN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xJY29uQ29tcG9uZW50KSkgaWNvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxFY2xJY29uQ29tcG9uZW50PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWJ1dHRvbicpLFxuICAgICAgICAgICAgYGVjbC1idXR0b24tLSR7dGhpcy52YXJpYW50fWAsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzSWNvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkNvbXBvbmVudHM7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pY29uQ29tcG9uZW50cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ29tcG9uZW50cy5mb3JFYWNoKGljbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGljb25FbCA9IGljbi5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNOZXh0U2libGluZ1dpdGhBdHRyaWJ1dGUoaWNvbkVsLCAnZWNsQnV0dG9uTGFiZWwnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gJ2VjbC1idXR0b25fX2ljb24gZWNsLWJ1dHRvbl9faWNvbi0tYmVmb3JlJztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNQcmV2aW91c1NpYmxpbmdXaXRoQXR0cmlidXRlKGljb25FbCwgJ2VjbEJ1dHRvbkxhYmVsJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGljbi5jbGFzcyA9ICdlY2wtYnV0dG9uX19pY29uIGVjbC1idXR0b25fX2ljb24tLWFmdGVyJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiPHNwYW4gKm5nSWY9XCJoYXNJY29uXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19jb250YWluZXIge3sgY29udGFpbmVyU3R5bGVDbGFzcyB9fVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L3NwYW4+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0ljb25cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJ1dHRvbi9lY2wtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtYnV0dG9uL2VjbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFNbEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQU9wRCxJQUNJLFVBQVU7UUFDVixPQUFPO1lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDakMsZUFBZSxJQUFJLENBQUMsT0FBTyxFQUFFO1NBQ2hDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBakJ4QixZQUFPLEdBQXdELFNBQVMsQ0FBQztJQW1CbEYsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO29CQUVuRCxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO3dCQUN2RCxHQUFHLENBQUMsS0FBSyxHQUFHLDJDQUEyQyxDQUFDO3FCQUMzRDtvQkFFRCxJQUFJLCtCQUErQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO3dCQUMzRCxHQUFHLENBQUMsS0FBSyxHQUFHLDBDQUEwQyxDQUFDO3FCQUMxRDtnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO2lJQXZDUSxrQkFBa0I7cUhBQWxCLGtCQUFrQiwrUkFLTyxnQkFBZ0Isd0RDZHRELDBWQVFjOzsyRkRDRCxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0kscURBQXFEO2lHQUt0RCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUUrQyxjQUFjO3NCQUFsRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFHL0MsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhc05leHRTaWJsaW5nV2l0aEF0dHJpYnV0ZSwgaGFzUHJldmlvdXNTaWJsaW5nV2l0aEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbS9kb20taGVscGVycyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEljb25Db21wb25lbnQgfSBmcm9tICcuLi9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J1dHRvbltlY2xCdXR0b25dLCBidXR0b25bZWNsLWJ1dHRvbl0sIGFbZWNsQnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASW5wdXQoKSB2YXJpYW50OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdjYWxsJyB8ICdnaG9zdCcgfCBzdHJpbmcgPSAncHJpbWFyeSc7XG4gICAgQElucHV0KCkgY29udGFpbmVyU3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEljb25Db21wb25lbnQpKSBpY29uQ29tcG9uZW50czogUXVlcnlMaXN0PEVjbEljb25Db21wb25lbnQ+O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtYnV0dG9uJyksXG4gICAgICAgICAgICBgZWNsLWJ1dHRvbi0tJHt0aGlzLnZhcmlhbnR9YCxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGdldCBoYXNJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uQ29tcG9uZW50cztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmljb25Db21wb25lbnRzKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmljb25Db21wb25lbnRzLmZvckVhY2goaWNuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWNvbkVsID0gaWNuLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc05leHRTaWJsaW5nV2l0aEF0dHJpYnV0ZShpY29uRWwsICdlY2xCdXR0b25MYWJlbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpY24uY2xhc3MgPSAnZWNsLWJ1dHRvbl9faWNvbiBlY2wtYnV0dG9uX19pY29uLS1iZWZvcmUnO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc1ByZXZpb3VzU2libGluZ1dpdGhBdHRyaWJ1dGUoaWNvbkVsLCAnZWNsQnV0dG9uTGFiZWwnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gJ2VjbC1idXR0b25fX2ljb24gZWNsLWJ1dHRvbl9faWNvbi0tYWZ0ZXInO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCI8c3BhbiAqbmdJZj1cImhhc0ljb25cIiBjbGFzcz1cImVjbC1idXR0b25fX2NvbnRhaW5lciB7eyBjb250YWluZXJTdHlsZUNsYXNzIH19XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvc3Bhbj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzSWNvblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -18,7 +18,9 @@ export class EclDateBlockComponent extends ECLBaseDirective {
18
18
  this.translateService = translateService;
19
19
  this.dateFormat = 'dd/M/yyyy';
20
20
  this.variant = null;
21
+ this.locale = 'en';
21
22
  this._datetime = null;
23
+ this.locale = translateService.currentLang;
22
24
  }
23
25
  getDatetime() {
24
26
  return this._datetime || this.getFormattedDate(this.date, this.dateFormat);
@@ -32,11 +34,11 @@ export class EclDateBlockComponent extends ECLBaseDirective {
32
34
  }
33
35
  }
34
36
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclDateBlockComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
35
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: EclDateBlockComponent, selector: "time[eclDateBlock]", inputs: { date: "date", dateFormat: "dateFormat", variant: "variant", day: "day", month: "month", monthTitle: "monthTitle", year: "year", datetime: "datetime" }, host: { properties: { "class": "this.cssClasses", "attr.datetime": "this.datetime" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date:dateFormat) }}</span>\n<span class=\"ecl-date-block__day\">{{ day || (date | date:'d') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date:'MMMM')\" class=\"ecl-date-block__month\">\n {{ month || (date | date:'MMM') }}\n</abbr>\n<span class=\"ecl-date-block__year\">{{ year || (date | date:'yyyy') }}</span>", dependencies: [{ kind: "pipe", type: i2.DatePipe, name: "date" }] }); }
37
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: EclDateBlockComponent, selector: "time[eclDateBlock]", inputs: { date: "date", dateFormat: "dateFormat", variant: "variant", day: "day", month: "month", monthTitle: "monthTitle", year: "year", datetime: "datetime" }, host: { properties: { "class": "this.cssClasses", "attr.datetime": "this.datetime" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date:dateFormat) }}</span>\n<span class=\"ecl-date-block__day\">{{ day || (date | date:'d') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date:'MMMM':'':locale)\" class=\"ecl-date-block__month\">\n {{ month || (date | date:'MMM':'':locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\">{{ year || (date | date:'yyyy') }}</span>", dependencies: [{ kind: "pipe", type: i2.DatePipe, name: "date" }] }); }
36
38
  }
37
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclDateBlockComponent, decorators: [{
38
40
  type: Component,
39
- args: [{ selector: 'time[eclDateBlock]', template: "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date:dateFormat) }}</span>\n<span class=\"ecl-date-block__day\">{{ day || (date | date:'d') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date:'MMMM')\" class=\"ecl-date-block__month\">\n {{ month || (date | date:'MMM') }}\n</abbr>\n<span class=\"ecl-date-block__year\">{{ year || (date | date:'yyyy') }}</span>" }]
41
+ args: [{ selector: 'time[eclDateBlock]', template: "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date:dateFormat) }}</span>\n<span class=\"ecl-date-block__day\">{{ day || (date | date:'d') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date:'MMMM':'':locale)\" class=\"ecl-date-block__month\">\n {{ month || (date | date:'MMM':'':locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\">{{ year || (date | date:'yyyy') }}</span>" }]
40
42
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { date: [{
41
43
  type: Input
42
44
  }], dateFormat: [{
@@ -60,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
60
62
  type: HostBinding,
61
63
  args: ['attr.datetime']
62
64
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1kYXRlLWJsb2NrL2VjbC1kYXRlLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZGF0ZS1ibG9jay9lY2wtZGF0ZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXpELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFTdkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7WUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN4RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLElBQUksUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHL0MsWUFBb0IsZ0JBQWtDO1FBQ2xELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBCN0MsZUFBVSxHQUFXLFdBQVcsQ0FBQztRQUNqQyxZQUFPLEdBQXFELElBQUksQ0FBQztRQWlCbEUsY0FBUyxHQUFXLElBQUksQ0FBQztJQUlqQyxDQUFDO0lBRU8sV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVUsRUFBRSxVQUFrQjtRQUNuRCxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sVUFBVSxDQUNiLElBQUksRUFDSixVQUFVLEVBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDcEMsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztpSUF4Q1EscUJBQXFCO3FIQUFyQixxQkFBcUIsMlVDVGxDLHFZQUs0RTs7MkZESS9ELHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDSSxvQkFBb0I7dUdBSXJCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQVNoQixRQUFRO3NCQURYLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RpbWVbZWNsRGF0ZUJsb2NrXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1kYXRlLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRGF0ZUJsb2NrQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgZGF0ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnZGQvTS95eXl5JztcbiAgICBASW5wdXQoKSB2YXJpYW50OiAnb25nb2luZycgfCAnY2FuY2VsbGVkJyB8ICdwYXN0JyB8ICdyZXNjaGVkdWxlZCcgPSBudWxsO1xuICAgIEBJbnB1dCgpIGRheTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1vbnRoOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbW9udGhUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHllYXI6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWRhdGUtYmxvY2snKSxcbiAgICAgICAgICAgIHRoaXMudmFyaWFudCA/IGBlY2wtZGF0ZS1ibG9jay0tJHt0aGlzLnZhcmlhbnR9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGV0aW1lJylcbiAgICBnZXQgZGF0ZXRpbWUoKSB7IHJldHVybiB0aGlzLmdldERhdGV0aW1lKCk7IH1cbiAgICBzZXQgZGF0ZXRpbWUodmFsdWUpIHsgdGhpcy5fZGF0ZXRpbWUgPSB2YWx1ZTsgfVxuICAgIHByaXZhdGUgX2RhdGV0aW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRldGltZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZXRpbWUgfHwgdGhpcy5nZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1hdHRlZERhdGUoZGF0ZTogRGF0ZSwgZGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXREYXRlKFxuICAgICAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgICAgICAgZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCI8c3BhbiBjbGFzcz1cImVjbC1kYXRlLWJsb2NrX19kYXl0aW1lXCI+e3sgZGF0ZXRpbWUgfHwgKGRhdGUgfCBkYXRlOmRhdGVGb3JtYXQpIH19PC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJlY2wtZGF0ZS1ibG9ja19fZGF5XCI+e3sgZGF5IHx8IChkYXRlIHwgZGF0ZTonZCcpIH19PC9zcGFuPlxuPGFiYnIgW3RpdGxlXT1cIm1vbnRoVGl0bGUgfHwgbW9udGggfHwgKGRhdGUgfCBkYXRlOidNTU1NJylcIiBjbGFzcz1cImVjbC1kYXRlLWJsb2NrX19tb250aFwiPlxuICB7eyBtb250aCB8fCAoZGF0ZSB8IGRhdGU6J01NTScpIH19XG48L2FiYnI+XG48c3BhbiBjbGFzcz1cImVjbC1kYXRlLWJsb2NrX195ZWFyXCI+e3sgeWVhciB8fCAoZGF0ZSB8IGRhdGU6J3l5eXknKSB9fTwvc3Bhbj4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1kYXRlLWJsb2NrL2VjbC1kYXRlLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZGF0ZS1ibG9jay9lY2wtZGF0ZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXpELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFVdkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7WUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN4RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLElBQUksUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHL0MsWUFBb0IsZ0JBQWtDO1FBQ2xELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXJCN0MsZUFBVSxHQUFXLFdBQVcsQ0FBQztRQUNqQyxZQUFPLEdBQXFELElBQUksQ0FBQztRQU0xRSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBWU4sY0FBUyxHQUFXLElBQUksQ0FBQztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRU8sV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVUsRUFBRSxVQUFrQjtRQUNuRCxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sVUFBVSxDQUNiLElBQUksRUFDSixVQUFVLEVBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDcEMsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztpSUExQ1EscUJBQXFCO3FIQUFyQixxQkFBcUIsMlVDVGxDLHlaQUs0RTs7MkZESS9ELHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDSSxvQkFBb0I7dUdBSXJCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUlGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQVNoQixRQUFRO3NCQURYLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RpbWVbZWNsRGF0ZUJsb2NrXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1kYXRlLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRGF0ZUJsb2NrQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgZGF0ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnZGQvTS95eXl5JztcbiAgICBASW5wdXQoKSB2YXJpYW50OiAnb25nb2luZycgfCAnY2FuY2VsbGVkJyB8ICdwYXN0JyB8ICdyZXNjaGVkdWxlZCcgPSBudWxsO1xuICAgIEBJbnB1dCgpIGRheTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1vbnRoOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbW9udGhUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHllYXI6IHN0cmluZztcblxuICAgIGxvY2FsZSA9ICdlbic7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtZGF0ZS1ibG9jaycpLFxuICAgICAgICAgICAgdGhpcy52YXJpYW50ID8gYGVjbC1kYXRlLWJsb2NrLS0ke3RoaXMudmFyaWFudH1gIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0ZXRpbWUnKVxuICAgIGdldCBkYXRldGltZSgpIHsgcmV0dXJuIHRoaXMuZ2V0RGF0ZXRpbWUoKTsgfVxuICAgIHNldCBkYXRldGltZSh2YWx1ZSkgeyB0aGlzLl9kYXRldGltZSA9IHZhbHVlOyB9XG4gICAgcHJpdmF0ZSBfZGF0ZXRpbWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGF0ZXRpbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGV0aW1lIHx8IHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGUsIHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWREYXRlKGRhdGU6IERhdGUsIGRhdGVGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZShcbiAgICAgICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cImVjbC1kYXRlLWJsb2NrX19kYXl0aW1lXCI+e3sgZGF0ZXRpbWUgfHwgKGRhdGUgfCBkYXRlOmRhdGVGb3JtYXQpIH19PC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJlY2wtZGF0ZS1ibG9ja19fZGF5XCI+e3sgZGF5IHx8IChkYXRlIHwgZGF0ZTonZCcpIH19PC9zcGFuPlxuPGFiYnIgW3RpdGxlXT1cIm1vbnRoVGl0bGUgfHwgbW9udGggfHwgKGRhdGUgfCBkYXRlOidNTU1NJzonJzpsb2NhbGUpXCIgY2xhc3M9XCJlY2wtZGF0ZS1ibG9ja19fbW9udGhcIj5cbiAge3sgbW9udGggfHwgKGRhdGUgfCBkYXRlOidNTU0nOicnOmxvY2FsZSkgfX1cbjwvYWJicj5cbjxzcGFuIGNsYXNzPVwiZWNsLWRhdGUtYmxvY2tfX3llYXJcIj57eyB5ZWFyIHx8IChkYXRlIHwgZGF0ZToneXl5eScpIH19PC9zcGFuPiJdfQ==
@@ -1,5 +1,29 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import '@angular/common/locales/global/bg';
3
+ import '@angular/common/locales/global/da';
4
+ import '@angular/common/locales/global/en';
5
+ import '@angular/common/locales/global/et';
6
+ import '@angular/common/locales/global/fr';
7
+ import '@angular/common/locales/global/hr';
8
+ import '@angular/common/locales/global/lv';
9
+ import '@angular/common/locales/global/hu';
10
+ import '@angular/common/locales/global/nl';
11
+ import '@angular/common/locales/global/pt';
12
+ import '@angular/common/locales/global/sk';
13
+ import '@angular/common/locales/global/fi';
14
+ import '@angular/common/locales/global/cs';
15
+ import '@angular/common/locales/global/de';
16
+ import '@angular/common/locales/global/el';
17
+ import '@angular/common/locales/global/es';
18
+ import '@angular/common/locales/global/ga';
19
+ import '@angular/common/locales/global/it';
20
+ import '@angular/common/locales/global/lt';
21
+ import '@angular/common/locales/global/mt';
22
+ import '@angular/common/locales/global/pl';
23
+ import '@angular/common/locales/global/ro';
24
+ import '@angular/common/locales/global/sl';
25
+ import '@angular/common/locales/global/sv';
26
+ import { NgModule } from '@angular/core';
3
27
  import { EclDateBlockComponent } from './ecl-date-block.component';
4
28
  import * as i0 from "@angular/core";
5
29
  export class EclDateBlockComponentModule {
@@ -15,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
15
39
  declarations: [EclDateBlockComponent]
16
40
  }]
17
41
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtYmxvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1kYXRlLWJsb2NrL2VjbC1kYXRlLWJsb2NrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPbkUsTUFBTSxPQUFPLDJCQUEyQjtpSUFBM0IsMkJBQTJCO2tJQUEzQiwyQkFBMkIsaUJBRnJCLHFCQUFxQixhQUYxQixZQUFZLGFBQ1oscUJBQXFCO2tJQUd0QiwyQkFBMkIsWUFKMUIsWUFBWTs7MkZBSWIsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWNsRGF0ZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtZGF0ZS1ibG9jay5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtFY2xEYXRlQmxvY2tDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW0VjbERhdGVCbG9ja0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRWNsRGF0ZUJsb2NrQ29tcG9uZW50TW9kdWxlIHtcbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtYmxvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1kYXRlLWJsb2NrL2VjbC1kYXRlLWJsb2NrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPbkUsTUFBTSxPQUFPLDJCQUEyQjtpSUFBM0IsMkJBQTJCO2tJQUEzQiwyQkFBMkIsaUJBRnJCLHFCQUFxQixhQUYxQixZQUFZLGFBQ1oscUJBQXFCO2tJQUd0QiwyQkFBMkIsWUFKMUIsWUFBWTs7MkZBSWIsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9iZyc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9kYSc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9lbic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9ldCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9mcic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9ocic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9sdic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9odSc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9ubCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9wdCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9zayc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9maSc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9jcyc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9kZSc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9lbCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9lcyc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9nYSc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9pdCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9sdCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9tdCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9wbCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9ybyc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9zbCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC9zdic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWNsRGF0ZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtZGF0ZS1ibG9jay5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtFY2xEYXRlQmxvY2tDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW0VjbERhdGVCbG9ja0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRWNsRGF0ZUJsb2NrQ29tcG9uZW50TW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
1
+ import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { takeUntil } from 'rxjs/operators';
4
4
  import { ECLBaseDirective } from '../../ecl-base.directive';
@@ -10,23 +10,6 @@ import * as i2 from "../../ecl-icon/ecl-icon.component";
10
10
  import * as i3 from "@angular/common";
11
11
  import * as i4 from "@angular/router";
12
12
  export class EclMenuItemComponent extends ECLBaseDirective {
13
- constructor() {
14
- super(...arguments);
15
- this.routerLink = null;
16
- this.queryParams = null;
17
- this.queryParamsHandling = null;
18
- this.href = '';
19
- this.target = '';
20
- this.isCurrent = false;
21
- this.isHovered = false;
22
- this.menuItemSelect = new EventEmitter();
23
- this.menuItemCaret = new EventEmitter();
24
- this.menuItemHover = new EventEmitter();
25
- this.menuItemHoverOut = new EventEmitter();
26
- this.menuMegaItemSelect = new EventEmitter();
27
- this.menuItemFocus = new EventEmitter();
28
- this.destroy$ = new Subject();
29
- }
30
13
  get cssClasses() {
31
14
  return [
32
15
  super.getCssClasses('ecl-menu__item'),
@@ -47,6 +30,28 @@ export class EclMenuItemComponent extends ECLBaseDirective {
47
30
  get children() {
48
31
  return this.hasChildren ? this.submenu.eclMenuMegaItems.toArray() : [];
49
32
  }
33
+ constructor(el, renderer, arf) {
34
+ super();
35
+ this.el = el;
36
+ this.renderer = renderer;
37
+ this.arf = arf;
38
+ this.routerLink = null;
39
+ this.queryParams = null;
40
+ this.queryParamsHandling = null;
41
+ this.href = '';
42
+ this.target = '';
43
+ this.isCurrent = false;
44
+ this.isHovered = false;
45
+ this.isVisible = true;
46
+ this.isFull = false;
47
+ this.menuItemSelect = new EventEmitter();
48
+ this.menuItemCaret = new EventEmitter();
49
+ this.menuItemHover = new EventEmitter();
50
+ this.menuItemHoverOut = new EventEmitter();
51
+ this.menuMegaItemSelect = new EventEmitter();
52
+ this.menuItemFocus = new EventEmitter();
53
+ this.destroy$ = new Subject();
54
+ }
50
55
  onItemFocus(evt) {
51
56
  this.menuItemFocus.next(new EclMenuItemFocusEvent(this, evt));
52
57
  }
@@ -81,6 +86,52 @@ export class EclMenuItemComponent extends ECLBaseDirective {
81
86
  this.destroy$.next(true);
82
87
  this.destroy$.unsubscribe();
83
88
  }
89
+ checkMenuItem(maxLines, isMobileBreakpoint) {
90
+ if (maxLines < 1)
91
+ return;
92
+ const currentItem = this.el.nativeElement;
93
+ const currentLink = this.menuLink.nativeElement;
94
+ if (isMobileBreakpoint) {
95
+ currentLink.style.width = '100%';
96
+ return;
97
+ }
98
+ this.renderer.setStyle(currentItem, 'alignItems', 'flex-start');
99
+ const linkStyle = window.getComputedStyle(currentLink);
100
+ const maxHeight = this.getMenuItemLinkMaxHeight(linkStyle, maxLines);
101
+ if (currentLink.offsetHeight > maxHeight) {
102
+ this.changeMenuItemLinkWidth(currentLink, maxLines, linkStyle);
103
+ }
104
+ this.renderer.removeStyle(currentItem, 'alignItems');
105
+ }
106
+ getMenuItemLinkMaxHeight(linkStyle, maxLines) {
107
+ return parseInt(linkStyle.lineHeight, 10) * maxLines +
108
+ parseInt(linkStyle.paddingTop, 10) +
109
+ parseInt(linkStyle.paddingBottom, 10);
110
+ }
111
+ changeMenuItemLinkWidth(currentLink, maxLines, linkStyle) {
112
+ this.renderer.setStyle(currentLink, 'white-space', 'nowrap');
113
+ const linkWidth = currentLink.offsetWidth;
114
+ if (maxLines === 1) {
115
+ currentLink.style.width = `${linkWidth + parseInt(linkStyle.paddingLeft, 10) +
116
+ parseInt(linkStyle.paddingRight, 10)}px`;
117
+ this.renderer.removeStyle(currentLink, 'white-space');
118
+ return;
119
+ }
120
+ const textSize = currentLink.text.length;
121
+ const letterWidth = Math.ceil(linkWidth / textSize);
122
+ const wordsArray = currentLink.text.trim().split(' ');
123
+ const goalWidth = Math.ceil(linkWidth / maxLines);
124
+ const firstWord = wordsArray[0];
125
+ let cnt = 1;
126
+ let wordWidth = Math.ceil((firstWord.length + 1) * letterWidth);
127
+ while (wordWidth < goalWidth) {
128
+ wordWidth += Math.ceil((wordsArray[cnt].length + 1) * letterWidth);
129
+ cnt++;
130
+ }
131
+ currentLink.style.width = `${wordWidth + parseInt(linkStyle.paddingLeft, 10) +
132
+ parseInt(linkStyle.paddingRight, 10)}px`;
133
+ this.renderer.removeStyle(currentLink, 'white-space');
134
+ }
84
135
  getClassDependingChildrenCnt() {
85
136
  if (this.hasChildren) {
86
137
  if (this.submenu.eclMenuMegaItems.length < 5 /* ColTrigger.COL1_TRIGGER */) {
@@ -93,6 +144,7 @@ export class EclMenuItemComponent extends ECLBaseDirective {
93
144
  return 'ecl-menu__item--col3';
94
145
  }
95
146
  else {
147
+ this.isFull = true;
96
148
  return 'ecl-menu__item--full';
97
149
  }
98
150
  }
@@ -101,13 +153,13 @@ export class EclMenuItemComponent extends ECLBaseDirective {
101
153
  hasSubmenuAnySelections() {
102
154
  return this.submenu && !!this.submenu.eclMenuMegaItems.find(it => it.isCurrent);
103
155
  }
104
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
105
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(function () { return EclMenuMegaComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"href\" \n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a *ngIf=\"!href\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button eclButton \n *ngIf=\"hasChildren\"\n variant=\"primary\" \n class=\"ecl-menu__button-caret\" \n type=\"button\" \n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
156
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component }); }
157
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(function () { return EclMenuMegaComponent; }), descendants: true }], viewQueries: [{ propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<a #menuLink *ngIf=\"href\" \n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a #menuLink *ngIf=\"!href\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button eclButton \n *ngIf=\"hasChildren\"\n variant=\"primary\" \n class=\"ecl-menu__button-caret\" \n type=\"button\" \n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
106
158
  }
107
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EclMenuItemComponent, decorators: [{
108
160
  type: Component,
109
- args: [{ selector: 'ecl-menu-item', encapsulation: ViewEncapsulation.None, template: "<a *ngIf=\"href\" \n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a *ngIf=\"!href\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button eclButton \n *ngIf=\"hasChildren\"\n variant=\"primary\" \n class=\"ecl-menu__button-caret\" \n type=\"button\" \n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
110
- }], propDecorators: { id: [{
161
+ args: [{ selector: 'ecl-menu-item', encapsulation: ViewEncapsulation.None, template: "<a #menuLink *ngIf=\"href\" \n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a #menuLink *ngIf=\"!href\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (focus)=\"onItemFocus($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button eclButton \n *ngIf=\"hasChildren\"\n variant=\"primary\" \n class=\"ecl-menu__button-caret\" \n type=\"button\" \n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
162
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ApplicationRef }]; }, propDecorators: { id: [{
111
163
  type: Input
112
164
  }], label: [{
113
165
  type: Input
@@ -129,6 +181,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
129
181
  }], submenu: [{
130
182
  type: ContentChild,
131
183
  args: [forwardRef(() => EclMenuMegaComponent)]
184
+ }], menuLink: [{
185
+ type: ViewChild,
186
+ args: ['menuLink']
132
187
  }], menuItemSelect: [{
133
188
  type: Output
134
189
  }], menuItemCaret: [{
@@ -157,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
157
212
  type: HostListener,
158
213
  args: ['mouseleave', ['$event']]
159
214
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFDL0YsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFDbEcsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBYWhGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFMMUQ7O1FBUWEsZUFBVSxHQUFRLElBQUksQ0FBQztRQUN2QixnQkFBVyxHQUFRLElBQUksQ0FBQztRQUN4Qix3QkFBbUIsR0FBUSxJQUFJLENBQUM7UUFDaEMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHcEMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWNqQixt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ZSxpQkFFVixpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1GLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQVVrQyxPQUFPO3NCQUE1RCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFFMUMsY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUlILDJCQUEyQjtzQkFGOUIsV0FBVzt1QkFBQyxvQ0FBb0M7O3NCQUNoRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBc0NqQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUXRDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LFxuICAgIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWNsTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbWVudS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsTWVudUl0ZW1DYXJldEV2ZW50LCBFY2xNZW51SXRlbUZvY3VzRXZlbnQsIEVjbE1lbnVJdGVtSG92ZXJFdmVudCwgRWNsTWVudUl0ZW1Ib3Zlck91dEV2ZW50LFxuICAgIEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQgfSBmcm9tICcuLi9jb21tb24vZWNsLW1lbnUtaXRlbS5ldmVudCc7XG5pbXBvcnQgeyBFY2xNZW51TWVnYUNvbXBvbmVudCB9IGZyb20gJy4uL2VjbC1tZW51LW1lZ2EvZWNsLW1lbnUtbWVnYS5jb21wb25lbnQnO1xuXG5jb25zdCBlbnVtIENvbFRyaWdnZXIge1xuICAgIENPTDFfVFJJR0dFUiA9IDUsXG4gICAgQ09MMl9UUklHR0VSID0gOSxcbiAgICBDT0wzX1RSSUdHRVIgPSAxMyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRWNsTWVudUl0ZW0sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJvdXRlckxpbms6IGFueSA9IG51bGw7XG4gICAgQElucHV0KCkgcXVlcnlQYXJhbXM6IGFueSA9IG51bGw7XG4gICAgQElucHV0KCkgcXVlcnlQYXJhbXNIYW5kbGluZzogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSB0YXJnZXQ6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGlzQ3VycmVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbiAgICBpc0hvdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1tZW51X19pdGVtJyksXG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudCA/ICdlY2wtbWVudV9faXRlbS0tY3VycmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA/ICdlY2wtbWVudV9faXRlbS0tZXhwYW5kZWQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmdldENsYXNzRGVwZW5kaW5nQ2hpbGRyZW5DbnQoKVxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbE1lbnVNZWdhQ29tcG9uZW50KSkgc3VibWVudTogRWNsTWVudU1lZ2FDb21wb25lbnQ7XG5cbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtQ2FyZXQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtQ2FyZXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1Ib3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1Ib3ZlckV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUhvdmVyT3V0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVNZWdhSXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1TZWxlY3RFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1Gb2N1c0V2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtbWVudV9faXRlbS0taGFzLWNoaWxkcmVuJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXG4gICAgZ2V0IGhhc0VjbENoaWxkcmVuRGF0YUF0dHJpYnV0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gfHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBnZXQgaXNBcmlhRXhwYW5kZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuID8gdGhpcy5pc0hvdmVyZWQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zdWJtZW51O1xuICAgIH1cblxuICAgIGdldCBjaGlsZHJlbigpOiBBcnJheTxFY2xNZW51SXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiA/IHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLnRvQXJyYXkoKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgb25JdGVtRm9jdXMoZXZ0OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Gb2N1cy5uZXh0KFxuICAgICAgICAgICAgbmV3IEVjbE1lbnVJdGVtRm9jdXNFdmVudCh0aGlzLCBldnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1TZWxlY3QubmV4dChcbiAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KHRoaXMsIGV2dClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2FyZXRDbGljayhldnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNhcmV0Lm5leHQoXG4gICAgICAgICAgICBuZXcgRWNsTWVudUl0ZW1DYXJldEV2ZW50KHRoaXMsIGV2dClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1Nb3VzZUVudGVyKGV2dDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLm1lbnVJdGVtSG92ZXIubmV4dChcbiAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbUhvdmVyRXZlbnQodGhpcywgZXZ0KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlck91dC5uZXh0KFxuICAgICAgICAgICAgbmV3IEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudCh0aGlzLCBldnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zdWJtZW51KSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudUl0ZW1TZWxlY3RcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51TWVnYUl0ZW1TZWxlY3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KGl0Lm1lbnVJdGVtLCBpdC5kb21FdmVudClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3VibWVudUFueVNlbGVjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2xhc3NEZXBlbmRpbmdDaGlsZHJlbkNudCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMV9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMSc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMl9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMic7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MM19UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnZWNsLW1lbnVfX2l0ZW0tLWZ1bGwnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1N1Ym1lbnVBbnlTZWxlY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJtZW51ICYmICEhdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMuZmluZChpdCA9PiBpdC5pc0N1cnJlbnQpO1xuICAgIH1cbn1cbiIsIjxhICpuZ0lmPVwiaHJlZlwiIFxuICAgIFtocmVmXT1cImhyZWZcIlxuICAgIFt0YXJnZXRdPVwidGFyZ2V0XCJcbiAgICBjbGFzcz1cImVjbC1tZW51X19saW5rXCJcbiAgICBbY2xhc3MuZWNsLW1lbnVfX2xpbmstLWN1cnJlbnRdPVwiaXNDdXJyZW50XCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uSXRlbUZvY3VzKCRldmVudClcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG48YSAqbmdJZj1cIiFocmVmXCJcbiAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2xpbmtcIlxuICAgIFtjbGFzcy5lY2wtbWVudV9fbGluay0tY3VycmVudF09XCJpc0N1cnJlbnRcIlxuICAgIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25JdGVtRm9jdXMoJGV2ZW50KVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYT5cbjxidXR0b24gZWNsQnV0dG9uIFxuICAgICpuZ0lmPVwiaGFzQ2hpbGRyZW5cIlxuICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCIgXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fYnV0dG9uLWNhcmV0XCIgXG4gICAgdHlwZT1cImJ1dHRvblwiIFxuICAgIGFyaWEtbGFiZWw9XCJBY2Nlc3MgaXRlbSdzIGNoaWxkcmVuXCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2FyZXRDbGljaygkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLW1lbnUtbWVnYVwiPjwvbmctY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUNwRixNQUFNLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUM3RCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQzdGLHNCQUFzQixFQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7QUFhaEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQWV0RCxJQUNJLFVBQVU7UUFDVixPQUFPO1lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFB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QUF0QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFJSCwyQkFBMkI7c0JBRjlCLFdBQVc7dUJBQUMsb0NBQW9DOztzQkFDaEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQTBDakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVF0QyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LFxuICAgIE9uRGVzdHJveSwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFY2xNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VjbC1tZW51LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIEVjbE1lbnVJdGVtQ2FyZXRFdmVudCwgRWNsTWVudUl0ZW1Gb2N1c0V2ZW50LCBFY2xNZW51SXRlbUhvdmVyRXZlbnQsIEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudCxcbiAgICBFY2xNZW51SXRlbVNlbGVjdEV2ZW50XG59IGZyb20gJy4uL2NvbW1vbi9lY2wtbWVudS1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbE1lbnVNZWdhQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLW1lbnUtbWVnYS9lY2wtbWVudS1tZWdhLmNvbXBvbmVudCc7XG5cbmNvbnN0IGVudW0gQ29sVHJpZ2dlciB7XG4gICAgQ09MMV9UUklHR0VSID0gNSxcbiAgICBDT0wyX1RSSUdHRVIgPSA5LFxuICAgIENPTDNfVFJJR0dFUiA9IDEzLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1tZW51LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBFY2xNZW51SXRlbSwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcm91dGVyTGluazogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBxdWVyeVBhcmFtczogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBxdWVyeVBhcmFtc0hhbmRsaW5nOiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhyZWY6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHRhcmdldDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaXNDdXJyZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIGlzSG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzVmlzaWJsZSA9IHRydWU7XG4gICAgaXNGdWxsID0gZmFsc2U7XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1tZW51X19pdGVtJyksXG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudCA/ICdlY2wtbWVudV9faXRlbS0tY3VycmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA/ICdlY2wtbWVudV9faXRlbS0tZXhwYW5kZWQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmdldENsYXNzRGVwZW5kaW5nQ2hpbGRyZW5DbnQoKVxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbE1lbnVNZWdhQ29tcG9uZW50KSkgc3VibWVudTogRWNsTWVudU1lZ2FDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUxpbmsnKSBtZW51TGluazogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1TZWxlY3RFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DYXJldCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1DYXJldEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUhvdmVyRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtSG92ZXJPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU1lZ2FJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbVNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUZvY3VzRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1tZW51X19pdGVtLS1oYXMtY2hpbGRyZW4nKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBnZXQgaGFzRWNsQ2hpbGRyZW5EYXRhQXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGdldCBpc0FyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gPyB0aGlzLmlzSG92ZXJlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnN1Ym1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IEFycmF5PEVjbE1lbnVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuID8gdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMudG9BcnJheSgpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBhcmY6IEFwcGxpY2F0aW9uUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgb25JdGVtRm9jdXMoZXZ0OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Gb2N1cy5uZXh0KFxuICAgICAgICAgICAgbmV3IEVjbE1lbnVJdGVtRm9jdXNFdmVudCh0aGlzLCBldnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1TZWxlY3QubmV4dChcbiAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KHRoaXMsIGV2dClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2FyZXRDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNhcmV0Lm5leHQoXG4gICAgICAgICAgICBuZXcgRWNsTWVudUl0ZW1DYXJldEV2ZW50KHRoaXMsIGV2dClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1Nb3VzZUVudGVyKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtSG92ZXIubmV4dChcbiAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbUhvdmVyRXZlbnQodGhpcywgZXZ0KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlck91dC5uZXh0KFxuICAgICAgICAgICAgbmV3IEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudCh0aGlzLCBldnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJtZW51KSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudUl0ZW1TZWxlY3RcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51TWVnYUl0ZW1TZWxlY3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KGl0Lm1lbnVJdGVtLCBpdC5kb21FdmVudClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3VibWVudUFueVNlbGVjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNoZWNrTWVudUl0ZW0obWF4TGluZXM6IG51bWJlciwgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXhMaW5lcyA8IDEpIHJldHVybjtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBjdXJyZW50TGluayA9IHRoaXMubWVudUxpbmsubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKGlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50SXRlbSwgJ2FsaWduSXRlbXMnLCAnZmxleC1zdGFydCcpO1xuICAgICAgICBjb25zdCBsaW5rU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50TGluayk7XG5cbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5nZXRNZW51SXRlbUxpbmtNYXhIZWlnaHQobGlua1N0eWxlLCBtYXhMaW5lcyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoY3VycmVudExpbmsub2Zmc2V0SGVpZ2h0ID4gbWF4SGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZU1lbnVJdGVtTGlua1dpZHRoKGN1cnJlbnRMaW5rLCBtYXhMaW5lcywgbGlua1N0eWxlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGN1cnJlbnRJdGVtLCAnYWxpZ25JdGVtcycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWVudUl0ZW1MaW5rTWF4SGVpZ2h0KGxpbmtTdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbiwgbWF4TGluZXM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChsaW5rU3R5bGUubGluZUhlaWdodCwgMTApICogbWF4TGluZXMgK1xuICAgICAgICAgICAgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdUb3AsIDEwKSArXG4gICAgICAgICAgICBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0JvdHRvbSwgMTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlTWVudUl0ZW1MaW5rV2lkdGgoY3VycmVudExpbms6IGFueSwgbWF4TGluZXM6IG51bWJlciwgbGlua1N0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScsICdub3dyYXAnKTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmtXaWR0aCA9IGN1cnJlbnRMaW5rLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgaWYgKG1heExpbmVzID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSBgJHtsaW5rV2lkdGggKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0xlZnQsIDEwKSArIFxuICAgICAgICAgICAgICAgICAgICBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1JpZ2h0LCAxMCl9cHhgO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHRleHRTaXplID0gY3VycmVudExpbmsudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBsZXR0ZXJXaWR0aCA9IE1hdGguY2VpbChsaW5rV2lkdGggLyB0ZXh0U2l6ZSk7XG4gICAgICAgICAgICBjb25zdCB3b3Jkc0FycmF5OiBbc3RyaW5nXSA9IGN1cnJlbnRMaW5rLnRleHQudHJpbSgpLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICBjb25zdCBnb2FsV2lkdGggPSBNYXRoLmNlaWwobGlua1dpZHRoIC8gbWF4TGluZXMpO1xuICAgICAgICAgICAgY29uc3QgZmlyc3RXb3JkID0gd29yZHNBcnJheVswXTtcbiAgICAgICAgICAgIGxldCBjbnQgPSAxO1xuICAgICAgICAgICAgbGV0IHdvcmRXaWR0aCA9IE1hdGguY2VpbCgoZmlyc3RXb3JkLmxlbmd0aCArIDEpICogbGV0dGVyV2lkdGgpO1xuICAgICAgICAgICAgd2hpbGUgKHdvcmRXaWR0aCA8IGdvYWxXaWR0aCkge1xuICAgICAgICAgICAgICAgIHdvcmRXaWR0aCArPSBNYXRoLmNlaWwoKHdvcmRzQXJyYXlbY250XS5sZW5ndGggKyAxKSAqIGxldHRlcldpZHRoKTtcbiAgICAgICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gYCR7d29yZFdpZHRoICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdMZWZ0LCAxMCkgKyBcbiAgICAgICAgICAgICAgICBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1JpZ2h0LCAxMCl9cHhgO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50TGluaywgJ3doaXRlLXNwYWNlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDbGFzc0RlcGVuZGluZ0NoaWxkcmVuQ250KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wxX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wxJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wyX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wyJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wzX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wzJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Z1bGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiAnZWNsLW1lbnVfX2l0ZW0tLWZ1bGwnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1N1Ym1lbnVBbnlTZWxlY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJtZW51ICYmICEhdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMuZmluZChpdCA9PiBpdC5pc0N1cnJlbnQpO1xuICAgIH1cbn1cbiIsIjxhICNtZW51TGluayAqbmdJZj1cImhyZWZcIiBcbiAgICBbaHJlZl09XCJocmVmXCJcbiAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fbGlua1wiXG4gICAgW2NsYXNzLmVjbC1tZW51X19saW5rLS1jdXJyZW50XT1cImlzQ3VycmVudFwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkZXZlbnQpXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPGEgI21lbnVMaW5rICpuZ0lmPVwiIWhyZWZcIlxuICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiXG4gICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fbGlua1wiXG4gICAgW2NsYXNzLmVjbC1tZW51X19saW5rLS1jdXJyZW50XT1cImlzQ3VycmVudFwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkZXZlbnQpXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPGJ1dHRvbiBlY2xCdXR0b24gXG4gICAgKm5nSWY9XCJoYXNDaGlsZHJlblwiXG4gICAgdmFyaWFudD1cInByaW1hcnlcIiBcbiAgICBjbGFzcz1cImVjbC1tZW51X19idXR0b24tY2FyZXRcIiBcbiAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIChjbGljayk9XCJvbkl0ZW1DYXJldENsaWNrKCRldmVudClcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJ4c1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIiBjbGFzcz1cImVjbC1idXR0b25fX2ljb25cIj48L2VjbC1pY29uPlxuPC9idXR0b24+XG48bmctY29udGVudCBzZWxlY3Q9XCJlY2wtbWVudS1tZWdhXCI+PC9uZy1jb250ZW50PlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=