@indice/ng-components 0.2.167-beta.32 → 0.2.167-beta.35

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.
@@ -30,12 +30,13 @@ export class NotificationNavLink extends NavLink {
30
30
  }
31
31
  }
32
32
  export class ViewAction {
33
- constructor(type, key, param, icon, tooltip) {
33
+ constructor(type, key, param, icon, tooltip, text) {
34
34
  this.type = type;
35
35
  this.key = key;
36
36
  this.param = param;
37
37
  this.icon = icon;
38
38
  this.tooltip = tooltip;
39
+ this.text = text;
39
40
  }
40
41
  }
41
42
  export class ListViewType {
@@ -45,8 +46,8 @@ ListViewType.Table = 'table';
45
46
  ListViewType.Map = 'map';
46
47
  ListViewType.Gallery = 'gallery';
47
48
  export class RouterViewAction extends ViewAction {
48
- constructor(icon, link, outlet, tooltip) {
49
- super('router-link', null, null, icon, tooltip);
49
+ constructor(icon, link, outlet, tooltip, text) {
50
+ super('router-link', null, null, icon, tooltip, text);
50
51
  this.outlet = null;
51
52
  this.link = null;
52
53
  this.outlet = outlet;
@@ -128,4 +129,4 @@ export var SidePaneOverlayType;
128
129
  SidePaneOverlayType["Light"] = "";
129
130
  SidePaneOverlayType["Dark"] = "-opacity-50";
130
131
  })(SidePaneOverlayType || (SidePaneOverlayType = {}));
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTZCaEMsTUFBTSxPQUFPLE9BQU87SUFDbEIsWUFBWSxJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWlCLEtBQUssRUFBRSxXQUFvQixLQUFLLEVBQUUsSUFBYSxFQUFFLElBQVU7UUFhN0csU0FBSSxHQUFHLFFBQVEsQ0FBQztRQVpyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBUUY7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBQzFDLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxZQUFzQixFQUFFLElBQWE7UUFDM0UsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpELFNBQUksR0FBRyxVQUFVLENBQUM7SUFEekIsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsT0FBTztJQUMxQyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsSUFBYTtRQUNuRCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLFNBQUksR0FBRyxV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IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuL2ljb25zJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBcHBOb3RpZmljYXRpb25zIHtcclxuICBtZXNzYWdlczogT2JzZXJ2YWJsZTxJUmVzdWx0U2V0PE5hdkxpbms+PjtcclxuICBnZXRNZXNzYWdlPzogKHByZWRpY2F0ZTogKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIsIG9iajogYW55W10pID0+IGFueSkgPT4gYW55IHwgdW5kZWZpbmVkO1xyXG4gIG1hcmtNZXNzYWdlUmVhZD86IChwcmVkaWNhdGU6ICh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyLCBvYmo6IGFueVtdKSA9PiBhbnkpID0+IGFueSB8IHVuZGVmaW5lZDtcclxuICByZWZyZXNoPzogKCkgPT4gdm9pZCB8IHVuZGVmaW5lZDtcclxuICBpbmJveEFjdGlvbj86ICgpID0+IHZvaWQgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwcExhbmd1YWdlc1NlcnZpY2Uge1xyXG4gIG9wdGlvbnM6IE9ic2VydmFibGU8TWVudU9wdGlvbltdPiB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZD86IHN0cmluZztcclxuICBkZWZhdWx0Pzogc3RyaW5nO1xyXG4gIHNldFNlbGVjdGVkPzogKGxhbmc6IHN0cmluZykgPT4gdm9pZCB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBwTGlua3Mge1xyXG4gIHB1YmxpYzogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gIG1haW46IE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICBwcm9maWxlOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgcHJvZmlsZUFjdGlvbnM6IE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICBsZWdhbDogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gIGJyYW5kOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgbm90aWZpY2F0aW9ucz86IE9ic2VydmFibGU8TmF2TGluaz47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTmF2TGluayB7XHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGV4YWN0OiBib29sZWFuID0gZmFsc2UsIGV4dGVybmFsOiBib29sZWFuID0gZmFsc2UsIGljb24/OiBzdHJpbmcsIGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMudGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xyXG4gICAgdGhpcy5leGFjdCA9IGV4YWN0O1xyXG4gICAgdGhpcy5leHRlcm5hbCA9IGV4dGVybmFsO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfVxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgcHVibGljIHBhdGg6IHN0cmluZztcclxuICBwdWJsaWMgZXhhY3Q6IGJvb2xlYW47XHJcbiAgcHVibGljIGV4dGVybmFsOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHR5cGUgPSAncm91dGVyJztcclxuICBwdWJsaWMgZGF0YTogYW55IHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxOYXZMaW5rIGV4dGVuZHMgTmF2TGluayB7XHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wZW5Jbk5ld1RhYj86IGJvb2xlYW4sIGljb24/OiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKHRleHQsIHBhdGgsIHRydWUsIG9wZW5Jbk5ld1RhYiwgaWNvbiA/PyBJY29ucy5FeHRlcm5hbCk7XHJcbiAgfVxyXG4gIHB1YmxpYyB0eXBlID0gJ2V4dGVybmFsJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZyYWdtZW50TmF2TGluayBleHRlbmRzIE5hdkxpbmsge1xyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBpY29uPzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcih0ZXh0LCBwYXRoLCB0cnVlLCB0cnVlLCBpY29uKTtcclxuICB9XHJcbiAgcHVibGljIHR5cGUgPSAnZnJhZ21lbnQnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uTmF2TGluayBleHRlbmRzIE5hdkxpbmsge1xyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBwdWJsaWMgaXNSZWFkOiBib29sZWFuLCBwdWJsaWMgY3JlYXRpb25EYXRlPzogRGF0ZSkge1xyXG4gICAgc3VwZXIodGV4dCwgcGF0aCwgdHJ1ZSwgZmFsc2UsIHVuZGVmaW5lZCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmlld0FjdGlvbiB7XHJcbiAgcHVibGljIHR5cGU6IHN0cmluZztcclxuICBwdWJsaWMga2V5OiBzdHJpbmcgfCBudWxsO1xyXG4gIHB1YmxpYyBwYXJhbTogYW55O1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcgfCBudWxsLCBwYXJhbTogYW55LCBpY29uOiBzdHJpbmcsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmtleSA9IGtleTtcclxuICAgIHRoaXMucGFyYW0gPSBwYXJhbTtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpc3RWaWV3VHlwZSB7XHJcbiAgcHVibGljIHN0YXRpYyBUaWxlcyA9ICd0aWxlcyc7XHJcbiAgcHVibGljIHN0YXRpYyBUYWJsZSA9ICd0YWJsZSc7XHJcbiAgcHVibGljIHN0YXRpYyBNYXAgPSAnbWFwJztcclxuICBwdWJsaWMgc3RhdGljIEdhbGxlcnkgPSAnZ2FsbGVyeSc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJWaWV3QWN0aW9uIGV4dGVuZHMgVmlld0FjdGlvbiB7XHJcbiAgcHVibGljIG91dGxldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGxpbms6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKGljb246IHN0cmluZywgbGluazogc3RyaW5nLCBvdXRsZXQ6IHN0cmluZyB8IG51bGwsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHN1cGVyKCdyb3V0ZXItbGluaycsIG51bGwsIG51bGwsIGljb24sIHRvb2x0aXApO1xyXG4gICAgdGhpcy5vdXRsZXQgPSBvdXRsZXQ7XHJcbiAgICB0aGlzLmxpbmsgPSBsaW5rO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTd2l0Y2hWaWV3QWN0aW9uIGV4dGVuZHMgVmlld0FjdGlvbiB7XHJcbiAgY29uc3RydWN0b3Iodmlldzogc3RyaW5nLCBpY29uOiBzdHJpbmcsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHN1cGVyKCdzd2l0Y2gtdmlldycsIG51bGwsIHZpZXcsIGljb24sIHRvb2x0aXApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVzdWx0U2V0PFQ+IHtcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGl0ZW1zOiBUW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJNZXRhSXRlbSB7XHJcbiAgcHVibGljIGtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1lbnVPcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgdmFsdWU6IGFueSwgZGVzY3JpcHRpb24/OiBzdHJpbmcsIGRhdGE/OiBhbnksIGljb24/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XHJcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICB9XHJcbiAgcHVibGljIHRleHQ6IHN0cmluZztcclxuICBwdWJsaWMgdmFsdWU6IGFueTtcclxuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZGF0YTogYW55IHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBhZ2VyUG9zaXRpb24ge1xyXG4gIFRvcCA9ICd0b3AnLFxyXG4gIEJvdHRvbSA9ICdib3R0b20nLFxyXG4gIEJvdGggPSAnYm90aCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWRkcmVzcyB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc3RyZWV0Pzogc3RyaW5nIHwgbnVsbDtcclxuICBzdHJlZXROdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNpdHk/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHJlZ2lvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zdGFsQ29kZT86IHN0cmluZyB8IG51bGw7XHJcbiAgY291bnRyeT86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNoZWxsQ29uZmlnIHtcclxuICBhcHBMb2dvOiBzdHJpbmc7XHJcbiAgYXBwTG9nb0FsdDogc3RyaW5nO1xyXG4gIGJyZWFkY3J1bWI6IGJvb2xlYW47XHJcbiAgY3VzdG9tRm9vdGVyQ29tcG9uZW50PzogYW55O1xyXG4gIGN1c3RvbUhlYWRlckNvbXBvbmVudD86IGFueTtcclxuICBmbHVpZDogYm9vbGVhbjtcclxuICBsYXlvdXQ/OiBTaGVsbExheW91dFR5cGU7XHJcbiAgc2hvd0FsZXJ0c09uSGVhZGVyPzogYm9vbGVhbjtcclxuICBzaG93Rm9vdGVyOiBib29sZWFuO1xyXG4gIHNob3dIZWFkZXI6IGJvb2xlYW47XHJcbiAgc2hvd0xhbmdzT25IZWFkZXI/OiBib29sZWFuO1xyXG4gIHNob3dVc2VyTmFtZU9uSGVhZGVyPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU2hlbGxMYXlvdXRUeXBlIHtcclxuICBTdGFja2VkID0gJ1N0YWNrZWQnLFxyXG4gIFNpZGViYXIgPSAnU2lkZWJhcidcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERlZmF1bHRTaGVsbENvbmZpZyBpbXBsZW1lbnRzIElTaGVsbENvbmZpZyB7XHJcbiAgYXBwTG9nbyA9ICdodHRwczovL3RhaWx3aW5kdWkuY29tL2ltZy9sb2dvcy93b3JrZmxvdy1tYXJrLnN2Zz9jb2xvcj13aGl0ZSc7XHJcbiAgYXBwTG9nb0FsdCA9ICd5b3VyIGFwcCBuYW1lIGhlcmUnO1xyXG4gIGJyZWFkY3J1bWIgPSBmYWxzZTtcclxuICBmbHVpZCA9IGZhbHNlO1xyXG4gIGxheW91dCA9IFNoZWxsTGF5b3V0VHlwZS5TdGFja2VkO1xyXG4gIHNob3dBbGVydHNPbkhlYWRlciA9IGZhbHNlO1xyXG4gIHNob3dGb290ZXIgPSB0cnVlO1xyXG4gIHNob3dIZWFkZXIgPSB0cnVlO1xyXG4gIHNob3dVc2VyTmFtZU9uSGVhZGVyID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNDUkVFTl9TSVpFIHtcclxuICBYUyxcclxuICBTTSxcclxuICBNRCxcclxuICBMRyxcclxuICBYTFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTY3JlZW5TaXplIHtcclxuICBpZDogU0NSRUVOX1NJWkU7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNzczogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUb2FzdFR5cGUge1xyXG4gIEluZm8gPSAnaW5mbycsXHJcbiAgU3VjY2VzcyA9ICdzdWNjZXNzJyxcclxuICBFcnJvciA9ICdlcnJvcicsXHJcbiAgV2FybmluZyA9ICd3YXJuaW5nJ1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTlVMTF9UT0FTVCA9IHsgdGl0bGU6ICdfX19fX05VTExfX19fXycgfSBhcyBUb2FzdDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xyXG4gIHR5cGU6IFRvYXN0VHlwZTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGJvZHk6IHN0cmluZztcclxuICBkZWxheTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTaWRlUGFuZVNpemUge1xyXG4gIERlZmF1bHQgPSAnJyxcclxuICBTbWFsbDI1ID0gJzI1JScsXHJcbiAgTWVkaXVtNTAgPSAnNTAlJyxcclxuICBMYXJnZTc1ID0gJzc1JSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU2lkZVBhbmVPdmVybGF5VHlwZSB7XHJcbiAgRGVmYXVsdCA9ICcnLFxyXG4gIE5vbmUgPSAnLW9wYWNpdHktMCcsXHJcbiAgTGlnaHQgPSAnJyxcclxuICBEYXJrID0gJy1vcGFjaXR5LTUwJ1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdGlvblByb2JsZW1EZXRhaWxzIHtcclxuICB0eXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHN0YXR1cz86IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBkZXRhaWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgaW5zdGFuY2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgZXJyb3JzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXTsgfSB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVXNlclNldHRpbmdLZXkgPSAnTW9iaWxlU2lkZUJhcic7Il19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTZCaEMsTUFBTSxPQUFPLE9BQU87SUFDbEIsWUFBWSxJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWlCLEtBQUssRUFBRSxXQUFvQixLQUFLLEVBQUUsSUFBYSxFQUFFLElBQVU7UUFhN0csU0FBSSxHQUFHLFFBQVEsQ0FBQztRQVpyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBUUY7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBQzFDLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxZQUFzQixFQUFFLElBQWE7UUFDM0UsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpELFNBQUksR0FBRyxVQUFVLENBQUM7SUFEekIsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsT0FBTztJQUMxQyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsSUFBYTtRQUNuRCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLFNBQUksR0FBRyxV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b0IsQ0FBQTtBQUN0QixDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuL2ljb25zJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBcHBOb3RpZmljYXRpb25zIHtcclxuICBtZXNzYWdlczogT2JzZXJ2YWJsZTxJUmVzdWx0U2V0PE5hdkxpbms+PjtcclxuICBnZXRNZXNzYWdlPzogKHByZWRpY2F0ZTogKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIsIG9iajogYW55W10pID0+IGFueSkgPT4gYW55IHwgdW5kZWZpbmVkO1xyXG4gIG1hcmtNZXNzYWdlUmVhZD86IChwcmVkaWNhdGU6ICh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyLCBvYmo6IGFueVtdKSA9PiBhbnkpID0+IGFueSB8IHVuZGVmaW5lZDtcclxuICByZWZyZXNoPzogKCkgPT4gdm9pZCB8IHVuZGVmaW5lZDtcclxuICBpbmJveEFjdGlvbj86ICgpID0+IHZvaWQgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwcExhbmd1YWdlc1NlcnZpY2Uge1xyXG4gIG9wdGlvbnM6IE9ic2VydmFibGU8TWVudU9wdGlvbltdPiB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZD86IHN0cmluZztcclxuICBkZWZhdWx0Pzogc3RyaW5nO1xyXG4gIHNldFNlbGVjdGVkPzogKGxhbmc6IHN0cmluZykgPT4gdm9pZCB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBwTGlua3Mge1xyXG4gIHB1YmxpYzogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gIG1haW46IE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICBwcm9maWxlOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgcHJvZmlsZUFjdGlvbnM6IE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICBsZWdhbDogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gIGJyYW5kOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgbm90aWZpY2F0aW9ucz86IE9ic2VydmFibGU8TmF2TGluaz47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTmF2TGluayB7XHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGV4YWN0OiBib29sZWFuID0gZmFsc2UsIGV4dGVybmFsOiBib29sZWFuID0gZmFsc2UsIGljb24/OiBzdHJpbmcsIGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMudGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xyXG4gICAgdGhpcy5leGFjdCA9IGV4YWN0O1xyXG4gICAgdGhpcy5leHRlcm5hbCA9IGV4dGVybmFsO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfVxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgcHVibGljIHBhdGg6IHN0cmluZztcclxuICBwdWJsaWMgZXhhY3Q6IGJvb2xlYW47XHJcbiAgcHVibGljIGV4dGVybmFsOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHR5cGUgPSAncm91dGVyJztcclxuICBwdWJsaWMgZGF0YTogYW55IHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxOYXZMaW5rIGV4dGVuZHMgTmF2TGluayB7XHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wZW5Jbk5ld1RhYj86IGJvb2xlYW4sIGljb24/OiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKHRleHQsIHBhdGgsIHRydWUsIG9wZW5Jbk5ld1RhYiwgaWNvbiA/PyBJY29ucy5FeHRlcm5hbCk7XHJcbiAgfVxyXG4gIHB1YmxpYyB0eXBlID0gJ2V4dGVybmFsJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZyYWdtZW50TmF2TGluayBleHRlbmRzIE5hdkxpbmsge1xyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBpY29uPzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcih0ZXh0LCBwYXRoLCB0cnVlLCB0cnVlLCBpY29uKTtcclxuICB9XHJcbiAgcHVibGljIHR5cGUgPSAnZnJhZ21lbnQnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uTmF2TGluayBleHRlbmRzIE5hdkxpbmsge1xyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBwdWJsaWMgaXNSZWFkOiBib29sZWFuLCBwdWJsaWMgY3JlYXRpb25EYXRlPzogRGF0ZSkge1xyXG4gICAgc3VwZXIodGV4dCwgcGF0aCwgdHJ1ZSwgZmFsc2UsIHVuZGVmaW5lZCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmlld0FjdGlvbiB7XHJcbiAgcHVibGljIHR5cGU6IHN0cmluZztcclxuICBwdWJsaWMga2V5OiBzdHJpbmcgfCBudWxsO1xyXG4gIHB1YmxpYyBwYXJhbTogYW55O1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XHJcbiAgcHVibGljIHRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcgfCBudWxsLCBwYXJhbTogYW55LCBpY29uOiBzdHJpbmcsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwsIHRleHQ/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmtleSA9IGtleTtcclxuICAgIHRoaXMucGFyYW0gPSBwYXJhbTtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy50ZXh0ID0gdGV4dDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaXN0Vmlld1R5cGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgVGlsZXMgPSAndGlsZXMnO1xyXG4gIHB1YmxpYyBzdGF0aWMgVGFibGUgPSAndGFibGUnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTWFwID0gJ21hcCc7XHJcbiAgcHVibGljIHN0YXRpYyBHYWxsZXJ5ID0gJ2dhbGxlcnknO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm91dGVyVmlld0FjdGlvbiBleHRlbmRzIFZpZXdBY3Rpb24ge1xyXG4gIHB1YmxpYyBvdXRsZXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBsaW5rOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcihpY29uOiBzdHJpbmcsIGxpbms6IHN0cmluZywgb3V0bGV0OiBzdHJpbmcgfCBudWxsLCB0b29sdGlwOiBzdHJpbmcgfCBudWxsLCB0ZXh0Pzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigncm91dGVyLWxpbmsnLCBudWxsLCBudWxsLCBpY29uLCB0b29sdGlwLCB0ZXh0KTtcclxuICAgIHRoaXMub3V0bGV0ID0gb3V0bGV0O1xyXG4gICAgdGhpcy5saW5rID0gbGluaztcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU3dpdGNoVmlld0FjdGlvbiBleHRlbmRzIFZpZXdBY3Rpb24ge1xyXG4gIGNvbnN0cnVjdG9yKHZpZXc6IHN0cmluZywgaWNvbjogc3RyaW5nLCB0b29sdGlwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBzdXBlcignc3dpdGNoLXZpZXcnLCBudWxsLCB2aWV3LCBpY29uLCB0b29sdGlwKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3VsdFNldDxUPiB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICBpdGVtczogVFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSGVhZGVyTWV0YUl0ZW0ge1xyXG4gIHB1YmxpYyBrZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgdGV4dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZW51T3B0aW9uIHtcclxuICBjb25zdHJ1Y3Rvcih0ZXh0OiBzdHJpbmcsIHZhbHVlOiBhbnksIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBkYXRhPzogYW55LCBpY29uPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG4gICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgfVxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgcHVibGljIHZhbHVlOiBhbnk7XHJcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGRhdGE6IGFueSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYWdlclBvc2l0aW9uIHtcclxuICBUb3AgPSAndG9wJyxcclxuICBCb3R0b20gPSAnYm90dG9tJyxcclxuICBCb3RoID0gJ2JvdGgnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFkZHJlc3Mge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHN0cmVldD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyZWV0TnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBjaXR5Pzogc3RyaW5nIHwgbnVsbDtcclxuICByZWdpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc3RhbENvZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvdW50cnk/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTaGVsbENvbmZpZyB7XHJcbiAgYXBwTG9nbzogc3RyaW5nO1xyXG4gIGFwcExvZ29BbHQ6IHN0cmluZztcclxuICBicmVhZGNydW1iOiBib29sZWFuO1xyXG4gIGN1c3RvbUZvb3RlckNvbXBvbmVudD86IGFueTtcclxuICBjdXN0b21IZWFkZXJDb21wb25lbnQ/OiBhbnk7XHJcbiAgZmx1aWQ6IGJvb2xlYW47XHJcbiAgbGF5b3V0PzogU2hlbGxMYXlvdXRUeXBlO1xyXG4gIHNob3dBbGVydHNPbkhlYWRlcj86IGJvb2xlYW47XHJcbiAgc2hvd0Zvb3RlcjogYm9vbGVhbjtcclxuICBzaG93SGVhZGVyOiBib29sZWFuO1xyXG4gIHNob3dMYW5nc09uSGVhZGVyPzogYm9vbGVhbjtcclxuICBzaG93VXNlck5hbWVPbkhlYWRlcj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNoZWxsTGF5b3V0VHlwZSB7XHJcbiAgU3RhY2tlZCA9ICdTdGFja2VkJyxcclxuICBTaWRlYmFyID0gJ1NpZGViYXInXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0U2hlbGxDb25maWcgaW1wbGVtZW50cyBJU2hlbGxDb25maWcge1xyXG4gIGFwcExvZ28gPSAnaHR0cHM6Ly90YWlsd2luZHVpLmNvbS9pbWcvbG9nb3Mvd29ya2Zsb3ctbWFyay5zdmc/Y29sb3I9d2hpdGUnO1xyXG4gIGFwcExvZ29BbHQgPSAneW91ciBhcHAgbmFtZSBoZXJlJztcclxuICBicmVhZGNydW1iID0gZmFsc2U7XHJcbiAgZmx1aWQgPSBmYWxzZTtcclxuICBsYXlvdXQgPSBTaGVsbExheW91dFR5cGUuU3RhY2tlZDtcclxuICBzaG93QWxlcnRzT25IZWFkZXIgPSBmYWxzZTtcclxuICBzaG93Rm9vdGVyID0gdHJ1ZTtcclxuICBzaG93SGVhZGVyID0gdHJ1ZTtcclxuICBzaG93VXNlck5hbWVPbkhlYWRlciA9IGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTQ1JFRU5fU0laRSB7XHJcbiAgWFMsXHJcbiAgU00sXHJcbiAgTUQsXHJcbiAgTEcsXHJcbiAgWExcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU2NyZWVuU2l6ZSB7XHJcbiAgaWQ6IFNDUkVFTl9TSVpFO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVG9hc3RUeXBlIHtcclxuICBJbmZvID0gJ2luZm8nLFxyXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXHJcbiAgRXJyb3IgPSAnZXJyb3InLFxyXG4gIFdhcm5pbmcgPSAnd2FybmluZydcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IE5VTExfVE9BU1QgPSB7IHRpdGxlOiAnX19fX19OVUxMX19fX18nIH0gYXMgVG9hc3Q7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0IHtcclxuICB0eXBlOiBUb2FzdFR5cGU7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBib2R5OiBzdHJpbmc7XHJcbiAgZGVsYXk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU2lkZVBhbmVTaXplIHtcclxuICBEZWZhdWx0ID0gJycsXHJcbiAgU21hbGwyNSA9ICcyNSUnLFxyXG4gIE1lZGl1bTUwID0gJzUwJScsXHJcbiAgTGFyZ2U3NSA9ICc3NSUnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNpZGVQYW5lT3ZlcmxheVR5cGUge1xyXG4gIERlZmF1bHQgPSAnJyxcclxuICBOb25lID0gJy1vcGFjaXR5LTAnLFxyXG4gIExpZ2h0ID0gJycsXHJcbiAgRGFyayA9ICctb3BhY2l0eS01MCdcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRpb25Qcm9ibGVtRGV0YWlscyB7XHJcbiAgdHlwZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICB0aXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBzdGF0dXM/OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgZGV0YWlsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGluc3RhbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGVycm9ycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW107IH0gfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJTZXR0aW5nS2V5ID0gJ01vYmlsZVNpZGVCYXInOyJdfQ==
@@ -332,12 +332,13 @@ class NotificationNavLink extends NavLink {
332
332
  }
333
333
  }
334
334
  class ViewAction {
335
- constructor(type, key, param, icon, tooltip) {
335
+ constructor(type, key, param, icon, tooltip, text) {
336
336
  this.type = type;
337
337
  this.key = key;
338
338
  this.param = param;
339
339
  this.icon = icon;
340
340
  this.tooltip = tooltip;
341
+ this.text = text;
341
342
  }
342
343
  }
343
344
  class ListViewType {
@@ -347,8 +348,8 @@ ListViewType.Table = 'table';
347
348
  ListViewType.Map = 'map';
348
349
  ListViewType.Gallery = 'gallery';
349
350
  class RouterViewAction extends ViewAction {
350
- constructor(icon, link, outlet, tooltip) {
351
- super('router-link', null, null, icon, tooltip);
351
+ constructor(icon, link, outlet, tooltip, text) {
352
+ super('router-link', null, null, icon, tooltip, text);
352
353
  this.outlet = null;
353
354
  this.link = null;
354
355
  this.outlet = outlet;
@@ -1326,6 +1327,12 @@ class AdvancedSearchComponent {
1326
1327
  return f.member !== this.selectedField.field;
1327
1328
  });
1328
1329
  }
1330
+ else { // selectedField is multiTerm: just checking if we already have the newly selected filterClause in filters
1331
+ const isDuplicate = this.filters.some(f => f.toString() === filterClause.toString());
1332
+ if (isDuplicate) {
1333
+ return;
1334
+ }
1335
+ }
1329
1336
  this.filters.push(filterClause);
1330
1337
  this.fieldValue = undefined;
1331
1338
  }
@@ -3092,12 +3099,14 @@ class ShellSidebarLayoutComponent {
3092
3099
  }
3093
3100
  }
3094
3101
  ShellSidebarLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellSidebarLayoutComponent, deps: [{ token: UserSettingsService }], target: i0.ɵɵFactoryTarget.Component });
3095
- ShellSidebarLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: { config: "config" }, ngImport: i0, template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\"\r\n role=\"dialog\"\r\n aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\"\r\n class=\"sidebar-off-canvas-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\"\r\n aria-hidden=\"true\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img *ngIf=\"!showMobileSidebar\"\r\n class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\"\r\n [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button-md\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\">\r\n <div class=\"sidebar-static-menu-header-near-container\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\"\r\n *ngIf=\"showMobileSidebar\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-far-container\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BreadcrumbComponent, selector: "lib-breadcrumb" }, { kind: "component", type: ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: ["section-links", "config", "sticky"] }, { kind: "component", type: ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header" }] });
3102
+ ShellSidebarLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: { config: "config", sidebarFooterTemplate: "sidebarFooterTemplate" }, ngImport: i0, template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\"\r\n role=\"dialog\"\r\n aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\"\r\n class=\"sidebar-off-canvas-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\"\r\n aria-hidden=\"true\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img *ngIf=\"!showMobileSidebar\"\r\n class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\"\r\n *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\"\r\n [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button-md\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\">\r\n <div class=\"sidebar-static-menu-header-near-container\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\"\r\n *ngIf=\"showMobileSidebar\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-far-container\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BreadcrumbComponent, selector: "lib-breadcrumb" }, { kind: "component", type: ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: ["section-links", "config", "sticky"] }, { kind: "component", type: ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header" }] });
3096
3103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellSidebarLayoutComponent, decorators: [{
3097
3104
  type: Component,
3098
- args: [{ selector: 'lib-shell-sidebar-layout', template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\"\r\n role=\"dialog\"\r\n aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\"\r\n class=\"sidebar-off-canvas-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\"\r\n aria-hidden=\"true\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img *ngIf=\"!showMobileSidebar\"\r\n class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\"\r\n [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button-md\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\">\r\n <div class=\"sidebar-static-menu-header-near-container\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\"\r\n *ngIf=\"showMobileSidebar\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-far-container\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>" }]
3105
+ args: [{ selector: 'lib-shell-sidebar-layout', template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\"\r\n role=\"dialog\"\r\n aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\"\r\n class=\"sidebar-off-canvas-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\"\r\n aria-hidden=\"true\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img *ngIf=\"!showMobileSidebar\"\r\n class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\"\r\n *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\"\r\n [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button-md\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\"\r\n type=\"button\"\r\n class=\"sidebar-static-menu-toggle-button\"\r\n (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\">\r\n <div class=\"sidebar-static-menu-header-near-container\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\"\r\n *ngIf=\"showMobileSidebar\">\r\n <img class=\"h-8 w-auto\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-far-container\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>" }]
3099
3106
  }], ctorParameters: function () { return [{ type: UserSettingsService }]; }, propDecorators: { config: [{
3100
3107
  type: Input
3108
+ }], sidebarFooterTemplate: [{
3109
+ type: Input
3101
3110
  }] } });
