@sarasanalytics-com/design-system 0.0.132 → 0.0.133

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.
@@ -33,11 +33,11 @@ export class AvatarComponent {
33
33
  });
34
34
  }
35
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AvatarComponent, isStandalone: true, selector: "sa-avatar", inputs: { id: "id", imagePath: "imagePath", altText: "altText", size: "size" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none}.avatar:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AvatarComponent, isStandalone: true, selector: "sa-avatar", inputs: { id: "id", imagePath: "imagePath", altText: "altText", size: "size" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <span *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</span>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none;margin-bottom:0}.avatar:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AvatarComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'sa-avatar', standalone: true, imports: [NgIf], template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none}.avatar:hover{cursor:pointer}\n"] }]
40
+ args: [{ selector: 'sa-avatar', standalone: true, imports: [NgIf], template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <span *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</span>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none;margin-bottom:0}.avatar:hover{cursor:pointer}\n"] }]
41
41
  }], propDecorators: { id: [{
42
42
  type: Input
43
43
  }], imagePath: [{
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
53
53
  }], onMouseOutEvent: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN2QyxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQWFZLGlCQUFZLEdBQUcsSUFBSSxZQUFZLENBQUE7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLFlBQVksQ0FBQTtRQUNqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxDQUFBO1FBRTVDLG9CQUFlLEdBQUcsRUFBRSxDQUFBO0tBNEJyQjtJQTFCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDWixDQUFBO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDdkIsR0FBRztTQUNKLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3ZCLEdBQUc7U0FDSixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVU7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDeEIsR0FBRyxJQUFJLENBQUMsZUFBZTtZQUN2QixHQUFHO1NBQ0osQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0FyQ1UsZUFBZTtrR0FBZixlQUFlLDJSQ1g1QixvVEFLQSxvbEJERVksSUFBSTs7MkZBSUgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOzhCQUtOLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWF2YXRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgaW1hZ2VQYXRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFsdFRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyXG4gIEBPdXRwdXQoKSBvbk1vdXNlSW5FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXJcbiAgQE91dHB1dCgpIG9uTW91c2VPdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXJcblxuICBldmVudEVtaXRPYmplY3QgPSB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRFbWl0T2JqZWN0ID0ge1xuICAgICAgaWQ6IHRoaXMuaWRcbiAgICB9XG4gIH1cblxuICBhdmF0YXJDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xpY2tFdmVudC5lbWl0KHtcbiAgICAgIC4uLnRoaXMuZXZlbnRFbWl0T2JqZWN0LFxuICAgICAgZXZ0XG4gICAgfSlcbiAgfVxuXG4gIG1vdXNlRW50ZXIoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMub25Nb3VzZUluRXZlbnQuZW1pdCh7XG4gICAgICAuLi50aGlzLmV2ZW50RW1pdE9iamVjdCxcbiAgICAgIGV2dFxuICAgIH0pXG4gIH1cblxuICBtb3VzZUxlYXZlKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLm9uTW91c2VPdXRFdmVudC5lbWl0KHtcbiAgICAgIC4uLnRoaXMuZXZlbnRFbWl0T2JqZWN0LFxuICAgICAgZXZ0XG4gICAgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF2YXRhciB7e3NpemV9fVwiIChjbGljayk9XCJhdmF0YXJDbGlja2VkKCRldmVudClcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIlxuICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIj5cbiAgPGltZyAqbmdJZj1cImltYWdlUGF0aFwiIGNsYXNzPVwiYXZhdGFyLWltZ1wiIGFsdD1cInt7YWx0VGV4dH19XCIgc3JjPVwie3tpbWFnZVBhdGh9fVwiPlxuICA8cCAqbmdJZj1cIiFpbWFnZVBhdGhcIiBjbGFzcz1cImF2YXRhci1pbWdcIj57e2FsdFRleHR9fTwvcD5cbjwvZGl2PlxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN2QyxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQWFZLGlCQUFZLEdBQUcsSUFBSSxZQUFZLENBQUE7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLFlBQVksQ0FBQTtRQUNqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxDQUFBO1FBRTVDLG9CQUFlLEdBQUcsRUFBRSxDQUFBO0tBNEJyQjtJQTFCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDWixDQUFBO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDdkIsR0FBRztTQUNKLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3ZCLEdBQUc7U0FDSixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVU7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDeEIsR0FBRyxJQUFJLENBQUMsZUFBZTtZQUN2QixHQUFHO1NBQ0osQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0FyQ1UsZUFBZTtrR0FBZixlQUFlLDJSQ1g1QiwwVEFLQSxvbUJERVksSUFBSTs7MkZBSUgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOzhCQUtOLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWF2YXRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgaW1hZ2VQYXRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFsdFRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyXG4gIEBPdXRwdXQoKSBvbk1vdXNlSW5FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXJcbiAgQE91dHB1dCgpIG9uTW91c2VPdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXJcblxuICBldmVudEVtaXRPYmplY3QgPSB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRFbWl0T2JqZWN0ID0ge1xuICAgICAgaWQ6IHRoaXMuaWRcbiAgICB9XG4gIH1cblxuICBhdmF0YXJDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xpY2tFdmVudC5lbWl0KHtcbiAgICAgIC4uLnRoaXMuZXZlbnRFbWl0T2JqZWN0LFxuICAgICAgZXZ0XG4gICAgfSlcbiAgfVxuXG4gIG1vdXNlRW50ZXIoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMub25Nb3VzZUluRXZlbnQuZW1pdCh7XG4gICAgICAuLi50aGlzLmV2ZW50RW1pdE9iamVjdCxcbiAgICAgIGV2dFxuICAgIH0pXG4gIH1cblxuICBtb3VzZUxlYXZlKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLm9uTW91c2VPdXRFdmVudC5lbWl0KHtcbiAgICAgIC4uLnRoaXMuZXZlbnRFbWl0T2JqZWN0LFxuICAgICAgZXZ0XG4gICAgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF2YXRhciB7e3NpemV9fVwiIChjbGljayk9XCJhdmF0YXJDbGlja2VkKCRldmVudClcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIlxuICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIj5cbiAgPGltZyAqbmdJZj1cImltYWdlUGF0aFwiIGNsYXNzPVwiYXZhdGFyLWltZ1wiIGFsdD1cInt7YWx0VGV4dH19XCIgc3JjPVwie3tpbWFnZVBhdGh9fVwiPlxuICA8c3BhbiAqbmdJZj1cIiFpbWFnZVBhdGhcIiBjbGFzcz1cImF2YXRhci1pbWdcIj57e2FsdFRleHR9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -24,13 +24,13 @@ export class SAMenuItemComponent {
24
24
  this.onEvent.emit({ type: 'click', item });
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item", showRound: "showRound" }, outputs: { onEvent: "onEvent" }, providers: [IconService], viewQueries: [{ propertyName: "menuDirective", first: true, predicate: i0.forwardRef(() => MenuDirective), descendants: true }], ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => ChipsComponent), selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: i0.forwardRef(() => HttpClientModule) }, { kind: "component", type: i0.forwardRef(() => IconComponent), selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: i0.forwardRef(() => StatusDotComponent), selector: "sa-status-dot", inputs: ["config"] }, { kind: "directive", type: i0.forwardRef(() => MenuDirective), selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent", "onAttached", "onDetached"] }] }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item", showRound: "showRound" }, outputs: { onEvent: "onEvent" }, providers: [IconService], viewQueries: [{ propertyName: "menuDirective", first: true, predicate: i0.forwardRef(() => MenuDirective), descendants: true }], ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status {{item['className']}}\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\" class=\"flex ml-auto\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" class=\"flex\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:12px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}.ml-auto{margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => ChipsComponent), selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: i0.forwardRef(() => HttpClientModule) }, { kind: "component", type: i0.forwardRef(() => IconComponent), selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: i0.forwardRef(() => StatusDotComponent), selector: "sa-status-dot", inputs: ["config"] }, { kind: "directive", type: i0.forwardRef(() => MenuDirective), selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent", "onAttached", "onDetached"] }] }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'sa-menu-item', standalone: true, imports: [CommonModule, ChipsComponent, HttpClientModule, IconComponent, StatusDotComponent,
32
32
  forwardRef(() => MenuDirective)
33
- ], providers: [IconService], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}\n"] }]
33
+ ], providers: [IconService], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status {{item['className']}}\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\" class=\"flex ml-auto\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" class=\"flex\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:12px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}.ml-auto{margin-left:auto}\n"] }]
34
34
  }], propDecorators: { item: [{
35
35
  type: Input,
36
36
  args: ['item']
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
43
43
  type: ViewChild,
44
44
  args: [forwardRef(() => MenuDirective)]
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVl0RCxNQUFNLE9BQU8sbUJBQW1CO0lBVmhDO1FBYVksWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBZTNEO0lBYkMsMkRBQTJEO0lBRTNELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7WUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFlO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBakJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDhJQUpuQixDQUFDLFdBQVcsQ0FBQyw2RkFRSSxhQUFhLGlEQ3hCM0MsazJDQXNCQSwreENEVFksWUFBWSwwWUFBRSxjQUFjLGtPQUFDLGdCQUFnQixvREFBRSxhQUFhLDBNQUFFLGtCQUFrQixtR0FDdkUsYUFBYTs7MkZBTXJCLG1CQUFtQjtrQkFWL0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCO3dCQUN4RixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO3FCQUNoQyxhQUNVLENBQUMsV0FBVyxDQUFDOzhCQUtULElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDTyxTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBQ1IsT0FBTztzQkFBaEIsTUFBTTtnQkFDcUMsYUFBYTtzQkFBeEQsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0RvdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0YXR1cy1kb3Qvc3RhdHVzLWRvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudURpcmVjdGl2ZSB9IGZyb20gJy4uL21lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudS1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hpcHNDb21wb25lbnQsSHR0cENsaWVudE1vZHVsZSwgSWNvbkNvbXBvbmVudCwgU3RhdHVzRG90Q29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYoKCkgPT4gTWVudURpcmVjdGl2ZSkgXG4gIF0sXG4gIHByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgU0FNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoJ2l0ZW0nKSBpdGVtOiBJTWVudUl0ZW07XG4gIEBJbnB1dCgnc2hvd1JvdW5kJykgc2hvd1JvdW5kOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBNZW51RGlyZWN0aXZlKSkgbWVudURpcmVjdGl2ZTogTWVudURpcmVjdGl2ZTtcbiAgLy8gQFZpZXdDaGlsZChNZW51RGlyZWN0aXZlKSBtZW51RGlyZWN0aXZlPzogTWVudURpcmVjdGl2ZTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMubWVudURpcmVjdGl2ZSkge1xuICAgICAgdGhpcy5tZW51RGlyZWN0aXZlLm9uRXZlbnQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uRXZlbnQuZW1pdChldmVudCk7IC8vIOKchSByZS1lbWl0IHRvIFNBTWVudUNvbXBvbmVudFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3B0aW9uQ2xpY2tlZChpdGVtOiBJTWVudUl0ZW0pIHtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7IHR5cGU6ICdjbGljaycsIGl0ZW0gfSk7XG4gIH1cbn1cbiIsIjwhLS0gPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic2EtbWVudS1pdGVtXCI+XG4gICAgPHNwYW4+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG48L2Rpdj4gLS0+XG5cbjxkaXYgY2xhc3M9XCJzZWN0aW9uLWl0ZW0ge3tpdGVtPy5zZXByYXRvclBvc2l0aW9ufX1cIiBbbmdTdHlsZV09XCJ7ICdib3JkZXItcmFkaXVzJzogc2hvd1JvdW5kID8gJzVweCcgOiAnMCcgfVwiIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJ1wiIChjbGljayk9XCJvcHRpb25DbGlja2VkKGl0ZW0pXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1c1wiIFtzYU1lbnVdPVwiaXRlbT8uc3ViTWVudVwiPlxuICAgICAgICA8c2Etc3RhdHVzLWRvdCAqbmdJZj1cIml0ZW0uc3RhdHVzRG90XCIgW2NvbmZpZ109XCJpdGVtPy5zdGF0dXNEb3RcIj48L3NhLXN0YXR1cy1kb3Q+XG4gICAgICAgIDxzYS1pY29uIGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiaXRlbS5pY29uXCIgW2ljb25dPVwiaXRlbT8uaWNvbj8uaWNvblwiICBbaWNvblBhdGhdPVwiaXRlbVsnaWNvbiddPy5pY29uUGF0aFwiIFtpY29uVXJsXT1cIml0ZW1bJ2ljb24nXT8uaWNvblVybFwiIFtzaXplXT1cIml0ZW1bJ2ljb24nXT8uc2l6ZVwiIFtjdXN0b21DbGFzc109XCJpdGVtWydpY29uJ10/LmN1c3RvbUNsYXNzXCI+PC9zYS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNhLWdyb3VwSXRlbS1sYWJsZVwiID57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0/LnN1Yk1lbnVcIj5cbiAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidyaWdodENoZXZyb25PdXRsaW5lZCdcIiBbc2l6ZV09XCInMjAnXCI+PC9zYS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNlY3Rpb24gZm9yIHNob3dpbmcgY2hpcHMgaWYgY2hpcHMgYXJlIGF2YWlsYWJsZSBpbiBvYmplY3QgIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJpdGVtLmNoaXBzXCIgY2xhc3M9XCJ0YWdzXCI+XG4gICAgICAgIEBmb3IgKGl0bSBvZiBpdGVtLmNoaXBzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHNhLWNoaXAgKm5nSWY9XCJpdG0udGV4dFwiIFt0eXBlXT1cIml0bS50eXBlXCIgW3N0YXRlXT1cIml0bS5zdGF0ZVwiIFtmaWxsaW5nXT1cIml0bS5maWxsaW5nXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0bS50ZXh0XCI+PC9zYS1jaGlwPlxuICAgICAgICA8IS0tIDxzcGFuIFtuZ0NsYXNzXT1cIml0bS5zdGF0dXMgPT0gJ2FjdGl2ZScgPyAndGFnLWFjdGl2ZScgOiAndGFnLWluYWN0aXZlJ1wiIGNsYXNzPVwiXCI+e3tpdG0ubGFiZWx9fTwvc3Bhbj4gLS0+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVl0RCxNQUFNLE9BQU8sbUJBQW1CO0lBVmhDO1FBYVksWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBZTNEO0lBYkMsMkRBQTJEO0lBRTNELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7WUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFlO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBakJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDhJQUpuQixDQUFDLFdBQVcsQ0FBQyw2RkFRSSxhQUFhLGlEQ3hCM0MsODVDQXNCQSx5ekNEVFksWUFBWSwwWUFBRSxjQUFjLGtPQUFDLGdCQUFnQixvREFBRSxhQUFhLDBNQUFFLGtCQUFrQixtR0FDdkUsYUFBYTs7MkZBTXJCLG1CQUFtQjtrQkFWL0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCO3dCQUN4RixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO3FCQUNoQyxhQUNVLENBQUMsV0FBVyxDQUFDOzhCQUtULElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDTyxTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBQ1IsT0FBTztzQkFBaEIsTUFBTTtnQkFDcUMsYUFBYTtzQkFBeEQsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0RvdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0YXR1cy1kb3Qvc3RhdHVzLWRvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudURpcmVjdGl2ZSB9IGZyb20gJy4uL21lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudS1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hpcHNDb21wb25lbnQsSHR0cENsaWVudE1vZHVsZSwgSWNvbkNvbXBvbmVudCwgU3RhdHVzRG90Q29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYoKCkgPT4gTWVudURpcmVjdGl2ZSkgXG4gIF0sXG4gIHByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgU0FNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoJ2l0ZW0nKSBpdGVtOiBJTWVudUl0ZW07XG4gIEBJbnB1dCgnc2hvd1JvdW5kJykgc2hvd1JvdW5kOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBNZW51RGlyZWN0aXZlKSkgbWVudURpcmVjdGl2ZTogTWVudURpcmVjdGl2ZTtcbiAgLy8gQFZpZXdDaGlsZChNZW51RGlyZWN0aXZlKSBtZW51RGlyZWN0aXZlPzogTWVudURpcmVjdGl2ZTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMubWVudURpcmVjdGl2ZSkge1xuICAgICAgdGhpcy5tZW51RGlyZWN0aXZlLm9uRXZlbnQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uRXZlbnQuZW1pdChldmVudCk7IC8vIOKchSByZS1lbWl0IHRvIFNBTWVudUNvbXBvbmVudFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3B0aW9uQ2xpY2tlZChpdGVtOiBJTWVudUl0ZW0pIHtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7IHR5cGU6ICdjbGljaycsIGl0ZW0gfSk7XG4gIH1cbn1cbiIsIjwhLS0gPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic2EtbWVudS1pdGVtXCI+XG4gICAgPHNwYW4+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG48L2Rpdj4gLS0+XG5cbjxkaXYgY2xhc3M9XCJzZWN0aW9uLWl0ZW0ge3tpdGVtPy5zZXByYXRvclBvc2l0aW9ufX1cIiBbbmdTdHlsZV09XCJ7ICdib3JkZXItcmFkaXVzJzogc2hvd1JvdW5kID8gJzVweCcgOiAnMCcgfVwiIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJ1wiIChjbGljayk9XCJvcHRpb25DbGlja2VkKGl0ZW0pXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cyB7e2l0ZW1bJ2NsYXNzTmFtZSddfX1cIiBbc2FNZW51XT1cIml0ZW0/LnN1Yk1lbnVcIj5cbiAgICAgICAgPHNhLXN0YXR1cy1kb3QgKm5nSWY9XCJpdGVtLnN0YXR1c0RvdFwiIFtjb25maWddPVwiaXRlbT8uc3RhdHVzRG90XCI+PC9zYS1zdGF0dXMtZG90PlxuICAgICAgICA8c2EtaWNvbiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cIml0ZW0uaWNvblwiIFtpY29uXT1cIml0ZW0/Lmljb24/Lmljb25cIiAgW2ljb25QYXRoXT1cIml0ZW1bJ2ljb24nXT8uaWNvblBhdGhcIiBbaWNvblVybF09XCJpdGVtWydpY29uJ10/Lmljb25VcmxcIiBbc2l6ZV09XCJpdGVtWydpY29uJ10/LnNpemVcIiBbY3VzdG9tQ2xhc3NdPVwiaXRlbVsnaWNvbiddPy5jdXN0b21DbGFzc1wiPjwvc2EtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYS1ncm91cEl0ZW0tbGFibGVcIiA+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtPy5zdWJNZW51XCIgY2xhc3M9XCJmbGV4IG1sLWF1dG9cIj5cbiAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidyaWdodENoZXZyb25PdXRsaW5lZCdcIiBjbGFzcz1cImZsZXhcIiBbc2l6ZV09XCInMjAnXCI+PC9zYS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNlY3Rpb24gZm9yIHNob3dpbmcgY2hpcHMgaWYgY2hpcHMgYXJlIGF2YWlsYWJsZSBpbiBvYmplY3QgIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJpdGVtLmNoaXBzXCIgY2xhc3M9XCJ0YWdzXCI+XG4gICAgICAgIEBmb3IgKGl0bSBvZiBpdGVtLmNoaXBzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHNhLWNoaXAgKm5nSWY9XCJpdG0udGV4dFwiIFt0eXBlXT1cIml0bS50eXBlXCIgW3N0YXRlXT1cIml0bS5zdGF0ZVwiIFtmaWxsaW5nXT1cIml0bS5maWxsaW5nXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0bS50ZXh0XCI+PC9zYS1jaGlwPlxuICAgICAgICA8IS0tIDxzcGFuIFtuZ0NsYXNzXT1cIml0bS5zdGF0dXMgPT0gJ2FjdGl2ZScgPyAndGFnLWFjdGl2ZScgOiAndGFnLWluYWN0aXZlJ1wiIGNsYXNzPVwiXCI+e3tpdG0ubGFiZWx9fTwvc3Bhbj4gLS0+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -72,7 +72,7 @@ export class SAMenuComponent {
72
72
  this.onEvent.emit({ type: 'TAB_CLICK', activeTab: tabname, menu: this.menu });
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, decorators: [{
78
78
  type: Component,
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
85
85
  HttpClientModule,
86
86
  IconComponent,
87
87
  AvatarComponent,
88
- ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
88
+ ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.Overlay }], propDecorators: { position: [{
90
90
  type: Input
91
91
  }], menu: [{
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
99
99
  }], closeEvent: [{
100
100
  type: Output
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBR04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFTaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQStCbkQsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVGpCLGFBQVEsR0FBd0MsUUFBUSxDQUFDLENBQUMsbUJBQW1CO1FBRzVFLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCwyQ0FBMkM7UUFDM0MsZUFBVSxHQUFZLEtBQUssQ0FBQztRQStENUIsbUJBQWMsR0FBVyxDQUFDLENBQUMsQ0FBQyw2QkFBNkI7SUEzRHpELENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTlFLDhDQUE4QztZQUM5QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM1RSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBRUQsc0VBQXNFO1lBQ3RFLDJEQUEyRDtZQUMzRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLDhFQUE4RTtnQkFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQy9ELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsNERBQTREO1FBQzVELG9GQUFvRjtRQUNwRixpRkFBaUY7UUFDakYsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUMxRixLQUFLO1FBRUwsNENBQTRDO1FBQzVDLGdFQUFnRTtRQUNoRSx3REFBd0Q7UUFDeEQsK0NBQStDO1FBQy9DLG9HQUFvRztRQUNwRyxtREFBbUQ7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVSxFQUFFLElBQWU7UUFDekMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTFELHVFQUF1RTtRQUN2RSxJQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBSUQsWUFBWSxDQUFDLEtBQWEsRUFBQyxPQUFPO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDOzhHQTVFVSxlQUFlO2tHQUFmLGVBQWUsaU5BakJqQixDQUFDLFdBQVcsQ0FBQywrQ0NsRHhCLGluSUFnR00sd21IRHZERixZQUFZLG1iQUNaLG1CQUFtQiw2R0FJbkIsZ0JBQWdCLCtCQUNoQixhQUFhLHFMQUNiLGVBQWU7OzJGQW1CTixlQUFlO2tCQTlCM0IsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsYUFDVSxDQUFDLFdBQVcsQ0FBQzs0RUFrQmIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXRNZW51LFxuICBNYXRNZW51RGVmYXVsdE9wdGlvbnMsXG4gIE1hdE1lbnVJdGVtLFxuICBNYXRNZW51VHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge1xuICBPdmVybGF5LFxuICBQb3NpdGlvblN0cmF0ZWd5LFxuICBDb25uZWN0ZWRQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcbmltcG9ydCB7IFNBTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtbGlzdC9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElNZW51LCBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNYXRNZW51LFxuICAgIE1hdE1lbnVJdGVtLFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG5dLFxucHJvdmlkZXJzOiBbSWNvblNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5jc3MnLFxuICAvLyBhbmltYXRpb25zOiBbXG4gIC8vICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgLy8gICAgIHN0YXRlKCdpbicsIHN0eWxlKHtcbiAgLy8gICAgICAgd2lkdGg6ICcnLCAvLyBXaGVuIGV4cGFuZGVkIChmdWxseSBzaG93bilcbiAgLy8gICAgIH0pKSxcbiAgLy8gICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7XG4gIC8vICAgICAgIHdpZHRoOiAnMCcsIC8vIFdoZW4gY29sbGFwc2VkIChoaWRkZW4pXG4gIC8vICAgICB9KSksXG4gIC8vICAgICB0cmFuc2l0aW9uKCdpbiA8PT4gb3V0JywgW1xuICAvLyAgICAgICBhbmltYXRlKCcwLjJzIGVhc2UtaW4tb3V0JyksIC8vIEFuaW1hdGlvbiBzcGVlZCBhbmQgZWFzaW5nXG4gIC8vICAgICBdKVxuICAvLyAgIF0pXG4gIC8vIF1cbn0pXG5leHBvcnQgY2xhc3MgU0FNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7IC8vIERlZmF1bHQgcG9zaXRpb25cbiAgQElucHV0KCkgbWVudTogSU1lbnU7XG4gIEBJbnB1dCgpIGhvc3RFbDogYW55O1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbktleVVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIEBWaWV3Q2hpbGQoJ21lbnUnLCB7c3RhdGljOiB0cnVlfSkgbWVudTtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICkge1xuICB9XG5cbiAgXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbWVudSddICYmIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdNZW51IGNvbXBvbmVudCBkZXRlY3RlZCBjaGFuZ2VzOicsIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpO1xuICAgICAgXG4gICAgICAvLyBSZXNldCBhY3RpdmUgdGFiIGluZGV4IGlmIHRhYnMgaGF2ZSBjaGFuZ2VkXG4gICAgICBpZiAodGhpcy5tZW51Py50YWJzPy5sZW5ndGggJiYgdGhpcy5hY3RpdmVUYWJJbmRleCA+PSB0aGlzLm1lbnUudGFicy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIFByZXZlbnQgdGhlIG1lbnUgZnJvbSBjbG9zaW5nIGJ5IHN0b3BwaW5nIHByb3BhZ2F0aW9uIG9mIGFueSBldmVudHNcbiAgICAgIC8vIHRoYXQgbWlnaHQgdHJpZ2dlciBtZW51IGNsb3NpbmcgZHVyaW5nIHRoaXMgdXBkYXRlIGN5Y2xlXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoZSBtZW51IHN0YXlzIG9wZW4gYWZ0ZXIgdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgY29tcGxldGVzXG4gICAgICAgIGNvbnNvbGUubG9nKCdNZW51IHVwZGF0ZSBjb21wbGV0ZSwgbWVudSBzaG91bGQgcmVtYWluIG9wZW4nKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICB9IFxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIC8vIGNvbnN0IHBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgIC8vICAgbGVmdDogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgcmlnaHQ6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgdG9wOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIGJvdHRvbTogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH1cbiAgICAvLyB9O1xuXG4gICAgLy8gY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICAvLyBjb25zdCB1c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ2FyZENvbXBvbmVudCk7XG4gICAgLy8gY29uc3QgY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLnRpdGxlID0gJ25lZWQgbmR1ayByYSBiaGFpJ1xuICAgIC8vIGNvbXBSZWYuaW5zdGFuY2UuYm9keSA9ICdzb21ldGltZSBsaXR0bGUgYml0IHRoaXMgc29tZXRpbWVzIGxpdHRsZSBiaXQgdGhhdC4gQ29tbWluZyBub3QgY29tbWluZydcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmF2YXRhciA9ICcuLi9hc3NldHMvYXZhdGFyLnN2ZydcbiAgfVxuXG4gIGl0ZW1DbGlja2VkKGV2ZW50KXtcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljayhudWxsLGV2ZW50Lml0ZW0pXG4gIH0gXG5cbiAgb25NZW51SXRlbUNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IElNZW51SXRlbSl7XG4gICAgLy8gaXRlbS5pc1NlbGVjdGVkID0gIWl0ZW0uaXNTZWxlY3RlZDtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7dHlwZTogJ0NMSUNLJywgaXRlbSwgbWVudTogdGhpcy5tZW51fSk7XG4gICAgXG4gICAgLy8gQ2xvc2UgdGhlIG1lbnUgYWZ0ZXIgdGhlIGl0ZW0gaXMgY2xpY2tlZCwganVzdCBsaWtlIHRoZSBjbG9zZSBidXR0b25cbiAgICBpZihpdGVtLnN1Yk1lbnUgPT09IG51bGwgfHwgaXRlbS5zdWJNZW51ID09PSB1bmRlZmluZWQpe1xuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKGV2ZW50OiBhbnkpe1xuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnU0VBUkNIJywgdmFsdWU6ZXZlbnQudGFyZ2V0LnZhbHVlfSlcbiAgfVxuXG4gIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwOyAvLyBUcmFjayB0aGUgYWN0aXZlIHRhYiBpbmRleFxuXG4gIHNldEFjdGl2ZVRhYihpbmRleDogbnVtYmVyLHRhYm5hbWUpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7IC8vIFVwZGF0ZSB0aGUgYWN0aXZlIHRhYiBpbmRleFxuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnVEFCX0NMSUNLJywgYWN0aXZlVGFiOnRhYm5hbWUsIG1lbnU6IHRoaXMubWVudX0pXG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2EtbWVudVwiIFtuZ0NsYXNzXT1cIm1lbnUuc2hvd1RyYXkgPyAnc2EtbWVudS10cmF5IHNhLXJvdW5kLWJvcmRlcicgOiAnJ1wiXG4gICAgW25nU3R5bGVdPVwie3dpZHRoOiBtZW51LndpZHRoIHx8ICdtYXgtY29udGVudCd9XCI+XG4gICAgQGlmKG1lbnU/LnRpdGxlKXtcbiAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10aXRsZVwiPlxuICAgICAgICA8aDE+e3ttZW51Py50aXRsZX19PC9oMT5cbiAgICAgICAgPHNhLWljb24gW2ljb25dPVwiJ2Nsb3NlT3V0bGluZWQnXCIgW3NpemVdPVwiJzIwJ1wiIGNsYXNzPVwic2EtbWVudS1jbG9zZS1pY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUV2ZW50LmVtaXQoJGV2ZW50KVwiPjwvc2EtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIEBpZihtZW51Py5pdGVtR3JvdXBzICYmIG1lbnUuaXRlbUdyb3Vwcy5sZW5ndGgpe1xuICAgICAgICBAZm9yIChncm91cEl0ZW0gb2YgbWVudS5pdGVtR3JvdXBzOyB0cmFjayBncm91cEl0ZW0pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIiAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYobWVudT8uaXRlbXMgJiYgbWVudS5pdGVtcy5sZW5ndGgpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1pdGVtc1wiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBtZW51Lml0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+PC9zYS1tZW51LWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH0gLS0+XG5cblxuICAgIDwhLS0gVGFiIENvbnRlbnQgb3IgSXRlbSBHcm91cHMgLS0+XG4gICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1jb250ZW50LWlubmVyIHt7bWVudT8uc2hvd1NlYXJjaCA/ICdzYS1tZW51LWNvbnRlbnQtd2l0aC1zZWFyY2gnIDogJyd9fVwiPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnNob3dTZWFyY2gpe1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzZWFyY2hcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIChrZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQpXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwibWVudS5zZWFyY2hQbGFjZWhvbGRlclwiICBcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1lbnU/LnNob3dBZGRJY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnRhYnMpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtdGFic1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiBtZW51LnRhYnM7IGxldCBpID0gaW5kZXhcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVRhYihpLHRhYi5sYWJlbClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKHt7IHRhYi5pdGVtR3JvdXBzLmxlbmd0aCB9fSkgLS0+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gVGFicyBFbmQgLS0+XG5cbiAgICAgICAgICAgIEBpZihtZW51Py50YWJzPy5sZW5ndGgpe1xuICAgICAgICAgICAgQGlmKG1lbnUudGFic1thY3RpdmVUYWJJbmRleF0/Lml0ZW1Hcm91cHM/Lmxlbmd0aCl7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cEl0ZW0gb2YgbWVudS50YWJzW2FjdGl2ZVRhYkluZGV4XS5pdGVtR3JvdXBzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZihtZW51Py5pdGVtR3JvdXBzPy5sZW5ndGgpe1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXBJdGVtIG9mIG1lbnUuaXRlbUdyb3Vwc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMj57e2dyb3VwSXRlbS5ncm91cFRpdGxlfX08L2gyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwSXRlbS5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW3Nob3dSb3VuZF09XCJtZW51LnNob3dUcmF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYobWVudT8uaXRlbXMgJiYgbWVudT8uaXRlbXM/Lmxlbmd0aCl7XG4gICAgPGRpdiAqbmdJZj1cIm1lbnU/LnVzZXJcIiBjbGFzcz1cInByb2ZpbGUtYmFkZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPlxuICAgICAgICAgICAgPHNhLWF2YXRhciBbYWx0VGV4dF09XCJtZW51Py51c2VyPy5hbHRUZXh0XCIgW2ltYWdlUGF0aF09XCInJ1wiIFtzaXplXT1cIidsYXJnZSdcIj48L3NhLWF2YXRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWluZm9cIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+e3ttZW51Py51c2VyPy5uYW1lfX08L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInByb2ZpbGUtZW1haWxcIj57e21lbnU/LnVzZXI/LmVtYWlsfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWl0ZW1zXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudS5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKG9uRXZlbnQpPVwiaXRlbUNsaWNrZWQoJGV2ZW50KVwiPiA8L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH1cblxuPC9kaXY+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBR04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFTaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQStCbkQsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVGpCLGFBQVEsR0FBd0MsUUFBUSxDQUFDLENBQUMsbUJBQW1CO1FBRzVFLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCwyQ0FBMkM7UUFDM0MsZUFBVSxHQUFZLEtBQUssQ0FBQztRQStENUIsbUJBQWMsR0FBVyxDQUFDLENBQUMsQ0FBQyw2QkFBNkI7SUEzRHpELENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTlFLDhDQUE4QztZQUM5QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM1RSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBRUQsc0VBQXNFO1lBQ3RFLDJEQUEyRDtZQUMzRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLDhFQUE4RTtnQkFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQy9ELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsNERBQTREO1FBQzVELG9GQUFvRjtRQUNwRixpRkFBaUY7UUFDakYsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUMxRixLQUFLO1FBRUwsNENBQTRDO1FBQzVDLGdFQUFnRTtRQUNoRSx3REFBd0Q7UUFDeEQsK0NBQStDO1FBQy9DLG9HQUFvRztRQUNwRyxtREFBbUQ7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVSxFQUFFLElBQWU7UUFDekMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTFELHVFQUF1RTtRQUN2RSxJQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBSUQsWUFBWSxDQUFDLEtBQWEsRUFBQyxPQUFPO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDOzhHQTVFVSxlQUFlO2tHQUFmLGVBQWUsaU5BakJqQixDQUFDLFdBQVcsQ0FBQywrQ0NsRHhCLGluSUFnR00sb21IRHZERixZQUFZLG1iQUNaLG1CQUFtQiw2R0FJbkIsZ0JBQWdCLCtCQUNoQixhQUFhLHFMQUNiLGVBQWU7OzJGQW1CTixlQUFlO2tCQTlCM0IsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsYUFDVSxDQUFDLFdBQVcsQ0FBQzs0RUFrQmIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXRNZW51LFxuICBNYXRNZW51RGVmYXVsdE9wdGlvbnMsXG4gIE1hdE1lbnVJdGVtLFxuICBNYXRNZW51VHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge1xuICBPdmVybGF5LFxuICBQb3NpdGlvblN0cmF0ZWd5LFxuICBDb25uZWN0ZWRQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcbmltcG9ydCB7IFNBTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtbGlzdC9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElNZW51LCBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNYXRNZW51LFxuICAgIE1hdE1lbnVJdGVtLFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG5dLFxucHJvdmlkZXJzOiBbSWNvblNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5jc3MnLFxuICAvLyBhbmltYXRpb25zOiBbXG4gIC8vICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgLy8gICAgIHN0YXRlKCdpbicsIHN0eWxlKHtcbiAgLy8gICAgICAgd2lkdGg6ICcnLCAvLyBXaGVuIGV4cGFuZGVkIChmdWxseSBzaG93bilcbiAgLy8gICAgIH0pKSxcbiAgLy8gICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7XG4gIC8vICAgICAgIHdpZHRoOiAnMCcsIC8vIFdoZW4gY29sbGFwc2VkIChoaWRkZW4pXG4gIC8vICAgICB9KSksXG4gIC8vICAgICB0cmFuc2l0aW9uKCdpbiA8PT4gb3V0JywgW1xuICAvLyAgICAgICBhbmltYXRlKCcwLjJzIGVhc2UtaW4tb3V0JyksIC8vIEFuaW1hdGlvbiBzcGVlZCBhbmQgZWFzaW5nXG4gIC8vICAgICBdKVxuICAvLyAgIF0pXG4gIC8vIF1cbn0pXG5leHBvcnQgY2xhc3MgU0FNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7IC8vIERlZmF1bHQgcG9zaXRpb25cbiAgQElucHV0KCkgbWVudTogSU1lbnU7XG4gIEBJbnB1dCgpIGhvc3RFbDogYW55O1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbktleVVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIEBWaWV3Q2hpbGQoJ21lbnUnLCB7c3RhdGljOiB0cnVlfSkgbWVudTtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICkge1xuICB9XG5cbiAgXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbWVudSddICYmIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdNZW51IGNvbXBvbmVudCBkZXRlY3RlZCBjaGFuZ2VzOicsIGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpO1xuICAgICAgXG4gICAgICAvLyBSZXNldCBhY3RpdmUgdGFiIGluZGV4IGlmIHRhYnMgaGF2ZSBjaGFuZ2VkXG4gICAgICBpZiAodGhpcy5tZW51Py50YWJzPy5sZW5ndGggJiYgdGhpcy5hY3RpdmVUYWJJbmRleCA+PSB0aGlzLm1lbnUudGFicy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIFByZXZlbnQgdGhlIG1lbnUgZnJvbSBjbG9zaW5nIGJ5IHN0b3BwaW5nIHByb3BhZ2F0aW9uIG9mIGFueSBldmVudHNcbiAgICAgIC8vIHRoYXQgbWlnaHQgdHJpZ2dlciBtZW51IGNsb3NpbmcgZHVyaW5nIHRoaXMgdXBkYXRlIGN5Y2xlXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoZSBtZW51IHN0YXlzIG9wZW4gYWZ0ZXIgdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgY29tcGxldGVzXG4gICAgICAgIGNvbnNvbGUubG9nKCdNZW51IHVwZGF0ZSBjb21wbGV0ZSwgbWVudSBzaG91bGQgcmVtYWluIG9wZW4nKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICB9IFxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIC8vIGNvbnN0IHBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgIC8vICAgbGVmdDogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgcmlnaHQ6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgdG9wOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIGJvdHRvbTogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH1cbiAgICAvLyB9O1xuXG4gICAgLy8gY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICAvLyBjb25zdCB1c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ2FyZENvbXBvbmVudCk7XG4gICAgLy8gY29uc3QgY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLnRpdGxlID0gJ25lZWQgbmR1ayByYSBiaGFpJ1xuICAgIC8vIGNvbXBSZWYuaW5zdGFuY2UuYm9keSA9ICdzb21ldGltZSBsaXR0bGUgYml0IHRoaXMgc29tZXRpbWVzIGxpdHRsZSBiaXQgdGhhdC4gQ29tbWluZyBub3QgY29tbWluZydcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmF2YXRhciA9ICcuLi9hc3NldHMvYXZhdGFyLnN2ZydcbiAgfVxuXG4gIGl0ZW1DbGlja2VkKGV2ZW50KXtcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljayhudWxsLGV2ZW50Lml0ZW0pXG4gIH0gXG5cbiAgb25NZW51SXRlbUNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IElNZW51SXRlbSl7XG4gICAgLy8gaXRlbS5pc1NlbGVjdGVkID0gIWl0ZW0uaXNTZWxlY3RlZDtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7dHlwZTogJ0NMSUNLJywgaXRlbSwgbWVudTogdGhpcy5tZW51fSk7XG4gICAgXG4gICAgLy8gQ2xvc2UgdGhlIG1lbnUgYWZ0ZXIgdGhlIGl0ZW0gaXMgY2xpY2tlZCwganVzdCBsaWtlIHRoZSBjbG9zZSBidXR0b25cbiAgICBpZihpdGVtLnN1Yk1lbnUgPT09IG51bGwgfHwgaXRlbS5zdWJNZW51ID09PSB1bmRlZmluZWQpe1xuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKGV2ZW50OiBhbnkpe1xuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnU0VBUkNIJywgdmFsdWU6ZXZlbnQudGFyZ2V0LnZhbHVlfSlcbiAgfVxuXG4gIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwOyAvLyBUcmFjayB0aGUgYWN0aXZlIHRhYiBpbmRleFxuXG4gIHNldEFjdGl2ZVRhYihpbmRleDogbnVtYmVyLHRhYm5hbWUpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7IC8vIFVwZGF0ZSB0aGUgYWN0aXZlIHRhYiBpbmRleFxuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnVEFCX0NMSUNLJywgYWN0aXZlVGFiOnRhYm5hbWUsIG1lbnU6IHRoaXMubWVudX0pXG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2EtbWVudVwiIFtuZ0NsYXNzXT1cIm1lbnUuc2hvd1RyYXkgPyAnc2EtbWVudS10cmF5IHNhLXJvdW5kLWJvcmRlcicgOiAnJ1wiXG4gICAgW25nU3R5bGVdPVwie3dpZHRoOiBtZW51LndpZHRoIHx8ICdtYXgtY29udGVudCd9XCI+XG4gICAgQGlmKG1lbnU/LnRpdGxlKXtcbiAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10aXRsZVwiPlxuICAgICAgICA8aDE+e3ttZW51Py50aXRsZX19PC9oMT5cbiAgICAgICAgPHNhLWljb24gW2ljb25dPVwiJ2Nsb3NlT3V0bGluZWQnXCIgW3NpemVdPVwiJzIwJ1wiIGNsYXNzPVwic2EtbWVudS1jbG9zZS1pY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUV2ZW50LmVtaXQoJGV2ZW50KVwiPjwvc2EtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIEBpZihtZW51Py5pdGVtR3JvdXBzICYmIG1lbnUuaXRlbUdyb3Vwcy5sZW5ndGgpe1xuICAgICAgICBAZm9yIChncm91cEl0ZW0gb2YgbWVudS5pdGVtR3JvdXBzOyB0cmFjayBncm91cEl0ZW0pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIiAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYobWVudT8uaXRlbXMgJiYgbWVudS5pdGVtcy5sZW5ndGgpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1pdGVtc1wiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBtZW51Lml0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+PC9zYS1tZW51LWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH0gLS0+XG5cblxuICAgIDwhLS0gVGFiIENvbnRlbnQgb3IgSXRlbSBHcm91cHMgLS0+XG4gICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1jb250ZW50LWlubmVyIHt7bWVudT8uc2hvd1NlYXJjaCA/ICdzYS1tZW51LWNvbnRlbnQtd2l0aC1zZWFyY2gnIDogJyd9fVwiPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnNob3dTZWFyY2gpe1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzZWFyY2hcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIChrZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQpXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwibWVudS5zZWFyY2hQbGFjZWhvbGRlclwiICBcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1lbnU/LnNob3dBZGRJY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgICAgICAgQGlmKG1lbnU/LnRhYnMpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtdGFic1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiBtZW51LnRhYnM7IGxldCBpID0gaW5kZXhcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVRhYihpLHRhYi5sYWJlbClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKHt7IHRhYi5pdGVtR3JvdXBzLmxlbmd0aCB9fSkgLS0+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gVGFicyBFbmQgLS0+XG5cbiAgICAgICAgICAgIEBpZihtZW51Py50YWJzPy5sZW5ndGgpe1xuICAgICAgICAgICAgQGlmKG1lbnUudGFic1thY3RpdmVUYWJJbmRleF0/Lml0ZW1Hcm91cHM/Lmxlbmd0aCl7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cEl0ZW0gb2YgbWVudS50YWJzW2FjdGl2ZVRhYkluZGV4XS5pdGVtR3JvdXBzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgyPnt7Z3JvdXBJdGVtLmdyb3VwVGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBJdGVtLml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbc2hvd1JvdW5kXT1cIm1lbnUuc2hvd1RyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZihtZW51Py5pdGVtR3JvdXBzPy5sZW5ndGgpe1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXBJdGVtIG9mIG1lbnUuaXRlbUdyb3Vwc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMj57e2dyb3VwSXRlbS5ncm91cFRpdGxlfX08L2gyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwSXRlbS5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW3Nob3dSb3VuZF09XCJtZW51LnNob3dUcmF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYobWVudT8uaXRlbXMgJiYgbWVudT8uaXRlbXM/Lmxlbmd0aCl7XG4gICAgPGRpdiAqbmdJZj1cIm1lbnU/LnVzZXJcIiBjbGFzcz1cInByb2ZpbGUtYmFkZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPlxuICAgICAgICAgICAgPHNhLWF2YXRhciBbYWx0VGV4dF09XCJtZW51Py51c2VyPy5hbHRUZXh0XCIgW2ltYWdlUGF0aF09XCInJ1wiIFtzaXplXT1cIidsYXJnZSdcIj48L3NhLWF2YXRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWluZm9cIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+e3ttZW51Py51c2VyPy5uYW1lfX08L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInByb2ZpbGUtZW1haWxcIj57e21lbnU/LnVzZXI/LmVtYWlsfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWl0ZW1zXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudS5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgPHNhLW1lbnUtaXRlbSBbaXRlbV09XCJpdGVtXCIgKG9uRXZlbnQpPVwiaXRlbUNsaWNrZWQoJGV2ZW50KVwiPiA8L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH1cblxuPC9kaXY+Il19
@@ -261,11 +261,11 @@ class AvatarComponent {
261
261
  });
262
262
  }
263
263
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
264
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AvatarComponent, isStandalone: true, selector: "sa-avatar", inputs: { id: "id", imagePath: "imagePath", altText: "altText", size: "size" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none}.avatar:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
264
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AvatarComponent, isStandalone: true, selector: "sa-avatar", inputs: { id: "id", imagePath: "imagePath", altText: "altText", size: "size" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <span *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</span>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none;margin-bottom:0}.avatar:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
265
265
  }
266
266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AvatarComponent, decorators: [{
267
267
  type: Component,
268
- args: [{ selector: 'sa-avatar', standalone: true, imports: [NgIf], template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none}.avatar:hover{cursor:pointer}\n"] }]
268
+ args: [{ selector: 'sa-avatar', standalone: true, imports: [NgIf], template: "<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <span *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</span>\n</div>\n", styles: [".extra-small{--width: var(--medium-24px);--height: var(--medium-24px)}.small{--width: 28px;--height: 28px}.medium{--width: 32px;--height: 32px}.large{--width: 36px;--height: 36px}.extra-large{--width: 52px;--height: 52px}.avatar{display:flex}.avatar-img{background-color:var(--primary-50);height:var(--height);width:var(--width);border-radius:var(--height);object-fit:cover;font-family:var(--font);font-size:11px;font-weight:500;line-height:var(--height);letter-spacing:.5px;text-align:center;overflow:none;margin-bottom:0}.avatar:hover{cursor:pointer}\n"] }]
269
269
  }], propDecorators: { id: [{
270
270
  type: Input
271
271
  }], imagePath: [{
@@ -2188,13 +2188,13 @@ class SAMenuItemComponent {
2188
2188
  this.onEvent.emit({ type: 'click', item });
2189
2189
  }
2190
2190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item", showRound: "showRound" }, outputs: { onEvent: "onEvent" }, providers: [IconService], viewQueries: [{ propertyName: "menuDirective", first: true, predicate: i0.forwardRef(() => MenuDirective), descendants: true }], ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => ChipsComponent), selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: i0.forwardRef(() => HttpClientModule) }, { kind: "component", type: i0.forwardRef(() => IconComponent), selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: i0.forwardRef(() => StatusDotComponent), selector: "sa-status-dot", inputs: ["config"] }, { kind: "directive", type: i0.forwardRef(() => MenuDirective), selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent", "onAttached", "onDetached"] }] }); }
2191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item", showRound: "showRound" }, outputs: { onEvent: "onEvent" }, providers: [IconService], viewQueries: [{ propertyName: "menuDirective", first: true, predicate: i0.forwardRef(() => MenuDirective), descendants: true }], ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status {{item['className']}}\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\" class=\"flex ml-auto\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" class=\"flex\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:12px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}.ml-auto{margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => ChipsComponent), selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: i0.forwardRef(() => HttpClientModule) }, { kind: "component", type: i0.forwardRef(() => IconComponent), selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: i0.forwardRef(() => StatusDotComponent), selector: "sa-status-dot", inputs: ["config"] }, { kind: "directive", type: i0.forwardRef(() => MenuDirective), selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent", "onAttached", "onDetached"] }] }); }
2192
2192
  }
