ps-toolkit-ui 1.3.28 → 1.3.31

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.
@@ -55,7 +55,7 @@ FormButtonComponent.decorators = [
55
55
  { type: Component, args: [{
56
56
  selector: 'lib-form-button',
57
57
  template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [className]=\"'form-input-con button w-100' + (inp.name == null ? ' only-icon' : (inp.icon == null ? ' without-icon' : '')) + (inp.disabled || inp.loading ? ' disabled' : '') + ' ' + inp.class\" [style]=\"inp.style\">\r\n <div *ngIf=\"inp.url == null || inp.disabled\" class=\"form-input\" (click)=\"!inp.disabled && onClick($event)\">\r\n <input #inputBase type=\"button\" [disabled]=\"inp.disabled || inp.loading\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"control\">\r\n <div *ngIf=\"inp.name != null\" class=\"text\" [innerHTML]=\"inp.loading ? (inp.loadingName ? inp.l('Loading', inp.loadingName) : inp.l('LoadingEmpty')) : inp.l(inp.name)\"></div>\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n </div>\r\n <a *ngIf=\"inp.url != null && !inp.disabled\" [target]=\"inp.urlNewTab ? '_blank' : ''\" [routerLink]=\"inp.url\" class=\"form-input\" (click)=\"onClick($event)\">\r\n <input #inputBase type=\"button\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"control\">\r\n <div *ngIf=\"inp.name != null\" class=\"text\" [innerHTML]=\"inp.loading ? (inp.loadingName ? inp.l('Loading', inp.loadingName) : inp.l('LoadingEmpty')) : inp.l(inp.name)\"></div>\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n </a>\r\n</div>\r\n",
58
- styles: [".form-input-con.button{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;padding:0 15px;position:relative}.form-input-con.button .form-input{cursor:pointer;float:right;position:relative;width:100%}.form-input-con.button .form-input .input-base{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.form-input-con.button .form-input .control{background-color:var(--base);background-image:none;border:none;border-radius:var(--border-radius-base);color:#fff;display:block;float:left;font-weight:300;height:35px;line-height:35px;padding:0 35px 0 20px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.button.disabled .form-input{-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.button .form-input i.icon{color:#fff;cursor:pointer;float:right;font-size:12px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;top:0;transition:all .35s ease-in-out;width:30px}.form-input-con.button:not(.disabled) .form-input .control:hover,.form-input-con.button:not(.disabled) .form-input .input-base:focus+.control{background-color:var(--base-dark)}.form-input-con.button.red .form-input .control{background-color:var(--red)}.form-input-con.button.red:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.red:not(.disabled) .form-input:hover .control{background-color:var(--red-dark)}.form-input-con.button.grey .form-input .control{background-color:var(--black-white);color:var(--black)}.form-input-con.button.grey .form-input i.icon{color:var(--black)}.form-input-con.button.grey:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.grey:not(.disabled) .form-input:hover .control{background-color:var(--black-light)}.form-input-con.button.blue .form-input .control{background-color:var(--blue)}.form-input-con.button.blue:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.blue:not(.disabled) .form-input:hover .control{background-color:var(--blue-dark)}.form-input-con.button.green .form-input .control{background-color:var(--green)}.form-input-con.button.green:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.green:not(.disabled) .form-input:hover .control{background-color:var(--green-dark)}.form-input-con.button.primary .form-input .control{background-color:var(--primary)}.form-input-con.button.primary:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.primary:not(.disabled) .form-input:hover .control{background-color:var(--primary-dark)}.form-input-con.button.yellow .form-input .control{background-color:var(--yellow)}.form-input-con.button.yellow:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.yellow:not(.disabled) .form-input:hover .control{background-color:var(--yellow-dark)}.form-input-con.button.white .form-input .control{background-color:var(--white);color:var(--black)}.form-input-con.button.white:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.white:not(.disabled) .form-input:hover .control{background-color:var(--white)}.form-input-con.button.white .form-input i.icon{color:var(--black)}.form-input-con.button.transparent .form-input .control{background-color:unset;border:1px solid var(--base);color:var(--base)}.form-input-con.button.transparent .form-input i.icon{color:var(--base)}.form-input-con.button.transparent:not(.disabled) .form-input .control:hover,.form-input-con.button.transparent:not(.disabled) .form-input .input-base:focus+.control{background-color:unset}.form-input-con.button.transparent.white .form-input .control{background-color:unset;border:1px solid var(--white);color:var(--white)}.form-input-con.button.transparent .form-input i.icon{color:var(--white)}.form-input-con.button.left-icon .form-input .control{float:right;padding:0 20px 0 35px}.form-input-con.button.left-icon .form-input i.icon{left:0;right:unset}.form-input-con.button.only-icon .form-input .control{min-width:35px;padding:0}.form-input-con.button.only-icon .form-input i.icon{width:100%}.form-input-con.button.only-icon .form-input .text{display:none}.form-input-con.button.h-45{font-size:13px;height:45px}.form-input-con.button.h-45 .form-input .control,.form-input-con.button.h-45 .form-input i.icon{height:45px;line-height:45px}.form-input-con.button.h-45 .form-input i.icon{font-size:17px;width:35px}.form-input-con.button.h-30{font-size:12px;height:30px}.form-input-con.button.h-30 .form-input .control,.form-input-con.button.h-30 .form-input i.icon{height:30px;line-height:30px}.form-input-con.button.h-30 .form-input i.icon{max-width:30px}.form-input-con.button.h-30.only-icon .form-input .control{min-width:30px;padding:0}.form-input-con.button.h-25{font-size:12px;height:25px}.form-input-con.button.h-25 .form-input .control,.form-input-con.button.h-25 .form-input i.icon{height:25px;line-height:25px}.form-input-con.button.h-25 .form-input i.icon{width:25px}.form-input-con.button.h-25.only-icon .form-input .control{min-width:25px;padding:0}.form-input-con.button.h-20{font-size:11px;height:20px}.form-input-con.button.h-20 .form-input .control,.form-input-con.button.h-20 .form-input i.icon{height:20px;line-height:20px}.form-input-con.button.h-20 .form-input i.icon{width:20px}.form-input-con.button.without-icon .form-input .control{min-width:25px;padding:0 8px;width:100%}::ng-deep .form-input-con.button.h-25 .form-input .dot-spinner>div{height:3px;margin-right:2px;width:3px}"]
58
+ styles: [".form-input-con.button{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;padding:0 15px;position:relative}.form-input-con.button .form-input{cursor:pointer;float:right;position:relative;width:100%}.form-input-con.button .form-input .input-base{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.form-input-con.button .form-input .control{background-color:var(--base);background-image:none;border:none;border-radius:var(--border-radius-base);color:#fff;display:block;float:left;font-weight:300;height:35px;line-height:35px;padding:0 35px 0 20px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.button.disabled .form-input{-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.button .form-input i.icon{color:#fff;cursor:pointer;float:right;font-size:12px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;top:0;transition:all .35s ease-in-out;width:30px}.form-input-con.button:not(.disabled) .form-input .control:hover,.form-input-con.button:not(.disabled) .form-input .input-base:focus+.control{background-color:var(--base-dark)}.form-input-con.button.red .form-input .control{background-color:var(--red)}.form-input-con.button.red:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.red:not(.disabled) .form-input:hover .control{background-color:var(--red-dark)}.form-input-con.button.grey .form-input .control{background-color:var(--black-white);color:var(--black)}.form-input-con.button.grey .form-input i.icon{color:var(--black)}.form-input-con.button.grey:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.grey:not(.disabled) .form-input:hover .control{background-color:var(--black-light)}.form-input-con.button.blue .form-input .control{background-color:var(--blue)}.form-input-con.button.blue:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.blue:not(.disabled) .form-input:hover .control{background-color:var(--blue-dark)}.form-input-con.button.green .form-input .control{background-color:var(--green)}.form-input-con.button.green:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.green:not(.disabled) .form-input:hover .control{background-color:var(--green-dark)}.form-input-con.button.primary .form-input .control{background-color:var(--primary)}.form-input-con.button.primary:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.primary:not(.disabled) .form-input:hover .control{background-color:var(--primary-dark)}.form-input-con.button.yellow .form-input .control{background-color:var(--yellow)}.form-input-con.button.yellow:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.yellow:not(.disabled) .form-input:hover .control{background-color:var(--yellow-dark)}.form-input-con.button.white .form-input .control{background-color:var(--white);color:var(--black)}.form-input-con.button.white:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.white:not(.disabled) .form-input:hover .control{background-color:var(--white)}.form-input-con.button.white .form-input i.icon{color:var(--black)}.form-input-con.button.transparent .form-input .control{background-color:unset;border:1px solid var(--base);color:var(--base);line-height:33px}.form-input-con.button.transparent .form-input i.icon{color:var(--base);line-height:33px}.form-input-con.button.transparent:not(.disabled) .form-input .control:hover,.form-input-con.button.transparent:not(.disabled) .form-input .input-base:focus+.control{background-color:unset}.form-input-con.button.transparent.white .form-input .control{background-color:unset;border:1px solid var(--white);color:var(--white)}.form-input-con.button.transparent .form-input i.icon{color:var(--white)}.form-input-con.button.left-icon .form-input .control{float:right;padding:0 20px 0 35px}.form-input-con.button.left-icon .form-input i.icon{left:0;right:unset}.form-input-con.button.only-icon .form-input .control{min-width:35px;padding:0}.form-input-con.button.only-icon .form-input i.icon{width:100%}.form-input-con.button.only-icon .form-input .text{display:none}.form-input-con.button.h-45{font-size:13px;height:45px}.form-input-con.button.h-45 .form-input .control,.form-input-con.button.h-45 .form-input i.icon{height:45px;line-height:45px}.form-input-con.button.h-45 .form-input i.icon{font-size:17px;width:35px}.form-input-con.button.h-30{font-size:12px;height:30px}.form-input-con.button.h-30 .form-input .control,.form-input-con.button.h-30 .form-input i.icon{height:30px;line-height:30px}.form-input-con.button.h-30 .form-input i.icon{max-width:30px}.form-input-con.button.h-30.only-icon .form-input .control{min-width:30px;padding:0}.form-input-con.button.h-25{font-size:12px;height:25px}.form-input-con.button.h-25 .form-input .control,.form-input-con.button.h-25 .form-input i.icon{height:25px;line-height:25px}.form-input-con.button.h-25 .form-input i.icon{width:25px}.form-input-con.button.h-25.only-icon .form-input .control{min-width:25px;padding:0}.form-input-con.button.h-20{font-size:11px;height:20px}.form-input-con.button.h-20 .form-input .control,.form-input-con.button.h-20 .form-input i.icon{height:20px;line-height:20px}.form-input-con.button.h-20 .form-input i.icon{width:20px}.form-input-con.button.without-icon .form-input .control{min-width:25px;padding:0 8px;width:100%}::ng-deep .form-input-con.button.h-25 .form-input .dot-spinner>div{height:3px;margin-right:2px;width:3px}"]
59
59
  },] }
60
60
  ];
