windows-plus-utilities 0.0.11 → 0.0.13

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.
@@ -1,4 +1,4 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -17,10 +17,18 @@ export class MenuComponent {
17
17
  * @description whether the home link should be displayed in the menu
18
18
  */
19
19
  this.showHome = true;
20
+ /**
21
+ * @description handles the navigation to the home screen
22
+ */
23
+ this.navigateToHome = new EventEmitter();
20
24
  /**
21
25
  * @description whether the log out link button should be displayed in the menu
22
26
  */
23
27
  this.showLogOut = true;
28
+ /**
29
+ * @description handles the navigation to the log in screen
30
+ */
31
+ this.navigateToLogIn = new EventEmitter();
24
32
  /**
25
33
  * @description the font awesome icon for the sign out button
26
34
  */
@@ -55,15 +63,19 @@ export class MenuComponent {
55
63
  'id': 'home',
56
64
  'value': 'Home',
57
65
  'icon': faHome,
58
- 'handleClick': () => this.navigateToHome()
66
+ 'handleClick': () => this.navigateToHome.emit()
59
67
  });
60
68
  }
61
69
  if (this.showLogOut) {
70
+ console.log('Log out set');
62
71
  this.actionLinks.push({
63
72
  'id': 'log-out',
64
73
  'value': 'Log Out',
65
74
  'icon': faSignOutAlt,
66
- 'handleClick': () => this.navigateToLogIn()
75
+ 'handleClick': () => {
76
+ console.log('Log out click');
77
+ this.navigateToLogIn.emit();
78
+ }
67
79
  });
68
80
  }
69
81
  }
@@ -77,22 +89,22 @@ export class MenuComponent {
77
89
  }
78
90
  }
79
91
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", navigateToHome: "navigateToHome", showLogOut: "showLogOut", navigateToLogIn: "navigateToLogIn", privileges: "privileges" }, 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 [area]=\"element.area\"></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"] }] });
92
+ 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" }, 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 [area]=\"element.area\"></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"] }] });
81
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
82
94
  type: Component,
83
95
  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 [area]=\"element.area\"></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"] }]
84
96
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
85
97
  type: Input
