ps-toolkit-ui 0.2.15 → 0.2.18

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.
@@ -9,6 +9,7 @@ import { PsToolkitUiConfigService } from '../../services/config.service';
9
9
  export class LoginComponent {
10
10
  constructor(config) {
11
11
  this.config = config;
12
+ this.loginTemplate = 'Main';
12
13
  const lang = new LangClass(config.currentLang, config.strings);
13
14
  this.l = (key, v = null) => {
14
15
  return lang.get('Public', 'Login', key, v);
@@ -29,6 +30,7 @@ export class LoginComponent {
29
30
  code.focus();
30
31
  }, 100);
31
32
  };
33
+ this.mobile.displayLabel = this.loginTemplate === 'Main';
32
34
  sendCodeForm.inputs = [
33
35
  this.mobile,
34
36
  sendCode
@@ -76,6 +78,7 @@ export class LoginComponent {
76
78
  labelResend.name = 'ReSendCodeDes';
77
79
  });
78
80
  };
81
+ code.displayLabel = this.loginTemplate === 'Main';
79
82
  const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit);
80
83
  loginForm.inputs = [
81
84
  this.mobile,
@@ -115,9 +118,12 @@ export class LoginComponent {
115
118
  }
116
119
  };
117
120
  this.username = new InputClass(this.config.environment, this.l, 'Username', 'fa-duotone fa-user', InputType.Text, 'm-b-10 h-45', '', true, 4, 50);
121
+ const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50);
122
+ this.username.displayLabel = this.loginTemplate === 'Main';
123
+ password.displayLabel = this.loginTemplate === 'Main';
118
124
  loginForm.inputs = [
119
125
  this.username,
120
- new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50),
126
+ password,
121
127
  login
122
128
  ];
