windows-plus-utilities 0.0.21 → 0.0.22

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.
@@ -94,15 +94,20 @@ export class MenuComponent {
94
94
  this.open = !this.open;
95
95
  this.menuStatus = this.open ? 'isOpen' : 'isClosed';
96
96
  }
97
+ /**
98
+ * @author Alex Hodson
99
+ * @description emits the given link through the output
100
+ * @param link the link to be emitted
101
+ */
97
102
  emitLinkSelection(link) {
98
103
  this.navigateFromMenu.emit(link);
99
104
  }
100
105
  }
101
106
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: i3.MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
107
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: i3.MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
103
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
104
109
  type: Component,
105
- args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
110
+ args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
106
111
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
107
112
  type: Input
108
113
  }], navigateToHome: [{
@@ -119,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
119
124
  type: ViewChild,
120
125
  args: ['menu']
121
126
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7OztBQVN4RTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQWtEekI7OztPQUdHO0lBQ0g7UUFyREE7O1dBRUc7UUFDTSxhQUFRLEdBQVksSUFBSSxDQUFBO1FBQ2pDOztXQUVHO1FBQ08sbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNqRTs7V0FFRztRQUNNLGVBQVUsR0FBWSxJQUFJLENBQUE7UUFDbkM7O1dBRUc7UUFDTyxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBS2xFOztXQUVHO1FBQ08scUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUE7UUFLN0U7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLFlBQVksQ0FBQTtRQUMzQjs7V0FFRztRQUNILFdBQU0sR0FBRyxNQUFNLENBQUE7UUFDZjs7V0FFRztRQUNILFNBQUksR0FBRyxLQUFLLENBQUE7UUFDWjs7V0FFRztRQUNILGVBQVUsR0FBRyxVQUFVLENBQUE7UUFDdkI7O1dBRUc7UUFDSCxnQkFBVyxHQUFpQixFQUFFLENBQUE7SUFNZCxDQUFDO0lBRWpCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILHFCQUFxQjtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTthQUMvQyxDQUFDLENBQUE7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixhQUFhLEVBQUUsR0FBRyxFQUFFO29CQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFBO2dCQUM1QixDQUFDO2FBQ0QsQ0FBQyxDQUFBO1NBQ0Y7SUFDRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDcEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqQyxDQUFDOzsyR0FwR1csYUFBYTsrRkFBYixhQUFhLDRWQ2QxQix5K0JBMkJNOzRGRGJPLGFBQWE7a0JBVHpCLFNBQVM7K0JBQ0MsU0FBUzswRUFZVixRQUFRO3NCQUFoQixLQUFLO2dCQUlJLGNBQWM7c0JBQXZCLE1BQU07Z0JBSUUsVUFBVTtzQkFBbEIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUlFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlZLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmYUhvbWUsIGZhU2lnbk91dEFsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEFjdGlvbkxpbmsgfSBmcm9tICcuLi8uLi91dGlsL2ludGVyZmFjZS9hY3Rpb24tbGluay9hY3Rpb24tbGluay5pbnRlcmZhY2UnXG5pbXBvcnQgeyBNZW51TGluayB9IGZyb20gJy4vLi4vLi4vdXRpbC9pbnRlcmZhY2UvbWVudS1saW5rL21lbnUtbGluay5pbnRlcmZhY2UnXG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ3dwLW1lbnUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNhc3MnXVxufSlcbi8qKlxuICogQGF1dGhvciBBbGV4IEhvZHNvblxuICogQGRlc2NyaXB0aW9uIHRoZSBtZW51IGNvbXBvbmVudCBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc2lkZWJhciBtZW51IFxuICovXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgaG9tZSBsaW5rIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1lbnVcblx0ICovXG5cdEBJbnB1dCgpIHNob3dIb21lOiBib29sZWFuID0gdHJ1ZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgdGhlIG5hdmlnYXRpb24gdG8gdGhlIGhvbWUgc2NyZWVuXG5cdCAqL1xuXHRAT3V0cHV0KCkgbmF2aWdhdGVUb0hvbWU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHdoZXRoZXIgdGhlIGxvZyBvdXQgbGluayBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgbWVudVxuXHQgKi9cblx0QElucHV0KCkgc2hvd0xvZ091dDogYm9vbGVhbiA9IHRydWVcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBoYW5kbGVzIHRoZSBuYXZpZ2F0aW9uIHRvIHRoZSBsb2cgaW4gc2NyZWVuXG5cdCAqL1xuXHRAT3V0cHV0KCkgbmF2aWdhdGVUb0xvZ0luOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgcHJpdmlsZWdlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGxvZ2dlZCBpbiBhY2NvdW50XG5cdCAqL1xuXHRASW5wdXQoKSBwcml2aWxlZ2VzOiBNZW51TGlua1tdXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyB0aGUgbmF2aWdhdGlvbiBmcm9tIHRoZSBtYWluIG1lbnUgbGlua3Ncblx0ICovXG5cdEBPdXRwdXQoKSBuYXZpZ2F0ZUZyb21NZW51OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIEhUTUwgbWVudSBlbGVtZW50XG5cdCAqL1xuXHRAVmlld0NoaWxkKCdtZW51JykgbWVudTogYW55XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIGZvbnQgYXdlc29tZSBpY29uIGZvciB0aGUgc2lnbiBvdXQgYnV0dG9uXG5cdCAqL1xuXHRmYVNpZ25PdXRBbHQgPSBmYVNpZ25PdXRBbHRcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgZm9udCBhd2Vzb21lIGljb24gZm9yIHRoZSBob21lIGJ1dHRvblxuXHQgKi9cblx0ZmFIb21lID0gZmFIb21lXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgc2lkZSBtZW51IGlzIG9wZW5cblx0ICovXG5cdG9wZW4gPSBmYWxzZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdGF0dXMgY2xhc3MgdG8gYmUgYXBwbGllcyB0byB0aGUgbWVudVxuXHQgKi9cblx0bWVudVN0YXR1cyA9ICdpc0Nsb3NlZCdcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgYWN0aW9uIGxpbmtzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgc2lkZSBuYXZpZ2F0aW9uIG1lbnVcblx0ICovXG5cdGFjdGlvbkxpbmtzOiBBY3Rpb25MaW5rW10gPSBbXVxuXG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllcyBmb3IgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIG1ldGhvZCB3aGljaCBydW5zIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZW5kZXJlZC4gUmV0cmlldmVzIHRoZSBhY2NvdW50IHByaXZpbGVnZXMgZm9yIHRoZSBsb2dnZWQgaW4gdXNlclxuXHQgKi9cblx0YXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5oYW5kbGVCYXNlQWN0aW9uTGlua3MoKVxuXHR9XG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBoYW5kbGVzIHRoZSBhc3NpZ25tZW50IG9mIHRoZSBiYXNlIGFjdGlvbiBsaW5rc1xuXHQgKi9cblx0aGFuZGxlQmFzZUFjdGlvbkxpbmtzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNob3dIb21lKSB7XG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnaG9tZScsXG5cdFx0XHRcdCd2YWx1ZSc6ICdIb21lJyxcblx0XHRcdFx0J2ljb24nOiBmYUhvbWUsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHRoaXMubmF2aWdhdGVUb0hvbWUuZW1pdCgpXG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNob3dMb2dPdXQpIHtcblx0XHRcdHRoaXMuYWN0aW9uTGlua3MucHVzaCh7XG5cdFx0XHRcdCdpZCc6ICdsb2ctb3V0Jyxcblx0XHRcdFx0J3ZhbHVlJzogJ0xvZyBPdXQnLFxuXHRcdFx0XHQnaWNvbic6IGZhU2lnbk91dEFsdCxcblx0XHRcdFx0J2hhbmRsZUNsaWNrJzogKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubmF2aWdhdGVUb0xvZ0luLmVtaXQoKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBvcGVucyBhbmQgY2xvc2VzIHRoZSBzaWRlIG1lbnUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IG1lbnUgc3RhdGVcblx0ICovXG5cdHRyaWdnZXJNZW51KCk6IHZvaWQge1xuXHRcdHRoaXMub3BlbiA9ICF0aGlzLm9wZW5cblx0XHR0aGlzLm1lbnVTdGF0dXMgPSB0aGlzLm9wZW4gPyAnaXNPcGVuJyA6ICdpc0Nsb3NlZCdcblx0fVxuXHRcblx0ZW1pdExpbmtTZWxlY3Rpb24obGluazogc3RyaW5nKSB7XG5cdFx0dGhpcy5uYXZpZ2F0ZUZyb21NZW51LmVtaXQobGluaylcblx0fVxufVxuIiwiPGRpdiAjbWVudSBpZD1cIm1lbnUtd3JhcFwiIGNsYXNzPVwibWVudWJhclwiIFtuZ0NsYXNzXT1cIm1lbnVTdGF0dXNcIj5cblx0PGRpdiBjbGFzcz1cIm1lbnVXcmFwXCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJtYWluTWVudUFyZWFcIj5cblx0XHRcdDwhLS0gTWVudSBMaW5rcyBIZXJlIC0tPlxuXHRcdFx0PGRpdiBpZD1cInByaXZpbGVnZS13cmFwXCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiICpuZ0lmPVwicHJpdmlsZWdlc1wiPlxuXHRcdFx0XHQ8dWw+XG5cdFx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBwcml2aWxlZ2VzXCI+XG5cdFx0XHRcdFx0XHQ8bWVudS1saW5rIFtsYWJlbF09XCJlbGVtZW50LmxhYmVsXCIgKG5hdmlnYXRlRnJvbU1lbnUpPVwiZW1pdExpbmtTZWxlY3Rpb24oJGV2ZW50KVwiPjwvbWVudS1saW5rPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L3VsPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGlkPVwiaGFtYnVyZ2VyLXdyYXBcIiBjbGFzcz1cImhhbWJjbGlja2VyXCIgKGNsaWNrKT1cInRyaWdnZXJNZW51KClcIj48L2Rpdj5cblx0XHRcdDxkaXYgaWQ9XCJoYW1ibWVudVwiIFtuZ0NsYXNzXT1cIm1lbnVTdGF0dXNcIj5cblx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImFjdGlvbk1lbnVBcmVhXCI+XG5cdFx0XHQ8dWw+XG5cdFx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgYWN0aW9uTGlua3NcIj5cblx0XHRcdFx0XHQ8YWN0aW9uLWxpbmsgW2FjdGlvbkxpbmtdPVwiZWxlbWVudFwiIFtvcGVuXT1cIm9wZW5cIj48L2FjdGlvbi1saW5rPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvdWw+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+Il19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7OztBQVN4RTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQWtEekI7OztPQUdHO0lBQ0g7UUFyREE7O1dBRUc7UUFDTSxhQUFRLEdBQVksSUFBSSxDQUFBO1FBQ2pDOztXQUVHO1FBQ08sbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNqRTs7V0FFRztRQUNNLGVBQVUsR0FBWSxJQUFJLENBQUE7UUFDbkM7O1dBRUc7UUFDTyxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBS2xFOztXQUVHO1FBQ08scUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUE7UUFLN0U7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLFlBQVksQ0FBQTtRQUMzQjs7V0FFRztRQUNILFdBQU0sR0FBRyxNQUFNLENBQUE7UUFDZjs7V0FFRztRQUNILFNBQUksR0FBRyxLQUFLLENBQUE7UUFDWjs7V0FFRztRQUNILGVBQVUsR0FBRyxVQUFVLENBQUE7UUFDdkI7O1dBRUc7UUFDSCxnQkFBVyxHQUFpQixFQUFFLENBQUE7SUFNZCxDQUFDO0lBRWpCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILHFCQUFxQjtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTthQUMvQyxDQUFDLENBQUE7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixhQUFhLEVBQUUsR0FBRyxFQUFFO29CQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFBO2dCQUM1QixDQUFDO2FBQ0QsQ0FBQyxDQUFBO1NBQ0Y7SUFDRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDcEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsQ0FBQzs7MkdBekdXLGFBQWE7K0ZBQWIsYUFBYSw0VkNkMUIsaWdDQTJCTTs0RkRiTyxhQUFhO2tCQVR6QixTQUFTOytCQUNDLFNBQVM7MEVBWVYsUUFBUTtzQkFBaEIsS0FBSztnQkFJSSxjQUFjO3NCQUF2QixNQUFNO2dCQUlFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUksZUFBZTtzQkFBeEIsTUFBTTtnQkFJRSxVQUFVO3NCQUFsQixLQUFLO2dCQUlJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFJWSxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZmFIb21lLCBmYVNpZ25PdXRBbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5pbXBvcnQgeyBBY3Rpb25MaW5rIH0gZnJvbSAnLi4vLi4vdXRpbC9pbnRlcmZhY2UvYWN0aW9uLWxpbmsvYWN0aW9uLWxpbmsuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgTWVudUxpbmsgfSBmcm9tICcuLy4uLy4uL3V0aWwvaW50ZXJmYWNlL21lbnUtbGluay9tZW51LWxpbmsuaW50ZXJmYWNlJ1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICd3cC1tZW51Jyxcblx0dGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zYXNzJ11cbn0pXG4vKipcbiAqIEBhdXRob3IgQWxleCBIb2Rzb25cbiAqIEBkZXNjcmlwdGlvbiB0aGUgbWVudSBjb21wb25lbnQgcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHNpZGViYXIgbWVudSBcbiAqL1xuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHdoZXRoZXIgdGhlIGhvbWUgbGluayBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBtZW51XG5cdCAqL1xuXHRASW5wdXQoKSBzaG93SG9tZTogYm9vbGVhbiA9IHRydWVcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBoYW5kbGVzIHRoZSBuYXZpZ2F0aW9uIHRvIHRoZSBob21lIHNjcmVlblxuXHQgKi9cblx0QE91dHB1dCgpIG5hdmlnYXRlVG9Ib21lOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB3aGV0aGVyIHRoZSBsb2cgb3V0IGxpbmsgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1lbnVcblx0ICovXG5cdEBJbnB1dCgpIHNob3dMb2dPdXQ6IGJvb2xlYW4gPSB0cnVlXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbG9nIGluIHNjcmVlblxuXHQgKi9cblx0QE91dHB1dCgpIG5hdmlnYXRlVG9Mb2dJbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIHByaXZpbGVnZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBsb2dnZWQgaW4gYWNjb3VudFxuXHQgKi9cblx0QElucHV0KCkgcHJpdmlsZWdlczogTWVudUxpbmtbXVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgdGhlIG5hdmlnYXRpb24gZnJvbSB0aGUgbWFpbiBtZW51IGxpbmtzXG5cdCAqL1xuXHRAT3V0cHV0KCkgbmF2aWdhdGVGcm9tTWVudTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBIVE1MIG1lbnUgZWxlbWVudFxuXHQgKi9cblx0QFZpZXdDaGlsZCgnbWVudScpIG1lbnU6IGFueVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBmb250IGF3ZXNvbWUgaWNvbiBmb3IgdGhlIHNpZ24gb3V0IGJ1dHRvblxuXHQgKi9cblx0ZmFTaWduT3V0QWx0ID0gZmFTaWduT3V0QWx0XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIGZvbnQgYXdlc29tZSBpY29uIGZvciB0aGUgaG9tZSBidXR0b25cblx0ICovXG5cdGZhSG9tZSA9IGZhSG9tZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHdoZXRoZXIgdGhlIHNpZGUgbWVudSBpcyBvcGVuXG5cdCAqL1xuXHRvcGVuID0gZmFsc2Vcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgc3RhdHVzIGNsYXNzIHRvIGJlIGFwcGxpZXMgdG8gdGhlIG1lbnVcblx0ICovXG5cdG1lbnVTdGF0dXMgPSAnaXNDbG9zZWQnXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIGFjdGlvbiBsaW5rcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNpZGUgbmF2aWdhdGlvbiBtZW51XG5cdCAqL1xuXHRhY3Rpb25MaW5rczogQWN0aW9uTGlua1tdID0gW11cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gY2xhc3MgY29uc3RydWN0b3Igc3BlY2lmeWluZyB0aGUgcmVxdWlyZWQgc2VydmljZXMgYW5kIHByb3BlcnRpZXMgZm9yIHRoZSBjb21wb25lbnRcblx0ICovXG5cdGNvbnN0cnVjdG9yKCkgeyB9XG5cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIHRoZSBtZXRob2Qgd2hpY2ggcnVucyB3aGVuIHRoZSBjb21wb25lbnQgaXMgcmVuZGVyZWQuIFJldHJpZXZlcyB0aGUgYWNjb3VudCBwcml2aWxlZ2VzIGZvciB0aGUgbG9nZ2VkIGluIHVzZXJcblx0ICovXG5cdGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRoaXMuaGFuZGxlQmFzZUFjdGlvbkxpbmtzKClcblx0fVxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyB0aGUgYXNzaWdubWVudCBvZiB0aGUgYmFzZSBhY3Rpb24gbGlua3Ncblx0ICovXG5cdGhhbmRsZUJhc2VBY3Rpb25MaW5rcygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5zaG93SG9tZSkge1xuXHRcdFx0dGhpcy5hY3Rpb25MaW5rcy5wdXNoKHtcblx0XHRcdFx0J2lkJzogJ2hvbWUnLFxuXHRcdFx0XHQndmFsdWUnOiAnSG9tZScsXG5cdFx0XHRcdCdpY29uJzogZmFIb21lLFxuXHRcdFx0XHQnaGFuZGxlQ2xpY2snOiAoKSA9PiB0aGlzLm5hdmlnYXRlVG9Ib21lLmVtaXQoKVxuXHRcdFx0fSlcblx0XHR9XG5cblx0XHRpZiAodGhpcy5zaG93TG9nT3V0KSB7XG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnbG9nLW91dCcsXG5cdFx0XHRcdCd2YWx1ZSc6ICdMb2cgT3V0Jyxcblx0XHRcdFx0J2ljb24nOiBmYVNpZ25PdXRBbHQsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLm5hdmlnYXRlVG9Mb2dJbi5lbWl0KClcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gb3BlbnMgYW5kIGNsb3NlcyB0aGUgc2lkZSBtZW51IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBtZW51IHN0YXRlXG5cdCAqL1xuXHR0cmlnZ2VyTWVudSgpOiB2b2lkIHtcblx0XHR0aGlzLm9wZW4gPSAhdGhpcy5vcGVuXG5cdFx0dGhpcy5tZW51U3RhdHVzID0gdGhpcy5vcGVuID8gJ2lzT3BlbicgOiAnaXNDbG9zZWQnXG5cdH1cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gZW1pdHMgdGhlIGdpdmVuIGxpbmsgdGhyb3VnaCB0aGUgb3V0cHV0XG5cdCAqIEBwYXJhbSBsaW5rIHRoZSBsaW5rIHRvIGJlIGVtaXR0ZWRcblx0ICovXG5cdGVtaXRMaW5rU2VsZWN0aW9uKGxpbms6IHN0cmluZykge1xuXHRcdHRoaXMubmF2aWdhdGVGcm9tTWVudS5lbWl0KGxpbmspXG5cdH1cbn1cbiIsIjxkaXYgI21lbnUgaWQ9XCJtZW51LXdyYXBcIiBjbGFzcz1cIm1lbnViYXJcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCI+XG5cdDxkaXYgY2xhc3M9XCJtZW51V3JhcFwiIFtuZ0NsYXNzXT1cIm1lbnVTdGF0dXNcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibWFpbk1lbnVBcmVhXCI+XG5cdFx0XHQ8IS0tIE1lbnUgTGlua3MgSGVyZSAtLT5cblx0XHRcdDxkaXYgaWQ9XCJwcml2aWxlZ2Utd3JhcFwiIFtuZ0NsYXNzXT1cIm1lbnVTdGF0dXNcIiAqbmdJZj1cInByaXZpbGVnZXNcIj5cblx0XHRcdFx0PHVsPlxuXHRcdFx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgcHJpdmlsZWdlc1wiPlxuXHRcdFx0XHRcdFx0PG1lbnUtbGluayBbbGFiZWxdPVwiZWxlbWVudC5sYWJlbFwiIFtsaW5rXT1cImVsZW1lbnQubGlua1wiIChuYXZpZ2F0ZUZyb21NZW51KT1cImVtaXRMaW5rU2VsZWN0aW9uKCRldmVudClcIj48L21lbnUtbGluaz5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC91bD5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBpZD1cImhhbWJ1cmdlci13cmFwXCIgY2xhc3M9XCJoYW1iY2xpY2tlclwiIChjbGljayk9XCJ0cmlnZ2VyTWVudSgpXCI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGlkPVwiaGFtYm1lbnVcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCI+XG5cdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJhY3Rpb25NZW51QXJlYVwiPlxuXHRcdFx0PHVsPlxuXHRcdFx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIGFjdGlvbkxpbmtzXCI+XG5cdFx0XHRcdFx0PGFjdGlvbi1saW5rIFthY3Rpb25MaW5rXT1cImVsZW1lbnRcIiBbb3Blbl09XCJvcGVuXCI+PC9hY3Rpb24tbGluaz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L3VsPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -168,15 +168,20 @@ class MenuComponent {
168
168
  this.open = !this.open;
169
169
  this.menuStatus = this.open ? 'isOpen' : 'isClosed';
170
170
  }
171
+ /**
172
+ * @author Alex Hodson
173
+ * @description emits the given link through the output
174
+ * @param link the link to be emitted
175
+ */
171
176
  emitLinkSelection(link) {
172
177
  this.navigateFromMenu.emit(link);
173
178
  }
174
179
  }
175
180
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
181
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
177
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
178
183
  type: Component,
179
- args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
184
+ args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
180
185
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
181
186
  type: Input
182
187
  }], navigateToHome: [{
@@ -1 +1 @@
1
- {"version":3,"file":"windows-plus-utilities-main-menu.mjs","sources":["../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.html","../../../projects/windows-plus-utilities/main-menu/main-menu.module.ts","../../../projects/windows-plus-utilities/main-menu/public-api.ts","../../../projects/windows-plus-utilities/main-menu/windows-plus-utilities-main-menu.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\r\n\r\n@Component({\r\n selector: 'action-link',\r\n templateUrl: './action-link.component.html',\r\n styleUrls: ['./action-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the action link component provides the functionality for the action links inside the side navigation\r\n */\r\nexport class ActionLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the action link element provided by the parent which contains the action link properties\r\n\t */\r\n\t@Input()\r\n\tactionLink: ActionLink\r\n\r\n\t/**\r\n\t * @description whether the menu is open\r\n\t */\r\n\t@Input()\r\n\topen: boolean\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor which specifies the required services and properties for the component\r\n\t */\r\n constructor() { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<li \r\n\tclass=\"cursor text-left\"\r\n>\r\n\t<div \r\n\t\tid=\"{{'content-wrap-' + actionLink.id}}\"\r\n\t\tclass=\"d-flex align-items-center cursor-pointer\"\r\n\t\t[ngClass]=\"{ 'justify-content-start': open, 'justify-content-center': !open}\"\r\n\t\t(click)=\"actionLink.handleClick()\"\r\n\t>\r\n\t\t<div>\r\n\t\t\t<fa-icon [icon]=\"actionLink.icon\"></fa-icon>\r\n\t\t</div>\r\n\t\t<div id=\"{{'text-wrap-' + actionLink.id}}\" class=\"ps-2\" *ngIf=\"open\">\r\n\t\t\t{{actionLink.value}}\r\n\t\t</div>\r\n\t</div>\r\n</li>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router'\r\n\r\n@Component({\r\n selector: 'menu-link',\r\n templateUrl: './menu-link.component.html',\r\n styleUrls: ['./menu-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the menu link class provides the functionality for the side navigation links\r\n */\r\nexport class MenuLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the string value which represents the area being display\r\n\t */\r\n\t@Input() label: string\r\n\r\n\t@Input() link: string\r\n\r\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter()\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the component\r\n\t */\r\n constructor(private router: Router) { }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method which runs when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a link in the side navigation bar.\r\n\t */\r\n\thandleLinkClick(): void {\r\n\t\tthis.navigateFromMenu.emit(this.link)\r\n\t}\r\n}\r\n","<li \r\n\tclass=\"cursor-pointer\"\r\n\t(click)=\"handleLinkClick()\"\r\n>\r\n\t<p class=\"text-white\">{{label}}</p>\r\n</li>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\nimport { MenuLink } from './../../util/interface/menu-link/menu-link.interface'\n\n@Component({\n\tselector: 'wp-menu',\n\ttemplateUrl: './menu.component.html',\n\tstyleUrls: ['./menu.component.sass']\n})\n/**\n * @author Alex Hodson\n * @description the menu component provides the functionality for interacting with the sidebar menu \n */\nexport class MenuComponent implements OnInit {\n\t/**\n\t * @description whether the home link should be displayed in the menu\n\t */\n\t@Input() showHome: boolean = true\n\t/**\n\t * @description handles the navigation to the home screen\n\t */\n\t@Output() navigateToHome: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description whether the log out link button should be displayed in the menu\n\t */\n\t@Input() showLogOut: boolean = true\n\t/**\n\t * @description handles the navigation to the log in screen\n\t */\n\t@Output() navigateToLogIn: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: MenuLink[]\n\t/**\n\t * @description handles the navigation from the main menu links\n\t */\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter<string>()\n\t/**\n\t * @description the HTML menu element\n\t */\n\t@ViewChild('menu') menu: any\n\t/**\n\t * @description the font awesome icon for the sign out button\n\t */\n\tfaSignOutAlt = faSignOutAlt\n\t/**\n\t * @description the font awesome icon for the home button\n\t */\n\tfaHome = faHome\n\t/**\n\t * @description whether the side menu is open\n\t */\n\topen = false\n\t/**\n\t * @description the status class to be applies to the menu\n\t */\n\tmenuStatus = 'isClosed'\n\t/**\n\t * @description the action links to be displayed in the side navigation menu\n\t */\n\tactionLinks: ActionLink[] = []\n\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\n\t/**\n\t * @author Alex Hodson\n\t * @description the method which runs when the component is rendered. Retrieves the account privileges for the logged in user\n\t */\n\tasync ngOnInit(): Promise<void> {\n\t\tthis.handleBaseActionLinks()\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles the assignment of the base action links\n\t */\n\thandleBaseActionLinks(): void {\n\t\tif (this.showHome) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'home',\n\t\t\t\t'value': 'Home',\n\t\t\t\t'icon': faHome,\n\t\t\t\t'handleClick': () => this.navigateToHome.emit()\n\t\t\t})\n\t\t}\n\n\t\tif (this.showLogOut) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'log-out',\n\t\t\t\t'value': 'Log Out',\n\t\t\t\t'icon': faSignOutAlt,\n\t\t\t\t'handleClick': () => {\n\t\t\t\t\tthis.navigateToLogIn.emit()\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description opens and closes the side menu according to the current menu state\n\t */\n\ttriggerMenu(): void {\n\t\tthis.open = !this.open\n\t\tthis.menuStatus = this.open ? 'isOpen' : 'isClosed'\n\t}\n\t\n\temitLinkSelection(link: string) {\n\t\tthis.navigateFromMenu.emit(link)\n\t}\n}\n","<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ActionLinkComponent } from './components/action-link/action-link.component'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { MenuLinkComponent } from './components/menu-link/menu-link.component'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent,\n\t\tMenuLinkComponent\n ],\n imports: [\n CommonModule,\n\t\tFontAwesomeModule\n ],\n exports: [\n MenuComponent\n ]\n})\nexport class MainMenuModule { }\n","/*\n * Public API Surface of windows-plus-utilities\n */\n\nexport * from './components/menu/menu.component';\nexport * from './main-menu.module';\n\nexport * from './util/interface/menu-link/menu-link.interface'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ActionLinkComponent","i3.MenuLinkComponent"],"mappings":"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"}
1
+ {"version":3,"file":"windows-plus-utilities-main-menu.mjs","sources":["../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.html","../../../projects/windows-plus-utilities/main-menu/main-menu.module.ts","../../../projects/windows-plus-utilities/main-menu/public-api.ts","../../../projects/windows-plus-utilities/main-menu/windows-plus-utilities-main-menu.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\r\n\r\n@Component({\r\n selector: 'action-link',\r\n templateUrl: './action-link.component.html',\r\n styleUrls: ['./action-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the action link component provides the functionality for the action links inside the side navigation\r\n */\r\nexport class ActionLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the action link element provided by the parent which contains the action link properties\r\n\t */\r\n\t@Input()\r\n\tactionLink: ActionLink\r\n\r\n\t/**\r\n\t * @description whether the menu is open\r\n\t */\r\n\t@Input()\r\n\topen: boolean\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor which specifies the required services and properties for the component\r\n\t */\r\n constructor() { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<li \r\n\tclass=\"cursor text-left\"\r\n>\r\n\t<div \r\n\t\tid=\"{{'content-wrap-' + actionLink.id}}\"\r\n\t\tclass=\"d-flex align-items-center cursor-pointer\"\r\n\t\t[ngClass]=\"{ 'justify-content-start': open, 'justify-content-center': !open}\"\r\n\t\t(click)=\"actionLink.handleClick()\"\r\n\t>\r\n\t\t<div>\r\n\t\t\t<fa-icon [icon]=\"actionLink.icon\"></fa-icon>\r\n\t\t</div>\r\n\t\t<div id=\"{{'text-wrap-' + actionLink.id}}\" class=\"ps-2\" *ngIf=\"open\">\r\n\t\t\t{{actionLink.value}}\r\n\t\t</div>\r\n\t</div>\r\n</li>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router'\r\n\r\n@Component({\r\n selector: 'menu-link',\r\n templateUrl: './menu-link.component.html',\r\n styleUrls: ['./menu-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the menu link class provides the functionality for the side navigation links\r\n */\r\nexport class MenuLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the string value which represents the area being display\r\n\t */\r\n\t@Input() label: string\r\n\r\n\t@Input() link: string\r\n\r\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter()\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the component\r\n\t */\r\n constructor(private router: Router) { }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method which runs when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a link in the side navigation bar.\r\n\t */\r\n\thandleLinkClick(): void {\r\n\t\tthis.navigateFromMenu.emit(this.link)\r\n\t}\r\n}\r\n","<li \r\n\tclass=\"cursor-pointer\"\r\n\t(click)=\"handleLinkClick()\"\r\n>\r\n\t<p class=\"text-white\">{{label}}</p>\r\n</li>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\nimport { MenuLink } from './../../util/interface/menu-link/menu-link.interface'\n\n@Component({\n\tselector: 'wp-menu',\n\ttemplateUrl: './menu.component.html',\n\tstyleUrls: ['./menu.component.sass']\n})\n/**\n * @author Alex Hodson\n * @description the menu component provides the functionality for interacting with the sidebar menu \n */\nexport class MenuComponent implements OnInit {\n\t/**\n\t * @description whether the home link should be displayed in the menu\n\t */\n\t@Input() showHome: boolean = true\n\t/**\n\t * @description handles the navigation to the home screen\n\t */\n\t@Output() navigateToHome: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description whether the log out link button should be displayed in the menu\n\t */\n\t@Input() showLogOut: boolean = true\n\t/**\n\t * @description handles the navigation to the log in screen\n\t */\n\t@Output() navigateToLogIn: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: MenuLink[]\n\t/**\n\t * @description handles the navigation from the main menu links\n\t */\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter<string>()\n\t/**\n\t * @description the HTML menu element\n\t */\n\t@ViewChild('menu') menu: any\n\t/**\n\t * @description the font awesome icon for the sign out button\n\t */\n\tfaSignOutAlt = faSignOutAlt\n\t/**\n\t * @description the font awesome icon for the home button\n\t */\n\tfaHome = faHome\n\t/**\n\t * @description whether the side menu is open\n\t */\n\topen = false\n\t/**\n\t * @description the status class to be applies to the menu\n\t */\n\tmenuStatus = 'isClosed'\n\t/**\n\t * @description the action links to be displayed in the side navigation menu\n\t */\n\tactionLinks: ActionLink[] = []\n\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\n\t/**\n\t * @author Alex Hodson\n\t * @description the method which runs when the component is rendered. Retrieves the account privileges for the logged in user\n\t */\n\tasync ngOnInit(): Promise<void> {\n\t\tthis.handleBaseActionLinks()\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles the assignment of the base action links\n\t */\n\thandleBaseActionLinks(): void {\n\t\tif (this.showHome) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'home',\n\t\t\t\t'value': 'Home',\n\t\t\t\t'icon': faHome,\n\t\t\t\t'handleClick': () => this.navigateToHome.emit()\n\t\t\t})\n\t\t}\n\n\t\tif (this.showLogOut) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'log-out',\n\t\t\t\t'value': 'Log Out',\n\t\t\t\t'icon': faSignOutAlt,\n\t\t\t\t'handleClick': () => {\n\t\t\t\t\tthis.navigateToLogIn.emit()\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description opens and closes the side menu according to the current menu state\n\t */\n\ttriggerMenu(): void {\n\t\tthis.open = !this.open\n\t\tthis.menuStatus = this.open ? 'isOpen' : 'isClosed'\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description emits the given link through the output\n\t * @param link the link to be emitted\n\t */\n\temitLinkSelection(link: string) {\n\t\tthis.navigateFromMenu.emit(link)\n\t}\n}\n","<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ActionLinkComponent } from './components/action-link/action-link.component'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { MenuLinkComponent } from './components/menu-link/menu-link.component'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent,\n\t\tMenuLinkComponent\n ],\n imports: [\n CommonModule,\n\t\tFontAwesomeModule\n ],\n exports: [\n MenuComponent\n ]\n})\nexport class MainMenuModule { }\n","/*\n * Public API Surface of windows-plus-utilities\n */\n\nexport * from './components/menu/menu.component';\nexport * from './main-menu.module';\n\nexport * from './util/interface/menu-link/menu-link.interface'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ActionLinkComponent","i3.MenuLinkComponent"],"mappings":"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"}
@@ -165,15 +165,20 @@ class MenuComponent {
165
165
  this.open = !this.open;
166
166
  this.menuStatus = this.open ? 'isOpen' : 'isClosed';
167
167
  }
168
+ /**
169
+ * @author Alex Hodson
170
+ * @description emits the given link through the output
171
+ * @param link the link to be emitted
172
+ */
168
173
  emitLinkSelection(link) {
169
174
  this.navigateFromMenu.emit(link);
170
175
  }
171
176
  }
172
177
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
178
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", showLogOut: "showLogOut", privileges: "privileges" }, outputs: { navigateToHome: "navigateToHome", navigateToLogIn: "navigateToLogIn", navigateFromMenu: "navigateFromMenu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionLinkComponent, selector: "action-link", inputs: ["actionLink", "open"] }, { kind: "component", type: MenuLinkComponent, selector: "menu-link", inputs: ["label", "link"], outputs: ["navigateFromMenu"] }] });
174
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
175
180
  type: Component,