61
61
  FormButtonComponent.ctorParameters = () => [];
@@ -11,12 +11,12 @@ export class LoginComponent {
11
11
  this.loginTemplate = 'Main';
12
12
  }
13
13
  ngOnInit() {
14
+ const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
14
15
  if (this.login.type === 'Sms') {
15
16
  const sendCodeForm = new FormClass(this.config.environment, this.login.l, 'SendCode', true, this.login.sendCodeUrl);
16
17
  const sendCode = new InputClass(this.config.environment, this.login.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45' + (this.loginTemplate === 'Simple' ? ' primary' : ''));
17
18
  sendCodeForm.subName = 'SendCodeSubTitle';
18
19
  this.mobile = new InputClass(this.config.environment, this.login.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
19
- const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
20
20
  sendCodeForm.onSuccess = () => {
21
21
  loginForm.subName = this.login.l('LoginSmsSubTitle', this.mobile.data());
22
22
  this.mobile.type = InputType.Hidden;
@@ -126,7 +126,7 @@ export class LoginComponent {
126
126
  this.username,
127
127
  password,
128
128
  login
129
- ];
129
+ ].concat(this.login.rules != null ? [rules] : []);
130
130
  login.onClick = () => {
131
131
  loginForm.submit();
132
132
  };
@@ -155,4 +155,4 @@ LoginComponent.propDecorators = {
155
155
  login: [{ type: Input }],
156
156
  loginTemplate: [{ type: Input }]
157
157
  };
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFDO1lBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwSCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFB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bUIsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1SixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQztZQUMzRCxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDO1lBQ3RELFNBQVMsQ0FBQyxNQUFNLEdBQUc7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRO2dCQUNiLFFBQVE7Z0JBQ1IsS0FBSzthQUNOLENBQUM7WUFDRixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7OztZQWhKRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLG0zQ0FBcUM7O2FBRXhDOzs7WUFOTyx3QkFBd0I7OztvQkFRN0IsS0FBSzs0QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtMb2dpbkNsYXNzLCBMb2dpblN0ZXBDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sb2dpbi5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzLCBQcm9ncmVzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGUsIE1ldGhvZH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbG9naW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBsb2dpbjogTG9naW5DbGFzcztcclxuICBASW5wdXQoKVxyXG4gIGxvZ2luVGVtcGxhdGUgPSAnTWFpbic7XHJcbiAgbW9iaWxlOiBJbnB1dENsYXNzO1xyXG4gIHVzZXJuYW1lOiBJbnB1dENsYXNzO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Ntcycpe1xyXG4gICAgICBjb25zdCBzZW5kQ29kZUZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsIHRydWUsIHRoaXMubG9naW4uc2VuZENvZGVVcmwpO1xyXG4gICAgICBjb25zdCBzZW5kQ29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsICdmYS1kdW90b25lIGZhLXBhcGVyLXBsYW5lJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMjAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIGNvbnN0IHJ1bGVzID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1J1bGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnbS10LTEwJywgdGhpcy5sb2dpbi5ydWxlcyk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm1vYmlsZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgc2VuZENvZGVGb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBzZW5kQ29kZVxyXG4gICAgICBdLmNvbmNhdCh0aGlzLmxvZ2luLnJ1bGVzICE9IG51bGwgPyBbcnVsZXNdIDogW10pO1xyXG4gICAgICBzZW5kQ29kZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHNlbmRDb2RlRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5TbXMnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCAnJyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAyICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzJdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMl0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBsb2dpbkZvcm0ub25GYWlsZWQgPSAobXNnKSA9PiB7XHJcbiAgICAgICAgY29kZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmVycm9yID0gSW5wdXRFcnJvci5Ob3RFeGlzdDtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLk1vYmlsZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzBdLnNob3coKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdDb2RlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11bmxvY2stYWx0JywgSW5wdXRUeXBlLk51bWJlciwgJ20tYi0yMCBoLTQ1JywgbnVsbCwgdHJ1ZSwgMTExMSwgOTk5OSk7XHJcbiAgICAgIGNvbnN0IGxhYmVsUmVzZW5kID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1JlU2VuZENvZGVEZXMnLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsICdjb21wIHJlc2VuZC1jb2RlIGgtNDUnKTtcclxuICAgICAgY29kZS5wcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygxMjApO1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uU3RhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uVGljayA9IChtLCBzKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSB0aGlzLmxvZ2luLmwoJ1JlU2VuZENvZGVSZW1haW4nLCBbbSA+IDkgPyBtIDogYDAke219YCwgcyA+IDkgPyBzIDogYDAke3N9YF0pO1xyXG4gICAgICB9O1xyXG4gICAgICBsYWJlbFJlc2VuZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChsYWJlbFJlc2VuZC52YWx1ZSAhPT0gJ1JlU2VuZENvZGVEZXMnKXtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnKCcgKyB0aGlzLmxvZ2luLmwoJ0xvYWRpbmcnLCAnU2VuZCcpICsgJyknO1xyXG4gICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQpLnNlbmQodGhpcy5sb2dpbi5zZW5kQ29kZVVybCwgTWV0aG9kLlBvc3QsIGxvZ2luRm9ybS5kYXRhKCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbih0aGlzLmxvZ2luLmwoZXJyb3IpKTtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblNtcycsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIGxhYmVsUmVzZW5kLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAxO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBzZW5kQ29kZVN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3Moc2VuZENvZGVGb3JtKTtcclxuICAgICAgc2VuZENvZGVTdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KHNlbmRDb2RlU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Bhc3N3b3JkJyl7XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luUGFzc3dvcmQnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSAnTG9naW5QYXNzd29yZFN1YlRpdGxlJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5QYXNzd29yZCcsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDEgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMV0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1sxXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudXNlcm5hbWUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnVXNlcm5hbWUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVzZXInLCBJbnB1dFR5cGUuVGV4dCwgJ20tYi0xMCBoLTQ1JywgJycsIHRydWUsIDQsIDUwKTtcclxuXHJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1Bhc3N3b3JkJywgJ2ZhLWR1b3RvbmUgZmEta2V5JywgSW5wdXRUeXBlLlBhc3N3b3JkLCAnbS1iLTIwIGgtNDUnLCAnJywgdHJ1ZSwgNSwgNTApO1xyXG4gICAgICB0aGlzLnVzZXJuYW1lLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBwYXNzd29yZC5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBQztZQUM1QixNQUFNLFlBQVksR0FB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5DbGFzcywgTG9naW5TdGVwQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbG9naW4uY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzcywgUHJvZ3Jlc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBNZXRob2R9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgbG9naW46IExvZ2luQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBsb2dpblRlbXBsYXRlID0gJ01haW4nO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJ1bGVzID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1J1bGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnbS10LTEwJywgdGhpcy5sb2dpbi5ydWxlcyk7XHJcbiAgICBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnU21zJyl7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1NlbmRDb2RlJywgdHJ1ZSwgdGhpcy5sb2dpbi5zZW5kQ29kZVVybCk7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1NlbmRDb2RlJywgJ2ZhLWR1b3RvbmUgZmEtcGFwZXItcGxhbmUnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBzZW5kQ29kZUZvcm0uc3ViTmFtZSA9ICdTZW5kQ29kZVN1YlRpdGxlJztcclxuICAgICAgdGhpcy5tb2JpbGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTW9iaWxlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS1tb2JpbGUtYWx0JywgSW5wdXRUeXBlLk1vYmlsZSwgJ20tYi0yMCBoLTQ1JywgJycsIHRydWUsIDQsIDUwKTtcclxuICAgICAgc2VuZENvZGVGb3JtLm9uU3VjY2VzcyA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9IHRoaXMubG9naW4ubCgnTG9naW5TbXNTdWJUaXRsZScsIHRoaXMubW9iaWxlLmRhdGEoKSk7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUudHlwZSA9IElucHV0VHlwZS5IaWRkZW47XHJcbiAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIHRoaXMubG9naW4uc3RlcHNbMV0uc2hvdygpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgY29kZS5mb2N1cygpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubW9iaWxlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBzZW5kQ29kZUZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMubW9iaWxlLFxyXG4gICAgICAgIHNlbmRDb2RlXHJcbiAgICAgIF0uY29uY2F0KHRoaXMubG9naW4ucnVsZXMgIT0gbnVsbCA/IFtydWxlc10gOiBbXSk7XHJcbiAgICAgIHNlbmRDb2RlLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgc2VuZENvZGVGb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblNtcycsIHRydWUsIHRoaXMubG9naW4ubG9naW5VcmwpO1xyXG4gICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9IHRoaXMubG9naW4ubCgnTG9naW5TbXNTdWJUaXRsZScsICcnKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDIgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMl0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1syXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGxvZ2luRm9ybS5vbkZhaWxlZCA9IChtc2cpID0+IHtcclxuICAgICAgICBjb2RlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUuZXJyb3IgPSBJbnB1dEVycm9yLk5vdEV4aXN0O1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuTW9iaWxlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb2JpbGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIHRoaXMubG9naW4uc3RlcHNbMF0uc2hvdygpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBjb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0NvZGUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVubG9jay1hbHQnLCBJbnB1dFR5cGUuTnVtYmVyLCAnbS1iLTIwIGgtNDUnLCBudWxsLCB0cnVlLCAxMTExLCA5OTk5KTtcclxuICAgICAgY29uc3QgbGFiZWxSZXNlbmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnUmVTZW5kQ29kZURlcycsIG51bGwsIElucHV0VHlwZS5MYWJlbCwgJ2NvbXAgcmVzZW5kLWNvZGUgaC00NScpO1xyXG4gICAgICBjb2RlLnByb2dyZXNzID0gbmV3IFByb2dyZXNzKDEyMCk7XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25TdGFydCA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25FbmQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25UaWNrID0gKG0sIHMpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9IHRoaXMubG9naW4ubCgnUmVTZW5kQ29kZVJlbWFpbicsIFttID4gOSA/IG0gOiBgMCR7bX1gLCBzID4gOSA/IHMgOiBgMCR7c31gXSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGxhYmVsUmVzZW5kLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGxhYmVsUmVzZW5kLnZhbHVlICE9PSAnUmVTZW5kQ29kZURlcycpe1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9ICcoJyArIHRoaXMubG9naW4ubCgnTG9hZGluZycsICdTZW5kJykgKyAnKSc7XHJcbiAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCkuc2VuZCh0aGlzLmxvZ2luLnNlbmRDb2RlVXJsLCBNZXRob2QuUG9zdCwgbG9naW5Gb3JtLmRhdGEoKSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKHRoaXMubG9naW4ubChlcnJvcikpO1xyXG4gICAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luU21zJywgJ2ZhLWR1b3RvbmUgZmEtc2lnbi1pbi1hbHQnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBsb2dpbkZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMubW9iaWxlLFxyXG4gICAgICAgIGNvZGUsXHJcbiAgICAgICAgbGFiZWxSZXNlbmQsXHJcbiAgICAgICAgbG9naW5cclxuICAgICAgXTtcclxuICAgICAgbG9naW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhsb2dpbkZvcm0pO1xyXG4gICAgICBsb2dpblN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDE7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhzZW5kQ29kZUZvcm0pO1xyXG4gICAgICBzZW5kQ29kZVN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDA7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChsb2dpblN0ZXApO1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQoc2VuZENvZGVTdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnUGFzc3dvcmQnKXtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5QYXNzd29yZCcsIHRydWUsIHRoaXMubG9naW4ubG9naW5VcmwpO1xyXG4gICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9ICdMb2dpblBhc3N3b3JkU3ViVGl0bGUnO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblBhc3N3b3JkJywgJ2ZhLWR1b3RvbmUgZmEtc2lnbi1pbi1hbHQnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMSAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzFdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgdGhpcy51c2VybmFtZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdVc2VybmFtZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdXNlcicsIElucHV0VHlwZS5UZXh0LCAnbS1iLTEwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG5cclxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1rZXknLCBJbnB1dFR5cGUuUGFzc3dvcmQsICdtLWItMjAgaC00NScsICcnLCB0cnVlLCA1LCA1MCk7XHJcbiAgICAgIHRoaXMudXNlcm5hbWUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIHBhc3N3b3JkLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBsb2dpbkZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWUsXHJcbiAgICAgICAgcGFzc3dvcmQsXHJcbiAgICAgICAgbG9naW5cclxuICAgICAgXS5jb25jYXQodGhpcy5sb2dpbi5ydWxlcyAhPSBudWxsID8gW3J1bGVzXSA6IFtdKTtcclxuICAgICAgbG9naW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhsb2dpbkZvcm0pO1xyXG4gICAgICBsb2dpblN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDA7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChsb2dpblN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2843,7 +2843,7 @@ FormButtonComponent.decorators = [
2843
2843
  { type: Component, args: [{
2844
2844
  selector: 'lib-form-button',
2845
2845
  template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [className]=\"'form-input-con button w-100' + (inp.name == null ? ' only-icon' : (inp.icon == null ? ' without-icon' : '')) + (inp.disabled || inp.loading ? ' disabled' : '') + ' ' + inp.class\" [style]=\"inp.style\">\r\n <div *ngIf=\"inp.url == null || inp.disabled\" class=\"form-input\" (click)=\"!inp.disabled && onClick($event)\">\r\n <input #inputBase type=\"button\" [disabled]=\"inp.disabled || inp.loading\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"control\">\r\n <div *ngIf=\"inp.name != null\" class=\"text\" [innerHTML]=\"inp.loading ? (inp.loadingName ? inp.l('Loading', inp.loadingName) : inp.l('LoadingEmpty')) : inp.l(inp.name)\"></div>\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n </div>\r\n <a *ngIf=\"inp.url != null && !inp.disabled\" [target]=\"inp.urlNewTab ? '_blank' : ''\" [routerLink]=\"inp.url\" class=\"form-input\" (click)=\"onClick($event)\">\r\n <input #inputBase type=\"button\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"control\">\r\n <div *ngIf=\"inp.name != null\" class=\"text\" [innerHTML]=\"inp.loading ? (inp.loadingName ? inp.l('Loading', inp.loadingName) : inp.l('LoadingEmpty')) : inp.l(inp.name)\"></div>\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n </a>\r\n</div>\r\n",
2846
- styles: [".form-input-con.button{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;padding:0 15px;position:relative}.form-input-con.button .form-input{cursor:pointer;float:right;position:relative;width:100%}.form-input-con.button .form-input .input-base{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.form-input-con.button .form-input .control{background-color:var(--base);background-image:none;border:none;border-radius:var(--border-radius-base);color:#fff;display:block;float:left;font-weight:300;height:35px;line-height:35px;padding:0 35px 0 20px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.button.disabled .form-input{-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.button .form-input i.icon{color:#fff;cursor:pointer;float:right;font-size:12px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;top:0;transition:all .35s ease-in-out;width:30px}.form-input-con.button:not(.disabled) .form-input .control:hover,.form-input-con.button:not(.disabled) .form-input .input-base:focus+.control{background-color:var(--base-dark)}.form-input-con.button.red .form-input .control{background-color:var(--red)}.form-input-con.button.red:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.red:not(.disabled) .form-input:hover .control{background-color:var(--red-dark)}.form-input-con.button.grey .form-input .control{background-color:var(--black-white);color:var(--black)}.form-input-con.button.grey .form-input i.icon{color:var(--black)}.form-input-con.button.grey:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.grey:not(.disabled) .form-input:hover .control{background-color:var(--black-light)}.form-input-con.button.blue .form-input .control{background-color:var(--blue)}.form-input-con.button.blue:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.blue:not(.disabled) .form-input:hover .control{background-color:var(--blue-dark)}.form-input-con.button.green .form-input .control{background-color:var(--green)}.form-input-con.button.green:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.green:not(.disabled) .form-input:hover .control{background-color:var(--green-dark)}.form-input-con.button.primary .form-input .control{background-color:var(--primary)}.form-input-con.button.primary:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.primary:not(.disabled) .form-input:hover .control{background-color:var(--primary-dark)}.form-input-con.button.yellow .form-input .control{background-color:var(--yellow)}.form-input-con.button.yellow:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.yellow:not(.disabled) .form-input:hover .control{background-color:var(--yellow-dark)}.form-input-con.button.white .form-input .control{background-color:var(--white);color:var(--black)}.form-input-con.button.white:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.white:not(.disabled) .form-input:hover .control{background-color:var(--white)}.form-input-con.button.white .form-input i.icon{color:var(--black)}.form-input-con.button.transparent .form-input .control{background-color:unset;border:1px solid var(--base);color:var(--base)}.form-input-con.button.transparent .form-input i.icon{color:var(--base)}.form-input-con.button.transparent:not(.disabled) .form-input .control:hover,.form-input-con.button.transparent:not(.disabled) .form-input .input-base:focus+.control{background-color:unset}.form-input-con.button.transparent.white .form-input .control{background-color:unset;border:1px solid var(--white);color:var(--white)}.form-input-con.button.transparent .form-input i.icon{color:var(--white)}.form-input-con.button.left-icon .form-input .control{float:right;padding:0 20px 0 35px}.form-input-con.button.left-icon .form-input i.icon{left:0;right:unset}.form-input-con.button.only-icon .form-input .control{min-width:35px;padding:0}.form-input-con.button.only-icon .form-input i.icon{width:100%}.form-input-con.button.only-icon .form-input .text{display:none}.form-input-con.button.h-45{font-size:13px;height:45px}.form-input-con.button.h-45 .form-input .control,.form-input-con.button.h-45 .form-input i.icon{height:45px;line-height:45px}.form-input-con.button.h-45 .form-input i.icon{font-size:17px;width:35px}.form-input-con.button.h-30{font-size:12px;height:30px}.form-input-con.button.h-30 .form-input .control,.form-input-con.button.h-30 .form-input i.icon{height:30px;line-height:30px}.form-input-con.button.h-30 .form-input i.icon{max-width:30px}.form-input-con.button.h-30.only-icon .form-input .control{min-width:30px;padding:0}.form-input-con.button.h-25{font-size:12px;height:25px}.form-input-con.button.h-25 .form-input .control,.form-input-con.button.h-25 .form-input i.icon{height:25px;line-height:25px}.form-input-con.button.h-25 .form-input i.icon{width:25px}.form-input-con.button.h-25.only-icon .form-input .control{min-width:25px;padding:0}.form-input-con.button.h-20{font-size:11px;height:20px}.form-input-con.button.h-20 .form-input .control,.form-input-con.button.h-20 .form-input i.icon{height:20px;line-height:20px}.form-input-con.button.h-20 .form-input i.icon{width:20px}.form-input-con.button.without-icon .form-input .control{min-width:25px;padding:0 8px;width:100%}::ng-deep .form-input-con.button.h-25 .form-input .dot-spinner>div{height:3px;margin-right:2px;width:3px}"]
2846
+ styles: [".form-input-con.button{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;padding:0 15px;position:relative}.form-input-con.button .form-input{cursor:pointer;float:right;position:relative;width:100%}.form-input-con.button .form-input .input-base{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.form-input-con.button .form-input .control{background-color:var(--base);background-image:none;border:none;border-radius:var(--border-radius-base);color:#fff;display:block;float:left;font-weight:300;height:35px;line-height:35px;padding:0 35px 0 20px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.button.disabled .form-input{-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.button .form-input i.icon{color:#fff;cursor:pointer;float:right;font-size:12px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;top:0;transition:all .35s ease-in-out;width:30px}.form-input-con.button:not(.disabled) .form-input .control:hover,.form-input-con.button:not(.disabled) .form-input .input-base:focus+.control{background-color:var(--base-dark)}.form-input-con.button.red .form-input .control{background-color:var(--red)}.form-input-con.button.red:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.red:not(.disabled) .form-input:hover .control{background-color:var(--red-dark)}.form-input-con.button.grey .form-input .control{background-color:var(--black-white);color:var(--black)}.form-input-con.button.grey .form-input i.icon{color:var(--black)}.form-input-con.button.grey:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.grey:not(.disabled) .form-input:hover .control{background-color:var(--black-light)}.form-input-con.button.blue .form-input .control{background-color:var(--blue)}.form-input-con.button.blue:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.blue:not(.disabled) .form-input:hover .control{background-color:var(--blue-dark)}.form-input-con.button.green .form-input .control{background-color:var(--green)}.form-input-con.button.green:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.green:not(.disabled) .form-input:hover .control{background-color:var(--green-dark)}.form-input-con.button.primary .form-input .control{background-color:var(--primary)}.form-input-con.button.primary:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.primary:not(.disabled) .form-input:hover .control{background-color:var(--primary-dark)}.form-input-con.button.yellow .form-input .control{background-color:var(--yellow)}.form-input-con.button.yellow:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.yellow:not(.disabled) .form-input:hover .control{background-color:var(--yellow-dark)}.form-input-con.button.white .form-input .control{background-color:var(--white);color:var(--black)}.form-input-con.button.white:not(.disabled) .form-input .input-base:focus+.control,.form-input-con.button.white:not(.disabled) .form-input:hover .control{background-color:var(--white)}.form-input-con.button.white .form-input i.icon{color:var(--black)}.form-input-con.button.transparent .form-input .control{background-color:unset;border:1px solid var(--base);color:var(--base);line-height:33px}.form-input-con.button.transparent .form-input i.icon{color:var(--base);line-height:33px}.form-input-con.button.transparent:not(.disabled) .form-input .control:hover,.form-input-con.button.transparent:not(.disabled) .form-input .input-base:focus+.control{background-color:unset}.form-input-con.button.transparent.white .form-input .control{background-color:unset;border:1px solid var(--white);color:var(--white)}.form-input-con.button.transparent .form-input i.icon{color:var(--white)}.form-input-con.button.left-icon .form-input .control{float:right;padding:0 20px 0 35px}.form-input-con.button.left-icon .form-input i.icon{left:0;right:unset}.form-input-con.button.only-icon .form-input .control{min-width:35px;padding:0}.form-input-con.button.only-icon .form-input i.icon{width:100%}.form-input-con.button.only-icon .form-input .text{display:none}.form-input-con.button.h-45{font-size:13px;height:45px}.form-input-con.button.h-45 .form-input .control,.form-input-con.button.h-45 .form-input i.icon{height:45px;line-height:45px}.form-input-con.button.h-45 .form-input i.icon{font-size:17px;width:35px}.form-input-con.button.h-30{font-size:12px;height:30px}.form-input-con.button.h-30 .form-input .control,.form-input-con.button.h-30 .form-input i.icon{height:30px;line-height:30px}.form-input-con.button.h-30 .form-input i.icon{max-width:30px}.form-input-con.button.h-30.only-icon .form-input .control{min-width:30px;padding:0}.form-input-con.button.h-25{font-size:12px;height:25px}.form-input-con.button.h-25 .form-input .control,.form-input-con.button.h-25 .form-input i.icon{height:25px;line-height:25px}.form-input-con.button.h-25 .form-input i.icon{width:25px}.form-input-con.button.h-25.only-icon .form-input .control{min-width:25px;padding:0}.form-input-con.button.h-20{font-size:11px;height:20px}.form-input-con.button.h-20 .form-input .control,.form-input-con.button.h-20 .form-input i.icon{height:20px;line-height:20px}.form-input-con.button.h-20 .form-input i.icon{width:20px}.form-input-con.button.without-icon .form-input .control{min-width:25px;padding:0 8px;width:100%}::ng-deep .form-input-con.button.h-25 .form-input .dot-spinner>div{height:3px;margin-right:2px;width:3px}"]
2847
2847
  },] }
2848
2848
  ];
2849
2849
  FormButtonComponent.ctorParameters = () => [];
@@ -5768,12 +5768,12 @@ class LoginComponent {
5768
5768
  this.loginTemplate = 'Main';
5769
5769
  }
5770
5770
  ngOnInit() {
5771
+ const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
5771
5772
  if (this.login.type === 'Sms') {
5772
5773
  const sendCodeForm = new FormClass(this.config.environment, this.login.l, 'SendCode', true, this.login.sendCodeUrl);
5773
5774
  const sendCode = new InputClass(this.config.environment, this.login.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45' + (this.loginTemplate === 'Simple' ? ' primary' : ''));
5774
5775
  sendCodeForm.subName = 'SendCodeSubTitle';
5775
5776
  this.mobile = new InputClass(this.config.environment, this.login.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
5776
- const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
5777
5777
  sendCodeForm.onSuccess = () => {
5778
5778
  loginForm.subName = this.login.l('LoginSmsSubTitle', this.mobile.data());
5779
5779
  this.mobile.type = InputType.Hidden;
@@ -5883,7 +5883,7 @@ class LoginComponent {
5883
5883
  this.username,
5884
5884
  password,
5885
5885
  login
5886
- ];
5886
+ ].concat(this.login.rules != null ? [rules] : []);
5887
5887
  login.onClick = () => {
5888
5888
  loginForm.submit();
5889
5889
  };