123
129
  login.onClick = () => {
@@ -137,14 +143,15 @@ export class LoginComponent {
137
143
  LoginComponent.decorators = [
138
144
  { type: Component, args: [{
139
145
  selector: 'lib-login',
140
- template: "<div id=\"Login\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
141
- styles: ["#Login{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#Login .about-c,#Login .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#Login .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#Login .form-c .form{margin:0 auto;width:60%}#Login .about,#Login .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#Login .about .info{z-index:2}#Login .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#Login .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#Login .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#Login .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#Login .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#Login .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#Login .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#Login .about .title{font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;width:100%}#Login .about .sub-title,#Login .about .title{float:right;position:relative;text-align:center}#Login .about .sub-title{font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;width:80%}::ng-deep #Login .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #Login .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #Login .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #Login .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #Login .form-c .form .sub-title:after{background-image:none!important}@media (max-width:399.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{width:100%}#Login .about .info{padding:10px 5px 5px}#Login .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{width:80%}#Login .about .info{padding:10px}#Login .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{float:right;margin-right:15%;width:70%}#Login .about .info{padding:10px}#Login .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#Login .about-c,#Login .form-c{float:right;width:100%}#Login .form-c .form{float:right;margin-right:15%;width:70%}#Login .about .info{padding:10px}#Login .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#Login .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#Login .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#Login .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#Login .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#Login .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#Login .form-c .form{width:70%}}"]
146
+ template: "<div id=\"LoginMain\" *ngIf=\"loginTemplate == 'Main'\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"LoginSimple\" *ngIf=\"loginTemplate == 'Simple'\">\r\n <div class=\"form-c\">\r\n <div class=\"title\">{{ l('Base') }}</div>\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
147
+ styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:300px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
142
148
  },] }
143
149
  ];
144
150
  LoginComponent.ctorParameters = () => [
145
151
  { type: PsToolkitUiConfigService }
146
152
  ];
147
153
  LoginComponent.propDecorators = {
148
- login: [{ type: Input }]
154
+ login: [{ type: Input }],
155
+ loginTemplate: [{ type: Input }]
149
156
  };
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFhLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPdkUsTUFBTSxPQUFPLGNBQWM7SUFNekIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFDakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDRCxR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QUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUNoSCxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLEtBQUs7YUFDTixDQUFDO1lBQ0YsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRCxTQUFTLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDOzs7WUF6SUYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2dCQUNyQix1NkJBQXFDOzthQUV4Qzs7O1lBTk8sd0JBQXdCOzs7b0JBUTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGFuZ0NsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2xhbmcuY2xhc3MnO1xyXG5pbXBvcnQge0xvZ2luQ2xhc3MsIExvZ2luU3RlcENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2xvZ2luLmNsYXNzJztcclxuaW1wb3J0IHtGb3JtQ2xhc3MsIElucHV0Q2xhc3MsIFByb2dyZXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0RXJyb3IsIElucHV0VHlwZSwgTWV0aG9kfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1sb2dpbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIGxvZ2luOiBMb2dpbkNsYXNzO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBMYW5nQ2xhc3MoY29uZmlnLmN1cnJlbnRMYW5nLCBjb25maWcuc3RyaW5ncyk7XHJcbiAgICB0aGlzLmwgPSAoa2V5OiBzdHJpbmcsIHYgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGxhbmcuZ2V0KCdQdWJsaWMnLCAnTG9naW4nLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnU21zJyl7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgdHJ1ZSwgdGhpcy5sb2dpbi5zZW5kQ29kZVVybCk7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgJ2ZhLWR1b3RvbmUgZmEtcGFwZXItcGxhbmUnLCBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICBzZW5kQ29kZUZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMubW9iaWxlLFxyXG4gICAgICAgIHNlbmRDb2RlXHJcbiAgICAgIF07XHJcbiAgICAgIHNlbmRDb2RlLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgc2VuZENvZGVGb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblNtcycsIHRydWUsIHRoaXMubG9naW4ubG9naW5VcmwpO1xyXG4gICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9IHRoaXMubCgnTG9naW5TbXNTdWJUaXRsZScsICcnKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDIgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMl0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1syXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGxvZ2luRm9ybS5vbkZhaWxlZCA9IChtc2cpID0+IHtcclxuICAgICAgICBjb2RlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUuZXJyb3IgPSBJbnB1dEVycm9yLk5vdEV4aXN0O1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuTW9iaWxlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb2JpbGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIHRoaXMubG9naW4uc3RlcHNbMF0uc2hvdygpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBjb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0NvZGUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVubG9jay1hbHQnLCBJbnB1dFR5cGUuTnVtYmVyLCAnbS1iLTEwIGgtNDUnLCBudWxsLCB0cnVlLCAxMTExLCA5OTk5KTtcclxuICAgICAgY29uc3QgbGFiZWxSZXNlbmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnUmVTZW5kQ29kZURlcycsXHJcbiAgICAgICAgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnY29tcCByZXNlbmQtY29kZScpO1xyXG4gICAgICBjb2RlLnByb2dyZXNzID0gbmV3IFByb2dyZXNzKDEyMCk7XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25TdGFydCA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25FbmQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgIH07XHJcbiAgICAgIGxhYmVsUmVzZW5kLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQubmFtZSA9ICcoJyArIHRoaXMubCgnTG9hZGluZ0NvbXAnLCAnU2VuZCcpICsgJyknO1xyXG4gICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQpLnNlbmQodGhpcy5sb2dpbi5yZVNlbmRDb2RlVXJsLCBNZXRob2QuUG9zdCwgbG9naW5Gb3JtLmRhdGEoKSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWxSZXNlbmQubmFtZSA9ICdSZVNlbmRDb2RlRGVzJztcclxuICAgICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbih0aGlzLmwoZXJyb3IpKTtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luU21zJywgJ2ZhLWR1b3RvbmUgZmEtc2lnbi1pbi1hbHQnLCBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIGxhYmVsUmVzZW5kLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAxO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBzZW5kQ29kZVN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3Moc2VuZENvZGVGb3JtKTtcclxuICAgICAgc2VuZENvZGVTdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KHNlbmRDb2RlU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Bhc3N3b3JkJyl7XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luUGFzc3dvcmQnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSAnTG9naW5QYXNzd29yZFN1YlRpdGxlJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnTG9naW5QYXNzd29yZCcsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAxICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMV0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnVzZXJuYW1lID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1VzZXJuYW1lJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11c2VyJywgSW5wdXRUeXBlLlRleHQsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy51c2VybmFtZSxcclxuICAgICAgICBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1rZXknLCBJbnB1dFR5cGUuUGFzc3dvcmQsICdtLWItMTAgaC00NScsXHJcbiAgICAgICAgICAnJywgdHJ1ZSwgNSwgNTApLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFhLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPdkUsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFKbkQsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFLckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdD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O1lBTk8sd0JBQXdCOzs7b0JBUTdCLEtBQUs7NEJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5DbGFzcywgTG9naW5TdGVwQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbG9naW4uY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzcywgUHJvZ3Jlc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBNZXRob2R9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgbG9naW46IExvZ2luQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBsb2dpblRlbXBsYXRlID0gJ01haW4nO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBMYW5nQ2xhc3MoY29uZmlnLmN1cnJlbnRMYW5nLCBjb25maWcuc3RyaW5ncyk7XHJcbiAgICB0aGlzLmwgPSAoa2V5OiBzdHJpbmcsIHYgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGxhbmcuZ2V0KCdQdWJsaWMnLCAnTG9naW4nLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnU21zJyl7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgdHJ1ZSwgdGhpcy5sb2dpbi5zZW5kQ29kZVVybCk7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgJ2ZhLWR1b3RvbmUgZmEtcGFwZXItcGxhbmUnLCBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm1vYmlsZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgc2VuZENvZGVGb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBzZW5kQ29kZVxyXG4gICAgICBdO1xyXG4gICAgICBzZW5kQ29kZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHNlbmRDb2RlRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnTG9naW5TbXMnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCAnJyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAyICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzJdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMl0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBsb2dpbkZvcm0ub25GYWlsZWQgPSAobXNnKSA9PiB7XHJcbiAgICAgICAgY29kZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmVycm9yID0gSW5wdXRFcnJvci5Ob3RFeGlzdDtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLk1vYmlsZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzBdLnNob3coKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdDb2RlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11bmxvY2stYWx0JywgSW5wdXRUeXBlLk51bWJlciwgJ20tYi0xMCBoLTQ1JywgbnVsbCwgdHJ1ZSwgMTExMSwgOTk5OSk7XHJcbiAgICAgIGNvbnN0IGxhYmVsUmVzZW5kID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1JlU2VuZENvZGVEZXMnLFxyXG4gICAgICAgIG51bGwsIElucHV0VHlwZS5MYWJlbCwgJ2NvbXAgcmVzZW5kLWNvZGUnKTtcclxuICAgICAgY29kZS5wcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygxMjApO1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uU3RhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICB9O1xyXG4gICAgICBsYWJlbFJlc2VuZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnKCcgKyB0aGlzLmwoJ0xvYWRpbmdDb21wJywgJ1NlbmQnKSArICcpJztcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50KS5zZW5kKHRoaXMubG9naW4ucmVTZW5kQ29kZVVybCwgTWV0aG9kLlBvc3QsIGxvZ2luRm9ybS5kYXRhKCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgICBjb2RlLnByb2dyZXNzLnN0YXJ0KCk7XHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24odGhpcy5sKGVycm9yKSk7XHJcbiAgICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblNtcycsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBsYWJlbFJlc2VuZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3Qgc2VuZENvZGVTdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKHNlbmRDb2RlRm9ybSk7XHJcbiAgICAgIHNlbmRDb2RlU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChzZW5kQ29kZVN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdQYXNzd29yZCcpe1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblBhc3N3b3JkJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gJ0xvZ2luUGFzc3dvcmRTdWJUaXRsZSc7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMSAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzFdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgdGhpcy51c2VybmFtZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdVc2VybmFtZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdXNlcicsIElucHV0VHlwZS5UZXh0LCAnbS1iLTEwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG5cclxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1rZXknLCBJbnB1dFR5cGUuUGFzc3dvcmQsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA1LCA1MClcclxuICAgICAgdGhpcy51c2VybmFtZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgcGFzc3dvcmQuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy51c2VybmFtZSxcclxuICAgICAgICBwYXNzd29yZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -5712,6 +5712,7 @@ class LoginStepClass {
5712
5712
  class LoginComponent {
5713
5713
  constructor(config) {
5714
5714
  this.config = config;
5715
+ this.loginTemplate = 'Main';
5715
5716
  const lang = new LangClass(config.currentLang, config.strings);
5716
5717
  this.l = (key, v = null) => {
5717
5718
  return lang.get('Public', 'Login', key, v);
@@ -5732,6 +5733,7 @@ class LoginComponent {
5732
5733
  code.focus();
5733
5734
  }, 100);
5734
5735
  };
5736
+ this.mobile.displayLabel = this.loginTemplate === 'Main';
5735
5737
  sendCodeForm.inputs = [
5736
5738
  this.mobile,
5737
5739
  sendCode
@@ -5779,6 +5781,7 @@ class LoginComponent {
5779
5781
  labelResend.name = 'ReSendCodeDes';
5780
5782
  });
5781
5783
  };
5784
+ code.displayLabel = this.loginTemplate === 'Main';
5782
5785
  const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit);
5783
5786
  loginForm.inputs = [
5784
5787
  this.mobile,
@@ -5818,9 +5821,12 @@ class LoginComponent {
5818
5821
  }
5819
5822
  };
5820
5823
  this.username = new InputClass(this.config.environment, this.l, 'Username', 'fa-duotone fa-user', InputType.Text, 'm-b-10 h-45', '', true, 4, 50);
5824
+ const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50);
5825
+ this.username.displayLabel = this.loginTemplate === 'Main';
5826
+ password.displayLabel = this.loginTemplate === 'Main';
5821
5827
  loginForm.inputs = [
5822
5828
  this.username,
5823
- new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50),
5829
+ password,
5824
5830
  login
5825
5831
  ];
