@ecodev/natural 48.0.0 → 48.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,10 +47,10 @@ export class NaturalDetailHeaderComponent {
47
47
  }
48
48
  }
49
49
  NaturalDetailHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDetailHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- NaturalDetailHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDetailHeaderComponent, selector: "natural-detail-header", inputs: { currentBaseUrl: "currentBaseUrl", isPanel: "isPanel", icon: "icon", label: "label", rootLabel: "rootLabel", newLabel: "newLabel", model: "model", breadcrumbs: "breadcrumbs", listRoute: "listRoute", listFragment: "listFragment", link: "link" }, ngImport: i0, template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i4.NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
50
+ NaturalDetailHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDetailHeaderComponent, selector: "natural-detail-header", inputs: { currentBaseUrl: "currentBaseUrl", isPanel: "isPanel", icon: "icon", label: "label", rootLabel: "rootLabel", newLabel: "newLabel", model: "model", breadcrumbs: "breadcrumbs", listRoute: "listRoute", listFragment: "listFragment", link: "link" }, ngImport: i0, template: "<div class=\"breadcrumb\">\n <a\n *ngIf=\"rootLabel || label\"\n [routerLink]=\"isPanel ? [] : getRootLink()\"\n [fragment]=\"listFragment\"\n color=\"primary\"\n mat-button\n >{{ rootLabel || label }}</a\n >\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i4.NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDetailHeaderComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'natural-detail-header', template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"] }]
53
+ args: [{ selector: 'natural-detail-header', template: "<div class=\"breadcrumb\">\n <a\n *ngIf=\"rootLabel || label\"\n [routerLink]=\"isPanel ? [] : getRootLink()\"\n [fragment]=\"listFragment\"\n color=\"primary\"\n mat-button\n >{{ rootLabel || label }}</a\n >\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"] }]
54
54
  }], propDecorators: { currentBaseUrl: [{
55
55
  type: Input
56
56
  }], isPanel: [{
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
74
74
  }], link: [{
75
75
  type: Input
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kZXRhaWwtaGVhZGVyL2RldGFpbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZGV0YWlsLWhlYWRlci9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFXSTs7V0FFRztRQUNhLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEM7O1dBRUc7UUFDYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCOzs7O1dBSUc7UUFDYSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRTNCOzs7O1dBSUc7UUFDYSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDYSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBYyxFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFVLEVBQUUsQ0FBQztLQWV6QztJQVhVLFdBQVc7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt5SEFuRFEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMlRDUnpDLDIxQkFzQkE7MkZEZGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHVCQUF1Qjs4QkFRakIsY0FBYztzQkFBN0IsS0FBSztnQkFLVSxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsS0FBSztzQkFBcEIsS0FBSztnQkFPVSxTQUFTO3NCQUF4QixLQUFLO2dCQU9VLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtZGV0YWlsLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RldGFpbC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERldGFpbEhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogQmFzZSBVUkwgdXNlZCB0byBidWlsZCBsaW5rcywgZGVmYXVsdHMgdG8gJy8nXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGN1cnJlbnRCYXNlVXJsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogTXVzdCBiZSBzZXQgdG8gZ2V0IHByb3BlciBsaW5rcyB3aGVuIHVzZWQgaW4gcGFuZWxzXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGlzUGFuZWwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElmIGdpdmVuIHdpbGwgc2hvdyBpY29uIGJlZm9yZSB0aXRsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uID0gJyc7XG4gICAgLyoqXG4gICAgICogVGl0bGUgc2hvd24gaWYgbW9kZWwgaGFzIG5vIG5hbWUsIG9yIGVtcHR5IG5hbWUuXG4gICAgICpcbiAgICAgKiBUeXBpY2FsbHkgc2hvdWxkIGJlIHRoZSBodW1hbiBuYW1lIGZvciB0aGUgb2JqZWN0IHR5cGUsIGVnOiAnUHJvZHVjdCdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWwgPSAnJztcblxuICAgIC8qKlxuICAgICAqIExhYmVsIG9mIHRoZSByb290IG9mIHRoZSBicmVhZGNydW1iLCBkZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgYGxhYmVsYC5cbiAgICAgKlxuICAgICAqIFR5cGljYWxseSBzaG91bGQgYmUgdGhlIHBsdXJhbCBmb3JtIG9mIHRoZSBvYmplY3QgdHlwZSwgZWc6ICdQcm9kdWN0cydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcm9vdExhYmVsID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBUaXRsZSBzaG93biBpZiBtb2RlbCBoYXMgbm8gaWQuXG4gICAgICpcbiAgICAgKiBUeXBpY2FsbHkgc2hvdWxkIGJlIHNpbWlsYXIgdG8gJ05ldyBwcm9kdWN0Jy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbmV3TGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgbW9kZWwhOiBMaXRlcmFsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBicmVhZGNydW1iczogTGl0ZXJhbFtdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGxpc3RSb3V0ZTogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGlzdEZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxpbms/OiAoaWQ6IHN0cmluZykgPT4gYW55W107XG5cbiAgICBwdWJsaWMgZ2V0Um9vdExpbmsoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW3RoaXMuY3VycmVudEJhc2VVcmwgfHwgJy8nXS5jb25jYXQodGhpcy5saXN0Um91dGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaW5rKGlkOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJvb3RMaW5rKCkuY29uY2F0KHRoaXMubGluayhpZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdExpbmsoKS5jb25jYXQoW2lkXSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJyZWFkY3J1bWJcIj5cbiAgICA8YSBbcm91dGVyTGlua109XCJpc1BhbmVsID8gW10gOiBnZXRSb290TGluaygpXCIgW2ZyYWdtZW50XT1cImxpc3RGcmFnbWVudFwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1idXR0b24+e3tcbiAgICAgICAgcm9vdExhYmVsIHx8IGxhYmVsXG4gICAgfX08L2E+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFyZW50IG9mIGJyZWFkY3J1bWJzXCI+XG4gICAgICAgIC9cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiaXNQYW5lbCA/IFtdIDogZ2V0TGluayhwYXJlbnQuaWQpXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LWJ1dHRvbj5cbiAgICAgICAgICAgIHt7IHBhcmVudD8uZnVsbE5hbWUgfHwgcGFyZW50Py5uYW1lIH19PC9hXG4gICAgICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpY29uXCIgc3R5bGU9XCJ3aWR0aDogMzBweFwiPlxuICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIj48L21hdC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaWRcIiBjbGFzcz1cIm1hdC1oZWFkbGluZS01IG5vLW1hcmdpbiBuZXdMYWJlbFwiPnt7IG5ld0xhYmVsIH19PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmlkXCIgY2xhc3M9XCJtYXQtaGVhZGxpbmUtNSBuby1tYXJnaW4gbGFiZWxcIj57eyBtb2RlbC5uYW1lIHx8IG1vZGVsLmZ1bGxOYW1lIHx8IGxhYmVsIH19PC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kZXRhaWwtaGVhZGVyL2RldGFpbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZGV0YWlsLWhlYWRlci9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFXSTs7V0FFRztRQUNhLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEM7O1dBRUc7UUFDYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCOzs7O1dBSUc7UUFDYSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRTNCOzs7O1dBSUc7UUFDYSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDYSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBYyxFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFVLEVBQUUsQ0FBQztLQWV6QztJQVhVLFdBQVc7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt5SEFuRFEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMlRDUnpDLHU2QkEyQkE7MkZEbkJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSx1QkFBdUI7OEJBUWpCLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsT0FBTztzQkFBdEIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBT1UsU0FBUztzQkFBeEIsS0FBSztnQkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xpdGVyYWx9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLWRldGFpbC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxEZXRhaWxIZWFkZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIEJhc2UgVVJMIHVzZWQgdG8gYnVpbGQgbGlua3MsIGRlZmF1bHRzIHRvICcvJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50QmFzZVVybD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE11c3QgYmUgc2V0IHRvIGdldCBwcm9wZXIgbGlua3Mgd2hlbiB1c2VkIGluIHBhbmVsc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1BhbmVsID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJZiBnaXZlbiB3aWxsIHNob3cgaWNvbiBiZWZvcmUgdGl0bGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaWNvbiA9ICcnO1xuICAgIC8qKlxuICAgICAqIFRpdGxlIHNob3duIGlmIG1vZGVsIGhhcyBubyBuYW1lLCBvciBlbXB0eSBuYW1lLlxuICAgICAqXG4gICAgICogVHlwaWNhbGx5IHNob3VsZCBiZSB0aGUgaHVtYW4gbmFtZSBmb3IgdGhlIG9iamVjdCB0eXBlLCBlZzogJ1Byb2R1Y3QnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBMYWJlbCBvZiB0aGUgcm9vdCBvZiB0aGUgYnJlYWRjcnVtYiwgZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGBsYWJlbGAuXG4gICAgICpcbiAgICAgKiBUeXBpY2FsbHkgc2hvdWxkIGJlIHRoZSBwbHVyYWwgZm9ybSBvZiB0aGUgb2JqZWN0IHR5cGUsIGVnOiAnUHJvZHVjdHMnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHJvb3RMYWJlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogVGl0bGUgc2hvd24gaWYgbW9kZWwgaGFzIG5vIGlkLlxuICAgICAqXG4gICAgICogVHlwaWNhbGx5IHNob3VsZCBiZSBzaW1pbGFyIHRvICdOZXcgcHJvZHVjdCcuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG5ld0xhYmVsID0gJyc7XG4gICAgQElucHV0KCkgcHVibGljIG1vZGVsITogTGl0ZXJhbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYnJlYWRjcnVtYnM6IExpdGVyYWxbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsaXN0Um91dGU6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGxpc3RGcmFnbWVudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsaW5rPzogKGlkOiBzdHJpbmcpID0+IGFueVtdO1xuXG4gICAgcHVibGljIGdldFJvb3RMaW5rKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmN1cnJlbnRCYXNlVXJsIHx8ICcvJ10uY29uY2F0KHRoaXMubGlzdFJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGluayhpZDogc3RyaW5nKTogYW55W10ge1xuICAgICAgICBpZiAodGhpcy5saW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSb290TGluaygpLmNvbmNhdCh0aGlzLmxpbmsoaWQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvb3RMaW5rKCkuY29uY2F0KFtpZF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJicmVhZGNydW1iXCI+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJyb290TGFiZWwgfHwgbGFiZWxcIlxuICAgICAgICBbcm91dGVyTGlua109XCJpc1BhbmVsID8gW10gOiBnZXRSb290TGluaygpXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImxpc3RGcmFnbWVudFwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgPnt7IHJvb3RMYWJlbCB8fCBsYWJlbCB9fTwvYVxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwYXJlbnQgb2YgYnJlYWRjcnVtYnNcIj5cbiAgICAgICAgL1xuICAgICAgICA8YSBbcm91dGVyTGlua109XCJpc1BhbmVsID8gW10gOiBnZXRMaW5rKHBhcmVudC5pZClcIiBjb2xvcj1cInByaW1hcnlcIiBtYXQtYnV0dG9uPlxuICAgICAgICAgICAge3sgcGFyZW50Py5mdWxsTmFtZSB8fCBwYXJlbnQ/Lm5hbWUgfX08L2FcbiAgICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgPGRpdiAqbmdJZj1cImljb25cIiBzdHlsZT1cIndpZHRoOiAzMHB4XCI+XG4gICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiPjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5pZFwiIGNsYXNzPVwibWF0LWhlYWRsaW5lLTUgbm8tbWFyZ2luIG5ld0xhYmVsXCI+e3sgbmV3TGFiZWwgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaWRcIiBjbGFzcz1cIm1hdC1oZWFkbGluZS01IG5vLW1hcmdpbiBsYWJlbFwiPnt7IG1vZGVsLm5hbWUgfHwgbW9kZWwuZnVsbE5hbWUgfHwgbGFiZWwgfX08L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -6017,10 +6017,10 @@ class NaturalDetailHeaderComponent {
6017
6017
  }
6018
6018
  }
6019
6019
  NaturalDetailHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDetailHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6020
- NaturalDetailHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDetailHeaderComponent, selector: "natural-detail-header", inputs: { currentBaseUrl: "currentBaseUrl", isPanel: "isPanel", icon: "icon", label: "label", rootLabel: "rootLabel", newLabel: "newLabel", model: "model", breadcrumbs: "breadcrumbs", listRoute: "listRoute", listFragment: "listFragment", link: "link" }, ngImport: i0, template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "component", type: i1$6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
6020
+ NaturalDetailHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDetailHeaderComponent, selector: "natural-detail-header", inputs: { currentBaseUrl: "currentBaseUrl", isPanel: "isPanel", icon: "icon", label: "label", rootLabel: "rootLabel", newLabel: "newLabel", model: "model", breadcrumbs: "breadcrumbs", listRoute: "listRoute", listFragment: "listFragment", link: "link" }, ngImport: i0, template: "<div class=\"breadcrumb\">\n <a\n *ngIf=\"rootLabel || label\"\n [routerLink]=\"isPanel ? [] : getRootLink()\"\n [fragment]=\"listFragment\"\n color=\"primary\"\n mat-button\n >{{ rootLabel || label }}</a\n >\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "component", type: i1$6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
6021
6021
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDetailHeaderComponent, decorators: [{
6022
6022
  type: Component,
6023
- args: [{ selector: 'natural-detail-header', template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"] }]
6023
+ args: [{ selector: 'natural-detail-header', template: "<div class=\"breadcrumb\">\n <a\n *ngIf=\"rootLabel || label\"\n [routerLink]=\"isPanel ? [] : getRootLink()\"\n [fragment]=\"listFragment\"\n color=\"primary\"\n mat-button\n >{{ rootLabel || label }}</a\n >\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <mat-icon [naturalIcon]=\"icon\"></mat-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline-5 no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline-5 no-margin label\">{{ model.name || model.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body mat-icon{display:none}}\n"] }]
6024
6024
  }], propDecorators: { currentBaseUrl: [{
6025
6025
  type: Input
6026
6026
  }], isPanel: [{