ps-toolkit-ui 0.2.46 → 0.2.49

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.
@@ -54,7 +54,7 @@ export class LoginComponent {
54
54
  }, 100);
55
55
  this.login.steps[0].show();
56
56
  };
57
- const code = new InputClass(this.config.environment, this.login.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-10 h-45', null, true, 1111, 9999);
57
+ const code = new InputClass(this.config.environment, this.login.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-20 h-45', null, true, 1111, 9999);
58
58
  const labelResend = new InputClass(this.config.environment, this.login.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code h-45');
59
59
  code.progress = new Progress(120);
60
60
  code.progress.onStart = () => {
@@ -63,6 +63,9 @@ export class LoginComponent {
63
63
  code.progress.onEnd = () => {
64
64
  labelResend.value = 'ReSendCodeDes';
65
65
  };
66
+ code.progress.onTick = (m, s) => {
67
+ labelResend.value = this.login.l('ReSendCodeRemain', [m > 9 ? m : `0${m}`, s > 9 ? s : `0${s}`]);
68
+ };
66
69
  labelResend.onClick = () => {
67
70
  labelResend.name = '(' + this.login.l('LoadingComp', 'Send') + ')';
68
71
  new RequestClass(this.config.environment).send(this.login.reSendCodeUrl, Method.Post, loginForm.data(), null, () => {
@@ -138,7 +141,7 @@ export class LoginComponent {
138
141
  LoginComponent.decorators = [
139
142
  { type: Component, args: [{
140
143
  selector: 'lib-login',
141
- 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 {{ login.l('SoftwareName') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ login.l('SoftwareDesc') }}\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\">{{ login.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",
144
+ 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 {{ login.l('SoftwareName') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ login.l('SoftwareDesc') }}\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\">{{ login.l('SoftwareName') }}</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",
142
145
  styles: ["#LoginMain{background-color:#fff;border-radius:var(--border-radius-base);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 var(--border-radius-base) var(--border-radius-base) 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 var(--border-radius-base) var(--border-radius-base) 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-light);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;margin-bottom:20px;text-align:center;width:100%}::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:400px}#LoginSimple .form-c .title{color:var(--primary);float:right;font-family:VazirBold;font-size:25px;line-height:60px;text-align:center;width:100%}::ng-deep #LoginSimple .form-c .form .title{float:right;font-family:VazirBold;font-size:18px;height:40px;line-height:40px;margin-bottom:10px;width:100%}::ng-deep #LoginSimple .form-c .form .sub-title{color:var(--black-light);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;margin-bottom:20px;width:100%}::ng-deep #LoginSimple .form-c .form .sub-title:after{background-image:none!important}@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%}}"]
143
146
  },] }
144
147
  ];
@@ -149,4 +152,4 @@ LoginComponent.propDecorators = {
149
152
  login: [{ type: Input }],
150
153
  loginTemplate: [{ type: Input }]
151
154
  };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFDO1lBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwSCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFB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Q0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDOzs7WUExSUYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2dCQUNyQiwyMkNBQXFDOzthQUV4Qzs7O1lBTk8sd0JBQXdCOzs7b0JBUTdCLEtBQUs7NEJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5DbGFzcywgTG9naW5TdGVwQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbG9naW4uY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzcywgUHJvZ3Jlc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBNZXRob2R9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgbG9naW46IExvZ2luQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBsb2dpblRlbXBsYXRlID0gJ01haW4nO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdTbXMnKXtcclxuICAgICAgY29uc3Qgc2VuZENvZGVGb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnU2VuZENvZGUnLCB0cnVlLCB0aGlzLmxvZ2luLnNlbmRDb2RlVXJsKTtcclxuICAgICAgY29uc3Qgc2VuZENvZGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnU2VuZENvZGUnLCAnZmEtZHVvdG9uZSBmYS1wYXBlci1wbGFuZScsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1JyArICh0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdTaW1wbGUnID8gJyBwcmltYXJ5JyA6ICcnKSk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5zdWJOYW1lID0gJ1NlbmRDb2RlU3ViVGl0bGUnO1xyXG4gICAgICB0aGlzLm1vYmlsZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdNb2JpbGUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLW1vYmlsZS1hbHQnLCBJbnB1dFR5cGUuTW9iaWxlLCAnbS1iLTIwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG4gICAgICBzZW5kQ29kZUZvcm0ub25TdWNjZXNzID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gdGhpcy5sb2dpbi5sKCdMb2dpblNtc1N1YlRpdGxlJywgdGhpcy5tb2JpbGUuZGF0YSgpKTtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLkhpZGRlbjtcclxuICAgICAgICBjb2RlLnByb2dyZXNzLnN0YXJ0KCk7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb2RlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5tb2JpbGUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgc2VuZENvZGVcclxuICAgICAgXTtcclxuICAgICAgc2VuZENvZGUub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBzZW5kQ29kZUZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luU21zJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gdGhpcy5sb2dpbi5sKCdMb2dpblNtc1N1YlRpdGxlJywgJycpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMiAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1syXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzJdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgbG9naW5Gb3JtLm9uRmFpbGVkID0gKG1zZykgPT4ge1xyXG4gICAgICAgIGNvZGUuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLm1vYmlsZS5lcnJvciA9IElucHV0RXJyb3IuTm90RXhpc3Q7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUudHlwZSA9IElucHV0VHlwZS5Nb2JpbGU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1swXS5zaG93KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGNvZGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnQ29kZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdW5sb2NrLWFsdCcsIElucHV0VHlwZS5OdW1iZXIsICdtLWItMTAgaC00NScsIG51bGwsIHRydWUsIDExMTEsIDk5OTkpO1xyXG4gICAgICBjb25zdCBsYWJlbFJlc2VuZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdSZVNlbmRDb2RlRGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnY29tcCByZXNlbmQtY29kZSBoLTQ1Jyk7XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3MgPSBuZXcgUHJvZ3Jlc3MoMTIwKTtcclxuICAgICAgY29kZS5wcm9ncmVzcy5vblN0YXJ0ID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gbnVsbDtcclxuICAgICAgfTtcclxuICAgICAgY29kZS5wcm9ncmVzcy5vbkVuZCA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9ICdSZVNlbmRDb2RlRGVzJztcclxuICAgICAgfTtcclxuICAgICAgbGFiZWxSZXNlbmQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJygnICsgdGhpcy5sb2dpbi5sKCdMb2FkaW5nQ29tcCcsICdTZW5kJykgKyAnKSc7XHJcbiAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCkuc2VuZCh0aGlzLmxvZ2luLnJlU2VuZENvZGVVcmwsIE1ldGhvZC5Qb3N0LCBsb2dpbkZvcm0uZGF0YSgpLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKHRoaXMubG9naW4ubChlcnJvcikpO1xyXG4gICAgICAgICAgbGFiZWxSZXNlbmQubmFtZSA9ICdSZVNlbmRDb2RlRGVzJztcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgICAgY29kZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5TbXMnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1JyArICh0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdTaW1wbGUnID8gJyBwcmltYXJ5JyA6ICcnKSk7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBsYWJlbFJlc2VuZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3Qgc2VuZENvZGVTdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKHNlbmRDb2RlRm9ybSk7XHJcbiAgICAgIHNlbmRDb2RlU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChzZW5kQ29kZVN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdQYXNzd29yZCcpe1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblBhc3N3b3JkJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gJ0xvZ2luUGFzc3dvcmRTdWJUaXRsZSc7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1JyArICh0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdTaW1wbGUnID8gJyBwcmltYXJ5JyA6ICcnKSk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAxICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMV0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnVzZXJuYW1lID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1VzZXJuYW1lJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11c2VyJywgSW5wdXRUeXBlLlRleHQsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcblxyXG4gICAgICBjb25zdCBwYXNzd29yZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdQYXNzd29yZCcsICdmYS1kdW90b25lIGZhLWtleScsIElucHV0VHlwZS5QYXNzd29yZCwgJ20tYi0yMCBoLTQ1JywgJycsIHRydWUsIDUsIDUwKTtcclxuICAgICAgdGhpcy51c2VybmFtZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgcGFzc3dvcmQuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy51c2VybmFtZSxcclxuICAgICAgICBwYXNzd29yZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFDO1lBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwSCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFB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LEdBQUcsRUFBRTtnQkFDbkIsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7OztZQTdJRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLG0zQ0FBcUM7O2FBRXhDOzs7WUFOTyx3QkFBd0I7OztvQkFRN0IsS0FBSzs0QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtMb2dpbkNsYXNzLCBMb2dpblN0ZXBDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sb2dpbi5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzLCBQcm9ncmVzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGUsIE1ldGhvZH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbG9naW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBsb2dpbjogTG9naW5DbGFzcztcclxuICBASW5wdXQoKVxyXG4gIGxvZ2luVGVtcGxhdGUgPSAnTWFpbic7XHJcbiAgbW9iaWxlOiBJbnB1dENsYXNzO1xyXG4gIHVzZXJuYW1lOiBJbnB1dENsYXNzO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Ntcycpe1xyXG4gICAgICBjb25zdCBzZW5kQ29kZUZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsIHRydWUsIHRoaXMubG9naW4uc2VuZENvZGVVcmwpO1xyXG4gICAgICBjb25zdCBzZW5kQ29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsICdmYS1kdW90b25lIGZhLXBhcGVyLXBsYW5lJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMjAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm1vYmlsZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgc2VuZENvZGVGb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBzZW5kQ29kZVxyXG4gICAgICBdO1xyXG4gICAgICBzZW5kQ29kZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHNlbmRDb2RlRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5TbXMnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCAnJyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAyICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzJdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMl0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBsb2dpbkZvcm0ub25GYWlsZWQgPSAobXNnKSA9PiB7XHJcbiAgICAgICAgY29kZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmVycm9yID0gSW5wdXRFcnJvci5Ob3RFeGlzdDtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLk1vYmlsZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzBdLnNob3coKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdDb2RlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11bmxvY2stYWx0JywgSW5wdXRUeXBlLk51bWJlciwgJ20tYi0yMCBoLTQ1JywgbnVsbCwgdHJ1ZSwgMTExMSwgOTk5OSk7XHJcbiAgICAgIGNvbnN0IGxhYmVsUmVzZW5kID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1JlU2VuZENvZGVEZXMnLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsICdjb21wIHJlc2VuZC1jb2RlIGgtNDUnKTtcclxuICAgICAgY29kZS5wcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygxMjApO1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uU3RhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uVGljayA9IChtLCBzKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSB0aGlzLmxvZ2luLmwoJ1JlU2VuZENvZGVSZW1haW4nLCBbbSA+IDkgPyBtIDogYDAke219YCwgcyA+IDkgPyBzIDogYDAke3N9YF0pO1xyXG4gICAgICB9O1xyXG4gICAgICBsYWJlbFJlc2VuZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnKCcgKyB0aGlzLmxvZ2luLmwoJ0xvYWRpbmdDb21wJywgJ1NlbmQnKSArICcpJztcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50KS5zZW5kKHRoaXMubG9naW4ucmVTZW5kQ29kZVVybCwgTWV0aG9kLlBvc3QsIGxvZ2luRm9ybS5kYXRhKCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgICBjb2RlLnByb2dyZXNzLnN0YXJ0KCk7XHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24odGhpcy5sb2dpbi5sKGVycm9yKSk7XHJcbiAgICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblNtcycsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIGxhYmVsUmVzZW5kLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAxO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBzZW5kQ29kZVN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3Moc2VuZENvZGVGb3JtKTtcclxuICAgICAgc2VuZENvZGVTdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KHNlbmRDb2RlU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Bhc3N3b3JkJyl7XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luUGFzc3dvcmQnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSAnTG9naW5QYXNzd29yZFN1YlRpdGxlJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5QYXNzd29yZCcsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDEgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMV0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1sxXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudXNlcm5hbWUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnVXNlcm5hbWUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVzZXInLCBJbnB1dFR5cGUuVGV4dCwgJ20tYi0xMCBoLTQ1JywgJycsIHRydWUsIDQsIDUwKTtcclxuXHJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1Bhc3N3b3JkJywgJ2ZhLWR1b3RvbmUgZmEta2V5JywgSW5wdXRUeXBlLlBhc3N3b3JkLCAnbS1iLTIwIGgtNDUnLCAnJywgdHJ1ZSwgNSwgNTApO1xyXG4gICAgICB0aGlzLnVzZXJuYW1lLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBwYXNzd29yZC5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -7,7 +7,7 @@ NotificationComponent.decorators = [
7
7
  { type: Component, args: [{
8
8
  selector: 'lib-notification',
9
9
  template: "<div id=\"Notifications\">\r\n</div>\r\n",
10
- styles: ["#Notifications{bottom:20px;position:fixed;right:0;width:350px;z-index:9999}::ng-deep #Notifications .con{float:right;padding:5px 20px;width:calc(100% - 40px)}::ng-deep #Notifications .item{background-color:var(--red);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);color:#fff;float:right;position:relative;text-align:center;width:100%}::ng-deep #Notifications .item.success{background-color:var(--green)}::ng-deep #Notifications .item i{cursor:pointer;float:right;height:30px;line-height:30px;width:30px}::ng-deep #Notifications .item i:hover{background-color:var(--red-dark)}::ng-deep #Notifications .item.success i:hover{background-color:var(--green-dark)}::ng-deep #Notifications .item div{float:right;font-size:12px;line-height:20px;padding:10px;width:calc(100% - 30px)}"]
10
+ styles: ["#Notifications{bottom:20px;position:fixed;right:0;width:350px;z-index:9999}::ng-deep #Notifications .con{float:right;padding:5px 20px;width:calc(100% - 40px)}::ng-deep #Notifications .item{background-color:var(--red);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);color:#fff;float:right;overflow:hidden;position:relative;text-align:center;width:100%}::ng-deep #Notifications .item.success{background-color:var(--green)}::ng-deep #Notifications .item i{cursor:pointer;float:right;height:30px;line-height:30px;width:30px}::ng-deep #Notifications .item i:hover{background-color:var(--red-dark)}::ng-deep #Notifications .item.success i:hover{background-color:var(--green-dark)}::ng-deep #Notifications .item div{float:right;font-size:12px;line-height:20px;padding:10px;width:calc(100% - 30px)}"]
11
11
  },] }
12
12
  ];
13
13
  NotificationComponent.ctorParameters = () => [];
@@ -75,6 +75,7 @@ const strings = {
75
75
  },
76
76
  Login: {
77
77
  ReSendCodeDes: '(ارسال مجدد)',
78
+ ReSendCodeRemain: '{} : {} مانده تا دریافت مجدد کد',
78
79
  Code: 'کد تایید',
79
80
  Base: 'نام سایت',
80
81
  BaseDesc: 'توضیحات سایت',
@@ -126,6 +127,7 @@ const strings = {
126
127
  Alert: 'هشدار',
127
128
  AccessDenied: 'عدم دسترسی',
128
129
  Image: 'تصویر',
130
+ ImageFile: 'تصویر',
129
131
  Grade: 'پایه تحصیلی',
130
132
  Close: 'بستن',
131
133
  Desc: 'توضیحات',
@@ -643,7 +645,7 @@ class HelperClass {
643
645
  }
644
646
  document.cookie = name + '=' + (value || '') + expires + '; path=/';
645
647
  }
646
- static getCookie(name) {
648
+ static getCookie(name, def = null) {
647
649
  const nameEQ = name + '=';
648
650
  const ca = document.cookie.split(';');
649
651
  for (let c of ca) {
@@ -654,7 +656,7 @@ class HelperClass {
654
656
  return c.substring(nameEQ.length, c.length);
655
657
  }
656
658
  }
657
- return null;
659
+ return def;
658
660
  }
659
661
  static eraseCookie(name) {
660
662
  document.cookie.split(';')
@@ -1076,6 +1078,7 @@ class Progress {
1076
1078
  this.percent = 98;
1077
1079
  this.onEnd = null;
1078
1080
  this.onStart = null;
1081
+ this.onTick = null;
1079
1082
  this.start = () => {
1080
1083
  this.remainSecs = this.secs;
1081
1084
  this.percent = 98;
@@ -1090,6 +1093,11 @@ class Progress {
1090
1093
  this.onEnd();
1091
1094
  }
1092
1095
  }
1096
+ if (Number.isInteger(this.remainSecs)) {
1097
+ const m = Math.floor(this.remainSecs / 60);
1098
+ const s = this.remainSecs % 60;
1099
+ this.onTick(m, s);
1100
+ }
1093
1101
  this.remainSecs -= 0.5;
1094
1102
  }, 500);
1095
1103
  };
@@ -4908,7 +4916,7 @@ FormTextboxComponent.decorators = [
4908
4916
  { type: Component, args: [{
4909
4917
  selector: 'lib-form-textbox',
4910
4918
  template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [style]=\"inp.style\" [className]=\"'form-input-con text w-100' + (inp.error == null ? '' : ' error') + (inp.disabled || inp.loading ? ' disabled' : '') + (inp.icon == null ? ' without-icon' : '') + ' ' + inp.class\">\r\n <div class=\"form-input\" (click)=\"onFocusIn()\">\r\n <div *ngIf=\"inp.displayLabel\" class=\"label\"><i *ngIf=\"inp.required\" class=\"fas fa-star-of-life required-icon\"></i>{{inp.getLabel()}}</div>\r\n <input (keydown)=\"onKeyDown($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"inp.disabled || inp.loading\" [value]=\"getValue()\" [placeholder]=\"inp.placeholder ? inp.l(inp.placeholder) : ''\" #inputBase [type]=\"inp.type == type.Password ? 'password': 'text'\" [name]=\"inp.name\" class=\"control\" autocomplete=\"off\" [maxLength]=\"inp.maxLength > 0 ? inp.type == type.Number ? inp.maxLength.toString().length : inp.maxLength : 524288\">\r\n <span *ngIf=\"inp.icon != null || inp.loading\" (click)=\"inp.button && onClickButton()\" #inputIcon [className]=\"(inp.button ? inp.button + ' button ' : '') + 'icon'\">\r\n <i [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner ' : inp.icon + ' ')\">{{inp.type === type.Sheba ? 'IR' : ''}}</i>\r\n </span>\r\n <span *ngIf=\"inp.withClear && inp.value\" (click)=\"inp.clear()\" class=\"clear-icon\">\r\n <i class=\"fa-duotone fa-eraser\"></i>\r\n </span>\r\n <div *ngIf=\"inp.progress != null && inp.progress.remainSecs > 0\" [ngStyle]=\"{width: inp.progress.percent + '%'}\" class=\"progress\"></div>\r\n </div>\r\n</div>\r\n",
4911
- styles: [".form-input-con.text{padding:0 15px;position:relative}.form-input-con.text .form-input{float:right;position:relative;width:100%}.form-input-con.text .form-input .label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.text.error .form-input .label{color:var(--red);font-size:10px}.form-input-con.text .form-input .label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.text .form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.text .form-input .control:focus,.form-input-con.text .form-input:hover .control{border:var(--border-input-dark);outline:none}.form-input-con.text.error .form-input .control{border:var(--border-input-red)}.form-input-con.text.error .form-input .control,.form-input-con.text.error .form-input span.icon{color:var(--red)}.form-input-con.text.error .form-input .control:focus,.form-input-con.text.error .form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.text .form-input span.icon{color:var(--primary);cursor:text;left:0}.form-input-con.text .form-input span.clear-icon,.form-input-con.text .form-input span.icon{bottom:0;font-size:14px;height:35px;line-height:38px;position:absolute;text-align:center;transition:all .35s ease-in-out;width:35px;z-index:2}.form-input-con.text .form-input span.clear-icon{color:var(--red);cursor:pointer;right:0}.form-input-con.text .form-input span.icon.button{background-color:var(--base);border-radius:var(--border-radius-base) 0 0 var(--border-radius-base);color:#fff;cursor:pointer}.form-input-con.text .form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.text .form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.text .form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.text .form-input span.icon.button.green{background-color:var(--green)}.form-input-con.text .form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.text .form-input span.icon.button.red{background-color:var(--red)}.form-input-con.text .form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.text .form-input span.icon.button.primary{background-color:var(--primary)}.form-input-con.text .form-input span.icon.button.primary:hover{background-color:var(--primary-dark)}.form-input-con.text.disabled .form-input .control,.form-input-con.text.disabled .form-input .label,.form-input-con.text.disabled .form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}.form-input-con.text .form-input .progress{background-color:var(--primary);border-radius:var(--border-radius-base);bottom:0;height:3px;line-height:3px;margin-right:1%;position:absolute;right:0;transition:width .5s ease-in-out;width:98%}.form-input-con.text.without-icon .form-input .control{padding:5px 10px}.form-input-con.text.h-50 .form-input .control{height:50px}.form-input-con.text.h-50 .form-input span.icon{height:50px;line-height:50px}.form-input-con.text.h-45 .form-input .control{font-size:17px;height:45px}.form-input-con.text.h-45 .form-input .control::-moz-placeholder,.form-input-con.text.h-45 .form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.text.h-45 .form-input span.icon{font-size:15px;height:45px;line-height:50px}.form-input-con.text.h-30 .form-input .control{font-size:10px;height:30px;padding:0}.form-input-con.text.h-30 .form-input span.icon{font-size:11px;height:30px;line-height:33px;width:30px}.form-input-con.text.h-35{height:35px}.form-input-con.text.h-35 .form-input .control{height:35px;padding:0 35px}.form-input-con.text.h-35 .form-input span.icon{height:35px;line-height:35px}.form-input-con.text.h-25 .form-input .control{height:25px;padding:0}.form-input-con.text.h-25 .form-input span.icon{height:25px;line-height:25px}.form-input-con.text.h-25 .form-input .control::-moz-placeholder,.form-input-con.text.h-25 .form-input .control::-webkit-input-placeholder{font-family:VazirLight;font-size:10px}.form-input-con.text.plaque-part-item .form-input .control{border:none!important}.form-input-con.text.plaque-part-1{float:left!important;padding:0!important;width:35px!important}.form-input-con.text.plaque-part-1.plaque-part-m{width:49px!important}.form-input-con.text.plaque-part-3{float:left!important;padding:0!important;width:49px!important}.form-input-con.text.plaque-part-3.plaque-part-m{width:69px!important}.form-input-con.text.plaque-part-4{float:left!important;margin-top:10px;padding:0!important;width:31px!important}.form-input-con.text.plaque-part-4 .form-input .control{height:25px!important}.form-input-con.text.plaque-part-4.plaque-part-m{display:none!important}.form-input-con.text.bank-card-part-item{float:left!important;padding:0!important;width:25%}.form-input-con.text.bank-card-part-item:not(.bank-card-part-4):after{content:\"\\f068\";font-family:Font Awesome\\ 5 Pro;font-size:6px;font-weight:900;height:20px;line-height:20px;position:absolute;right:-10px;text-align:center;top:calc(50% - 10px);width:20px}.form-input-con.text.bank-card-part-item .form-input .control{background-color:initial!important;border:unset!important;box-shadow:unset!important;font-size:13px!important;padding:0!important}"]
4919
+ styles: [".form-input-con.text{padding:0 15px;position:relative}.form-input-con.text .form-input{float:right;position:relative;width:100%}.form-input-con.text .form-input .label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.text.error .form-input .label{color:var(--red);font-size:10px}.form-input-con.text .form-input .label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.text .form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.text .form-input .control:focus,.form-input-con.text .form-input:hover .control{border:var(--border-input-dark);outline:none}.form-input-con.text.error .form-input .control{border:var(--border-input-red)}.form-input-con.text.error .form-input .control,.form-input-con.text.error .form-input span.icon{color:var(--red)}.form-input-con.text.error .form-input .control:focus,.form-input-con.text.error .form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.text .form-input span.icon{color:var(--primary);cursor:text;left:0}.form-input-con.text .form-input span.clear-icon,.form-input-con.text .form-input span.icon{bottom:0;font-size:14px;height:35px;line-height:38px;position:absolute;text-align:center;transition:all .35s ease-in-out;width:35px;z-index:2}.form-input-con.text .form-input span.clear-icon{color:var(--red);cursor:pointer;right:0}.form-input-con.text .form-input span.icon.button{background-color:var(--base);border-radius:var(--border-radius-base) 0 0 var(--border-radius-base);color:#fff;cursor:pointer}.form-input-con.text .form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.text .form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.text .form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.text .form-input span.icon.button.green{background-color:var(--green)}.form-input-con.text .form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.text .form-input span.icon.button.red{background-color:var(--red)}.form-input-con.text .form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.text .form-input span.icon.button.primary{background-color:var(--primary)}.form-input-con.text .form-input span.icon.button.primary:hover{background-color:var(--primary-dark)}.form-input-con.text.disabled .form-input .control,.form-input-con.text.disabled .form-input .label,.form-input-con.text.disabled .form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}.form-input-con.text .form-input .progress{background-color:var(--primary);border-radius:var(--border-radius-base);bottom:-3px;height:10px;line-height:10px;margin-right:0;position:absolute;right:0;transition:width .5s ease-in-out;width:100%}.form-input-con.text.without-icon .form-input .control{padding:5px 10px}.form-input-con.text.h-50 .form-input .control{height:50px}.form-input-con.text.h-50 .form-input span.icon{height:50px;line-height:50px}.form-input-con.text.h-45 .form-input .control{font-size:17px;height:45px}.form-input-con.text.h-45 .form-input .control::-moz-placeholder,.form-input-con.text.h-45 .form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.text.h-45 .form-input span.icon{font-size:15px;height:45px;line-height:50px}.form-input-con.text.h-30 .form-input .control{font-size:10px;height:30px;padding:0}.form-input-con.text.h-30 .form-input span.icon{font-size:11px;height:30px;line-height:33px;width:30px}.form-input-con.text.h-35{height:35px}.form-input-con.text.h-35 .form-input .control{height:35px;padding:0 35px}.form-input-con.text.h-35 .form-input span.icon{height:35px;line-height:35px}.form-input-con.text.h-25 .form-input .control{height:25px;padding:0}.form-input-con.text.h-25 .form-input span.icon{height:25px;line-height:25px}.form-input-con.text.h-25 .form-input .control::-moz-placeholder,.form-input-con.text.h-25 .form-input .control::-webkit-input-placeholder{font-family:VazirLight;font-size:10px}.form-input-con.text.plaque-part-item .form-input .control{border:none!important}.form-input-con.text.plaque-part-1{float:left!important;padding:0!important;width:35px!important}.form-input-con.text.plaque-part-1.plaque-part-m{width:49px!important}.form-input-con.text.plaque-part-3{float:left!important;padding:0!important;width:49px!important}.form-input-con.text.plaque-part-3.plaque-part-m{width:69px!important}.form-input-con.text.plaque-part-4{float:left!important;margin-top:10px;padding:0!important;width:31px!important}.form-input-con.text.plaque-part-4 .form-input .control{height:25px!important}.form-input-con.text.plaque-part-4.plaque-part-m{display:none!important}.form-input-con.text.bank-card-part-item{float:left!important;padding:0!important;width:25%}.form-input-con.text.bank-card-part-item:not(.bank-card-part-4):after{content:\"\\f068\";font-family:Font Awesome\\ 5 Pro;font-size:6px;font-weight:900;height:20px;line-height:20px;position:absolute;right:-10px;text-align:center;top:calc(50% - 10px);width:20px}.form-input-con.text.bank-card-part-item .form-input .control{background-color:initial!important;border:unset!important;box-shadow:unset!important;font-size:13px!important;padding:0!important}"]
4912
4920
  },] }
4913
4921
  ];
4914
4922
  FormTextboxComponent.propDecorators = {
@@ -5776,7 +5784,7 @@ class LoginComponent {
5776
5784
  }, 100);
5777
5785
  this.login.steps[0].show();
5778
5786
  };
5779
- const code = new InputClass(this.config.environment, this.login.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-10 h-45', null, true, 1111, 9999);
5787
+ const code = new InputClass(this.config.environment, this.login.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-20 h-45', null, true, 1111, 9999);
5780
5788
  const labelResend = new InputClass(this.config.environment, this.login.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code h-45');
5781
5789
  code.progress = new Progress(120);
5782
5790
  code.progress.onStart = () => {
@@ -5785,6 +5793,9 @@ class LoginComponent {
5785
5793
  code.progress.onEnd = () => {
5786
5794
  labelResend.value = 'ReSendCodeDes';
5787
5795
  };
5796
+ code.progress.onTick = (m, s) => {
5797
+ labelResend.value = this.login.l('ReSendCodeRemain', [m > 9 ? m : `0${m}`, s > 9 ? s : `0${s}`]);
5798
+ };
5788
5799
  labelResend.onClick = () => {
5789
5800
  labelResend.name = '(' + this.login.l('LoadingComp', 'Send') + ')';
5790
5801
  new RequestClass(this.config.environment).send(this.login.reSendCodeUrl, Method.Post, loginForm.data(), null, () => {
@@ -5860,7 +5871,7 @@ class LoginComponent {
5860
5871
  LoginComponent.decorators = [
5861
5872
  { type: Component, args: [{
5862
5873
  selector: 'lib-login',
5863
- 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 {{ login.l('SoftwareName') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ login.l('SoftwareDesc') }}\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\">{{ login.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",
5874
+ 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 {{ login.l('SoftwareName') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ login.l('SoftwareDesc') }}\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\">{{ login.l('SoftwareName') }}</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",
5864
5875
  styles: ["#LoginMain{background-color:#fff;border-radius:var(--border-radius-base);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 var(--border-radius-base) var(--border-radius-base) 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 var(--border-radius-base) var(--border-radius-base) 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-light);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;margin-bottom:20px;text-align:center;width:100%}::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:400px}#LoginSimple .form-c .title{color:var(--primary);float:right;font-family:VazirBold;font-size:25px;line-height:60px;text-align:center;width:100%}::ng-deep #LoginSimple .form-c .form .title{float:right;font-family:VazirBold;font-size:18px;height:40px;line-height:40px;margin-bottom:10px;width:100%}::ng-deep #LoginSimple .form-c .form .sub-title{color:var(--black-light);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;margin-bottom:20px;width:100%}::ng-deep #LoginSimple .form-c .form .sub-title:after{background-image:none!important}@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%}}"]
5865
5876
  },] }
5866
5877
  ];
@@ -5899,7 +5910,7 @@ NotificationComponent.decorators = [
5899
5910
  { type: Component, args: [{
5900
5911
  selector: 'lib-notification',
5901
5912
  template: "<div id=\"Notifications\">\r\n</div>\r\n",
5902
- styles: ["#Notifications{bottom:20px;position:fixed;right:0;width:350px;z-index:9999}::ng-deep #Notifications .con{float:right;padding:5px 20px;width:calc(100% - 40px)}::ng-deep #Notifications .item{background-color:var(--red);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);color:#fff;float:right;position:relative;text-align:center;width:100%}::ng-deep #Notifications .item.success{background-color:var(--green)}::ng-deep #Notifications .item i{cursor:pointer;float:right;height:30px;line-height:30px;width:30px}::ng-deep #Notifications .item i:hover{background-color:var(--red-dark)}::ng-deep #Notifications .item.success i:hover{background-color:var(--green-dark)}::ng-deep #Notifications .item div{float:right;font-size:12px;line-height:20px;padding:10px;width:calc(100% - 30px)}"]
5913
+ styles: ["#Notifications{bottom:20px;position:fixed;right:0;width:350px;z-index:9999}::ng-deep #Notifications .con{float:right;padding:5px 20px;width:calc(100% - 40px)}::ng-deep #Notifications .item{background-color:var(--red);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);color:#fff;float:right;overflow:hidden;position:relative;text-align:center;width:100%}::ng-deep #Notifications .item.success{background-color:var(--green)}::ng-deep #Notifications .item i{cursor:pointer;float:right;height:30px;line-height:30px;width:30px}::ng-deep #Notifications .item i:hover{background-color:var(--red-dark)}::ng-deep #Notifications .item.success i:hover{background-color:var(--green-dark)}::ng-deep #Notifications .item div{float:right;font-size:12px;line-height:20px;padding:10px;width:calc(100% - 30px)}"]
5903
5914
  },] }
5904
5915
  ];
5905
5916
  NotificationComponent.ctorParameters = () => [];