aril 0.0.97 → 0.0.98

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.
@@ -10,6 +10,17 @@ export class AuthGuard extends KeycloakAuthGuard {
10
10
  this.keycloak = keycloak;
11
11
  }
12
12
  async isAccessAllowed(route, state) {
13
+ try {
14
+ if (this.keycloak.isTokenExpired()) {
15
+ await this.keycloak.updateToken();
16
+ }
17
+ }
18
+ catch (error) {
19
+ await this.keycloak.login({
20
+ redirectUri: window.location.origin + state.url
21
+ });
22
+ return false;
23
+ }
13
24
  if (!this.authenticated) {
14
25
  await this.keycloak.login({
15
26
  redirectUri: window.location.origin + state.url
@@ -36,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
36
47
  providedIn: 'root'
37
48
  }]
38
49
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.KeycloakService }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDekIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHO2FBQy9DLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQzs7WUFBTSxPQUFPLElBQUksQ0FBQztJQUNwQixDQUFDOzhHQTNCVyxTQUFTO2tIQUFULFNBQVMsY0FGVCxNQUFNOzsyRkFFTixTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrQXV0aEd1YXJkLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCBleHRlbmRzIEtleWNsb2FrQXV0aEd1YXJkIHtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByb3RlY3RlZCByZWFkb25seSBrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlXHJcblx0KSB7XHJcblx0XHRzdXBlcihyb3V0ZXIsIGtleWNsb2FrKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBpc0FjY2Vzc0FsbG93ZWQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XHJcblx0XHRpZiAoIXRoaXMuYXV0aGVudGljYXRlZCkge1xyXG5cdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLmxvZ2luKHtcclxuXHRcdFx0XHRyZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHN0YXRlLnVybFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZXF1aXJlZFJvbGVzID0gcm91dGUuZGF0YVsncm9sZXMnXTtcclxuXHJcblx0XHRpZiAoIUFycmF5LmlzQXJyYXkocmVxdWlyZWRSb2xlcykgfHwgcmVxdWlyZWRSb2xlcy5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgYXV0aG9yaXplZCA9IHJlcXVpcmVkUm9sZXMuZXZlcnkoKHJvbGUpID0+IHRoaXMucm9sZXMuaW5jbHVkZXMocm9sZSkpO1xyXG5cclxuXHRcdGlmICghYXV0aG9yaXplZCkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdVc2VyIG5vdCBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGlzIHJvdXRlJyk7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH0gZWxzZSByZXR1cm4gdHJ1ZTtcclxuXHR9XHJcbn1cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQztZQUNKLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDO2dCQUNsQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsQ0FBQztRQUNBLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUNoRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNaLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUMvQyxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7O1lBQU0sT0FBTyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs4R0F0Q1csU0FBUztrSEFBVCxTQUFTLGNBRlQsTUFBTTs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0F1dGhHdWFyZCwgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgZXh0ZW5kcyBLZXljbG9ha0F1dGhHdWFyZCB7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIocm91dGVyLCBrZXljbG9hayk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgaXNBY2Nlc3NBbGxvd2VkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYodGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZCgpKXtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLnVwZGF0ZVRva2VuKCk7IFxyXG5cdFx0XHR9XHJcblx0XHQgIH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGF3YWl0IHRoaXMua2V5Y2xvYWsubG9naW4oe1xyXG5cdFx0XHQgIHJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgc3RhdGUudXJsXHJcblx0XHRcdH0pO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0ICB9XHJcblx0XHQgIFxyXG5cdFx0aWYgKCF0aGlzLmF1dGhlbnRpY2F0ZWQpIHtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbih7XHJcblx0XHRcdFx0cmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBzdGF0ZS51cmxcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcmVxdWlyZWRSb2xlcyA9IHJvdXRlLmRhdGFbJ3JvbGVzJ107XHJcblxyXG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHJlcXVpcmVkUm9sZXMpIHx8IHJlcXVpcmVkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGF1dGhvcml6ZWQgPSByZXF1aXJlZFJvbGVzLmV2ZXJ5KChyb2xlKSA9PiB0aGlzLnJvbGVzLmluY2x1ZGVzKHJvbGUpKTtcclxuXHJcblx0XHRpZiAoIWF1dGhvcml6ZWQpIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignVXNlciBub3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgdGhpcyByb3V0ZScpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9IGVsc2UgcmV0dXJuIHRydWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
76
76
  type: Injectable,
77
77
  args: [{ providedIn: 'root' }]
78
78
  }], ctorParameters: () => [{ type: i1.Router }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBb0JqQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNDLG1CQUFjLEdBQW9CO1lBQ3pDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1NBQy9CLENBQUM7UUF6QkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCLENBQUMsT0FBTztvQkFDdkIsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxNQUFNO2dCQUNQLEtBQUssaUJBQWlCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxLQUFLLGlCQUFpQixDQUFDLFlBQVksQ0FBQztnQkFDcEMsS0FBSyxpQkFBaUIsQ0FBQyxrQkFBa0I7b0JBQ2xDLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO29CQUN6Qyw4QkFBOEI7b0JBQzlCLE1BQU07WUFDUixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JGLFVBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBVUQsSUFBSSxDQUFDLE9BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3BFLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsVUFBb0IsRUFBRSxRQUFpQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsV0FBcUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQS9FVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha09wdGlvbnMsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBLZXljbG9ha0xvZ2luT3B0aW9ucyB9IGZyb20gJ2tleWNsb2FrLWpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2U/LnVwZGF0ZVRva2VuKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBrZXljbG9hayA9IGluamVjdChLZXljbG9ha1NlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBLZXljbG9ha09wdGlvbnMgPSB7XHJcblx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcgfSxcclxuXHRcdGJlYXJlckV4Y2x1ZGVkVXJsczogWycvYXNzZXRzJ11cclxuXHR9O1xyXG5cclxuXHRpbml0KGNvbmZpZ3M6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaW5pdCh7IC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsIGNvbmZpZzogY29uZmlncyB9KTtcclxuXHR9XHJcblxyXG5cdGxvZ2luKG9wdGlvbnM/OiBLZXljbG9ha0xvZ2luT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsubG9naW4ob3B0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRsb2dvdXQocmVkaXJlY3RVcmk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ291dChyZWRpcmVjdFVyaSk7IC8vIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuXHR9XHJcblxyXG5cdGlzVXNlckluUm9sZShyb2xlOiBzdHJpbmcsIHJlc291cmNlPzogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1VzZXJJblJvbGUocm9sZSwgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0Z2V0VXNlclJvbGVzKHJlYWxtUm9sZXM/OiBib29sZWFuLCByZXNvdXJjZT86IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFVzZXJSb2xlcyhyZWFsbVJvbGVzLCByZXNvdXJjZSk7XHJcblx0fVxyXG5cclxuXHRpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNMb2dnZWRJbigpO1xyXG5cdH1cclxuXHJcblx0aXNUb2tlbkV4cGlyZWQobWluVmFsaWRpdHk/OiBudW1iZXIpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5KTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVRva2VuKG1pblZhbGlkaXR5PzogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay51cGRhdGVUb2tlbihtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHRsb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvYWRVc2VyUHJvZmlsZShmb3JjZVJlbG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VybmFtZSgpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJUb2tlbigpOiB2b2lkIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsuY2xlYXJUb2tlbigpO1xyXG5cdH1cclxuXHJcblx0YWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5hZGRUb2tlblRvSGVhZGVyKGhlYWRlcnMpO1xyXG5cdH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBb0JqQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNDLG1CQUFjLEdBQW9CO1lBQ3pDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1NBQy9CLENBQUM7UUF6QkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCLENBQUMsT0FBTztvQkFDdkIsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxNQUFNO2dCQUNQLEtBQUssaUJBQWlCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxLQUFLLGlCQUFpQixDQUFDLFlBQVksQ0FBQztnQkFDcEMsS0FBSyxpQkFBaUIsQ0FBQyxrQkFBa0I7b0JBQ2xDLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO29CQUN6Qyw4QkFBOEI7b0JBQzlCLE1BQU07WUFDUixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JGLFVBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBVUQsSUFBSSxDQUFDLE9BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3BFLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsVUFBb0IsRUFBRSxRQUFpQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsV0FBcUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQS9FVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha09wdGlvbnMsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBLZXljbG9ha0xvZ2luT3B0aW9ucyB9IGZyb20gJ2tleWNsb2FrLWpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2U/LnVwZGF0ZVRva2VuKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBrZXljbG9hayA9IGluamVjdChLZXljbG9ha1NlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBLZXljbG9ha09wdGlvbnMgPSB7XHJcblx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcgfSxcclxuXHRcdGJlYXJlckV4Y2x1ZGVkVXJsczogWycvYXNzZXRzJ11cclxuXHR9O1xyXG5cclxuXHRpbml0KGNvbmZpZ3M6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaW5pdCh7IC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsIGNvbmZpZzogY29uZmlncyB9KTtcclxuXHR9XHJcblxyXG5cdGxvZ2luKG9wdGlvbnM/OiBLZXljbG9ha0xvZ2luT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsubG9naW4ob3B0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRsb2dvdXQocmVkaXJlY3RVcmk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ291dChyZWRpcmVjdFVyaSk7IC8vIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuXHR9XHJcblxyXG5cdGlzVXNlckluUm9sZShyb2xlOiBzdHJpbmcsIHJlc291cmNlPzogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1VzZXJJblJvbGUocm9sZSwgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0Z2V0VXNlclJvbGVzKHJlYWxtUm9sZXM/OiBib29sZWFuLCByZXNvdXJjZT86IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFVzZXJSb2xlcyhyZWFsbVJvbGVzLCByZXNvdXJjZSk7XHJcblx0fVxyXG5cclxuXHRpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNMb2dnZWRJbigpO1xyXG5cdH1cclxuXHJcblx0aXNUb2tlbkV4cGlyZWQobWluVmFsaWRpdHk/OiBudW1iZXIpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5KTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVRva2VuKG1pblZhbGlkaXR5PzogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay51cGRhdGVUb2tlbihtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHRsb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvYWRVc2VyUHJvZmlsZShmb3JjZVJlbG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VybmFtZSgpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJUb2tlbigpOiB2b2lkIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsuY2xlYXJUb2tlbigpO1xyXG5cdH1cclxuXHJcblx0YWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5hZGRUb2tlblRvSGVhZGVyKGhlYWRlcnMpO1xyXG5cdH1cclxuXHJcblx0XHJcbn1cclxuIl19
@@ -66,7 +66,7 @@ export class AppTopbarComponent {
66
66
  this.layoutService.showConfigSidebar();
67
67
  }
68
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value"] }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value", "badgeStyle", "badgeStyleClass"] }] }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, decorators: [{
72
72
  type: Component,
@@ -96,6 +96,17 @@ class AuthGuard extends KeycloakAuthGuard {
96
96
  this.keycloak = keycloak;
97
97
  }
98
98
  async isAccessAllowed(route, state) {
99
+ try {
100
+ if (this.keycloak.isTokenExpired()) {
101
+ await this.keycloak.updateToken();
102
+ }
103
+ }
104
+ catch (error) {
105
+ await this.keycloak.login({
106
+ redirectUri: window.location.origin + state.url
107
+ });
108
+ return false;
109
+ }
99
110
  if (!this.authenticated) {
100
111
  await this.keycloak.login({
101
112
  redirectUri: window.location.origin + state.url
@@ -1 +1 @@
1
- {"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/src/auth.guard.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\nimport { KeycloakEventType, KeycloakOptions, KeycloakService } from 'keycloak-angular';\r\nimport { KeycloakLoginOptions } from 'keycloak-js';\r\nimport { Observable, filter } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeycloakManager {\r\n\tconstructor(public router: Router) {\r\n\t\tthis.keycloak.keycloakEvents$.subscribe((event) => {\r\n\t\t\tswitch (event.type) {\r\n\t\t\t\tcase KeycloakEventType.OnReady:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = this.keycloak;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnAuthError:\r\n\t\t\t\tcase KeycloakEventType.OnAuthLogout:\r\n\t\t\t\tcase KeycloakEventType.OnAuthRefreshError:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = null;\r\n\t\t\t\t\t// this.keycloak.clearToken();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {\r\n\t\t\t(<any>globalThis).keycloakService?.updateToken();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate defaultOptions: KeycloakOptions = {\r\n\t\tloadUserProfileAtStartUp: true,\r\n\t\tinitOptions: { onLoad: 'login-required' },\r\n\t\tbearerExcludedUrls: ['/assets']\r\n\t};\r\n\r\n\tinit(configs: any): Promise<boolean> {\r\n\t\treturn this.keycloak.init({ ...this.defaultOptions, config: configs });\r\n\t}\r\n\r\n\tlogin(options?: KeycloakLoginOptions): Promise<void> {\r\n\t\treturn this.keycloak.login(options);\r\n\t}\r\n\r\n\tlogout(redirectUri?: string): Promise<void> {\r\n\t\treturn this.keycloak.logout(redirectUri); // window.location.origin\r\n\t}\r\n\r\n\tisUserInRole(role: string, resource?: string): boolean {\r\n\t\treturn this.keycloak.isUserInRole(role, resource);\r\n\t}\r\n\r\n\tgetUserRoles(realmRoles?: boolean, resource?: string): string[] {\r\n\t\treturn this.keycloak.getUserRoles(realmRoles, resource);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn this.keycloak.isLoggedIn();\r\n\t}\r\n\r\n\tisTokenExpired(minValidity?: number): boolean {\r\n\t\treturn this.keycloak.isTokenExpired(minValidity);\r\n\t}\r\n\r\n\tupdateToken(minValidity?: number): Promise<boolean> {\r\n\t\treturn this.keycloak.updateToken(minValidity);\r\n\t}\r\n\r\n\tloadUserProfile(forceReload?: boolean): Promise<any> {\r\n\t\treturn this.keycloak.loadUserProfile(forceReload);\r\n\t}\r\n\r\n\tgetToken(): Promise<string> {\r\n\t\treturn this.keycloak.getToken();\r\n\t}\r\n\r\n\tgetUsername(): string {\r\n\t\treturn this.keycloak.getUsername();\r\n\t}\r\n\r\n\tclearToken(): void {\r\n\t\tthis.keycloak.clearToken();\r\n\t}\r\n\r\n\taddTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders> {\r\n\t\treturn this.keycloak.addTokenToHeader(headers);\r\n\t}\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n\tconstructor(\r\n\t\tprotected override readonly router: Router,\r\n\t\tprotected readonly keycloak: KeycloakService\r\n\t) {\r\n\t\tsuper(router, keycloak);\r\n\t}\r\n\r\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\tif (!this.authenticated) {\r\n\t\t\tawait this.keycloak.login({\r\n\t\t\t\tredirectUri: window.location.origin + state.url\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst requiredRoles = route.data['roles'];\r\n\r\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\r\n\r\n\t\tif (!authorized) {\r\n\t\t\tconsole.error('User not authorized to access this route');\r\n\t\t\treturn false;\r\n\t\t} else return true;\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MASa,eAAe,CAAA;AAC3B,IAAA,WAAA,CAAmB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAoBjB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3C,QAAA,IAAA,CAAA,cAAc,GAAoB;AACzC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,WAAW,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;YACzC,kBAAkB,EAAE,CAAC,SAAS,CAAC;SAC/B,CAAC;QAzBD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACjD,YAAA,QAAQ,KAAK,CAAC,IAAI;gBACjB,KAAK,iBAAiB,CAAC,OAAO;AACvB,oBAAA,UAAW,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClD,MAAM;gBACP,KAAK,iBAAiB,CAAC,WAAW,CAAC;gBACnC,KAAK,iBAAiB,CAAC,YAAY,CAAC;gBACpC,KAAK,iBAAiB,CAAC,kBAAkB;AAClC,oBAAA,UAAW,CAAC,eAAe,GAAG,IAAI,CAAC;;oBAEzC,MAAM;aACP;AACF,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACrF,YAAA,UAAW,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;AAClD,SAAC,CAAC,CAAC;KACH;AAUD,IAAA,IAAI,CAAC,OAAY,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;KACvE;AAED,IAAA,KAAK,CAAC,OAA8B,EAAA;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACpC;AAED,IAAA,MAAM,CAAC,WAAoB,EAAA;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,YAAY,CAAC,IAAY,EAAE,QAAiB,EAAA;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClD;IAED,YAAY,CAAC,UAAoB,EAAE,QAAiB,EAAA;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACxD;IAED,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAClC;AAED,IAAA,cAAc,CAAC,WAAoB,EAAA;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACjD;AAED,IAAA,WAAW,CAAC,WAAoB,EAAA;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;KAC9C;AAED,IAAA,eAAe,CAAC,WAAqB,EAAA;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAClD;IAED,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,WAAW,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KACnC;IAED,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC3B;AAED,IAAA,gBAAgB,CAAC,OAAqB,EAAA;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC/C;8GA/EW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCNrB,eAAe,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KAAI;IACpG,MAAM,KAAK,GAAS,UAAW,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC;AAElE,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,EAAE;YACX,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AAChC,SAAA;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB;;ACJM,MAAO,SAAU,SAAQ,iBAAiB,CAAA;IAC/C,WAC6B,CAAA,MAAc,EACvB,QAAyB,EAAA;AAE5C,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAHI,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;KAG5C;AAEM,IAAA,MAAM,eAAe,CAAC,KAA6B,EAAE,KAA0B,EAAA;AACrF,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;AAC/C,aAAA,CAAC,CAAC;SACH;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE1C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,UAAU,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC1D,YAAA,OAAO,KAAK,CAAC;SACb;;AAAM,YAAA,OAAO,IAAI,CAAC;KACnB;8GA3BW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEN,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;AAClB,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/src/auth.guard.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\nimport { KeycloakEventType, KeycloakOptions, KeycloakService } from 'keycloak-angular';\r\nimport { KeycloakLoginOptions } from 'keycloak-js';\r\nimport { Observable, filter } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeycloakManager {\r\n\tconstructor(public router: Router) {\r\n\t\tthis.keycloak.keycloakEvents$.subscribe((event) => {\r\n\t\t\tswitch (event.type) {\r\n\t\t\t\tcase KeycloakEventType.OnReady:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = this.keycloak;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnAuthError:\r\n\t\t\t\tcase KeycloakEventType.OnAuthLogout:\r\n\t\t\t\tcase KeycloakEventType.OnAuthRefreshError:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = null;\r\n\t\t\t\t\t// this.keycloak.clearToken();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {\r\n\t\t\t(<any>globalThis).keycloakService?.updateToken();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate defaultOptions: KeycloakOptions = {\r\n\t\tloadUserProfileAtStartUp: true,\r\n\t\tinitOptions: { onLoad: 'login-required' },\r\n\t\tbearerExcludedUrls: ['/assets']\r\n\t};\r\n\r\n\tinit(configs: any): Promise<boolean> {\r\n\t\treturn this.keycloak.init({ ...this.defaultOptions, config: configs });\r\n\t}\r\n\r\n\tlogin(options?: KeycloakLoginOptions): Promise<void> {\r\n\t\treturn this.keycloak.login(options);\r\n\t}\r\n\r\n\tlogout(redirectUri?: string): Promise<void> {\r\n\t\treturn this.keycloak.logout(redirectUri); // window.location.origin\r\n\t}\r\n\r\n\tisUserInRole(role: string, resource?: string): boolean {\r\n\t\treturn this.keycloak.isUserInRole(role, resource);\r\n\t}\r\n\r\n\tgetUserRoles(realmRoles?: boolean, resource?: string): string[] {\r\n\t\treturn this.keycloak.getUserRoles(realmRoles, resource);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn this.keycloak.isLoggedIn();\r\n\t}\r\n\r\n\tisTokenExpired(minValidity?: number): boolean {\r\n\t\treturn this.keycloak.isTokenExpired(minValidity);\r\n\t}\r\n\r\n\tupdateToken(minValidity?: number): Promise<boolean> {\r\n\t\treturn this.keycloak.updateToken(minValidity);\r\n\t}\r\n\r\n\tloadUserProfile(forceReload?: boolean): Promise<any> {\r\n\t\treturn this.keycloak.loadUserProfile(forceReload);\r\n\t}\r\n\r\n\tgetToken(): Promise<string> {\r\n\t\treturn this.keycloak.getToken();\r\n\t}\r\n\r\n\tgetUsername(): string {\r\n\t\treturn this.keycloak.getUsername();\r\n\t}\r\n\r\n\tclearToken(): void {\r\n\t\tthis.keycloak.clearToken();\r\n\t}\r\n\r\n\taddTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders> {\r\n\t\treturn this.keycloak.addTokenToHeader(headers);\r\n\t}\r\n\r\n\t\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n\tconstructor(\r\n\t\tprotected override readonly router: Router,\r\n\t\tprotected readonly keycloak: KeycloakService\r\n\t) {\r\n\t\tsuper(router, keycloak);\r\n\t}\r\n\r\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\ttry {\r\n\t\t\tif(this.keycloak.isTokenExpired()){\r\n\t\t\t\tawait this.keycloak.updateToken(); \r\n\t\t\t}\r\n\t\t } catch (error) {\r\n\t\t\tawait this.keycloak.login({\r\n\t\t\t redirectUri: window.location.origin + state.url\r\n\t\t\t});\r\n\t\t\treturn false; \r\n\t\t }\r\n\t\t \r\n\t\tif (!this.authenticated) {\r\n\t\t\tawait this.keycloak.login({\r\n\t\t\t\tredirectUri: window.location.origin + state.url\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst requiredRoles = route.data['roles'];\r\n\r\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\r\n\r\n\t\tif (!authorized) {\r\n\t\t\tconsole.error('User not authorized to access this route');\r\n\t\t\treturn false;\r\n\t\t} else return true;\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -909,7 +909,7 @@ class AppTopbarComponent {
909
909
  this.layoutService.showConfigSidebar();
910
910
  }
911
911
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
912
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value"] }] }); }
912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value", "badgeStyle", "badgeStyleClass"] }] }); }
913
913
  }
914
914
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, decorators: [{
915
915
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"aril-theme-layout.mjs","sources":["../../projects/aril/theme/layout/app/breadcrumb/app.breadcrumb.component.ts","../../projects/aril/theme/layout/app/breadcrumb/app.breadcrumb.component.html","../../projects/aril/theme/layout/service/app.layout.service.ts","../../projects/aril/theme/layout/service/app.menu.service.ts","../../projects/aril/theme/layout/app/config/app.config.component.ts","../../projects/aril/theme/layout/app/config/app.config.component.html","../../projects/aril/theme/layout/app/profileSidebar/app.profilesidebar.component.ts","../../projects/aril/theme/layout/app/profileSidebar/app.profilesidebar.component.html","../../projects/aril/theme/layout/app/menu/app.menu.component.ts","../../projects/aril/theme/layout/app/menu/app.menu.component.html","../../projects/aril/theme/layout/app/menu/app.sub.menu.component.html","../../projects/aril/theme/layout/app/sidebar/app.sidebar.component.ts","../../projects/aril/theme/layout/app/sidebar/app.sidebar.component.html","../../projects/aril/theme/layout/app/topbar/app.topbar.component.ts","../../projects/aril/theme/layout/app/topbar/app.topbar.component.html","../../projects/aril/theme/layout/app/layout/app.layout.component.ts","../../projects/aril/theme/layout/app/layout/app.layout.component.html","../../projects/aril/theme/layout/app/layout/mfe.layout.component.ts","../../projects/aril/theme/layout/service/selection-group.service.ts","../../projects/aril/theme/layout/aril-theme-layout.ts"],"sourcesContent":["import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router, RouterLink } from '@angular/router';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\n\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ninterface Breadcrumb {\r\n\tlabel: string;\r\n\turl?: string;\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-breadcrumb',\r\n\timports: [NgTemplateOutlet, AsyncPipe, RouterLink,BreadcrumbModule,NgClass],\r\n\ttemplateUrl: './app.breadcrumb.component.html'\r\n})\r\nexport class AppBreadcrumbComponent {\r\n\tprivate readonly _breadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);\r\n\tprivate breadcrumbsSubscription!: Subscription;\r\n\r\n\treadonly breadcrumbs$ = this._breadcrumbs$.asObservable();\r\n breadcrumbs: MenuItem[] = [];\r\n\r\n\tconstructor(private router: Router) {\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {\r\n\t\t\tconst root = this.router.routerState.snapshot.root;\r\n\t\t\tconst breadcrumbs: Breadcrumb[] = [];\r\n\t\t\tthis.addBreadcrumb(root, [], breadcrumbs);\r\n\r\n\t\t\tthis._breadcrumbs$.next(breadcrumbs);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n this.breadcrumbsSubscription = this.breadcrumbs$.subscribe(breadcrumbs => {\r\n this.breadcrumbs = breadcrumbs.map(breadcrumb => ({\r\n label: breadcrumb.label,\r\n url: breadcrumb.url,\r\n }));\r\n\t\t\tthis.breadcrumbs.unshift({ icon: 'pi pi-home', url: '/' });\r\n });\r\n }\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.breadcrumbsSubscription) {\r\n\t\t\tthis.breadcrumbsSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate addBreadcrumb(route: ActivatedRouteSnapshot, parentUrl: string[], breadcrumbs: Breadcrumb[]) {\r\n\t\tconst routeUrl = parentUrl.concat(route.url.map((url) => url.path));\r\n\t\tconst breadcrumb = route.data['breadcrumb'];\r\n\t\tconst parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;\r\n\r\n\t\tif (breadcrumb && breadcrumb !== parentBreadcrumb) {\r\n\t\t\tbreadcrumbs.push({\r\n\t\t\t\tlabel: route.data['breadcrumb'],\r\n\t\t\t\turl: '/' + routeUrl.join('/')\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (route.firstChild) {\r\n\t\t\tthis.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\r\n\t\t}\r\n\t}\r\n}\r\n","<p-breadcrumb class=\"max-w-full\" [model]=\"breadcrumbs\" [style]=\"{ border: 'none', background: '#EFF3F8' }\">\r\n\t<ng-template pTemplate=\"item\" let-item>\r\n\t\t<a [routerLink]=\"item.url\">\r\n\t\t\t<span [ngClass]=\"[item.icon ? item.icon : '', 'text-500']\"></span>\r\n\t\t\t<span class=\"text-500\">{{ item.label }}</span>\r\n\t\t</a>\r\n\t</ng-template>\r\n</p-breadcrumb>\r\n","import { Injectable, effect, signal } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nexport type MenuMode = 'static' | 'overlay' | 'horizontal' | 'slim' | 'slim-plus' | 'reveal' | 'drawer';\r\n\r\nexport type ColorScheme = 'light' | 'dark' | 'dim';\r\n\r\nexport type MenuColorScheme = 'colorScheme' | 'primaryColor' | 'transparent';\r\n\r\nexport interface AppConfig {\r\n\tinputStyle: string;\r\n\tcolorScheme: ColorScheme;\r\n\ttheme: string;\r\n\tripple: boolean;\r\n\tmenuMode: MenuMode;\r\n\tscale: number;\r\n\tmenuTheme: MenuColorScheme;\r\n}\r\n\r\ninterface LayoutState {\r\n\tstaticMenuDesktopInactive: boolean;\r\n\toverlayMenuActive: boolean;\r\n\tprofileSidebarVisible: boolean;\r\n\tconfigSidebarVisible: boolean;\r\n\tstaticMenuMobileActive: boolean;\r\n\tmenuHoverActive: boolean;\r\n\tsidebarActive: boolean;\r\n\tanchored: boolean;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LayoutService {\r\n\t_config: AppConfig = {\r\n\t\tripple: false,\r\n\t\tinputStyle: 'outlined',\r\n\t\tmenuMode: 'slim-plus',\r\n\t\tcolorScheme: 'light',\r\n\t\ttheme: 'indigo',\r\n\t\tscale: 12,\r\n\t\tmenuTheme: 'colorScheme'\r\n\t};\r\n\r\n\t// TODO: Set User Config\r\n\tconfig = signal<AppConfig>(this._config);\r\n\r\n\tstate: LayoutState = {\r\n\t\tstaticMenuDesktopInactive: false,\r\n\t\toverlayMenuActive: false,\r\n\t\tprofileSidebarVisible: false,\r\n\t\tconfigSidebarVisible: false,\r\n\t\tstaticMenuMobileActive: false,\r\n\t\tmenuHoverActive: false,\r\n\t\tsidebarActive: false,\r\n\t\tanchored: false\r\n\t};\r\n\r\n\tprivate configUpdate = new Subject<AppConfig>();\r\n\r\n\tprivate overlayOpen = new Subject<any>();\r\n\r\n\tconfigUpdate$ = this.configUpdate.asObservable();\r\n\r\n\toverlayOpen$ = this.overlayOpen.asObservable();\r\n\r\n\tmfeAppItemClicked = signal<boolean>(false);\r\n\r\n\tconstructor() {\r\n\t\teffect(() => {\r\n\t\t\tconst config = this.config();\r\n\t\t\tif (this.updateStyle(config)) {\r\n\t\t\t\tthis.changeTheme();\r\n\t\t\t}\r\n\t\t\tthis.changeScale(config.scale);\r\n\t\t\tthis.onConfigUpdate();\r\n\t\t});\r\n\t}\r\n\r\n\tupdateStyle(config: AppConfig) {\r\n\t\treturn config.theme !== this._config.theme || config.colorScheme !== this._config.colorScheme;\r\n\t}\r\n\r\n\tonMenuToggle() {\r\n\t\tif (this.isOverlay()) {\r\n\t\t\tthis.state.overlayMenuActive = !this.state.overlayMenuActive;\r\n\r\n\t\t\tif (this.state.overlayMenuActive) {\r\n\t\t\t\tthis.overlayOpen.next(null);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDesktop()) {\r\n\t\t\tthis.state.staticMenuDesktopInactive = !this.state.staticMenuDesktopInactive;\r\n\t\t} else {\r\n\t\t\tthis.state.staticMenuMobileActive = !this.state.staticMenuMobileActive;\r\n\r\n\t\t\tif (this.state.staticMenuMobileActive) {\r\n\t\t\t\tthis.overlayOpen.next(null);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonOverlaySubmenuOpen() {\r\n\t\tthis.overlayOpen.next(null);\r\n\t}\r\n\r\n\tshowProfileSidebar() {\r\n\t\tthis.state.profileSidebarVisible = true;\r\n\t}\r\n\r\n\tshowConfigSidebar() {\r\n\t\tthis.state.configSidebarVisible = true;\r\n\t}\r\n\r\n\tisOverlay() {\r\n\t\treturn this.config().menuMode === 'overlay';\r\n\t}\r\n\r\n\tisDesktop() {\r\n\t\treturn window.innerWidth > 991;\r\n\t}\r\n\r\n\tisSlim() {\r\n\t\treturn this.config().menuMode === 'slim';\r\n\t}\r\n\r\n\tisSlimPlus() {\r\n\t\treturn this.config().menuMode === 'slim-plus';\r\n\t}\r\n\r\n\tisHorizontal() {\r\n\t\treturn this.config().menuMode === 'horizontal';\r\n\t}\r\n\r\n\tisMobile() {\r\n\t\treturn !this.isDesktop();\r\n\t}\r\n\r\n\tonConfigUpdate() {\r\n\t\tthis._config = { ...this.config() };\r\n\t\tthis.configUpdate.next(this.config());\r\n\t}\r\n\r\n\tchangeTheme() {\r\n\t\tconst config = this.config();\r\n\t\tconst themeLink = <HTMLLinkElement>document.getElementById('theme-link');\r\n\t\tconst themeLinkHref = themeLink.getAttribute('href')!;\r\n\t\tconst newHref = themeLinkHref\r\n\t\t\t.split('/')\r\n\t\t\t.map((el) =>\r\n\t\t\t\tel == this._config.theme ? (el = config.theme)\r\n\t\t\t\t: el == `theme-${this._config.colorScheme}` ? (el = `theme-${config.colorScheme}`)\r\n\t\t\t\t: el\r\n\t\t\t)\r\n\t\t\t.join('/');\r\n\r\n\t\tthis.replaceThemeLink(newHref);\r\n\t}\r\n\r\n\treplaceThemeLink(href: string) {\r\n\t\tconst id = 'theme-link';\r\n\t\tlet themeLink = <HTMLLinkElement>document.getElementById(id);\r\n\t\tconst cloneLinkElement = <HTMLLinkElement>themeLink.cloneNode(true);\r\n\r\n\t\tcloneLinkElement.setAttribute('href', href);\r\n\t\tcloneLinkElement.setAttribute('id', id + '-clone');\r\n\r\n\t\tthemeLink.parentNode!.insertBefore(cloneLinkElement, themeLink.nextSibling);\r\n\t\tcloneLinkElement.addEventListener('load', () => {\r\n\t\t\tthemeLink.remove();\r\n\t\t\tcloneLinkElement.setAttribute('id', id);\r\n\t\t});\r\n\t}\r\n\r\n\tchangeScale(value: number) {\r\n\t\tdocument.documentElement.style.fontSize = `${value}px`;\r\n\t}\r\n}\r\n","import { Injectable, computed, inject, signal } from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\nimport { MenuChangeEvent } from './menuchangeevent';\r\n\r\ninterface MenuConfig {\r\n\titems: MenuItem[];\r\n\tprefix?: string;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AppMenuService {\r\n\tprivate pubSubService = inject(PubSubService);\r\n\r\n\tprivate menuSource = new Subject<MenuChangeEvent>();\r\n\tprivate resetSource = new Subject();\r\n\r\n\tpublic menuConfig = signal<MenuConfig>({ items: [], prefix: undefined });\r\n\tpublic subMenuConfig = signal<MenuConfig>({ items: [], prefix: undefined });\r\n\tpublic activeRootMenuItemKey = signal<string | undefined>(undefined);\r\n\r\n\tpublic menuItems = computed(() => {\r\n\t\tconst config = this.menuConfig();\r\n\t\t// config.items.unshift({ root: true, label: 'Home', icon: 'pi pi-fw pi-home', routerLink: '' });\r\n\r\n\t\tif (config.prefix) return config.items.map((item) => this.addPrefix(item, config.prefix));\r\n\t\telse return config.items;\r\n\t});\r\n\r\n\tpublic subMenuItems = computed(() => {\r\n\t\tconst config = this.subMenuConfig();\r\n\t\t// config.items.unshift({\r\n\t\t// \troot: true,\r\n\t\t// \tlabel: `${config.prefix?.toUpperCase()} Home`,\r\n\t\t// \ticon: 'pi pi-fw pi-home',\r\n\t\t// \trouterLink: ''\r\n\t\t// });\r\n\r\n\t\tif (config.prefix) return config.items.map((item) => this.addPrefix(item, config.prefix));\r\n\t\telse return config.items;\r\n\t});\r\n\r\n\tmenuSource$ = this.menuSource.asObservable();\r\n\tresetSource$ = this.resetSource.asObservable();\r\n\r\n\taddPrefix(menuItem: MenuItem, appPrefix: string | undefined) {\r\n\t\tif (menuItem.items) {\r\n\t\t\tmenuItem.items = menuItem.items.map((item) => this.addPrefix(item, appPrefix));\r\n\t\t} else {\r\n\t\t\tconst url = menuItem['root'] ? `/${appPrefix}` : `/${appPrefix}/${menuItem.routerLink}`;\r\n\r\n\t\t\tif ((<any>globalThis).isHostMode) {\r\n\t\t\t\tmenuItem['path'] = url;\r\n\t\t\t\tmenuItem.command = () => {\r\n\t\t\t\t\tthis.pubSubService.publish({ name: 'navigateBetweenApps', data: { path: url } });\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tmenuItem.routerLink = url;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn menuItem;\r\n\t}\r\n\r\n\tonMenuStateChange(event: MenuChangeEvent) {\r\n\t\tthis.menuSource.next(event);\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.resetSource.next(true);\r\n\t}\r\n}\r\n","import { NgClass, NgStyle } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\n\r\nimport { ColorScheme, LayoutService, MenuColorScheme, MenuMode } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-config',\r\n\timports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass],\r\n\ttemplateUrl: './app.config.component.html'\r\n})\r\nexport class AppConfigComponent implements OnInit {\r\n\t@Input() minimal: boolean = false;\r\n\r\n\tcomponentThemes: any[] = [];\r\n\r\n\tscales: number[] = [12, 13, 14, 15, 16];\r\n\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic menuService: AppMenuService\r\n\t) {}\r\n\r\n\tget visible(): boolean {\r\n\t\treturn this.layoutService.state.configSidebarVisible;\r\n\t}\r\n\tset visible(_val: boolean) {\r\n\t\tthis.layoutService.state.configSidebarVisible = _val;\r\n\t}\r\n\r\n\tget scale(): number {\r\n\t\treturn this.layoutService.config().scale;\r\n\t}\r\n\tset scale(_val: number) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tscale: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget menuMode(): MenuMode {\r\n\t\treturn this.layoutService.config().menuMode;\r\n\t}\r\n\tset menuMode(_val: MenuMode) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tmenuMode: _val\r\n\t\t}));\r\n\t\tif (this.layoutService.isSlimPlus() || this.layoutService.isSlim() || this.layoutService.isHorizontal()) {\r\n\t\t\tthis.menuService.reset();\r\n\t\t}\r\n\t}\r\n\r\n\tget colorScheme(): ColorScheme {\r\n\t\treturn this.layoutService.config().colorScheme;\r\n\t}\r\n\tset colorScheme(_val: ColorScheme) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tcolorScheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget inputStyle(): string {\r\n\t\treturn this.layoutService.config().inputStyle;\r\n\t}\r\n\tset inputStyle(_val: string) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tinputStyle: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget ripple(): boolean {\r\n\t\treturn this.layoutService.config().ripple;\r\n\t}\r\n\tset ripple(_val: boolean) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tripple: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget menuTheme(): MenuColorScheme {\r\n\t\treturn this.layoutService.config().menuTheme;\r\n\t}\r\n\tset menuTheme(_val: MenuColorScheme) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tmenuTheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget theme(): string {\r\n\t\treturn this.layoutService.config().theme;\r\n\t}\r\n\tset theme(_val: string) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\ttheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.componentThemes = [\r\n\t\t\t{ name: 'indigo', color: '#6366F1' },\r\n\t\t\t{ name: 'blue', color: '#3B82F6' },\r\n\t\t\t{ name: 'purple', color: '#8B5CF6' },\r\n\t\t\t{ name: 'teal', color: '#14B8A6' },\r\n\t\t\t{ name: 'cyan', color: '#06b6d4' },\r\n\t\t\t{ name: 'green', color: '#10b981' },\r\n\t\t\t{ name: 'orange', color: '#f59e0b' },\r\n\t\t\t{ name: 'pink', color: '#d946ef' }\r\n\t\t];\r\n\t}\r\n\r\n\tonConfigButtonClick() {\r\n\t\tthis.layoutService.showConfigSidebar();\r\n\t}\r\n\r\n\tchangeColorScheme(colorScheme: ColorScheme) {\r\n\t\tthis.colorScheme = colorScheme;\r\n\t}\r\n\r\n\tchangeTheme(theme: string) {\r\n\t\tthis.theme = theme;\r\n\t}\r\n\r\n\tdecrementScale() {\r\n\t\tthis.scale--;\r\n\t}\r\n\r\n\tincrementScale() {\r\n\t\tthis.scale++;\r\n\t}\r\n}\r\n","<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n</p-sidebar>\r\n","import { Component, inject } from '@angular/core';\r\n\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { TagModule } from 'primeng/tag';\r\n\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-profilemenu',\r\n\timports: [SidebarModule, TagModule],\r\n\ttemplateUrl: './app.profilesidebar.component.html'\r\n})\r\nexport class AppProfileSidebarComponent {\r\n\tkeyCloakManager = inject(KeycloakManager);\r\n\tusername: any;\r\n\r\n\tconstructor(public layoutService: LayoutService) {\r\n\t\tthis.username = this.keyCloakManager.getUsername();\r\n\t}\r\n\r\n\tget visible(): boolean {\r\n\t\treturn this.layoutService.state.profileSidebarVisible;\r\n\t}\r\n\r\n\tset visible(_val: boolean) {\r\n\t\tthis.layoutService.state.profileSidebarVisible = _val;\r\n\t}\r\n}\r\n","<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\r\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Hoşgeldiniz</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">{{username}}</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<!-- <li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin mıollit</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li> -->\r\n\t\t\t<li (click)=\"keyCloakManager.logout()\">\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\" >\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Çıkış</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n\r\n\t<!-- <div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div> -->\r\n\r\n\t<!-- <div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div> -->\r\n</p-sidebar>\r\n","import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { NgClass } from '@angular/common';\r\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { DomHandler } from 'primeng/dom';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: '[app-menuitem]',\r\n\ttemplate: `\r\n\t\t<ng-container>\r\n\t\t\t@if (root) {\r\n\t\t\t\t<div class=\"layout-menuitem-root-text\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t@if (item.items?.length) {\r\n\t\t\t\t<a\r\n\t\t\t\t\t[ngClass]=\"{ 'active-root-menu-item': root && key == menuService.activeRootMenuItemKey() }\"\r\n\t\t\t\t\t[attr.href]=\"item.url\"\r\n\t\t\t\t\t(click)=\"itemClick($event)\"\r\n\t\t\t\t\t(mouseenter)=\"onMouseEnter()\"\r\n\t\t\t\t\t[attr.target]=\"item.target\"\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t\tpRipple\r\n\t\t\t\t\t[pTooltip]=\"item.label\"\r\n\t\t\t\t\t[tooltipDisabled]=\"!(isSlim && root && !active)\">\r\n\t\t\t\t\t<i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n\t\t\t\t\t<span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n\t\t\t\t\t@if (item.items) {\r\n\t\t\t\t\t\t<i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</a>\r\n\t\t\t} @else {\r\n\t\t\t\t<a\r\n\t\t\t\t\t[ngClass]=\"{ 'active-root-menu-item': root && key == menuService.activeRootMenuItemKey() }\"\r\n\t\t\t\t\t(click)=\"itemClick($event)\"\r\n\t\t\t\t\t(mouseenter)=\"onMouseEnter()\"\r\n\t\t\t\t\t[routerLink]=\"item.routerLink\"\r\n\t\t\t\t\trouterLinkActive=\"active-route\"\r\n\t\t\t\t\t[routerLinkActiveOptions]=\"\r\n\t\t\t\t\t\titem.routerLinkActiveOptions || {\r\n\t\t\t\t\t\t\tpaths: 'exact',\r\n\t\t\t\t\t\t\tqueryParams: 'ignored',\r\n\t\t\t\t\t\t\tmatrixParams: 'ignored',\r\n\t\t\t\t\t\t\tfragment: 'ignored'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t[fragment]=\"item.fragment\"\r\n\t\t\t\t\t[queryParamsHandling]=\"item.queryParamsHandling\"\r\n\t\t\t\t\t[preserveFragment]=\"item.preserveFragment\"\r\n\t\t\t\t\t[skipLocationChange]=\"item.skipLocationChange\"\r\n\t\t\t\t\t[replaceUrl]=\"item.replaceUrl\"\r\n\t\t\t\t\t[state]=\"item.state\"\r\n\t\t\t\t\t[queryParams]=\"item.queryParams\"\r\n\t\t\t\t\t[attr.target]=\"item.target\"\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t\tpRipple\r\n\t\t\t\t\t[pTooltip]=\"item.label\"\r\n\t\t\t\t\t[tooltipDisabled]=\"!(isSlim && root)\">\r\n\t\t\t\t\t<i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n\r\n\t\t\t\t\t<span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n\r\n\t\t\t\t\t@if (item.items) {\r\n\t\t\t\t\t\t<i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</a>\r\n\t\t\t}\r\n\r\n\t\t\t@if (item.items) {\r\n\t\t\t\t<ul #submenu [@children]=\"submenuAnimation\" (@children.done)=\"onSubmenuAnimated($event)\">\r\n\t\t\t\t\t@for (child of item.items; track child; let i = $index) {\r\n\t\t\t\t\t\t<li app-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\"></li>\r\n\t\t\t\t\t}\r\n\t\t\t\t</ul>\r\n\t\t\t}\r\n\t\t</ng-container>\r\n\t`,\r\n\timports: [NgClass, RouterLink, RouterLinkActive, TooltipModule, RippleModule],\r\n\tanimations: [\r\n\t\ttrigger('children', [\r\n\t\t\tstate(\r\n\t\t\t\t'collapsed',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: '0'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'expanded',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: '*'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'hidden',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tdisplay: 'none'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'visible',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tdisplay: 'block'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\r\n\t\t])\r\n\t],\r\n\tstyles: [\r\n\t\t'.active-root-menu-item { background-color: var(--primary-color); & > i,span { color: var(--primary-foreground) !important; } & > span { font-weight: 700; } }'\r\n\t]\r\n})\r\nexport class AppMenuItemComponent implements OnInit, OnDestroy {\r\n\t@Input() item!: MenuItem;\r\n\r\n\t@Input() index!: number;\r\n\r\n\t@Input() @HostBinding('class.layout-root-menuitem') root!: boolean;\r\n\r\n\t@Input() parentKey!: string;\r\n\r\n\t@ViewChild('submenu') submenu!: ElementRef;\r\n\r\n\tactive = false;\r\n\r\n\tmenuSourceSubscription: Subscription;\r\n\r\n\tmenuResetSubscription: Subscription;\r\n\r\n\tkey: string = '';\r\n\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic router: Router,\r\n\t\tpublic menuService: AppMenuService\r\n\t) {\r\n\t\tthis.menuSourceSubscription = this.menuService.menuSource$.subscribe((value) => {\r\n\t\t\tPromise.resolve(null).then(() => {\r\n\t\t\t\tif (value.routeEvent) {\r\n\t\t\t\t\tthis.active = value.key === this.key || value.key.startsWith(this.key + '-') ? true : false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (value.key !== this.key && !value.key.startsWith(this.key + '-')) {\r\n\t\t\t\t\t\tthis.active = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {\r\n\t\t\tthis.active = false;\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params: any) => {\r\n\t\t\tif (this.isSlimPlus || this.isSlim || this.isHorizontal) {\r\n\t\t\t\tif (!this.layoutService.mfeAppItemClicked()) this.active = false;\r\n\t\t\t} else {\r\n\t\t\t\tif (this.item.routerLink) {\r\n\t\t\t\t\tthis.updateActiveStateFromRoute();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\tthis.item['path'] === params.url ||\r\n\t\t\t\tthis.item.routerLink === params.url ||\r\n\t\t\t\tthis.item.routerLink === params.urlAfterRedirects ||\r\n\t\t\t\tthis.item['remoteName'] === params.url.substring(1)\r\n\t\t\t) {\r\n\t\t\t\tthis.menuService.activeRootMenuItemKey.set(this.key.charAt(0));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.key = this.parentKey ? this.parentKey + '-' + this.index : String(this.index);\r\n\t\tif (!(this.isSlimPlus || this.isSlim || this.isHorizontal) && this.item.routerLink) {\r\n\t\t\tthis.updateActiveStateFromRoute();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewChecked() {\r\n\t\tif (\r\n\t\t\tthis.root &&\r\n\t\t\tthis.active &&\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\tthis.calculatePosition(this.submenu?.nativeElement, this.submenu?.nativeElement.parentElement);\r\n\t\t}\r\n\t}\r\n\r\n\tupdateActiveStateFromRoute() {\r\n\t\tlet activeRoute = this.router.isActive(this.item.routerLink[0], {\r\n\t\t\tpaths: 'exact',\r\n\t\t\tqueryParams: 'ignored',\r\n\t\t\tmatrixParams: 'ignored',\r\n\t\t\tfragment: 'ignored'\r\n\t\t});\r\n\r\n\t\tif (activeRoute) {\r\n\t\t\tthis.menuService.onMenuStateChange({ key: this.key, routeEvent: true });\r\n\t\t}\r\n\t}\r\n\r\n\tonSubmenuAnimated(event: AnimationEvent) {\r\n\t\tif (\r\n\t\t\tevent.toState === 'visible' &&\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\tconst el = <HTMLUListElement>event.element;\r\n\t\t\tconst elParent = <HTMLUListElement>el.parentElement;\r\n\t\t\tthis.calculatePosition(el, elParent);\r\n\t\t}\r\n\t}\r\n\r\n\tcalculatePosition(overlay: HTMLElement, target: HTMLElement) {\r\n\t\tif (overlay) {\r\n\t\t\tconst { left, top } = target.getBoundingClientRect();\r\n\t\t\tconst [vWidth, vHeight] = [window.innerWidth, window.innerHeight];\r\n\t\t\tconst [oWidth, oHeight] = [overlay.offsetWidth, overlay.offsetHeight];\r\n\t\t\tconst scrollbarWidth = DomHandler.calculateScrollbarWidth();\r\n\t\t\t// reset\r\n\t\t\toverlay.style.top = '';\r\n\t\t\toverlay.style.left = '';\r\n\r\n\t\t\tif (this.layoutService.isHorizontal()) {\r\n\t\t\t\tconst width = left + oWidth + scrollbarWidth;\r\n\t\t\t\toverlay.style.left = vWidth < width ? `${left - (width - vWidth)}px` : `${left}px`;\r\n\t\t\t} else if (this.layoutService.isSlim() || this.layoutService.isSlimPlus()) {\r\n\t\t\t\tconst height = top + oHeight;\r\n\t\t\t\toverlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\titemClick(event: Event) {\r\n\t\t// avoid processing disabled items\r\n\t\tif (this.item.disabled) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// navigate with hover\r\n\t\tif ((this.root && this.isSlim) || this.isHorizontal || this.isSlimPlus) {\r\n\t\t\tthis.layoutService.state.menuHoverActive = !this.layoutService.state.menuHoverActive;\r\n\t\t}\r\n\r\n\t\t// execute command\r\n\t\tif (this.item.command) {\r\n\t\t\tthis.item.command({ originalEvent: event, item: this.item });\r\n\t\t}\r\n\r\n\t\t// toggle active state\r\n\t\tif (this.item.items) {\r\n\t\t\tthis.active = !this.active;\r\n\r\n\t\t\tif (this.root && this.active && (this.isSlim || this.isHorizontal || this.isSlimPlus)) {\r\n\t\t\t\tthis.layoutService.onOverlaySubmenuOpen();\r\n\r\n\t\t\t\tif (this.item['mfeApp']) {\r\n\t\t\t\t\tthis.layoutService.mfeAppItemClicked.set(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.layoutService.mfeAppItemClicked.set(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (this.layoutService.isMobile()) {\r\n\t\t\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isSlim || this.isHorizontal || this.isSlimPlus) {\r\n\t\t\t\tthis.menuService.reset();\r\n\t\t\t\tthis.layoutService.state.menuHoverActive = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.menuService.onMenuStateChange({ key: this.key });\r\n\t}\r\n\r\n\tonMouseEnter() {\r\n\t\t// activate item on hover\r\n\t\tif ((<any>globalThis).isHostMode && !this.item.items?.length) return;\r\n\r\n\t\tif (this.root && (this.isSlim || this.isHorizontal || this.isSlimPlus) && this.layoutService.isDesktop()) {\r\n\t\t\tif (this.layoutService.state.menuHoverActive) {\r\n\t\t\t\tthis.active = true;\r\n\t\t\t\tthis.menuService.onMenuStateChange({ key: this.key });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget submenuAnimation() {\r\n\t\tif (\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\treturn this.active ? 'visible' : 'hidden';\r\n\t\t} else\r\n\t\t\treturn (\r\n\t\t\t\tthis.root ? 'expanded'\r\n\t\t\t\t: this.active ? 'expanded'\r\n\t\t\t\t: 'collapsed'\r\n\t\t\t);\r\n\t}\r\n\r\n\tget isHorizontal() {\r\n\t\treturn this.layoutService.isHorizontal();\r\n\t}\r\n\r\n\tget isSlim() {\r\n\t\treturn this.layoutService.isSlim();\r\n\t}\r\n\r\n\tget isSlimPlus() {\r\n\t\treturn this.layoutService.isSlimPlus();\r\n\t}\r\n\r\n\t@HostBinding('class.active-menuitem')\r\n\tget activeClass() {\r\n\t\treturn this.active && !this.root;\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.menuSourceSubscription) {\r\n\t\t\tthis.menuSourceSubscription.unsubscribe();\r\n\t\t}\r\n\r\n\t\tif (this.menuResetSubscription) {\r\n\t\t\tthis.menuResetSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-menu',\r\n\timports: [AppMenuItemComponent],\r\n\ttemplateUrl: './app.menu.component.html'\r\n})\r\nexport class AppMenuComponent {\r\n\tmenuService = inject(AppMenuService);\r\n\tisHostMode = (<any>globalThis).isHostMode;\r\n\thostMenuItems = (<any>globalThis).hostMenuItems;\r\n}\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-sub-menu',\r\n\timports: [AppMenuItemComponent],\r\n\ttemplateUrl: './app.sub.menu.component.html'\r\n})\r\nexport class AppSubMenuComponent {\r\n\tmenuService = inject(AppMenuService);\r\n\r\n\t@HostBinding('id') get id() {\r\n\t\treturn 'app-sub-menu-' + (<any>globalThis).activeMF;\r\n\t}\r\n}\r\n","<ul class=\"layout-menu flex-wrap\">\r\n\t@for (item of isHostMode ? hostMenuItems() : menuService.menuItems(); track $index) {\r\n\t\t@if (item.separator) {\r\n\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t} @else {\r\n\t\t\t<li app-menuitem [item]=\"item\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t}\r\n\t}\r\n</ul>\r\n","@for (subItem of menuService.subMenuItems(); track $index) {\r\n\t@if (subItem.separator) {\r\n\t\t<li class=\"menu-separator\"></li>\r\n\t} @else {\r\n\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"false\"></li>\r\n\t}\r\n}\r\n","import { Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuComponent } from '../menu/app.menu.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-sidebar',\r\n\timports: [RouterLink, AppMenuComponent],\r\n\ttemplateUrl: './app.sidebar.component.html'\r\n})\r\nexport class AppSidebarComponent {\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic el: ElementRef\r\n\t) {}\r\n\r\n\ttimeout: any = null;\r\n\r\n\t@ViewChild('menuContainer') menuContainer!: ElementRef;\r\n\r\n\tonMouseEnter() {\r\n\t\tif (!this.layoutService.state.anchored) {\r\n\t\t\tif (this.timeout) {\r\n\t\t\t\tclearTimeout(this.timeout);\r\n\t\t\t\tthis.timeout = null;\r\n\t\t\t}\r\n\t\t\tthis.layoutService.state.sidebarActive = true;\r\n\t\t}\r\n\t}\r\n\r\n\tonMouseLeave() {\r\n\t\tif (!this.layoutService.state.anchored) {\r\n\t\t\tif (!this.timeout) {\r\n\t\t\t\tthis.timeout = setTimeout(() => (this.layoutService.state.sidebarActive = false), 300);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tanchor() {\r\n\t\tthis.layoutService.state.anchored = !this.layoutService.state.anchored;\r\n\t}\r\n}\r\n","<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n\t<div class=\"sidebar-header\">\r\n\t\t<!-- <a [routerLink]=\"['/']\" class=\"app-logo\">\r\n\t\t\t<svg\r\n\t\t\t\twidth=\"21\"\r\n\t\t\t\theight=\"22\"\r\n\t\t\t\tviewBox=\"0 0 21 22\"\r\n\t\t\t\tfill=\"none\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\tclass=\"app-logo-small\">\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\r\n\t\t\t\t\tfill=\"var(--logo-color)\" />\r\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\r\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\r\n\t\t\t</svg>\r\n\t\t</a> -->\r\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\r\n\t</div>\r\n\r\n\t<div #menuContainer class=\"layout-menu-container\">\r\n\t\t<app-menu></app-menu>\r\n\t</div>\r\n</div>\r\n","import { UpperCasePipe } from '@angular/common';\r\nimport { Component, ElementRef, ViewChild, inject, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DividerModule } from 'primeng/divider';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-topbar',\r\n\timports: [ButtonModule, AppBreadcrumbComponent, UpperCasePipe, FormsModule, DividerModule, BadgeModule],\r\n\ttemplateUrl: './app.topbar.component.html'\r\n})\r\nexport class AppTopbarComponent {\r\n\t@ViewChild('menubutton') menuButton!: ElementRef;\r\n\r\n\tusername!: string;\r\n\tlayoutService = inject(LayoutService);\r\n\tkeyCloakManager = inject(KeycloakManager);\r\n\tsearch: string = '';\r\n\r\n\tfilePath = signal('');\r\n\r\n\tconstructor() {\r\n\t\tif ((<any>globalThis).activeHost) {\r\n\t\t\tswitch ((<any>globalThis).activeHost) {\r\n\t\t\t\tcase Apps.YEAP:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.THOR:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/thor-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.LENA:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/lena-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswitch ((<any>globalThis).activeMF) {\r\n\t\t\t\tcase Apps.HES:\r\n\t\t\t\tcase Apps.CTS:\r\n\t\t\t\tcase Apps.SIS:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/lena-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.CRM:\r\n\t\t\t\tcase Apps.BILLING:\r\n\t\t\t\tcase Apps.PAYMENT:\r\n\t\t\t\tcase Apps.WDM:\r\n\t\t\t\tcase Apps.MNG:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/thor-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.MW:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.username = this.keyCloakManager.getUsername();\r\n\t}\r\n\r\n\tonMenuButtonClick() {\r\n\t\tthis.layoutService.onMenuToggle();\r\n\t}\r\n\r\n\tonProfileButtonClick() {\r\n\t\tthis.layoutService.showProfileSidebar();\r\n\t}\r\n\tonConfigButtonClick() {\r\n\t\tthis.layoutService.showConfigSidebar();\r\n\t}\r\n}\r\n","<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, OnDestroy, Renderer2, ViewChild } from '@angular/core';\r\nimport { NavigationEnd, Router, RouterOutlet } from '@angular/router';\r\n\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { Subscription, filter } from 'rxjs';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\nimport { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';\r\nimport { AppConfigComponent } from '../config/app.config.component';\r\nimport { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';\r\nimport { AppSidebarComponent } from '../sidebar/app.sidebar.component';\r\nimport { AppTopbarComponent } from '../topbar/app.topbar.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-layout',\r\n\timports: [\r\n\t\tNgClass,\r\n\t\tRouterOutlet,\r\n\t\tConfirmDialogModule,\r\n\t\tConfirmPopupModule,\r\n\t\tDialogModule,\r\n\t\tMessagesModule,\r\n\t\tToastModule,\r\n\t\tAppSidebarComponent,\r\n\t\tAppTopbarComponent,\r\n\t\tAppBreadcrumbComponent,\r\n\t\tAppProfileSidebarComponent,\r\n\t\tAppConfigComponent\r\n\t],\r\n\ttemplateUrl: './app.layout.component.html'\r\n})\r\nexport class AppLayoutComponent implements OnDestroy {\r\n\toverlayMenuOpenSubscription: Subscription;\r\n\r\n\tmenuOutsideClickListener: any;\r\n\r\n\tmenuScrollListener: any;\r\n\r\n\tglobalThis: any = globalThis;\r\n\r\n\t@ViewChild(AppSidebarComponent) appSidebar!: AppSidebarComponent;\r\n\r\n\t@ViewChild(AppTopbarComponent) appTopbar!: AppTopbarComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate menuService: AppMenuService,\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic renderer: Renderer2,\r\n\t\tpublic router: Router\r\n\t) {\r\n\t\tthis.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {\r\n\t\t\tif (!this.menuOutsideClickListener) {\r\n\t\t\t\tthis.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {\r\n\t\t\t\t\tconst isOutsideClicked = !(\r\n\t\t\t\t\t\tthis.appSidebar.el.nativeElement.isSameNode(event.target) ||\r\n\t\t\t\t\t\tthis.appSidebar.el.nativeElement.contains(event.target) ||\r\n\t\t\t\t\t\tthis.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||\r\n\t\t\t\t\t\tthis.appTopbar.menuButton.nativeElement.contains(event.target)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (isOutsideClicked) {\r\n\t\t\t\t\t\tthis.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus()) &&\r\n\t\t\t\t!this.menuScrollListener\r\n\t\t\t) {\r\n\t\t\t\tthis.menuScrollListener = this.renderer.listen(\r\n\t\t\t\t\tthis.appSidebar.menuContainer.nativeElement,\r\n\t\t\t\t\t'scroll',\r\n\t\t\t\t\t(event) => {\r\n\t\t\t\t\t\tif (this.layoutService.isDesktop()) {\r\n\t\t\t\t\t\t\tthis.hideMenu();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.layoutService.state.staticMenuMobileActive) {\r\n\t\t\t\tthis.blockBodyScroll();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\r\n\t\t\tif (!this.layoutService.mfeAppItemClicked()) this.hideMenu();\r\n\t\t});\r\n\t}\r\n\r\n\tblockBodyScroll(): void {\r\n\t\tif (document.body.classList) {\r\n\t\t\tdocument.body.classList.add('blocked-scroll');\r\n\t\t} else {\r\n\t\t\tdocument.body.className += ' blocked-scroll';\r\n\t\t}\r\n\t}\r\n\r\n\tunblockBodyScroll(): void {\r\n\t\tif (document.body.classList) {\r\n\t\t\tdocument.body.classList.remove('blocked-scroll');\r\n\t\t} else {\r\n\t\t\tdocument.body.className = document.body.className.replace(\r\n\t\t\t\tnew RegExp('(^|\\\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\\\b|$)', 'gi'),\r\n\t\t\t\t' '\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\thideMenu() {\r\n\t\tthis.layoutService.state.overlayMenuActive = false;\r\n\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\tthis.layoutService.state.menuHoverActive = false;\r\n\t\tthis.menuService.reset();\r\n\r\n\t\tif (this.menuOutsideClickListener) {\r\n\t\t\tthis.menuOutsideClickListener();\r\n\t\t\tthis.menuOutsideClickListener = null;\r\n\t\t}\r\n\r\n\t\tif (this.menuScrollListener) {\r\n\t\t\tthis.menuScrollListener();\r\n\t\t\tthis.menuScrollListener = null;\r\n\t\t}\r\n\r\n\t\tthis.unblockBodyScroll();\r\n\t}\r\n\r\n\tget containerClass() {\r\n\t\treturn {\r\n\t\t\t'layout-light': this.layoutService.config().colorScheme === 'light',\r\n\t\t\t'layout-dim': this.layoutService.config().colorScheme === 'dim',\r\n\t\t\t'layout-dark': this.layoutService.config().colorScheme === 'dark',\r\n\t\t\t'layout-colorscheme-menu': this.layoutService.config().menuTheme === 'colorScheme',\r\n\t\t\t'layout-primarycolor-menu': this.layoutService.config().menuTheme === 'primaryColor',\r\n\t\t\t'layout-transparent-menu': this.layoutService.config().menuTheme === 'transparent',\r\n\t\t\t'layout-overlay': this.layoutService.config().menuMode === 'overlay',\r\n\t\t\t'layout-static': this.layoutService.config().menuMode === 'static',\r\n\t\t\t'layout-slim': this.layoutService.config().menuMode === 'slim',\r\n\t\t\t'layout-slim-plus': this.layoutService.config().menuMode === 'slim-plus',\r\n\t\t\t'layout-horizontal': this.layoutService.config().menuMode === 'horizontal',\r\n\t\t\t'layout-reveal': this.layoutService.config().menuMode === 'reveal',\r\n\t\t\t'layout-drawer': this.layoutService.config().menuMode === 'drawer',\r\n\t\t\t'layout-static-inactive':\r\n\t\t\t\tthis.layoutService.state.staticMenuDesktopInactive && this.layoutService.config().menuMode === 'static',\r\n\t\t\t'layout-overlay-active': this.layoutService.state.overlayMenuActive,\r\n\t\t\t'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,\r\n\t\t\t'p-input-filled': this.layoutService.config().inputStyle === 'filled',\r\n\t\t\t'p-ripple-disabled': !this.layoutService.config().ripple,\r\n\t\t\t'layout-sidebar-active': this.layoutService.state.sidebarActive,\r\n\t\t\t'layout-sidebar-anchored': this.layoutService.state.anchored\r\n\t\t};\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.overlayMenuOpenSubscription) {\r\n\t\t\tthis.overlayMenuOpenSubscription.unsubscribe();\r\n\t\t}\r\n\r\n\t\tif (this.menuOutsideClickListener) {\r\n\t\t\tthis.menuOutsideClickListener();\r\n\t\t}\r\n\t}\r\n}\r\n","<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n","import { AfterViewInit, Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { AppSubMenuComponent } from '../menu/app.menu.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'mfe-layout',\r\n\ttemplate: `\r\n\t\t<!-- <app-sub-menu hidden></app-sub-menu> -->\r\n\r\n\t\t<router-outlet />\r\n\r\n\t\t<p-toast key=\"toast-root\"></p-toast>\r\n\t\t<p-dialog key=\"dialog-root\"></p-dialog>\r\n\t\t<p-messages key=\"messages-root\"></p-messages>\r\n\t\t<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n\t\t<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n\t`,\r\n\timports: [\r\n\t\tRouterOutlet,\r\n\t\tConfirmDialogModule,\r\n\t\tConfirmPopupModule,\r\n\t\tDialogModule,\r\n\t\tMessagesModule,\r\n\t\tToastModule,\r\n\t\tAppSubMenuComponent\r\n\t]\r\n})\r\nexport class MFELayoutComponent implements AfterViewInit {\r\n\tngAfterViewInit(): void {\r\n\t\t// const appMenu = document.querySelector('app-menu>ul>li>ul#' + (<any>globalThis).activeMF);\r\n\t\t// const subMenuId = 'app-sub-menu-' + (<any>globalThis).activeMF;\r\n\t\t// const subMenu = document.getElementById(subMenuId) as HTMLElement;\r\n\t\t// appMenu?.replaceChildren(...Array.from(subMenu.children));\r\n\t\t// document.querySelector(subMenuId)?.remove();\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, effect, signal } from '@angular/core';\r\n\r\nimport { take } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { SelectionGroupDTO, SelectionRequestDTO } from './interfaces/interfaces';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SelectionGroupService {\r\n\tselectionGroups = signal<{ [groupName: string]: SelectionGroupDTO | null }>({});\r\n\r\n\tprivate loading = new Map<string, boolean>();\r\n\tprivate loaded = new Map<string, boolean>();\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tthis.loadStatesFromLocalStorage();\r\n\r\n\t\teffect(() => {\r\n\t\t\tconst encodedData = btoa(encodeURI(JSON.stringify(this.selectionGroups())));\r\n\t\t\tlocalStorage.setItem('selection-groups', encodedData);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate async loadStatesFromLocalStorage() {\r\n\t\tconst selectionGroups = localStorage.getItem('selection-groups');\r\n\r\n\t\tif (selectionGroups) {\r\n\t\t\ttry {\r\n\t\t\t\tconst decodedData = decodeURI(atob(selectionGroups));\r\n\t\t\t\tthis.selectionGroups.set(JSON.parse(decodedData));\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error(e);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfetchEnum(groupName: string, parentSelectionKey?: string | null) {\r\n\t\tif (this.loaded.get(groupName) || this.loading.get(groupName)) return;\r\n\r\n\t\tconst payload: SelectionRequestDTO = {\r\n\t\t\tgroupName,\r\n\t\t\tparentSelectionKey: parentSelectionKey ?? 'ALL'\r\n\t\t};\r\n\r\n\t\tthis.loading.set(groupName, true);\r\n\t\tthis.loaded.set(groupName, false);\r\n\r\n\t\tthis.http\r\n\t\t\t.post<SelectionGroupDTO>(API_CONFIGS.api + '/selection-group/load', payload)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((selectionGroup) => {\r\n\t\t\t\tthis.loading.set(groupName, false);\r\n\t\t\t\tthis.loaded.set(groupName, true);\r\n\r\n\t\t\t\tthis.selectionGroups.update((groups) => ({\r\n\t\t\t\t\t...groups,\r\n\t\t\t\t\t[groupName]: selectionGroup\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.LayoutService","i2.AppMenuService","i2","i3.AppMenuService","i4","i5","i1","i3","filter","i1.AppMenuService","i2.LayoutService","i6","i7"],"mappings":"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"}
1
+ {"version":3,"file":"aril-theme-layout.mjs","sources":["../../projects/aril/theme/layout/app/breadcrumb/app.breadcrumb.component.ts","../../projects/aril/theme/layout/app/breadcrumb/app.breadcrumb.component.html","../../projects/aril/theme/layout/service/app.layout.service.ts","../../projects/aril/theme/layout/service/app.menu.service.ts","../../projects/aril/theme/layout/app/config/app.config.component.ts","../../projects/aril/theme/layout/app/config/app.config.component.html","../../projects/aril/theme/layout/app/profileSidebar/app.profilesidebar.component.ts","../../projects/aril/theme/layout/app/profileSidebar/app.profilesidebar.component.html","../../projects/aril/theme/layout/app/menu/app.menu.component.ts","../../projects/aril/theme/layout/app/menu/app.menu.component.html","../../projects/aril/theme/layout/app/menu/app.sub.menu.component.html","../../projects/aril/theme/layout/app/sidebar/app.sidebar.component.ts","../../projects/aril/theme/layout/app/sidebar/app.sidebar.component.html","../../projects/aril/theme/layout/app/topbar/app.topbar.component.ts","../../projects/aril/theme/layout/app/topbar/app.topbar.component.html","../../projects/aril/theme/layout/app/layout/app.layout.component.ts","../../projects/aril/theme/layout/app/layout/app.layout.component.html","../../projects/aril/theme/layout/app/layout/mfe.layout.component.ts","../../projects/aril/theme/layout/service/selection-group.service.ts","../../projects/aril/theme/layout/aril-theme-layout.ts"],"sourcesContent":["import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router, RouterLink } from '@angular/router';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\n\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ninterface Breadcrumb {\r\n\tlabel: string;\r\n\turl?: string;\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-breadcrumb',\r\n\timports: [NgTemplateOutlet, AsyncPipe, RouterLink,BreadcrumbModule,NgClass],\r\n\ttemplateUrl: './app.breadcrumb.component.html'\r\n})\r\nexport class AppBreadcrumbComponent {\r\n\tprivate readonly _breadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);\r\n\tprivate breadcrumbsSubscription!: Subscription;\r\n\r\n\treadonly breadcrumbs$ = this._breadcrumbs$.asObservable();\r\n breadcrumbs: MenuItem[] = [];\r\n\r\n\tconstructor(private router: Router) {\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {\r\n\t\t\tconst root = this.router.routerState.snapshot.root;\r\n\t\t\tconst breadcrumbs: Breadcrumb[] = [];\r\n\t\t\tthis.addBreadcrumb(root, [], breadcrumbs);\r\n\r\n\t\t\tthis._breadcrumbs$.next(breadcrumbs);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n this.breadcrumbsSubscription = this.breadcrumbs$.subscribe(breadcrumbs => {\r\n this.breadcrumbs = breadcrumbs.map(breadcrumb => ({\r\n label: breadcrumb.label,\r\n url: breadcrumb.url,\r\n }));\r\n\t\t\tthis.breadcrumbs.unshift({ icon: 'pi pi-home', url: '/' });\r\n });\r\n }\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.breadcrumbsSubscription) {\r\n\t\t\tthis.breadcrumbsSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate addBreadcrumb(route: ActivatedRouteSnapshot, parentUrl: string[], breadcrumbs: Breadcrumb[]) {\r\n\t\tconst routeUrl = parentUrl.concat(route.url.map((url) => url.path));\r\n\t\tconst breadcrumb = route.data['breadcrumb'];\r\n\t\tconst parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;\r\n\r\n\t\tif (breadcrumb && breadcrumb !== parentBreadcrumb) {\r\n\t\t\tbreadcrumbs.push({\r\n\t\t\t\tlabel: route.data['breadcrumb'],\r\n\t\t\t\turl: '/' + routeUrl.join('/')\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (route.firstChild) {\r\n\t\t\tthis.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\r\n\t\t}\r\n\t}\r\n}\r\n","<p-breadcrumb class=\"max-w-full\" [model]=\"breadcrumbs\" [style]=\"{ border: 'none', background: '#EFF3F8' }\">\r\n\t<ng-template pTemplate=\"item\" let-item>\r\n\t\t<a [routerLink]=\"item.url\">\r\n\t\t\t<span [ngClass]=\"[item.icon ? item.icon : '', 'text-500']\"></span>\r\n\t\t\t<span class=\"text-500\">{{ item.label }}</span>\r\n\t\t</a>\r\n\t</ng-template>\r\n</p-breadcrumb>\r\n","import { Injectable, effect, signal } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nexport type MenuMode = 'static' | 'overlay' | 'horizontal' | 'slim' | 'slim-plus' | 'reveal' | 'drawer';\r\n\r\nexport type ColorScheme = 'light' | 'dark' | 'dim';\r\n\r\nexport type MenuColorScheme = 'colorScheme' | 'primaryColor' | 'transparent';\r\n\r\nexport interface AppConfig {\r\n\tinputStyle: string;\r\n\tcolorScheme: ColorScheme;\r\n\ttheme: string;\r\n\tripple: boolean;\r\n\tmenuMode: MenuMode;\r\n\tscale: number;\r\n\tmenuTheme: MenuColorScheme;\r\n}\r\n\r\ninterface LayoutState {\r\n\tstaticMenuDesktopInactive: boolean;\r\n\toverlayMenuActive: boolean;\r\n\tprofileSidebarVisible: boolean;\r\n\tconfigSidebarVisible: boolean;\r\n\tstaticMenuMobileActive: boolean;\r\n\tmenuHoverActive: boolean;\r\n\tsidebarActive: boolean;\r\n\tanchored: boolean;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LayoutService {\r\n\t_config: AppConfig = {\r\n\t\tripple: false,\r\n\t\tinputStyle: 'outlined',\r\n\t\tmenuMode: 'slim-plus',\r\n\t\tcolorScheme: 'light',\r\n\t\ttheme: 'indigo',\r\n\t\tscale: 12,\r\n\t\tmenuTheme: 'colorScheme'\r\n\t};\r\n\r\n\t// TODO: Set User Config\r\n\tconfig = signal<AppConfig>(this._config);\r\n\r\n\tstate: LayoutState = {\r\n\t\tstaticMenuDesktopInactive: false,\r\n\t\toverlayMenuActive: false,\r\n\t\tprofileSidebarVisible: false,\r\n\t\tconfigSidebarVisible: false,\r\n\t\tstaticMenuMobileActive: false,\r\n\t\tmenuHoverActive: false,\r\n\t\tsidebarActive: false,\r\n\t\tanchored: false\r\n\t};\r\n\r\n\tprivate configUpdate = new Subject<AppConfig>();\r\n\r\n\tprivate overlayOpen = new Subject<any>();\r\n\r\n\tconfigUpdate$ = this.configUpdate.asObservable();\r\n\r\n\toverlayOpen$ = this.overlayOpen.asObservable();\r\n\r\n\tmfeAppItemClicked = signal<boolean>(false);\r\n\r\n\tconstructor() {\r\n\t\teffect(() => {\r\n\t\t\tconst config = this.config();\r\n\t\t\tif (this.updateStyle(config)) {\r\n\t\t\t\tthis.changeTheme();\r\n\t\t\t}\r\n\t\t\tthis.changeScale(config.scale);\r\n\t\t\tthis.onConfigUpdate();\r\n\t\t});\r\n\t}\r\n\r\n\tupdateStyle(config: AppConfig) {\r\n\t\treturn config.theme !== this._config.theme || config.colorScheme !== this._config.colorScheme;\r\n\t}\r\n\r\n\tonMenuToggle() {\r\n\t\tif (this.isOverlay()) {\r\n\t\t\tthis.state.overlayMenuActive = !this.state.overlayMenuActive;\r\n\r\n\t\t\tif (this.state.overlayMenuActive) {\r\n\t\t\t\tthis.overlayOpen.next(null);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDesktop()) {\r\n\t\t\tthis.state.staticMenuDesktopInactive = !this.state.staticMenuDesktopInactive;\r\n\t\t} else {\r\n\t\t\tthis.state.staticMenuMobileActive = !this.state.staticMenuMobileActive;\r\n\r\n\t\t\tif (this.state.staticMenuMobileActive) {\r\n\t\t\t\tthis.overlayOpen.next(null);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonOverlaySubmenuOpen() {\r\n\t\tthis.overlayOpen.next(null);\r\n\t}\r\n\r\n\tshowProfileSidebar() {\r\n\t\tthis.state.profileSidebarVisible = true;\r\n\t}\r\n\r\n\tshowConfigSidebar() {\r\n\t\tthis.state.configSidebarVisible = true;\r\n\t}\r\n\r\n\tisOverlay() {\r\n\t\treturn this.config().menuMode === 'overlay';\r\n\t}\r\n\r\n\tisDesktop() {\r\n\t\treturn window.innerWidth > 991;\r\n\t}\r\n\r\n\tisSlim() {\r\n\t\treturn this.config().menuMode === 'slim';\r\n\t}\r\n\r\n\tisSlimPlus() {\r\n\t\treturn this.config().menuMode === 'slim-plus';\r\n\t}\r\n\r\n\tisHorizontal() {\r\n\t\treturn this.config().menuMode === 'horizontal';\r\n\t}\r\n\r\n\tisMobile() {\r\n\t\treturn !this.isDesktop();\r\n\t}\r\n\r\n\tonConfigUpdate() {\r\n\t\tthis._config = { ...this.config() };\r\n\t\tthis.configUpdate.next(this.config());\r\n\t}\r\n\r\n\tchangeTheme() {\r\n\t\tconst config = this.config();\r\n\t\tconst themeLink = <HTMLLinkElement>document.getElementById('theme-link');\r\n\t\tconst themeLinkHref = themeLink.getAttribute('href')!;\r\n\t\tconst newHref = themeLinkHref\r\n\t\t\t.split('/')\r\n\t\t\t.map((el) =>\r\n\t\t\t\tel == this._config.theme ? (el = config.theme)\r\n\t\t\t\t: el == `theme-${this._config.colorScheme}` ? (el = `theme-${config.colorScheme}`)\r\n\t\t\t\t: el\r\n\t\t\t)\r\n\t\t\t.join('/');\r\n\r\n\t\tthis.replaceThemeLink(newHref);\r\n\t}\r\n\r\n\treplaceThemeLink(href: string) {\r\n\t\tconst id = 'theme-link';\r\n\t\tlet themeLink = <HTMLLinkElement>document.getElementById(id);\r\n\t\tconst cloneLinkElement = <HTMLLinkElement>themeLink.cloneNode(true);\r\n\r\n\t\tcloneLinkElement.setAttribute('href', href);\r\n\t\tcloneLinkElement.setAttribute('id', id + '-clone');\r\n\r\n\t\tthemeLink.parentNode!.insertBefore(cloneLinkElement, themeLink.nextSibling);\r\n\t\tcloneLinkElement.addEventListener('load', () => {\r\n\t\t\tthemeLink.remove();\r\n\t\t\tcloneLinkElement.setAttribute('id', id);\r\n\t\t});\r\n\t}\r\n\r\n\tchangeScale(value: number) {\r\n\t\tdocument.documentElement.style.fontSize = `${value}px`;\r\n\t}\r\n}\r\n","import { Injectable, computed, inject, signal } from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\nimport { MenuChangeEvent } from './menuchangeevent';\r\n\r\ninterface MenuConfig {\r\n\titems: MenuItem[];\r\n\tprefix?: string;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AppMenuService {\r\n\tprivate pubSubService = inject(PubSubService);\r\n\r\n\tprivate menuSource = new Subject<MenuChangeEvent>();\r\n\tprivate resetSource = new Subject();\r\n\r\n\tpublic menuConfig = signal<MenuConfig>({ items: [], prefix: undefined });\r\n\tpublic subMenuConfig = signal<MenuConfig>({ items: [], prefix: undefined });\r\n\tpublic activeRootMenuItemKey = signal<string | undefined>(undefined);\r\n\r\n\tpublic menuItems = computed(() => {\r\n\t\tconst config = this.menuConfig();\r\n\t\t// config.items.unshift({ root: true, label: 'Home', icon: 'pi pi-fw pi-home', routerLink: '' });\r\n\r\n\t\tif (config.prefix) return config.items.map((item) => this.addPrefix(item, config.prefix));\r\n\t\telse return config.items;\r\n\t});\r\n\r\n\tpublic subMenuItems = computed(() => {\r\n\t\tconst config = this.subMenuConfig();\r\n\t\t// config.items.unshift({\r\n\t\t// \troot: true,\r\n\t\t// \tlabel: `${config.prefix?.toUpperCase()} Home`,\r\n\t\t// \ticon: 'pi pi-fw pi-home',\r\n\t\t// \trouterLink: ''\r\n\t\t// });\r\n\r\n\t\tif (config.prefix) return config.items.map((item) => this.addPrefix(item, config.prefix));\r\n\t\telse return config.items;\r\n\t});\r\n\r\n\tmenuSource$ = this.menuSource.asObservable();\r\n\tresetSource$ = this.resetSource.asObservable();\r\n\r\n\taddPrefix(menuItem: MenuItem, appPrefix: string | undefined) {\r\n\t\tif (menuItem.items) {\r\n\t\t\tmenuItem.items = menuItem.items.map((item) => this.addPrefix(item, appPrefix));\r\n\t\t} else {\r\n\t\t\tconst url = menuItem['root'] ? `/${appPrefix}` : `/${appPrefix}/${menuItem.routerLink}`;\r\n\r\n\t\t\tif ((<any>globalThis).isHostMode) {\r\n\t\t\t\tmenuItem['path'] = url;\r\n\t\t\t\tmenuItem.command = () => {\r\n\t\t\t\t\tthis.pubSubService.publish({ name: 'navigateBetweenApps', data: { path: url } });\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tmenuItem.routerLink = url;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn menuItem;\r\n\t}\r\n\r\n\tonMenuStateChange(event: MenuChangeEvent) {\r\n\t\tthis.menuSource.next(event);\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.resetSource.next(true);\r\n\t}\r\n}\r\n","import { NgClass, NgStyle } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\n\r\nimport { ColorScheme, LayoutService, MenuColorScheme, MenuMode } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-config',\r\n\timports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass],\r\n\ttemplateUrl: './app.config.component.html'\r\n})\r\nexport class AppConfigComponent implements OnInit {\r\n\t@Input() minimal: boolean = false;\r\n\r\n\tcomponentThemes: any[] = [];\r\n\r\n\tscales: number[] = [12, 13, 14, 15, 16];\r\n\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic menuService: AppMenuService\r\n\t) {}\r\n\r\n\tget visible(): boolean {\r\n\t\treturn this.layoutService.state.configSidebarVisible;\r\n\t}\r\n\tset visible(_val: boolean) {\r\n\t\tthis.layoutService.state.configSidebarVisible = _val;\r\n\t}\r\n\r\n\tget scale(): number {\r\n\t\treturn this.layoutService.config().scale;\r\n\t}\r\n\tset scale(_val: number) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tscale: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget menuMode(): MenuMode {\r\n\t\treturn this.layoutService.config().menuMode;\r\n\t}\r\n\tset menuMode(_val: MenuMode) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tmenuMode: _val\r\n\t\t}));\r\n\t\tif (this.layoutService.isSlimPlus() || this.layoutService.isSlim() || this.layoutService.isHorizontal()) {\r\n\t\t\tthis.menuService.reset();\r\n\t\t}\r\n\t}\r\n\r\n\tget colorScheme(): ColorScheme {\r\n\t\treturn this.layoutService.config().colorScheme;\r\n\t}\r\n\tset colorScheme(_val: ColorScheme) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tcolorScheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget inputStyle(): string {\r\n\t\treturn this.layoutService.config().inputStyle;\r\n\t}\r\n\tset inputStyle(_val: string) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tinputStyle: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget ripple(): boolean {\r\n\t\treturn this.layoutService.config().ripple;\r\n\t}\r\n\tset ripple(_val: boolean) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tripple: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget menuTheme(): MenuColorScheme {\r\n\t\treturn this.layoutService.config().menuTheme;\r\n\t}\r\n\tset menuTheme(_val: MenuColorScheme) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\tmenuTheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tget theme(): string {\r\n\t\treturn this.layoutService.config().theme;\r\n\t}\r\n\tset theme(_val: string) {\r\n\t\tthis.layoutService.config.update((config) => ({\r\n\t\t\t...config,\r\n\t\t\ttheme: _val\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.componentThemes = [\r\n\t\t\t{ name: 'indigo', color: '#6366F1' },\r\n\t\t\t{ name: 'blue', color: '#3B82F6' },\r\n\t\t\t{ name: 'purple', color: '#8B5CF6' },\r\n\t\t\t{ name: 'teal', color: '#14B8A6' },\r\n\t\t\t{ name: 'cyan', color: '#06b6d4' },\r\n\t\t\t{ name: 'green', color: '#10b981' },\r\n\t\t\t{ name: 'orange', color: '#f59e0b' },\r\n\t\t\t{ name: 'pink', color: '#d946ef' }\r\n\t\t];\r\n\t}\r\n\r\n\tonConfigButtonClick() {\r\n\t\tthis.layoutService.showConfigSidebar();\r\n\t}\r\n\r\n\tchangeColorScheme(colorScheme: ColorScheme) {\r\n\t\tthis.colorScheme = colorScheme;\r\n\t}\r\n\r\n\tchangeTheme(theme: string) {\r\n\t\tthis.theme = theme;\r\n\t}\r\n\r\n\tdecrementScale() {\r\n\t\tthis.scale--;\r\n\t}\r\n\r\n\tincrementScale() {\r\n\t\tthis.scale++;\r\n\t}\r\n}\r\n","<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n</p-sidebar>\r\n","import { Component, inject } from '@angular/core';\r\n\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { TagModule } from 'primeng/tag';\r\n\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-profilemenu',\r\n\timports: [SidebarModule, TagModule],\r\n\ttemplateUrl: './app.profilesidebar.component.html'\r\n})\r\nexport class AppProfileSidebarComponent {\r\n\tkeyCloakManager = inject(KeycloakManager);\r\n\tusername: any;\r\n\r\n\tconstructor(public layoutService: LayoutService) {\r\n\t\tthis.username = this.keyCloakManager.getUsername();\r\n\t}\r\n\r\n\tget visible(): boolean {\r\n\t\treturn this.layoutService.state.profileSidebarVisible;\r\n\t}\r\n\r\n\tset visible(_val: boolean) {\r\n\t\tthis.layoutService.state.profileSidebarVisible = _val;\r\n\t}\r\n}\r\n","<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-profile-sidebar w-full sm:w-25rem\">\r\n\t<div class=\"flex flex-column mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Hoşgeldiniz</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">{{username}}</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<!-- <li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Profile</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Lorem ipsum date visale</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-user text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Billing</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Amet mimin mıollit</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-cog text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Settings</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">Exercitation veniam</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li> -->\r\n\t\t\t<li (click)=\"keyCloakManager.logout()\">\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-power-off text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\" >\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Çıkış</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n\r\n\t<!-- <div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Notifications</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have 3 notifications</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-comment text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has new comments</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">5 min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-trash text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Your post has been deleted</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<i class=\"pi pi-folder text-xl text-primary\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Post has been updated</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div> -->\r\n\r\n\t<!-- <div class=\"flex flex-column mt-5 mx-auto md:mx-0\">\r\n\t\t<span class=\"mb-2 font-semibold\">Messages</span>\r\n\t\t<span class=\"text-color-secondary font-medium mb-5\">You have new messages</span>\r\n\r\n\t\t<ul class=\"list-none m-0 p-0\">\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-m-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">James Robinson</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">10 min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"3\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-8.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Mary Watson</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">15min ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"1\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<a\r\n\t\t\t\t\tclass=\"cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<img src=\"assets/demo/images/avatar/circle/avatar-f-4.png\" alt=\"Avatar\" class=\"w-2rem h-2rem\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<div class=\"ml-3\">\r\n\t\t\t\t\t\t<span class=\"mb-2 font-semibold\">Aisha Webb</span>\r\n\t\t\t\t\t\t<p class=\"text-color-secondary m-0\">3h ago</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p-tag value=\"2\" class=\"ml-auto\"></p-tag>\r\n\t\t\t\t</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div> -->\r\n</p-sidebar>\r\n","import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { NgClass } from '@angular/common';\r\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { DomHandler } from 'primeng/dom';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: '[app-menuitem]',\r\n\ttemplate: `\r\n\t\t<ng-container>\r\n\t\t\t@if (root) {\r\n\t\t\t\t<div class=\"layout-menuitem-root-text\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t@if (item.items?.length) {\r\n\t\t\t\t<a\r\n\t\t\t\t\t[ngClass]=\"{ 'active-root-menu-item': root && key == menuService.activeRootMenuItemKey() }\"\r\n\t\t\t\t\t[attr.href]=\"item.url\"\r\n\t\t\t\t\t(click)=\"itemClick($event)\"\r\n\t\t\t\t\t(mouseenter)=\"onMouseEnter()\"\r\n\t\t\t\t\t[attr.target]=\"item.target\"\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t\tpRipple\r\n\t\t\t\t\t[pTooltip]=\"item.label\"\r\n\t\t\t\t\t[tooltipDisabled]=\"!(isSlim && root && !active)\">\r\n\t\t\t\t\t<i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n\t\t\t\t\t<span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n\t\t\t\t\t@if (item.items) {\r\n\t\t\t\t\t\t<i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</a>\r\n\t\t\t} @else {\r\n\t\t\t\t<a\r\n\t\t\t\t\t[ngClass]=\"{ 'active-root-menu-item': root && key == menuService.activeRootMenuItemKey() }\"\r\n\t\t\t\t\t(click)=\"itemClick($event)\"\r\n\t\t\t\t\t(mouseenter)=\"onMouseEnter()\"\r\n\t\t\t\t\t[routerLink]=\"item.routerLink\"\r\n\t\t\t\t\trouterLinkActive=\"active-route\"\r\n\t\t\t\t\t[routerLinkActiveOptions]=\"\r\n\t\t\t\t\t\titem.routerLinkActiveOptions || {\r\n\t\t\t\t\t\t\tpaths: 'exact',\r\n\t\t\t\t\t\t\tqueryParams: 'ignored',\r\n\t\t\t\t\t\t\tmatrixParams: 'ignored',\r\n\t\t\t\t\t\t\tfragment: 'ignored'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t[fragment]=\"item.fragment\"\r\n\t\t\t\t\t[queryParamsHandling]=\"item.queryParamsHandling\"\r\n\t\t\t\t\t[preserveFragment]=\"item.preserveFragment\"\r\n\t\t\t\t\t[skipLocationChange]=\"item.skipLocationChange\"\r\n\t\t\t\t\t[replaceUrl]=\"item.replaceUrl\"\r\n\t\t\t\t\t[state]=\"item.state\"\r\n\t\t\t\t\t[queryParams]=\"item.queryParams\"\r\n\t\t\t\t\t[attr.target]=\"item.target\"\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t\tpRipple\r\n\t\t\t\t\t[pTooltip]=\"item.label\"\r\n\t\t\t\t\t[tooltipDisabled]=\"!(isSlim && root)\">\r\n\t\t\t\t\t<i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n\r\n\t\t\t\t\t<span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n\r\n\t\t\t\t\t@if (item.items) {\r\n\t\t\t\t\t\t<i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</a>\r\n\t\t\t}\r\n\r\n\t\t\t@if (item.items) {\r\n\t\t\t\t<ul #submenu [@children]=\"submenuAnimation\" (@children.done)=\"onSubmenuAnimated($event)\">\r\n\t\t\t\t\t@for (child of item.items; track child; let i = $index) {\r\n\t\t\t\t\t\t<li app-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\"></li>\r\n\t\t\t\t\t}\r\n\t\t\t\t</ul>\r\n\t\t\t}\r\n\t\t</ng-container>\r\n\t`,\r\n\timports: [NgClass, RouterLink, RouterLinkActive, TooltipModule, RippleModule],\r\n\tanimations: [\r\n\t\ttrigger('children', [\r\n\t\t\tstate(\r\n\t\t\t\t'collapsed',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: '0'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'expanded',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: '*'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'hidden',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tdisplay: 'none'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t'visible',\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tdisplay: 'block'\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\r\n\t\t])\r\n\t],\r\n\tstyles: [\r\n\t\t'.active-root-menu-item { background-color: var(--primary-color); & > i,span { color: var(--primary-foreground) !important; } & > span { font-weight: 700; } }'\r\n\t]\r\n})\r\nexport class AppMenuItemComponent implements OnInit, OnDestroy {\r\n\t@Input() item!: MenuItem;\r\n\r\n\t@Input() index!: number;\r\n\r\n\t@Input() @HostBinding('class.layout-root-menuitem') root!: boolean;\r\n\r\n\t@Input() parentKey!: string;\r\n\r\n\t@ViewChild('submenu') submenu!: ElementRef;\r\n\r\n\tactive = false;\r\n\r\n\tmenuSourceSubscription: Subscription;\r\n\r\n\tmenuResetSubscription: Subscription;\r\n\r\n\tkey: string = '';\r\n\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic router: Router,\r\n\t\tpublic menuService: AppMenuService\r\n\t) {\r\n\t\tthis.menuSourceSubscription = this.menuService.menuSource$.subscribe((value) => {\r\n\t\t\tPromise.resolve(null).then(() => {\r\n\t\t\t\tif (value.routeEvent) {\r\n\t\t\t\t\tthis.active = value.key === this.key || value.key.startsWith(this.key + '-') ? true : false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (value.key !== this.key && !value.key.startsWith(this.key + '-')) {\r\n\t\t\t\t\t\tthis.active = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {\r\n\t\t\tthis.active = false;\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params: any) => {\r\n\t\t\tif (this.isSlimPlus || this.isSlim || this.isHorizontal) {\r\n\t\t\t\tif (!this.layoutService.mfeAppItemClicked()) this.active = false;\r\n\t\t\t} else {\r\n\t\t\t\tif (this.item.routerLink) {\r\n\t\t\t\t\tthis.updateActiveStateFromRoute();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\tthis.item['path'] === params.url ||\r\n\t\t\t\tthis.item.routerLink === params.url ||\r\n\t\t\t\tthis.item.routerLink === params.urlAfterRedirects ||\r\n\t\t\t\tthis.item['remoteName'] === params.url.substring(1)\r\n\t\t\t) {\r\n\t\t\t\tthis.menuService.activeRootMenuItemKey.set(this.key.charAt(0));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.key = this.parentKey ? this.parentKey + '-' + this.index : String(this.index);\r\n\t\tif (!(this.isSlimPlus || this.isSlim || this.isHorizontal) && this.item.routerLink) {\r\n\t\t\tthis.updateActiveStateFromRoute();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewChecked() {\r\n\t\tif (\r\n\t\t\tthis.root &&\r\n\t\t\tthis.active &&\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\tthis.calculatePosition(this.submenu?.nativeElement, this.submenu?.nativeElement.parentElement);\r\n\t\t}\r\n\t}\r\n\r\n\tupdateActiveStateFromRoute() {\r\n\t\tlet activeRoute = this.router.isActive(this.item.routerLink[0], {\r\n\t\t\tpaths: 'exact',\r\n\t\t\tqueryParams: 'ignored',\r\n\t\t\tmatrixParams: 'ignored',\r\n\t\t\tfragment: 'ignored'\r\n\t\t});\r\n\r\n\t\tif (activeRoute) {\r\n\t\t\tthis.menuService.onMenuStateChange({ key: this.key, routeEvent: true });\r\n\t\t}\r\n\t}\r\n\r\n\tonSubmenuAnimated(event: AnimationEvent) {\r\n\t\tif (\r\n\t\t\tevent.toState === 'visible' &&\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\tconst el = <HTMLUListElement>event.element;\r\n\t\t\tconst elParent = <HTMLUListElement>el.parentElement;\r\n\t\t\tthis.calculatePosition(el, elParent);\r\n\t\t}\r\n\t}\r\n\r\n\tcalculatePosition(overlay: HTMLElement, target: HTMLElement) {\r\n\t\tif (overlay) {\r\n\t\t\tconst { left, top } = target.getBoundingClientRect();\r\n\t\t\tconst [vWidth, vHeight] = [window.innerWidth, window.innerHeight];\r\n\t\t\tconst [oWidth, oHeight] = [overlay.offsetWidth, overlay.offsetHeight];\r\n\t\t\tconst scrollbarWidth = DomHandler.calculateScrollbarWidth();\r\n\t\t\t// reset\r\n\t\t\toverlay.style.top = '';\r\n\t\t\toverlay.style.left = '';\r\n\r\n\t\t\tif (this.layoutService.isHorizontal()) {\r\n\t\t\t\tconst width = left + oWidth + scrollbarWidth;\r\n\t\t\t\toverlay.style.left = vWidth < width ? `${left - (width - vWidth)}px` : `${left}px`;\r\n\t\t\t} else if (this.layoutService.isSlim() || this.layoutService.isSlimPlus()) {\r\n\t\t\t\tconst height = top + oHeight;\r\n\t\t\t\toverlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\titemClick(event: Event) {\r\n\t\t// avoid processing disabled items\r\n\t\tif (this.item.disabled) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// navigate with hover\r\n\t\tif ((this.root && this.isSlim) || this.isHorizontal || this.isSlimPlus) {\r\n\t\t\tthis.layoutService.state.menuHoverActive = !this.layoutService.state.menuHoverActive;\r\n\t\t}\r\n\r\n\t\t// execute command\r\n\t\tif (this.item.command) {\r\n\t\t\tthis.item.command({ originalEvent: event, item: this.item });\r\n\t\t}\r\n\r\n\t\t// toggle active state\r\n\t\tif (this.item.items) {\r\n\t\t\tthis.active = !this.active;\r\n\r\n\t\t\tif (this.root && this.active && (this.isSlim || this.isHorizontal || this.isSlimPlus)) {\r\n\t\t\t\tthis.layoutService.onOverlaySubmenuOpen();\r\n\r\n\t\t\t\tif (this.item['mfeApp']) {\r\n\t\t\t\t\tthis.layoutService.mfeAppItemClicked.set(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.layoutService.mfeAppItemClicked.set(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (this.layoutService.isMobile()) {\r\n\t\t\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isSlim || this.isHorizontal || this.isSlimPlus) {\r\n\t\t\t\tthis.menuService.reset();\r\n\t\t\t\tthis.layoutService.state.menuHoverActive = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.menuService.onMenuStateChange({ key: this.key });\r\n\t}\r\n\r\n\tonMouseEnter() {\r\n\t\t// activate item on hover\r\n\t\tif ((<any>globalThis).isHostMode && !this.item.items?.length) return;\r\n\r\n\t\tif (this.root && (this.isSlim || this.isHorizontal || this.isSlimPlus) && this.layoutService.isDesktop()) {\r\n\t\t\tif (this.layoutService.state.menuHoverActive) {\r\n\t\t\t\tthis.active = true;\r\n\t\t\t\tthis.menuService.onMenuStateChange({ key: this.key });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget submenuAnimation() {\r\n\t\tif (\r\n\t\t\tthis.layoutService.isDesktop() &&\r\n\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())\r\n\t\t) {\r\n\t\t\treturn this.active ? 'visible' : 'hidden';\r\n\t\t} else\r\n\t\t\treturn (\r\n\t\t\t\tthis.root ? 'expanded'\r\n\t\t\t\t: this.active ? 'expanded'\r\n\t\t\t\t: 'collapsed'\r\n\t\t\t);\r\n\t}\r\n\r\n\tget isHorizontal() {\r\n\t\treturn this.layoutService.isHorizontal();\r\n\t}\r\n\r\n\tget isSlim() {\r\n\t\treturn this.layoutService.isSlim();\r\n\t}\r\n\r\n\tget isSlimPlus() {\r\n\t\treturn this.layoutService.isSlimPlus();\r\n\t}\r\n\r\n\t@HostBinding('class.active-menuitem')\r\n\tget activeClass() {\r\n\t\treturn this.active && !this.root;\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.menuSourceSubscription) {\r\n\t\t\tthis.menuSourceSubscription.unsubscribe();\r\n\t\t}\r\n\r\n\t\tif (this.menuResetSubscription) {\r\n\t\t\tthis.menuResetSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-menu',\r\n\timports: [AppMenuItemComponent],\r\n\ttemplateUrl: './app.menu.component.html'\r\n})\r\nexport class AppMenuComponent {\r\n\tmenuService = inject(AppMenuService);\r\n\tisHostMode = (<any>globalThis).isHostMode;\r\n\thostMenuItems = (<any>globalThis).hostMenuItems;\r\n}\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-sub-menu',\r\n\timports: [AppMenuItemComponent],\r\n\ttemplateUrl: './app.sub.menu.component.html'\r\n})\r\nexport class AppSubMenuComponent {\r\n\tmenuService = inject(AppMenuService);\r\n\r\n\t@HostBinding('id') get id() {\r\n\t\treturn 'app-sub-menu-' + (<any>globalThis).activeMF;\r\n\t}\r\n}\r\n","<ul class=\"layout-menu flex-wrap\">\r\n\t@for (item of isHostMode ? hostMenuItems() : menuService.menuItems(); track $index) {\r\n\t\t@if (item.separator) {\r\n\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t} @else {\r\n\t\t\t<li app-menuitem [item]=\"item\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t}\r\n\t}\r\n</ul>\r\n","@for (subItem of menuService.subMenuItems(); track $index) {\r\n\t@if (subItem.separator) {\r\n\t\t<li class=\"menu-separator\"></li>\r\n\t} @else {\r\n\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"false\"></li>\r\n\t}\r\n}\r\n","import { Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuComponent } from '../menu/app.menu.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-sidebar',\r\n\timports: [RouterLink, AppMenuComponent],\r\n\ttemplateUrl: './app.sidebar.component.html'\r\n})\r\nexport class AppSidebarComponent {\r\n\tconstructor(\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic el: ElementRef\r\n\t) {}\r\n\r\n\ttimeout: any = null;\r\n\r\n\t@ViewChild('menuContainer') menuContainer!: ElementRef;\r\n\r\n\tonMouseEnter() {\r\n\t\tif (!this.layoutService.state.anchored) {\r\n\t\t\tif (this.timeout) {\r\n\t\t\t\tclearTimeout(this.timeout);\r\n\t\t\t\tthis.timeout = null;\r\n\t\t\t}\r\n\t\t\tthis.layoutService.state.sidebarActive = true;\r\n\t\t}\r\n\t}\r\n\r\n\tonMouseLeave() {\r\n\t\tif (!this.layoutService.state.anchored) {\r\n\t\t\tif (!this.timeout) {\r\n\t\t\t\tthis.timeout = setTimeout(() => (this.layoutService.state.sidebarActive = false), 300);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tanchor() {\r\n\t\tthis.layoutService.state.anchored = !this.layoutService.state.anchored;\r\n\t}\r\n}\r\n","<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n\t<div class=\"sidebar-header\">\r\n\t\t<!-- <a [routerLink]=\"['/']\" class=\"app-logo\">\r\n\t\t\t<svg\r\n\t\t\t\twidth=\"21\"\r\n\t\t\t\theight=\"22\"\r\n\t\t\t\tviewBox=\"0 0 21 22\"\r\n\t\t\t\tfill=\"none\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\tclass=\"app-logo-small\">\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\r\n\t\t\t\t\tfill=\"var(--logo-color)\" />\r\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\r\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\r\n\t\t\t</svg>\r\n\t\t</a> -->\r\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\r\n\t</div>\r\n\r\n\t<div #menuContainer class=\"layout-menu-container\">\r\n\t\t<app-menu></app-menu>\r\n\t</div>\r\n</div>\r\n","import { UpperCasePipe } from '@angular/common';\r\nimport { Component, ElementRef, ViewChild, inject, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DividerModule } from 'primeng/divider';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-topbar',\r\n\timports: [ButtonModule, AppBreadcrumbComponent, UpperCasePipe, FormsModule, DividerModule, BadgeModule],\r\n\ttemplateUrl: './app.topbar.component.html'\r\n})\r\nexport class AppTopbarComponent {\r\n\t@ViewChild('menubutton') menuButton!: ElementRef;\r\n\r\n\tusername!: string;\r\n\tlayoutService = inject(LayoutService);\r\n\tkeyCloakManager = inject(KeycloakManager);\r\n\tsearch: string = '';\r\n\r\n\tfilePath = signal('');\r\n\r\n\tconstructor() {\r\n\t\tif ((<any>globalThis).activeHost) {\r\n\t\t\tswitch ((<any>globalThis).activeHost) {\r\n\t\t\t\tcase Apps.YEAP:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.THOR:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/thor-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.LENA:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/lena-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswitch ((<any>globalThis).activeMF) {\r\n\t\t\t\tcase Apps.HES:\r\n\t\t\t\tcase Apps.CTS:\r\n\t\t\t\tcase Apps.SIS:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/lena-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.CRM:\r\n\t\t\t\tcase Apps.BILLING:\r\n\t\t\t\tcase Apps.PAYMENT:\r\n\t\t\t\tcase Apps.WDM:\r\n\t\t\t\tcase Apps.MNG:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/thor-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase Apps.MW:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.filePath.update((file) => (file = 'assets/images/yeap-logo.png'));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.username = this.keyCloakManager.getUsername();\r\n\t}\r\n\r\n\tonMenuButtonClick() {\r\n\t\tthis.layoutService.onMenuToggle();\r\n\t}\r\n\r\n\tonProfileButtonClick() {\r\n\t\tthis.layoutService.showProfileSidebar();\r\n\t}\r\n\tonConfigButtonClick() {\r\n\t\tthis.layoutService.showConfigSidebar();\r\n\t}\r\n}\r\n","<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, OnDestroy, Renderer2, ViewChild } from '@angular/core';\r\nimport { NavigationEnd, Router, RouterOutlet } from '@angular/router';\r\n\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { Subscription, filter } from 'rxjs';\r\n\r\nimport { LayoutService } from '../../service/app.layout.service';\r\nimport { AppMenuService } from '../../service/app.menu.service';\r\nimport { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';\r\nimport { AppConfigComponent } from '../config/app.config.component';\r\nimport { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';\r\nimport { AppSidebarComponent } from '../sidebar/app.sidebar.component';\r\nimport { AppTopbarComponent } from '../topbar/app.topbar.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'app-layout',\r\n\timports: [\r\n\t\tNgClass,\r\n\t\tRouterOutlet,\r\n\t\tConfirmDialogModule,\r\n\t\tConfirmPopupModule,\r\n\t\tDialogModule,\r\n\t\tMessagesModule,\r\n\t\tToastModule,\r\n\t\tAppSidebarComponent,\r\n\t\tAppTopbarComponent,\r\n\t\tAppBreadcrumbComponent,\r\n\t\tAppProfileSidebarComponent,\r\n\t\tAppConfigComponent\r\n\t],\r\n\ttemplateUrl: './app.layout.component.html'\r\n})\r\nexport class AppLayoutComponent implements OnDestroy {\r\n\toverlayMenuOpenSubscription: Subscription;\r\n\r\n\tmenuOutsideClickListener: any;\r\n\r\n\tmenuScrollListener: any;\r\n\r\n\tglobalThis: any = globalThis;\r\n\r\n\t@ViewChild(AppSidebarComponent) appSidebar!: AppSidebarComponent;\r\n\r\n\t@ViewChild(AppTopbarComponent) appTopbar!: AppTopbarComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate menuService: AppMenuService,\r\n\t\tpublic layoutService: LayoutService,\r\n\t\tpublic renderer: Renderer2,\r\n\t\tpublic router: Router\r\n\t) {\r\n\t\tthis.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {\r\n\t\t\tif (!this.menuOutsideClickListener) {\r\n\t\t\t\tthis.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {\r\n\t\t\t\t\tconst isOutsideClicked = !(\r\n\t\t\t\t\t\tthis.appSidebar.el.nativeElement.isSameNode(event.target) ||\r\n\t\t\t\t\t\tthis.appSidebar.el.nativeElement.contains(event.target) ||\r\n\t\t\t\t\t\tthis.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||\r\n\t\t\t\t\t\tthis.appTopbar.menuButton.nativeElement.contains(event.target)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (isOutsideClicked) {\r\n\t\t\t\t\t\tthis.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\t(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus()) &&\r\n\t\t\t\t!this.menuScrollListener\r\n\t\t\t) {\r\n\t\t\t\tthis.menuScrollListener = this.renderer.listen(\r\n\t\t\t\t\tthis.appSidebar.menuContainer.nativeElement,\r\n\t\t\t\t\t'scroll',\r\n\t\t\t\t\t(event) => {\r\n\t\t\t\t\t\tif (this.layoutService.isDesktop()) {\r\n\t\t\t\t\t\t\tthis.hideMenu();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.layoutService.state.staticMenuMobileActive) {\r\n\t\t\t\tthis.blockBodyScroll();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\r\n\t\t\tif (!this.layoutService.mfeAppItemClicked()) this.hideMenu();\r\n\t\t});\r\n\t}\r\n\r\n\tblockBodyScroll(): void {\r\n\t\tif (document.body.classList) {\r\n\t\t\tdocument.body.classList.add('blocked-scroll');\r\n\t\t} else {\r\n\t\t\tdocument.body.className += ' blocked-scroll';\r\n\t\t}\r\n\t}\r\n\r\n\tunblockBodyScroll(): void {\r\n\t\tif (document.body.classList) {\r\n\t\t\tdocument.body.classList.remove('blocked-scroll');\r\n\t\t} else {\r\n\t\t\tdocument.body.className = document.body.className.replace(\r\n\t\t\t\tnew RegExp('(^|\\\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\\\b|$)', 'gi'),\r\n\t\t\t\t' '\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\thideMenu() {\r\n\t\tthis.layoutService.state.overlayMenuActive = false;\r\n\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\tthis.layoutService.state.menuHoverActive = false;\r\n\t\tthis.menuService.reset();\r\n\r\n\t\tif (this.menuOutsideClickListener) {\r\n\t\t\tthis.menuOutsideClickListener();\r\n\t\t\tthis.menuOutsideClickListener = null;\r\n\t\t}\r\n\r\n\t\tif (this.menuScrollListener) {\r\n\t\t\tthis.menuScrollListener();\r\n\t\t\tthis.menuScrollListener = null;\r\n\t\t}\r\n\r\n\t\tthis.unblockBodyScroll();\r\n\t}\r\n\r\n\tget containerClass() {\r\n\t\treturn {\r\n\t\t\t'layout-light': this.layoutService.config().colorScheme === 'light',\r\n\t\t\t'layout-dim': this.layoutService.config().colorScheme === 'dim',\r\n\t\t\t'layout-dark': this.layoutService.config().colorScheme === 'dark',\r\n\t\t\t'layout-colorscheme-menu': this.layoutService.config().menuTheme === 'colorScheme',\r\n\t\t\t'layout-primarycolor-menu': this.layoutService.config().menuTheme === 'primaryColor',\r\n\t\t\t'layout-transparent-menu': this.layoutService.config().menuTheme === 'transparent',\r\n\t\t\t'layout-overlay': this.layoutService.config().menuMode === 'overlay',\r\n\t\t\t'layout-static': this.layoutService.config().menuMode === 'static',\r\n\t\t\t'layout-slim': this.layoutService.config().menuMode === 'slim',\r\n\t\t\t'layout-slim-plus': this.layoutService.config().menuMode === 'slim-plus',\r\n\t\t\t'layout-horizontal': this.layoutService.config().menuMode === 'horizontal',\r\n\t\t\t'layout-reveal': this.layoutService.config().menuMode === 'reveal',\r\n\t\t\t'layout-drawer': this.layoutService.config().menuMode === 'drawer',\r\n\t\t\t'layout-static-inactive':\r\n\t\t\t\tthis.layoutService.state.staticMenuDesktopInactive && this.layoutService.config().menuMode === 'static',\r\n\t\t\t'layout-overlay-active': this.layoutService.state.overlayMenuActive,\r\n\t\t\t'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,\r\n\t\t\t'p-input-filled': this.layoutService.config().inputStyle === 'filled',\r\n\t\t\t'p-ripple-disabled': !this.layoutService.config().ripple,\r\n\t\t\t'layout-sidebar-active': this.layoutService.state.sidebarActive,\r\n\t\t\t'layout-sidebar-anchored': this.layoutService.state.anchored\r\n\t\t};\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.overlayMenuOpenSubscription) {\r\n\t\t\tthis.overlayMenuOpenSubscription.unsubscribe();\r\n\t\t}\r\n\r\n\t\tif (this.menuOutsideClickListener) {\r\n\t\t\tthis.menuOutsideClickListener();\r\n\t\t}\r\n\t}\r\n}\r\n","<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n","import { AfterViewInit, Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { AppSubMenuComponent } from '../menu/app.menu.component';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'mfe-layout',\r\n\ttemplate: `\r\n\t\t<!-- <app-sub-menu hidden></app-sub-menu> -->\r\n\r\n\t\t<router-outlet />\r\n\r\n\t\t<p-toast key=\"toast-root\"></p-toast>\r\n\t\t<p-dialog key=\"dialog-root\"></p-dialog>\r\n\t\t<p-messages key=\"messages-root\"></p-messages>\r\n\t\t<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n\t\t<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n\t`,\r\n\timports: [\r\n\t\tRouterOutlet,\r\n\t\tConfirmDialogModule,\r\n\t\tConfirmPopupModule,\r\n\t\tDialogModule,\r\n\t\tMessagesModule,\r\n\t\tToastModule,\r\n\t\tAppSubMenuComponent\r\n\t]\r\n})\r\nexport class MFELayoutComponent implements AfterViewInit {\r\n\tngAfterViewInit(): void {\r\n\t\t// const appMenu = document.querySelector('app-menu>ul>li>ul#' + (<any>globalThis).activeMF);\r\n\t\t// const subMenuId = 'app-sub-menu-' + (<any>globalThis).activeMF;\r\n\t\t// const subMenu = document.getElementById(subMenuId) as HTMLElement;\r\n\t\t// appMenu?.replaceChildren(...Array.from(subMenu.children));\r\n\t\t// document.querySelector(subMenuId)?.remove();\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, effect, signal } from '@angular/core';\r\n\r\nimport { take } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { SelectionGroupDTO, SelectionRequestDTO } from './interfaces/interfaces';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SelectionGroupService {\r\n\tselectionGroups = signal<{ [groupName: string]: SelectionGroupDTO | null }>({});\r\n\r\n\tprivate loading = new Map<string, boolean>();\r\n\tprivate loaded = new Map<string, boolean>();\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tthis.loadStatesFromLocalStorage();\r\n\r\n\t\teffect(() => {\r\n\t\t\tconst encodedData = btoa(encodeURI(JSON.stringify(this.selectionGroups())));\r\n\t\t\tlocalStorage.setItem('selection-groups', encodedData);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate async loadStatesFromLocalStorage() {\r\n\t\tconst selectionGroups = localStorage.getItem('selection-groups');\r\n\r\n\t\tif (selectionGroups) {\r\n\t\t\ttry {\r\n\t\t\t\tconst decodedData = decodeURI(atob(selectionGroups));\r\n\t\t\t\tthis.selectionGroups.set(JSON.parse(decodedData));\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error(e);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfetchEnum(groupName: string, parentSelectionKey?: string | null) {\r\n\t\tif (this.loaded.get(groupName) || this.loading.get(groupName)) return;\r\n\r\n\t\tconst payload: SelectionRequestDTO = {\r\n\t\t\tgroupName,\r\n\t\t\tparentSelectionKey: parentSelectionKey ?? 'ALL'\r\n\t\t};\r\n\r\n\t\tthis.loading.set(groupName, true);\r\n\t\tthis.loaded.set(groupName, false);\r\n\r\n\t\tthis.http\r\n\t\t\t.post<SelectionGroupDTO>(API_CONFIGS.api + '/selection-group/load', payload)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((selectionGroup) => {\r\n\t\t\t\tthis.loading.set(groupName, false);\r\n\t\t\t\tthis.loaded.set(groupName, true);\r\n\r\n\t\t\t\tthis.selectionGroups.update((groups) => ({\r\n\t\t\t\t\t...groups,\r\n\t\t\t\t\t[groupName]: selectionGroup\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.LayoutService","i2.AppMenuService","i2","i3.AppMenuService","i4","i5","i1","i3","filter","i1.AppMenuService","i2.LayoutService","i6","i7"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aril",
3
- "version": "0.0.97",
3
+ "version": "0.0.98",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.1.0",
6
6
  "@angular/core": "^17.1.0",
@@ -44,18 +44,18 @@
44
44
  "esm": "./esm2022/http/aril-http.mjs",
45
45
  "default": "./fesm2022/aril-http.mjs"
46
46
  },
47
- "./keycloak": {
48
- "types": "./keycloak/index.d.ts",
49
- "esm2022": "./esm2022/keycloak/aril-keycloak.mjs",
50
- "esm": "./esm2022/keycloak/aril-keycloak.mjs",
51
- "default": "./fesm2022/aril-keycloak.mjs"
52
- },
53
47
  "./i18n": {
54
48
  "types": "./i18n/index.d.ts",
55
49
  "esm2022": "./esm2022/i18n/aril-i18n.mjs",
56
50
  "esm": "./esm2022/i18n/aril-i18n.mjs",
57
51
  "default": "./fesm2022/aril-i18n.mjs"
58
52
  },
53
+ "./keycloak": {
54
+ "types": "./keycloak/index.d.ts",
55
+ "esm2022": "./esm2022/keycloak/aril-keycloak.mjs",
56
+ "esm": "./esm2022/keycloak/aril-keycloak.mjs",
57
+ "default": "./fesm2022/aril-keycloak.mjs"
58
+ },
59
59
  "./theme": {
60
60
  "types": "./theme/index.d.ts",
61
61
  "esm2022": "./esm2022/theme/aril-theme.mjs",
@@ -122,12 +122,6 @@
122
122
  "esm": "./esm2022/ui/checkbox/aril-ui-checkbox.mjs",
123
123
  "default": "./fesm2022/aril-ui-checkbox.mjs"
124
124
  },
125
- "./ui/chip": {
126
- "types": "./ui/chip/index.d.ts",
127
- "esm2022": "./esm2022/ui/chip/aril-ui-chip.mjs",
128
- "esm": "./esm2022/ui/chip/aril-ui-chip.mjs",
129
- "default": "./fesm2022/aril-ui-chip.mjs"
130
- },
131
125
  "./ui/dxField": {
132
126
  "types": "./ui/dxField/index.d.ts",
133
127
  "esm2022": "./esm2022/ui/dxField/aril-ui-dxField.mjs",
@@ -140,6 +134,12 @@
140
134
  "esm": "./esm2022/ui/field/aril-ui-field.mjs",
141
135
  "default": "./fesm2022/aril-ui-field.mjs"
142
136
  },
137
+ "./ui/chip": {
138
+ "types": "./ui/chip/index.d.ts",
139
+ "esm2022": "./esm2022/ui/chip/aril-ui-chip.mjs",
140
+ "esm": "./esm2022/ui/chip/aril-ui-chip.mjs",
141
+ "default": "./fesm2022/aril-ui-chip.mjs"
142
+ },
143
143
  "./ui/fileUpload": {
144
144
  "types": "./ui/fileUpload/index.d.ts",
145
145
  "esm2022": "./esm2022/ui/fileUpload/aril-ui-fileUpload.mjs",
@@ -182,36 +182,36 @@
182
182
  "esm": "./esm2022/ui/operation-types-dialog/aril-ui-operation-types-dialog.mjs",
183
183
  "default": "./fesm2022/aril-ui-operation-types-dialog.mjs"
184
184
  },
185
- "./ui/panel": {
186
- "types": "./ui/panel/index.d.ts",
187
- "esm2022": "./esm2022/ui/panel/aril-ui-panel.mjs",
188
- "esm": "./esm2022/ui/panel/aril-ui-panel.mjs",
189
- "default": "./fesm2022/aril-ui-panel.mjs"
190
- },
191
185
  "./ui/overlayPanel": {
192
186
  "types": "./ui/overlayPanel/index.d.ts",
193
187
  "esm2022": "./esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs",
194
188
  "esm": "./esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs",
195
189
  "default": "./fesm2022/aril-ui-overlayPanel.mjs"
196
190
  },
191
+ "./ui/panel": {
192
+ "types": "./ui/panel/index.d.ts",
193
+ "esm2022": "./esm2022/ui/panel/aril-ui-panel.mjs",
194
+ "esm": "./esm2022/ui/panel/aril-ui-panel.mjs",
195
+ "default": "./fesm2022/aril-ui-panel.mjs"
196
+ },
197
197
  "./ui/password": {
198
198
  "types": "./ui/password/index.d.ts",
199
199
  "esm2022": "./esm2022/ui/password/aril-ui-password.mjs",
200
200
  "esm": "./esm2022/ui/password/aril-ui-password.mjs",
201
201
  "default": "./fesm2022/aril-ui-password.mjs"
202
202
  },
203
- "./ui/radioButton": {
204
- "types": "./ui/radioButton/index.d.ts",
205
- "esm2022": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
206
- "esm": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
207
- "default": "./fesm2022/aril-ui-radioButton.mjs"
208
- },
209
203
  "./ui/progressbar": {
210
204
  "types": "./ui/progressbar/index.d.ts",
211
205
  "esm2022": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
212
206
  "esm": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
213
207
  "default": "./fesm2022/aril-ui-progressbar.mjs"
214
208
  },
209
+ "./ui/radioButton": {
210
+ "types": "./ui/radioButton/index.d.ts",
211
+ "esm2022": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
212
+ "esm": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
213
+ "default": "./fesm2022/aril-ui-radioButton.mjs"
214
+ },
215
215
  "./ui/selectBox": {
216
216
  "types": "./ui/selectBox/index.d.ts",
217
217
  "esm2022": "./esm2022/ui/selectBox/aril-ui-selectBox.mjs",
@@ -272,18 +272,18 @@
272
272
  "esm": "./esm2022/ui/treeSelect/aril-ui-treeSelect.mjs",
273
273
  "default": "./fesm2022/aril-ui-treeSelect.mjs"
274
274
  },
275
- "./ui/value": {
276
- "types": "./ui/value/index.d.ts",
277
- "esm2022": "./esm2022/ui/value/aril-ui-value.mjs",
278
- "esm": "./esm2022/ui/value/aril-ui-value.mjs",
279
- "default": "./fesm2022/aril-ui-value.mjs"
280
- },
281
275
  "./ui/treeTable": {
282
276
  "types": "./ui/treeTable/index.d.ts",
283
277
  "esm2022": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
284
278
  "esm": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
285
279
  "default": "./fesm2022/aril-ui-treeTable.mjs"
286
280
  },
281
+ "./ui/value": {
282
+ "types": "./ui/value/index.d.ts",
283
+ "esm2022": "./esm2022/ui/value/aril-ui-value.mjs",
284
+ "esm": "./esm2022/ui/value/aril-ui-value.mjs",
285
+ "default": "./fesm2022/aril-ui-value.mjs"
286
+ },
287
287
  "./util/block": {
288
288
  "types": "./util/block/index.d.ts",
289
289
  "esm2022": "./esm2022/util/block/aril-util-block.mjs",