5826
5832
  login.onClick = () => {
@@ -5840,15 +5846,16 @@ class LoginComponent {
5840
5846
  LoginComponent.decorators = [
5841
5847
  { type: Component, args: [{
5842
5848
  selector: 'lib-login',
5843
- template: "<div id=\"Login\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
5844
- styles: ["#Login{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#Login .about-c,#Login .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#Login .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#Login .form-c .form{margin:0 auto;width:60%}#Login .about,#Login .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#Login .about .info{z-index:2}#Login .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#Login .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#Login .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#Login .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#Login .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#Login .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#Login .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#Login .about .title{font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;width:100%}#Login .about .sub-title,#Login .about .title{float:right;position:relative;text-align:center}#Login .about .sub-title{font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;width:80%}::ng-deep #Login .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #Login .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #Login .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #Login .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #Login .form-c .form .sub-title:after{background-image:none!important}@media (max-width:399.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{width:100%}#Login .about .info{padding:10px 5px 5px}#Login .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{width:80%}#Login .about .info{padding:10px}#Login .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#Login{height:calc(100vh - 60px)}#Login .about-c,#Login .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#Login .form-c .form{float:right;margin-right:15%;width:70%}#Login .about .info{padding:10px}#Login .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#Login .about-c,#Login .form-c{float:right;width:100%}#Login .form-c .form{float:right;margin-right:15%;width:70%}#Login .about .info{padding:10px}#Login .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#Login .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#Login .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#Login .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#Login .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#Login .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#Login .form-c .form{width:70%}}"]
5849
+ template: "<div id=\"LoginMain\" *ngIf=\"loginTemplate == 'Main'\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"LoginSimple\" *ngIf=\"loginTemplate == 'Simple'\">\r\n <div class=\"form-c\">\r\n <div class=\"title\">{{ l('Base') }}</div>\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
5850
+ styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:300px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
5845
5851
  },] }
5846
5852
  ];
5847
5853
  LoginComponent.ctorParameters = () => [
5848
5854
  { type: PsToolkitUiConfigService }
5849
5855
  ];
5850
5856
  LoginComponent.propDecorators = {
5851
- login: [{ type: Input }]
5857
+ login: [{ type: Input }],
5858
+ loginTemplate: [{ type: Input }]
5852
5859
  };
5853
5860
 
5854
5861
  class LoadingComponent {