86
98
  }], navigateToHome: [{
87
- type: Input
99
+ type: Output
88
100
  }], showLogOut: [{
89
101
  type: Input
90
102
  }], navigateToLogIn: [{
91
- type: Input
103
+ type: Output
92
104
  }], privileges: [{
93
105
  type: Input
94
106
  }], menu: [{
95
107
  type: ViewChild,
96
108
  args: ['menu']
97
109
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7OztBQVF4RTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQThDekI7OztPQUdHO0lBQ0g7UUFqREE7O1dBRUc7UUFDTSxhQUFRLEdBQVksSUFBSSxDQUFBO1FBS2pDOztXQUVHO1FBQ00sZUFBVSxHQUFZLElBQUksQ0FBQTtRQWFuQzs7V0FFRztRQUNILGlCQUFZLEdBQUcsWUFBWSxDQUFBO1FBQzNCOztXQUVHO1FBQ0gsV0FBTSxHQUFHLE1BQU0sQ0FBQTtRQUNmOztXQUVHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBQTtRQUNaOztXQUVHO1FBQ0gsZUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUN2Qjs7V0FFRztRQUNILGdCQUFXLEdBQWlCLEVBQUUsQ0FBQTtJQU1kLENBQUM7SUFFakI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQscUJBQXFCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLE1BQU07Z0JBQ2YsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDMUMsQ0FBQyxDQUFBO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDM0MsQ0FBQyxDQUFBO1NBQ0Y7SUFDRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDcEQsQ0FBQzs7MkdBdkZXLGFBQWE7K0ZBQWIsYUFBYSx5U0NiMUIsKzdCQTJCTTs0RkRkTyxhQUFhO2tCQVR6QixTQUFTOytCQUNDLFNBQVM7MEVBWVYsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlhLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGZhSG9tZSwgZmFTaWduT3V0QWx0IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuaW1wb3J0IHsgQWN0aW9uTGluayB9IGZyb20gJy4uLy4uL3V0aWwvaW50ZXJmYWNlL2FjdGlvbi1saW5rL2FjdGlvbi1saW5rLmludGVyZmFjZSdcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnd3AtbWVudScsXG5cdHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2FzcyddXG59KVxuLyoqXG4gKiBAYXV0aG9yIEFsZXggSG9kc29uXG4gKiBAZGVzY3JpcHRpb24gdGhlIG1lbnUgY29tcG9uZW50IHByb3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBzaWRlYmFyIG1lbnUgXG4gKi9cbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB3aGV0aGVyIHRoZSBob21lIGxpbmsgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgbWVudVxuXHQgKi9cblx0QElucHV0KCkgc2hvd0hvbWU6IGJvb2xlYW4gPSB0cnVlXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyB0aGUgbmF2aWdhdGlvbiB0byB0aGUgaG9tZSBzY3JlZW5cblx0ICovXG5cdEBJbnB1dCgpIG5hdmlnYXRlVG9Ib21lOiAoKSA9PiB2b2lkXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgbG9nIG91dCBsaW5rIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBtZW51XG5cdCAqL1xuXHRASW5wdXQoKSBzaG93TG9nT3V0OiBib29sZWFuID0gdHJ1ZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgdGhlIG5hdmlnYXRpb24gdG8gdGhlIGxvZyBpbiBzY3JlZW5cblx0ICovXG5cdEBJbnB1dCgpIG5hdmlnYXRlVG9Mb2dJbjogKCkgPT4gdm9pZFxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBwcml2aWxlZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbG9nZ2VkIGluIGFjY291bnRcblx0ICovXG5cdEBJbnB1dCgpIHByaXZpbGVnZXM6IHN0cmluZ1tdXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIEhUTUwgbWVudSBlbGVtZW50XG5cdCAqL1xuXHRAVmlld0NoaWxkKCdtZW51JykgbWVudTogYW55XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIGZvbnQgYXdlc29tZSBpY29uIGZvciB0aGUgc2lnbiBvdXQgYnV0dG9uXG5cdCAqL1xuXHRmYVNpZ25PdXRBbHQgPSBmYVNpZ25PdXRBbHRcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgZm9udCBhd2Vzb21lIGljb24gZm9yIHRoZSBob21lIGJ1dHRvblxuXHQgKi9cblx0ZmFIb21lID0gZmFIb21lXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgc2lkZSBtZW51IGlzIG9wZW5cblx0ICovXG5cdG9wZW4gPSBmYWxzZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdGF0dXMgY2xhc3MgdG8gYmUgYXBwbGllcyB0byB0aGUgbWVudVxuXHQgKi9cblx0bWVudVN0YXR1cyA9ICdpc0Nsb3NlZCdcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgYWN0aW9uIGxpbmtzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgc2lkZSBuYXZpZ2F0aW9uIG1lbnVcblx0ICovXG5cdGFjdGlvbkxpbmtzOiBBY3Rpb25MaW5rW10gPSBbXVxuXG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllcyBmb3IgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIG1ldGhvZCB3aGljaCBydW5zIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZW5kZXJlZC4gUmV0cmlldmVzIHRoZSBhY2NvdW50IHByaXZpbGVnZXMgZm9yIHRoZSBsb2dnZWQgaW4gdXNlclxuXHQgKi9cblx0YXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5oYW5kbGVCYXNlQWN0aW9uTGlua3MoKVxuXHR9XG5cblx0aGFuZGxlQmFzZUFjdGlvbkxpbmtzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNob3dIb21lKSB7XG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnaG9tZScsXG5cdFx0XHRcdCd2YWx1ZSc6ICdIb21lJyxcblx0XHRcdFx0J2ljb24nOiBmYUhvbWUsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHRoaXMubmF2aWdhdGVUb0hvbWUoKVxuXHRcdFx0fSlcblx0XHR9XG5cblx0XHRpZiAodGhpcy5zaG93TG9nT3V0KSB7XG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnbG9nLW91dCcsXG5cdFx0XHRcdCd2YWx1ZSc6ICdMb2cgT3V0Jyxcblx0XHRcdFx0J2ljb24nOiBmYVNpZ25PdXRBbHQsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHRoaXMubmF2aWdhdGVUb0xvZ0luKClcblx0XHRcdH0pXG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIG9wZW5zIGFuZCBjbG9zZXMgdGhlIHNpZGUgbWVudSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbWVudSBzdGF0ZVxuXHQgKi9cblx0dHJpZ2dlck1lbnUoKTogdm9pZCB7XG5cdFx0dGhpcy5vcGVuID0gIXRoaXMub3BlblxuXHRcdHRoaXMubWVudVN0YXR1cyA9IHRoaXMub3BlbiA/ICdpc09wZW4nIDogJ2lzQ2xvc2VkJ1xuXHR9XG59XG4iLCI8ZGl2ICNtZW51IGlkPVwibWVudS13cmFwXCIgY2xhc3M9XCJtZW51YmFyXCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiPlxuXHQ8ZGl2IGNsYXNzPVwibWVudVdyYXBcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm1haW5NZW51QXJlYVwiPlxuXHRcdFx0PCEtLSBNZW51IExpbmtzIEhlcmUgLS0+XG5cdFx0XHQ8ZGl2IGlkPVwicHJpdmlsZWdlLXdyYXBcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCIgKm5nSWY9XCJwcml2aWxlZ2VzXCI+XG5cdFx0XHRcdDx1bD5cblx0XHRcdFx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHByaXZpbGVnZXNcIj5cblx0XHRcdFx0XHRcdDwhLS0gPG1lbnUtbGluayBbYXJlYV09XCJlbGVtZW50LmFyZWFcIj48L21lbnUtbGluaz4gLS0+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvdWw+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgaWQ9XCJoYW1idXJnZXItd3JhcFwiIGNsYXNzPVwiaGFtYmNsaWNrZXJcIiAoY2xpY2spPVwidHJpZ2dlck1lbnUoKVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBpZD1cImhhbWJtZW51XCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiYWN0aW9uTWVudUFyZWFcIj5cblx0XHRcdDx1bD5cblx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBhY3Rpb25MaW5rc1wiPlxuXHRcdFx0XHRcdDxhY3Rpb24tbGluayBbYWN0aW9uTGlua109XCJlbGVtZW50XCIgW29wZW5dPVwib3BlblwiPjwvYWN0aW9uLWxpbms+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC91bD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21haW4tbWVudS9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7O0FBUXhFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBOEN6Qjs7O09BR0c7SUFDSDtRQWpEQTs7V0FFRztRQUNNLGFBQVEsR0FBWSxJQUFJLENBQUE7UUFDakM7O1dBRUc7UUFDTyxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2pFOztXQUVHO1FBQ00sZUFBVSxHQUFZLElBQUksQ0FBQTtRQUNuQzs7V0FFRztRQUNPLG9CQUFlLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUE7UUFTbEU7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLFlBQVksQ0FBQTtRQUMzQjs7V0FFRztRQUNILFdBQU0sR0FBRyxNQUFNLENBQUE7UUFDZjs7V0FFRztRQUNILFNBQUksR0FBRyxLQUFLLENBQUE7UUFDWjs7V0FFRztRQUNILGVBQVUsR0FBRyxVQUFVLENBQUE7UUFDdkI7O1dBRUc7UUFDSCxnQkFBVyxHQUFpQixFQUFFLENBQUE7SUFNZCxDQUFDO0lBRWpCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELHFCQUFxQjtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTthQUMvQyxDQUFDLENBQUE7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNyQixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsU0FBUztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGFBQWEsRUFBRSxHQUFHLEVBQUU7b0JBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7b0JBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUE7Z0JBQzVCLENBQUM7YUFDRCxDQUFDLENBQUE7U0FDRjtJQUNGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtJQUNwRCxDQUFDOzsyR0EzRlcsYUFBYTsrRkFBYixhQUFhLHNUQ2IxQiwrN0JBMkJNOzRGRGRPLGFBQWE7a0JBVHpCLFNBQVM7K0JBQ0MsU0FBUzswRUFZVixRQUFRO3NCQUFoQixLQUFLO2dCQUlJLGNBQWM7c0JBQXZCLE1BQU07Z0JBSUUsVUFBVTtzQkFBbEIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUlFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSWEsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGZhSG9tZSwgZmFTaWduT3V0QWx0IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuaW1wb3J0IHsgQWN0aW9uTGluayB9IGZyb20gJy4uLy4uL3V0aWwvaW50ZXJmYWNlL2FjdGlvbi1saW5rL2FjdGlvbi1saW5rLmludGVyZmFjZSdcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnd3AtbWVudScsXG5cdHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2FzcyddXG59KVxuLyoqXG4gKiBAYXV0aG9yIEFsZXggSG9kc29uXG4gKiBAZGVzY3JpcHRpb24gdGhlIG1lbnUgY29tcG9uZW50IHByb3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBzaWRlYmFyIG1lbnUgXG4gKi9cbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB3aGV0aGVyIHRoZSBob21lIGxpbmsgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgbWVudVxuXHQgKi9cblx0QElucHV0KCkgc2hvd0hvbWU6IGJvb2xlYW4gPSB0cnVlXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyB0aGUgbmF2aWdhdGlvbiB0byB0aGUgaG9tZSBzY3JlZW5cblx0ICovXG5cdEBPdXRwdXQoKSBuYXZpZ2F0ZVRvSG9tZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgbG9nIG91dCBsaW5rIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBtZW51XG5cdCAqL1xuXHRASW5wdXQoKSBzaG93TG9nT3V0OiBib29sZWFuID0gdHJ1ZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgdGhlIG5hdmlnYXRpb24gdG8gdGhlIGxvZyBpbiBzY3JlZW5cblx0ICovXG5cdEBPdXRwdXQoKSBuYXZpZ2F0ZVRvTG9nSW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBwcml2aWxlZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbG9nZ2VkIGluIGFjY291bnRcblx0ICovXG5cdEBJbnB1dCgpIHByaXZpbGVnZXM6IHN0cmluZ1tdXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIEhUTUwgbWVudSBlbGVtZW50XG5cdCAqL1xuXHRAVmlld0NoaWxkKCdtZW51JykgbWVudTogYW55XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIGZvbnQgYXdlc29tZSBpY29uIGZvciB0aGUgc2lnbiBvdXQgYnV0dG9uXG5cdCAqL1xuXHRmYVNpZ25PdXRBbHQgPSBmYVNpZ25PdXRBbHRcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgZm9udCBhd2Vzb21lIGljb24gZm9yIHRoZSBob21lIGJ1dHRvblxuXHQgKi9cblx0ZmFIb21lID0gZmFIb21lXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gd2hldGhlciB0aGUgc2lkZSBtZW51IGlzIG9wZW5cblx0ICovXG5cdG9wZW4gPSBmYWxzZVxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdGF0dXMgY2xhc3MgdG8gYmUgYXBwbGllcyB0byB0aGUgbWVudVxuXHQgKi9cblx0bWVudVN0YXR1cyA9ICdpc0Nsb3NlZCdcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiB0aGUgYWN0aW9uIGxpbmtzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgc2lkZSBuYXZpZ2F0aW9uIG1lbnVcblx0ICovXG5cdGFjdGlvbkxpbmtzOiBBY3Rpb25MaW5rW10gPSBbXVxuXG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllcyBmb3IgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gdGhlIG1ldGhvZCB3aGljaCBydW5zIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZW5kZXJlZC4gUmV0cmlldmVzIHRoZSBhY2NvdW50IHByaXZpbGVnZXMgZm9yIHRoZSBsb2dnZWQgaW4gdXNlclxuXHQgKi9cblx0YXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5oYW5kbGVCYXNlQWN0aW9uTGlua3MoKVxuXHR9XG5cblx0aGFuZGxlQmFzZUFjdGlvbkxpbmtzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNob3dIb21lKSB7XG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnaG9tZScsXG5cdFx0XHRcdCd2YWx1ZSc6ICdIb21lJyxcblx0XHRcdFx0J2ljb24nOiBmYUhvbWUsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHRoaXMubmF2aWdhdGVUb0hvbWUuZW1pdCgpXG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNob3dMb2dPdXQpIHtcblx0XHRcdGNvbnNvbGUubG9nKCdMb2cgb3V0IHNldCcpXG5cdFx0XHR0aGlzLmFjdGlvbkxpbmtzLnB1c2goe1xuXHRcdFx0XHQnaWQnOiAnbG9nLW91dCcsXG5cdFx0XHRcdCd2YWx1ZSc6ICdMb2cgT3V0Jyxcblx0XHRcdFx0J2ljb24nOiBmYVNpZ25PdXRBbHQsXG5cdFx0XHRcdCdoYW5kbGVDbGljayc6ICgpID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnTG9nIG91dCBjbGljaycpXG5cdFx0XHRcdFx0dGhpcy5uYXZpZ2F0ZVRvTG9nSW4uZW1pdCgpXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIG9wZW5zIGFuZCBjbG9zZXMgdGhlIHNpZGUgbWVudSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbWVudSBzdGF0ZVxuXHQgKi9cblx0dHJpZ2dlck1lbnUoKTogdm9pZCB7XG5cdFx0dGhpcy5vcGVuID0gIXRoaXMub3BlblxuXHRcdHRoaXMubWVudVN0YXR1cyA9IHRoaXMub3BlbiA/ICdpc09wZW4nIDogJ2lzQ2xvc2VkJ1xuXHR9XG59XG4iLCI8ZGl2ICNtZW51IGlkPVwibWVudS13cmFwXCIgY2xhc3M9XCJtZW51YmFyXCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiPlxuXHQ8ZGl2IGNsYXNzPVwibWVudVdyYXBcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm1haW5NZW51QXJlYVwiPlxuXHRcdFx0PCEtLSBNZW51IExpbmtzIEhlcmUgLS0+XG5cdFx0XHQ8ZGl2IGlkPVwicHJpdmlsZWdlLXdyYXBcIiBbbmdDbGFzc109XCJtZW51U3RhdHVzXCIgKm5nSWY9XCJwcml2aWxlZ2VzXCI+XG5cdFx0XHRcdDx1bD5cblx0XHRcdFx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHByaXZpbGVnZXNcIj5cblx0XHRcdFx0XHRcdDwhLS0gPG1lbnUtbGluayBbYXJlYV09XCJlbGVtZW50LmFyZWFcIj48L21lbnUtbGluaz4gLS0+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvdWw+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgaWQ9XCJoYW1idXJnZXItd3JhcFwiIGNsYXNzPVwiaGFtYmNsaWNrZXJcIiAoY2xpY2spPVwidHJpZ2dlck1lbnUoKVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBpZD1cImhhbWJtZW51XCIgW25nQ2xhc3NdPVwibWVudVN0YXR1c1wiPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHQ8c3Bhbj48L3NwYW4+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiYWN0aW9uTWVudUFyZWFcIj5cblx0XHRcdDx1bD5cblx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBhY3Rpb25MaW5rc1wiPlxuXHRcdFx0XHRcdDxhY3Rpb24tbGluayBbYWN0aW9uTGlua109XCJlbGVtZW50XCIgW29wZW5dPVwib3BlblwiPjwvYWN0aW9uLWxpbms+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC91bD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, Input, ViewChild, NgModule } from '@angular/core';
3
+ import { Component, Input, EventEmitter, Output, ViewChild, NgModule } from '@angular/core';
4
4
  import { faSignOutAlt, faHome } from '@fortawesome/free-solid-svg-icons';
5
5
  import * as i1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
@@ -49,10 +49,18 @@ class MenuComponent {
49
49
  * @description whether the home link should be displayed in the menu
50
50
  */
51
51
  this.showHome = true;
52
+ /**
53
+ * @description handles the navigation to the home screen
54
+ */
55
+ this.navigateToHome = new EventEmitter();
52
56
  /**
53
57
  * @description whether the log out link button should be displayed in the menu
54
58
  */
55
59
  this.showLogOut = true;
60
+ /**
61
+ * @description handles the navigation to the log in screen
62
+ */
63
+ this.navigateToLogIn = new EventEmitter();
56
64
  /**
57
65
  * @description the font awesome icon for the sign out button
58
66
  */
@@ -89,15 +97,19 @@ class MenuComponent {
89
97
  'id': 'home',
90
98
  'value': 'Home',
91
99
  'icon': faHome,
92
- 'handleClick': () => this.navigateToHome()
100
+ 'handleClick': () => this.navigateToHome.emit()
93
101
  });
94
102
  }