2193
2193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, decorators: [{
2194
2194
  type: Component,
2195
2195
  args: [{ selector: 'sa-menu-item', standalone: true, imports: [CommonModule, ChipsComponent, HttpClientModule, IconComponent, StatusDotComponent,
2196
2196
  forwardRef(() => MenuDirective)
2197
- ], providers: [IconService], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}\n"] }]
2197
+ ], providers: [IconService], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item {{item?.sepratorPosition}}\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\" (click)=\"optionClicked(item)\">\n <div class=\"status {{item['className']}}\" [saMenu]=\"item?.subMenu\">\n <sa-status-dot *ngIf=\"item.statusDot\" [config]=\"item?.statusDot\"></sa-status-dot>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\" >{{item.label}}</span>\n <div *ngIf=\"item?.subMenu\" class=\"flex ml-auto\">\n <sa-icon [icon]=\"'rightChevronOutlined'\" class=\"flex\" [size]=\"'20'\"></sa-icon>\n </div>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:12px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}.top{border-top:1px solid #475467}.bottom{border-bottom:1px solid #475467}.ml-auto{margin-left:auto}\n"] }]
2198
2198
  }], propDecorators: { item: [{
2199
2199
  type: Input,
2200
2200
  args: ['item']
@@ -2270,7 +2270,7 @@ class SAMenuComponent {
2270
2270
  this.onEvent.emit({ type: 'TAB_CLICK', activeTab: tabname, menu: this.menu });
2271
2271
  }
2272
2272
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, deps: [{ token: i1$5.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
2273
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
2273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, providers: [IconService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"], outputs: ["onEvent"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
2274
2274
  }
2275
2275
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, decorators: [{
2276
2276
  type: Component,
@@ -2283,7 +2283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
2283
2283
  HttpClientModule,
2284
2284
  IconComponent,
2285
2285
  AvatarComponent,
2286
- ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px 8px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
2286
+ ], providers: [IconService], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\"\n [ngStyle]=\"{width: menu.width || 'max-content'}\">\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" [size]=\"'20'\" class=\"sa-menu-close-icon\"\n (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n <!-- @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n } -->\n\n\n <!-- Tab Content or Item Groups -->\n <div class=\"sa-menu-content\">\n <div class=\"sa-menu-content-inner {{menu?.showSearch ? 'sa-menu-content-with-search' : ''}}\">\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" \n />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n \n <!-- Tabs -->\n @if(menu?.tabs){\n <div class=\"sa-menu-tabs\">\n <button *ngFor=\"let tab of menu.tabs; let i = index\" [class.active]=\"i === activeTabIndex\"\n (click)=\"setActiveTab(i,tab.label)\">\n {{ tab.label }}\n <!-- ({{ tab.itemGroups.length }}) -->\n </button>\n </div>\n }\n <!-- Tabs End -->\n\n @if(menu?.tabs?.length){\n @if(menu.tabs[activeTabIndex]?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.tabs[activeTabIndex].itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n } @else if(menu?.itemGroups?.length){\n <ng-container *ngFor=\"let groupItem of menu.itemGroups\">\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n <ng-container *ngFor=\"let item of groupItem.items\">\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\"\n (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n </ng-container>\n </div>\n </ng-container>\n }\n </div>\n </div>\n\n @if(menu?.items && menu?.items?.length){\n <div *ngIf=\"menu?.user\" class=\"profile-badge\">\n <div class=\"avatar\">\n <sa-avatar [altText]=\"menu?.user?.altText\" [imagePath]=\"''\" [size]=\"'large'\"></sa-avatar>\n </div>\n <div class=\"profile-info\">\n <p class=\"profile-name\">{{menu?.user?.name}}</p>\n <p class=\"profile-email\">{{menu?.user?.email}}</p>\n </div>\n </div>\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (onEvent)=\"itemClicked($event)\"> </sa-menu-item>\n }\n </div>\n }\n\n</div>", styles: [".sa-menu{background-color:var(--primary-800);box-shadow:3px 4px 16px 4px #00000014;width:max-content;border-radius:5px;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--grey-700, #1D2939);padding:0 1rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sa-menu-tray::-webkit-scrollbar{width:6px}.sa-menu-tray::-webkit-scrollbar-track{background:transparent}.sa-menu-tray::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}sa-menu-item{cursor:pointer;display:block;color:var(--grey-100, #EAECF0)}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;position:fixed;padding:1rem 0 .5rem;height:64px;width:calc(100% - 2rem);border-bottom:1px solid var(--primary-50, #F4EBFF);background:var(--grey-700, #1D2939);z-index:1}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px;margin-bottom:0;margin-top:0}.sa-menu-close-icon{cursor:pointer;margin-left:auto;height:20px}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem;margin-top:4.75rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--grey-400, #475467)}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-300, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}.sa-menu-tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:1rem}.sa-menu-tabs button{flex:1;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:12px;font-style:normal;font-weight:400;line-height:16px;color:#888;border-bottom:2px solid transparent;transition:all .5s ease}.sa-menu-tabs button.active{color:#f7f3f3;border-bottom:2px solid #f7f7f7;font-size:12px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:.5px}.sa-menu-content{padding:0rem 0}.sa-menu-content-inner{padding-top:0}.sa-menu-content .sa-menu-content-with-search,.sa-menu-content-with-search.sa-menu-content-inner{padding:0}.features-tray-menu .sa-menu-content-inner{padding-top:5rem}.features-tray-menu .sa-menu-content-with-search.sa-menu-content-inner{padding-top:0}.sa-menu-group h2{margin-top:1rem}.sa-menu-group:first-child h2{margin-top:0}.sa-menu-group{margin-bottom:1rem}.profile-badge{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-bottom:1px solid var(--grey-400)}.avatar{display:flex;justify-content:center;align-items:center}.profile-info{display:flex;flex-direction:column;justify-content:center;font-weight:300}.profile-name{color:var(--structural-white);font-weight:500;font-size:12px;line-height:1.2;margin:0}.profile-email{color:var(--grey-200);font-size:11px;line-height:1.2;font-weight:400;margin:0}\n"] }]
2287
2287
  }], ctorParameters: () => [{ type: i1$5.Overlay }], propDecorators: { position: [{
2288
2288
  type: Input
2289
2289
  }], menu: [{