176
- args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
181
+ args: [{ selector: 'wp-menu', template: "<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>", styles: ["menu{padding-inline-start:0px;padding:0}.menubar{position:relative;background-color:var(--wp-primaryBlue);box-shadow:2px 5px 5px #0000001f;width:74px;height:100vh;transition:width .3s}.menubar span{display:inline-block;position:absolute;left:50%;transform:translate(-50%);font-weight:300;font-size:1em;line-height:60px}.menuWrap{display:block;position:fixed;background-color:var(--wp-primaryBlue);text-align:center;width:74px;transition:width .3s}.menubar.isOpen,.menuWrap.isOpen{width:210px}#hambmenu{position:relative;width:40px;height:45px;float:left;transition:.5s ease-in-out;cursor:pointer}#hambmenu span{position:absolute;height:5px;width:100%;vertical-align:middle;margin:20px 0 0 15px;background:white;border-radius:var(--wp-borderRadius);opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;padding:0}#hambmenu span:nth-child(1){top:0}#hambmenu span:nth-child(4){top:20px}#hambmenu.isOpen span:nth-child(1){top:18px;width:0;left:50%;opacity:0}#hambmenu.isOpen span:nth-child(2){transform:rotate(45deg)}#hambmenu.isOpen span:nth-child(3){transform:rotate(-45deg)}#hambmenu.isOpen span:nth-child(4){top:18px;width:0%;left:50%;opacity:0}.hambclicker{content:\"\";height:35px;width:42px;position:absolute;top:8px;left:8px;cursor:pointer;z-index:9}#hambmenu span:nth-child(2),#hambmenu span:nth-child(3){top:10px}#privilege-wrap{position:absolute;width:210px;margin-top:60px;transform:translate(-100%);transition:transform .3s;overflow-y:auto;height:calc(87vh - 60px)}#privilege-wrap.isOpen{transform:none}#privilege-wrap ul,.actionMenuArea ul{width:100%;margin-top:0;padding:0;list-style-type:none;text-align:left}.actionMenuArea li p{color:#fff;margin-bottom:0}.fa{color:#000;padding-right:8px}.mainMenuArea{height:90vh}.actionMenuArea{height:10vh;color:#fff;display:flex;justify-content:center;align-items:flex-end}@media screen and (max-width: 420px){.menubar span{font-size:1.2em}}\n"] }]
177
182
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
178
183
  type: Input