95
103
  if (this.showLogOut) {
104
+ console.log('Log out set');
96
105
  this.actionLinks.push({
97
106
  'id': 'log-out',
98
107
  'value': 'Log Out',
99
108
  'icon': faSignOutAlt,
100
- 'handleClick': () => this.navigateToLogIn()
109
+ 'handleClick': () => {
110
+ console.log('Log out click');
111
+ this.navigateToLogIn.emit();
112
+ }
101
113
  });
102
114
  }
103
115
  }
@@ -111,18 +123,18 @@ class MenuComponent {
111
123
  }
112
124
  }
113
125
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", navigateToHome: "navigateToHome", showLogOut: "showLogOut", navigateToLogIn: "navigateToLogIn", privileges: "privileges" }, 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 [area]=\"element.area\"></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"] }] });
126
+ 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" }, 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 [area]=\"element.area\"></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"] }] });
115
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
116
128
  type: Component,
117
129
  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 [area]=\"element.area\"></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"] }]
118
130
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
119
131
  type: Input
120
132
  }], navigateToHome: [{
121
- type: Input
133
+ type: Output
122
134
  }], showLogOut: [{
123
135
  type: Input
124
136
  }], navigateToLogIn: [{
125
- type: Input
137
+ type: Output
126
138
  }], privileges: [{
127
139
  type: Input
128
140
  }], menu: [{
@@ -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/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, Input, OnInit, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-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@Input() navigateToHome: () => void\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@Input() navigateToLogIn: () => void\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: 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\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()\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': () => this.navigateToLogIn()\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","<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 [area]=\"element.area\"></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'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ActionLinkComponent"],"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/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, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-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: 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\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\tconsole.log('Log out set')\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\tconsole.log('Log out click')\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","<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 [area]=\"element.area\"></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'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ActionLinkComponent"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewChild, NgModule } from '@angular/core';
2
+ import { Component, Input, EventEmitter, Output, ViewChild, NgModule } from '@angular/core';
3
3
  import { faSignOutAlt, faHome } from '@fortawesome/free-solid-svg-icons';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -48,10 +48,18 @@ class MenuComponent {
48
48
  * @description whether the home link should be displayed in the menu
49
49
  */
50
50
  this.showHome = true;
51
+ /**
52
+ * @description handles the navigation to the home screen
53
+ */
54
+ this.navigateToHome = new EventEmitter();
51
55
  /**
52
56
  * @description whether the log out link button should be displayed in the menu
53
57
  */
54
58
  this.showLogOut = true;
59
+ /**
60
+ * @description handles the navigation to the log in screen
61
+ */
62
+ this.navigateToLogIn = new EventEmitter();
55
63
  /**
56
64
  * @description the font awesome icon for the sign out button
57
65
  */
@@ -86,15 +94,19 @@ class MenuComponent {
86
94
  'id': 'home',
87
95
  'value': 'Home',
88
96
  'icon': faHome,
89
- 'handleClick': () => this.navigateToHome()
97
+ 'handleClick': () => this.navigateToHome.emit()
90
98
  });
91
99
  }