3102
3111
 
3103
3112
  class ShellFooterComponent {
@@ -3131,46 +3140,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
3131
3140
  }] } });
3132
3141
 
3133
3142
  class ShellLayoutComponent {
3134
- constructor(document, router, location, config, componentLoaderFactory) {
3135
- this.document = document;
3136
- this.router = router;
3137
- this.location = location;
3138
- this.config = config;
3139
- this.componentLoaderFactory = componentLoaderFactory;
3140
- this.dynamicComponentHosts = null;
3143
+ constructor(_router, _componentLoaderFactory, _config) {
3144
+ this._router = _router;
3145
+ this._componentLoaderFactory = _componentLoaderFactory;
3146
+ this._config = _config;
3147
+ this._dynamicComponentHosts = null;
3148
+ this._routerSub$ = null;
3141
3149
  this.showRightPaneSM = false;
3142
- this.routerSub$ = null;
3143
3150
  this.activeConfig = new DefaultShellConfig();
3144
3151
  this.loaded = false;
3145
3152
  this.hideSidebar = false;
3146
- if (!config) {
3147
- config = new DefaultShellConfig();
3153
+ if (!_config) {
3154
+ _config = new DefaultShellConfig();
3148
3155
  }
3149
- this.activeConfig = config;
3156
+ this.activeConfig = _config;
3150
3157
  }
3151
3158
  ngAfterViewChecked() {
3152
3159
  setTimeout(() => { this.loaded = true; }, 200);
3153
3160
  }
3154
3161
  ngOnInit() {
3155
- this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {
3162
+ this._routerSub$ = this._router
3163
+ .events
3164
+ .pipe(filter((event) => event instanceof ActivationStart)).subscribe((event) => {
3156
3165
  var _a, _b;
3157
- // console.log('ShellLayoutComponent ActivationStart', e);
3158
- if (e === null || e === void 0 ? void 0 : e.snapshot) {
3159
- // console.log('ShellLayoutComponent ActivationStart snapshot', (e as ActivationStart)?.snapshot);
3160
- if ((_a = e === null || e === void 0 ? void 0 : e.snapshot) === null || _a === void 0 ? void 0 : _a.data) {
3161
- // console.log('ShellLayoutComponent ActivationStart snapshot data', (e as ActivationStart)?.snapshot.data);
3162
- if ((_b = e === null || e === void 0 ? void 0 : e.snapshot) === null || _b === void 0 ? void 0 : _b.data.shell) {
3163
- // console.log('ShellLayoutComponent ActivationStart snapshot data shell params',
3164
- // (e as ActivationStart)?.snapshot.data.shell);
3165
- this.activeConfig = e === null || e === void 0 ? void 0 : e.snapshot.data.shell;
3166
- // console.log('ShellLayoutComponent activeConfig from route: ', this.activeConfig);
3166
+ if (event === null || event === void 0 ? void 0 : event.snapshot) {
3167
+ if ((_a = event === null || event === void 0 ? void 0 : event.snapshot) === null || _a === void 0 ? void 0 : _a.data) {
3168
+ if ((_b = event === null || event === void 0 ? void 0 : event.snapshot) === null || _b === void 0 ? void 0 : _b.data.shell) {
3169
+ this.activeConfig = event === null || event === void 0 ? void 0 : event.snapshot.data.shell;
3167
3170
  if (this.activeConfig.customHeaderComponent) {
3168
3171
  this.initCustomComponents();
3169
3172
  }
3170
3173
  }
3171
3174
  else {
3172
- this.activeConfig = this.config ? this.config : new DefaultShellConfig();
3173
- // console.log('ShellLayoutComponent default activeConfig: ', this.activeConfig);
3175
+ this.activeConfig = this._config ? this._config : new DefaultShellConfig();
3174
3176
  }
3175
3177
  }
3176
3178
  }
@@ -3180,43 +3182,40 @@ class ShellLayoutComponent {
3180
3182
  this.initCustomComponents();
3181
3183
  }
3182
3184
  initCustomComponents() {
3183
- if (this.dynamicComponentHosts && this.dynamicComponentHosts.length > 0) {
3184
- this.loadCustomComponent(this.dynamicComponentHosts.find((_) => _.hostName === 'Header'));
3185
- // since you're not using it...
3186
- // this.loadCustomComponent(this.dynamicComponentHosts.find(_ => _.hostName === 'Footer'));
3185
+ if (this._dynamicComponentHosts && this._dynamicComponentHosts.length > 0) {
3186
+ this.loadCustomComponent(this._dynamicComponentHosts.find((_) => _.hostName === 'Header'));
3187
3187
  }
3188
3188
  }
3189
3189
  ngOnDestroy() {
3190
- if (this.routerSub$) {
3191
- this.routerSub$.unsubscribe();
3190
+ if (this._routerSub$) {
3191
+ this._routerSub$.unsubscribe();
3192
3192
  }
3193
3193
  }
3194
3194
  loadCustomComponent(host) {
3195
3195
  if (host) {
3196
3196
  const viewContainerRef = host.viewContainerRef;
3197
3197
  if (viewContainerRef && this.activeConfig.customHeaderComponent) {
3198
- const clf = this.componentLoaderFactory.createLoader(viewContainerRef);
3199
- const headerCompRef = clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();
3198
+ const clf = this._componentLoaderFactory.createLoader(viewContainerRef);
3199
+ clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();
3200
3200
  }
3201
3201
  }
3202
3202
  }
3203
3203
  }
3204
- ShellLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: DOCUMENT }, { token: i1$1.Router }, { token: i1.Location }, { token: SHELL_CONFIG }, { token: ComponentLoaderFactory }], target: i0.ɵɵFactoryTarget.Component });
3205
- ShellLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ShellLayoutComponent, selector: "lib-shell-layout", viewQueries: [{ propertyName: "dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0, template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"></lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: ["config"] }, { kind: "component", type: ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: ["config"] }, { kind: "component", type: SidePaneComponent, selector: "lib-side-pane", inputs: ["visible"], outputs: ["onComplete"] }, { kind: "component", type: ToasterContainerComponent, selector: "lib-toaster-container" }] });
3204
+ ShellLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1$1.Router }, { token: ComponentLoaderFactory }, { token: SHELL_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
3205
+ ShellLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ShellLayoutComponent, selector: "lib-shell-layout", inputs: { sidebarFooterTemplate: "sidebarFooterTemplate" }, viewQueries: [{ propertyName: "_dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0, template: "<div [class.hidden]=\"!loaded\"\r\n [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: ["config", "sidebarFooterTemplate"] }, { kind: "component", type: ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: ["config"] }, { kind: "component", type: SidePaneComponent, selector: "lib-side-pane", inputs: ["visible"], outputs: ["onComplete"] }, { kind: "component", type: ToasterContainerComponent, selector: "lib-toaster-container" }] });
3206
3206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellLayoutComponent, decorators: [{
3207
3207
  type: Component,
3208
- args: [{ selector: 'lib-shell-layout', template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"></lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>" }]
3208
+ args: [{ selector: 'lib-shell-layout', template: "<div [class.hidden]=\"!loaded\"\r\n [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\"\r\n class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\"\r\n class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>" }]
3209
3209
  }], ctorParameters: function () {
3210
- return [{ type: undefined, decorators: [{
3211
- type: Inject,
3212
- args: [DOCUMENT]
3213
- }] }, { type: i1$1.Router }, { type: i1.Location }, { type: undefined, decorators: [{
3210
+ return [{ type: i1$1.Router }, { type: ComponentLoaderFactory }, { type: undefined, decorators: [{
3214
3211
  type: Inject,
3215
3212
  args: [SHELL_CONFIG]
3216
- }] }, { type: ComponentLoaderFactory }];
3217
- }, propDecorators: { dynamicComponentHosts: [{
3213
+ }] }];
3214
+ }, propDecorators: { _dynamicComponentHosts: [{
3218
3215
  type: ViewChildren,
3219
3216
  args: [DynamicComponentHostDirective]
3217
+ }], sidebarFooterTemplate: [{
3218
+ type: Input
3220
3219
  }] } });
3221
3220
 
3222
3221
  class ViewLayoutComponent {
@@ -3286,10 +3285,10 @@ class ViewLayoutComponent {
3286
3285
  }
3287
3286
  }
3288
3287
  ViewLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ViewLayoutComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
3289
- ViewLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ViewLayoutComponent, selector: "lib-view-layout", inputs: { header: ["show-header", "header"], fluid: "fluid", title: "title", icon: "icon", actions: "actions", busy: "busy", searchPlaceholder: ["search-placeholder", "searchPlaceholder"], view: "view", metaItems: ["meta-items", "metaItems"] }, outputs: { onAction: "onAction", onSearch: "onSearch" }, viewQueries: [{ propertyName: "searchInput$", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<header *ngIf=\"header\"\r\n class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\"\r\n [class]=\"icon + ' title-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\"\r\n class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\"\r\n [class]=\"meta.icon + ' meta-icon'\"\r\n aria-hidden=\"true\">\r\n </i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\"\r\n class=\"sr-only\">\r\n Search\r\n </label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\"\r\n type=\"button\"\r\n href=\"#\"\r\n class=\"mr-1 disabled:opacity-75 btn-view-header\"\r\n (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\"\r\n class=\"selected-view-indicator\">\r\n </span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"mr-1 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"mr-1 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>", 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
3288
+ ViewLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ViewLayoutComponent, selector: "lib-view-layout", inputs: { header: ["show-header", "header"], fluid: "fluid", title: "title", icon: "icon", actions: "actions", busy: "busy", searchPlaceholder: ["search-placeholder", "searchPlaceholder"], view: "view", metaItems: ["meta-items", "metaItems"] }, outputs: { onAction: "onAction", onSearch: "onSearch" }, viewQueries: [{ propertyName: "searchInput$", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<header *ngIf=\"header\"\r\n class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\"\r\n [class]=\"icon + ' title-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\"\r\n class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\"\r\n [class]=\"meta.icon + ' meta-icon'\"\r\n aria-hidden=\"true\">\r\n </i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\"\r\n [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\"\r\n class=\"sr-only\">\r\n Search\r\n </label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\"\r\n type=\"button\"\r\n href=\"#\"\r\n class=\"p-2 disabled:opacity-75 btn-view-header\"\r\n (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\"\r\n class=\"selected-view-indicator\">\r\n </span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"p-2 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"\r\n [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"p-2 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"\r\n [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
3290
3289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ViewLayoutComponent, decorators: [{
3291
3290
  type: Component,
3292
- args: [{ selector: 'lib-view-layout', template: "<header *ngIf=\"header\"\r\n class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\"\r\n [class]=\"icon + ' title-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\"\r\n class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\"\r\n [class]=\"meta.icon + ' meta-icon'\"\r\n aria-hidden=\"true\">\r\n </i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\"\r\n class=\"sr-only\">\r\n Search\r\n </label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\"\r\n type=\"button\"\r\n href=\"#\"\r\n class=\"mr-1 disabled:opacity-75 btn-view-header\"\r\n (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\"\r\n class=\"selected-view-indicator\">\r\n </span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"mr-1 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"mr-1 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>" }]
3291
+ args: [{ selector: 'lib-view-layout', template: "<header *ngIf=\"header\"\r\n class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\"\r\n [class]=\"icon + ' title-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\"\r\n class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\"\r\n [class]=\"meta.icon + ' meta-icon'\"\r\n aria-hidden=\"true\">\r\n </i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\"\r\n [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\"\r\n class=\"sr-only\">\r\n Search\r\n </label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\"\r\n type=\"button\"\r\n href=\"#\"\r\n class=\"p-2 disabled:opacity-75 btn-view-header\"\r\n (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\"\r\n class=\"selected-view-indicator\">\r\n </span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"p-2 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"\r\n [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"p-2 btn-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"\r\n [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>" }]
3293
3292
  }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }]; }, propDecorators: { searchInput$: [{
3294
3293
  type: ViewChild,
3295
3294
  args: ['search']