179
184
  }], navigateToHome: [{
@@ -1 +1 @@
1
- {"version":3,"file":"windows-plus-utilities-main-menu.mjs","sources":["../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.html","../../../projects/windows-plus-utilities/main-menu/main-menu.module.ts","../../../projects/windows-plus-utilities/main-menu/public-api.ts","../../../projects/windows-plus-utilities/main-menu/windows-plus-utilities-main-menu.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\r\n\r\n@Component({\r\n selector: 'action-link',\r\n templateUrl: './action-link.component.html',\r\n styleUrls: ['./action-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the action link component provides the functionality for the action links inside the side navigation\r\n */\r\nexport class ActionLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the action link element provided by the parent which contains the action link properties\r\n\t */\r\n\t@Input()\r\n\tactionLink: ActionLink\r\n\r\n\t/**\r\n\t * @description whether the menu is open\r\n\t */\r\n\t@Input()\r\n\topen: boolean\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor which specifies the required services and properties for the component\r\n\t */\r\n constructor() { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<li \r\n\tclass=\"cursor text-left\"\r\n>\r\n\t<div \r\n\t\tid=\"{{'content-wrap-' + actionLink.id}}\"\r\n\t\tclass=\"d-flex align-items-center cursor-pointer\"\r\n\t\t[ngClass]=\"{ 'justify-content-start': open, 'justify-content-center': !open}\"\r\n\t\t(click)=\"actionLink.handleClick()\"\r\n\t>\r\n\t\t<div>\r\n\t\t\t<fa-icon [icon]=\"actionLink.icon\"></fa-icon>\r\n\t\t</div>\r\n\t\t<div id=\"{{'text-wrap-' + actionLink.id}}\" class=\"ps-2\" *ngIf=\"open\">\r\n\t\t\t{{actionLink.value}}\r\n\t\t</div>\r\n\t</div>\r\n</li>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router'\r\n\r\n@Component({\r\n selector: 'menu-link',\r\n templateUrl: './menu-link.component.html',\r\n styleUrls: ['./menu-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the menu link class provides the functionality for the side navigation links\r\n */\r\nexport class MenuLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the string value which represents the area being display\r\n\t */\r\n\t@Input() label: string\r\n\r\n\t@Input() link: string\r\n\r\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter()\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the component\r\n\t */\r\n constructor(private router: Router) { }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method which runs when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a link in the side navigation bar.\r\n\t */\r\n\thandleLinkClick(): void {\r\n\t\tthis.navigateFromMenu.emit(this.link)\r\n\t}\r\n}\r\n","<li \r\n\tclass=\"cursor-pointer\"\r\n\t(click)=\"handleLinkClick()\"\r\n>\r\n\t<p class=\"text-white\">{{label}}</p>\r\n</li>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\nimport { MenuLink } from './../../util/interface/menu-link/menu-link.interface'\n\n@Component({\n\tselector: 'wp-menu',\n\ttemplateUrl: './menu.component.html',\n\tstyleUrls: ['./menu.component.sass']\n})\n/**\n * @author Alex Hodson\n * @description the menu component provides the functionality for interacting with the sidebar menu \n */\nexport class MenuComponent implements OnInit {\n\t/**\n\t * @description whether the home link should be displayed in the menu\n\t */\n\t@Input() showHome: boolean = true\n\t/**\n\t * @description handles the navigation to the home screen\n\t */\n\t@Output() navigateToHome: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description whether the log out link button should be displayed in the menu\n\t */\n\t@Input() showLogOut: boolean = true\n\t/**\n\t * @description handles the navigation to the log in screen\n\t */\n\t@Output() navigateToLogIn: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: MenuLink[]\n\t/**\n\t * @description handles the navigation from the main menu links\n\t */\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter<string>()\n\t/**\n\t * @description the HTML menu element\n\t */\n\t@ViewChild('menu') menu: any\n\t/**\n\t * @description the font awesome icon for the sign out button\n\t */\n\tfaSignOutAlt = faSignOutAlt\n\t/**\n\t * @description the font awesome icon for the home button\n\t */\n\tfaHome = faHome\n\t/**\n\t * @description whether the side menu is open\n\t */\n\topen = false\n\t/**\n\t * @description the status class to be applies to the menu\n\t */\n\tmenuStatus = 'isClosed'\n\t/**\n\t * @description the action links to be displayed in the side navigation menu\n\t */\n\tactionLinks: ActionLink[] = []\n\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\n\t/**\n\t * @author Alex Hodson\n\t * @description the method which runs when the component is rendered. Retrieves the account privileges for the logged in user\n\t */\n\tasync ngOnInit(): Promise<void> {\n\t\tthis.handleBaseActionLinks()\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles the assignment of the base action links\n\t */\n\thandleBaseActionLinks(): void {\n\t\tif (this.showHome) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'home',\n\t\t\t\t'value': 'Home',\n\t\t\t\t'icon': faHome,\n\t\t\t\t'handleClick': () => this.navigateToHome.emit()\n\t\t\t})\n\t\t}\n\n\t\tif (this.showLogOut) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'log-out',\n\t\t\t\t'value': 'Log Out',\n\t\t\t\t'icon': faSignOutAlt,\n\t\t\t\t'handleClick': () => {\n\t\t\t\t\tthis.navigateToLogIn.emit()\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description opens and closes the side menu according to the current menu state\n\t */\n\ttriggerMenu(): void {\n\t\tthis.open = !this.open\n\t\tthis.menuStatus = this.open ? 'isOpen' : 'isClosed'\n\t}\n\t\n\temitLinkSelection(link: string) {\n\t\tthis.navigateFromMenu.emit(link)\n\t}\n}\n","<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ActionLinkComponent } from './components/action-link/action-link.component'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { MenuLinkComponent } from './components/menu-link/menu-link.component'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent,\n\t\tMenuLinkComponent\n ],\n imports: [\n CommonModule,\n\t\tFontAwesomeModule\n ],\n exports: [\n MenuComponent\n ]\n})\nexport class MainMenuModule { }\n","/*\n * Public API Surface of windows-plus-utilities\n */\n\nexport * from './components/menu/menu.component';\nexport * from './main-menu.module';\n\nexport * from './util/interface/menu-link/menu-link.interface'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ActionLinkComponent","i3.MenuLinkComponent"],"mappings":"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"}
1
+ {"version":3,"file":"windows-plus-utilities-main-menu.mjs","sources":["../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/action-link/action-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu-link/menu-link.component.html","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.ts","../../../projects/windows-plus-utilities/main-menu/components/menu/menu.component.html","../../../projects/windows-plus-utilities/main-menu/main-menu.module.ts","../../../projects/windows-plus-utilities/main-menu/public-api.ts","../../../projects/windows-plus-utilities/main-menu/windows-plus-utilities-main-menu.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\r\n\r\n@Component({\r\n selector: 'action-link',\r\n templateUrl: './action-link.component.html',\r\n styleUrls: ['./action-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the action link component provides the functionality for the action links inside the side navigation\r\n */\r\nexport class ActionLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the action link element provided by the parent which contains the action link properties\r\n\t */\r\n\t@Input()\r\n\tactionLink: ActionLink\r\n\r\n\t/**\r\n\t * @description whether the menu is open\r\n\t */\r\n\t@Input()\r\n\topen: boolean\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor which specifies the required services and properties for the component\r\n\t */\r\n constructor() { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<li \r\n\tclass=\"cursor text-left\"\r\n>\r\n\t<div \r\n\t\tid=\"{{'content-wrap-' + actionLink.id}}\"\r\n\t\tclass=\"d-flex align-items-center cursor-pointer\"\r\n\t\t[ngClass]=\"{ 'justify-content-start': open, 'justify-content-center': !open}\"\r\n\t\t(click)=\"actionLink.handleClick()\"\r\n\t>\r\n\t\t<div>\r\n\t\t\t<fa-icon [icon]=\"actionLink.icon\"></fa-icon>\r\n\t\t</div>\r\n\t\t<div id=\"{{'text-wrap-' + actionLink.id}}\" class=\"ps-2\" *ngIf=\"open\">\r\n\t\t\t{{actionLink.value}}\r\n\t\t</div>\r\n\t</div>\r\n</li>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router'\r\n\r\n@Component({\r\n selector: 'menu-link',\r\n templateUrl: './menu-link.component.html',\r\n styleUrls: ['./menu-link.component.sass']\r\n})\r\n/**\r\n * @author Alex Hodson\r\n * @description the menu link class provides the functionality for the side navigation links\r\n */\r\nexport class MenuLinkComponent implements OnInit {\r\n\t/**\r\n\t * @description the string value which represents the area being display\r\n\t */\r\n\t@Input() label: string\r\n\r\n\t@Input() link: string\r\n\r\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter()\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the component\r\n\t */\r\n constructor(private router: Router) { }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method which runs when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a link in the side navigation bar.\r\n\t */\r\n\thandleLinkClick(): void {\r\n\t\tthis.navigateFromMenu.emit(this.link)\r\n\t}\r\n}\r\n","<li \r\n\tclass=\"cursor-pointer\"\r\n\t(click)=\"handleLinkClick()\"\r\n>\r\n\t<p class=\"text-white\">{{label}}</p>\r\n</li>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-link.interface'\nimport { MenuLink } from './../../util/interface/menu-link/menu-link.interface'\n\n@Component({\n\tselector: 'wp-menu',\n\ttemplateUrl: './menu.component.html',\n\tstyleUrls: ['./menu.component.sass']\n})\n/**\n * @author Alex Hodson\n * @description the menu component provides the functionality for interacting with the sidebar menu \n */\nexport class MenuComponent implements OnInit {\n\t/**\n\t * @description whether the home link should be displayed in the menu\n\t */\n\t@Input() showHome: boolean = true\n\t/**\n\t * @description handles the navigation to the home screen\n\t */\n\t@Output() navigateToHome: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description whether the log out link button should be displayed in the menu\n\t */\n\t@Input() showLogOut: boolean = true\n\t/**\n\t * @description handles the navigation to the log in screen\n\t */\n\t@Output() navigateToLogIn: EventEmitter<void> = new EventEmitter()\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: MenuLink[]\n\t/**\n\t * @description handles the navigation from the main menu links\n\t */\n\t@Output() navigateFromMenu: EventEmitter<string> = new EventEmitter<string>()\n\t/**\n\t * @description the HTML menu element\n\t */\n\t@ViewChild('menu') menu: any\n\t/**\n\t * @description the font awesome icon for the sign out button\n\t */\n\tfaSignOutAlt = faSignOutAlt\n\t/**\n\t * @description the font awesome icon for the home button\n\t */\n\tfaHome = faHome\n\t/**\n\t * @description whether the side menu is open\n\t */\n\topen = false\n\t/**\n\t * @description the status class to be applies to the menu\n\t */\n\tmenuStatus = 'isClosed'\n\t/**\n\t * @description the action links to be displayed in the side navigation menu\n\t */\n\tactionLinks: ActionLink[] = []\n\n\t/**\n\t * @author Alex Hodson\n\t * @description class constructor specifying the required services and properties for the component\n\t */\n\tconstructor() { }\n\n\t/**\n\t * @author Alex Hodson\n\t * @description the method which runs when the component is rendered. Retrieves the account privileges for the logged in user\n\t */\n\tasync ngOnInit(): Promise<void> {\n\t\tthis.handleBaseActionLinks()\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles the assignment of the base action links\n\t */\n\thandleBaseActionLinks(): void {\n\t\tif (this.showHome) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'home',\n\t\t\t\t'value': 'Home',\n\t\t\t\t'icon': faHome,\n\t\t\t\t'handleClick': () => this.navigateToHome.emit()\n\t\t\t})\n\t\t}\n\n\t\tif (this.showLogOut) {\n\t\t\tthis.actionLinks.push({\n\t\t\t\t'id': 'log-out',\n\t\t\t\t'value': 'Log Out',\n\t\t\t\t'icon': faSignOutAlt,\n\t\t\t\t'handleClick': () => {\n\t\t\t\t\tthis.navigateToLogIn.emit()\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description opens and closes the side menu according to the current menu state\n\t */\n\ttriggerMenu(): void {\n\t\tthis.open = !this.open\n\t\tthis.menuStatus = this.open ? 'isOpen' : 'isClosed'\n\t}\n\n\t/**\n\t * @author Alex Hodson\n\t * @description emits the given link through the output\n\t * @param link the link to be emitted\n\t */\n\temitLinkSelection(link: string) {\n\t\tthis.navigateFromMenu.emit(link)\n\t}\n}\n","<div #menu id=\"menu-wrap\" class=\"menubar\" [ngClass]=\"menuStatus\">\n\t<div class=\"menuWrap\" [ngClass]=\"menuStatus\">\n\t\t<div class=\"mainMenuArea\">\n\t\t\t<!-- Menu Links Here -->\n\t\t\t<div id=\"privilege-wrap\" [ngClass]=\"menuStatus\" *ngIf=\"privileges\">\n\t\t\t\t<ul>\n\t\t\t\t\t<div *ngFor=\"let element of privileges\">\n\t\t\t\t\t\t<menu-link [label]=\"element.label\" [link]=\"element.link\" (navigateFromMenu)=\"emitLinkSelection($event)\"></menu-link>\n\t\t\t\t\t</div>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div id=\"hamburger-wrap\" class=\"hambclicker\" (click)=\"triggerMenu()\"></div>\n\t\t\t<div id=\"hambmenu\" [ngClass]=\"menuStatus\">\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t\t<span></span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"actionMenuArea\">\n\t\t\t<ul>\n\t\t\t\t<div *ngFor=\"let element of actionLinks\">\n\t\t\t\t\t<action-link [actionLink]=\"element\" [open]=\"open\"></action-link>\n\t\t\t\t</div>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ActionLinkComponent } from './components/action-link/action-link.component'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { MenuLinkComponent } from './components/menu-link/menu-link.component'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent,\n\t\tMenuLinkComponent\n ],\n imports: [\n CommonModule,\n\t\tFontAwesomeModule\n ],\n exports: [\n MenuComponent\n ]\n})\nexport class MainMenuModule { }\n","/*\n * Public API Surface of windows-plus-utilities\n */\n\nexport * from './components/menu/menu.component';\nexport * from './main-menu.module';\n\nexport * from './util/interface/menu-link/menu-link.interface'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ActionLinkComponent","i3.MenuLinkComponent"],"mappings":"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"}
@@ -71,6 +71,11 @@ export declare class MenuComponent implements OnInit {
71
71
  * @description opens and closes the side menu according to the current menu state
72
72
  */
73
73
  triggerMenu(): void;
74
+ /**
75
+ * @author Alex Hodson
76
+ * @description emits the given link through the output
77
+ * @param link the link to be emitted
78
+ */
74
79
  emitLinkSelection(link: string): void;
75
80
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
76
81
  static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "wp-menu", never, { "showHome": "showHome"; "showLogOut": "showLogOut"; "privileges": "privileges"; }, { "navigateToHome": "navigateToHome"; "navigateToLogIn": "navigateToLogIn"; "navigateFromMenu": "navigateFromMenu"; }, never, never, false>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-plus-utilities",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.12",
6
6
  "@angular/core": "^14.2.12",