92
100
  if (this.showLogOut) {
101
+ console.log('Log out set');
93
102
  this.actionLinks.push({
94
103
  'id': 'log-out',
95
104
  'value': 'Log Out',
96
105
  'icon': faSignOutAlt,
97
- 'handleClick': () => this.navigateToLogIn()
106
+ 'handleClick': () => {
107
+ console.log('Log out click');
108
+ this.navigateToLogIn.emit();
109
+ }
98
110
  });
99
111
  }
100
112
  }
@@ -108,18 +120,18 @@ class MenuComponent {
108
120
  }
109
121
  }
110
122
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MenuComponent, selector: "wp-menu", inputs: { showHome: "showHome", navigateToHome: "navigateToHome", showLogOut: "showLogOut", navigateToLogIn: "navigateToLogIn", privileges: "privileges" }, 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 [area]=\"element.area\"></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"] }] });
123
+ 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" }, 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 [area]=\"element.area\"></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"] }] });
112
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuComponent, decorators: [{
113
125
  type: Component,
114
126
  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 [area]=\"element.area\"></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"] }]
115
127
  }], ctorParameters: function () { return []; }, propDecorators: { showHome: [{
116
128
  type: Input
117
129
  }], navigateToHome: [{
118
- type: Input
130
+ type: Output
119
131
  }], showLogOut: [{
120
132
  type: Input
121
133
  }], navigateToLogIn: [{
122
- type: Input
134
+ type: Output
123
135
  }], privileges: [{
124
136
  type: Input
125
137
  }], menu: [{
@@ -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/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, Input, OnInit, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-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@Input() navigateToHome: () => void\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@Input() navigateToLogIn: () => void\n\t/**\n\t * @description the privileges associated with the logged in account\n\t */\n\t@Input() privileges: 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\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()\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': () => this.navigateToLogIn()\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","<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 [area]=\"element.area\"></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'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ActionLinkComponent"],"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/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, ViewChild } from '@angular/core'\nimport { faHome, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'\nimport { ActionLink } from '../../util/interface/action-link/action-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: 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\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\tconsole.log('Log out set')\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\tconsole.log('Log out click')\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","<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 [area]=\"element.area\"></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'\n\n\n@NgModule({\n declarations: [\n MenuComponent,\n\t\tActionLinkComponent\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ActionLinkComponent"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { OnInit } from '@angular/core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { ActionLink } from '../../util/interface/action-link/action-link.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MenuComponent implements OnInit {
@@ -9,7 +9,7 @@ export declare class MenuComponent implements OnInit {
9
9
  /**
10
10
  * @description handles the navigation to the home screen
11
11
  */
12
- navigateToHome: () => void;
12
+ navigateToHome: EventEmitter<void>;
13
13
  /**
14
14
  * @description whether the log out link button should be displayed in the menu
15
15
  */
@@ -17,7 +17,7 @@ export declare class MenuComponent implements OnInit {
17
17
  /**
18
18
  * @description handles the navigation to the log in screen
19
19
  */
20
- navigateToLogIn: () => void;
20
+ navigateToLogIn: EventEmitter<void>;
21
21
  /**
22
22
  * @description the privileges associated with the logged in account
23
23
  */
@@ -63,5 +63,5 @@ export declare class MenuComponent implements OnInit {
63
63
  */
64
64
  triggerMenu(): void;
65
65
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "wp-menu", never, { "showHome": "showHome"; "navigateToHome": "navigateToHome"; "showLogOut": "showLogOut"; "navigateToLogIn": "navigateToLogIn"; "privileges": "privileges"; }, {}, never, never, false>;
66
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "wp-menu", never, { "showHome": "showHome"; "showLogOut": "showLogOut"; "privileges": "privileges"; }, { "navigateToHome": "navigateToHome"; "navigateToLogIn": "navigateToLogIn"; }, never, never, false>;
67
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-plus-utilities",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.12",
6
6
  "@angular/core": "^14.2.12",