@amc-technology/ui-library 1.0.33 → 1.0.36

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.
@@ -37,9 +37,9 @@ __decorate([
37
37
  LoginComponent = __decorate([
38
38
  Component({
39
39
  selector: 'amc-login',
40
- template: "<div class=\"login-container\">\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\n <div class=\"header-container\">\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\n </div>\n <div class=\"fields-container\">\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\n <label class=\"field-label\">\n {{ field.name }}:\n </label>\n\n <input\n ngModel\n class=\"field-input\"\n attr.aria-label=\"{{ field.name }}\"\n [name]=\"field.name\"\n [type]=\"field.type\"\n [value]=\"field.value\"\n [placeholder]=\"field.placeholder || ''\"\n [required]=\"field.isRequired || false\"\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\n\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\n </div>\n\n <button\n type=\"submit\"\n class=\"form-submit\"\n form=\"login-form\"\n tabindex=\"0\"\n attr.aria-label=\"send\"\n [disabled]=\"!loginForm.valid\">Login</button>\n </div>\n\n </form>\n</div>\n",
41
- styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:200px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;max-height:160px;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
40
+ template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n",
41
+ styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
42
42
  })
43
43
  ], LoginComponent);
44
44
  export { LoginComponent };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvRSxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBSXpCO1FBRlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVoRCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1NBQ2pDO1FBRUQsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDekI7U0FDRjtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsU0FBaUI7UUFDdkIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQixFQUFFLEtBQUs7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN6QyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUVELDBCQUEwQjtRQUMxQixzQkFBc0I7SUFDeEIsQ0FBQztDQUNGLENBQUE7QUFqQ1U7SUFBUixLQUFLLEVBQUU7aURBQXVCO0FBQ3JCO0lBQVQsTUFBTSxFQUFFOzREQUF1RDtBQUZyRCxjQUFjO0lBTDFCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLHVzQ0FBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBa0MxQjtTQWxDWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxvZ2luRGF0YSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL2xvZ2luLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtYy1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxvZ2luRGF0YTogSUxvZ2luRGF0YTtcbiAgQE91dHB1dCgpIGxvZ2luRGV0YWlsc1Byb3ZpZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9naW5EYXRhPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxvZ2luRGF0YS5oZWFkZXIpIHtcbiAgICAgIHRoaXMubG9naW5EYXRhLmhlYWRlciA9ICdMb2dpbic7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgZmllbGQgb2YgdGhpcy5sb2dpbkRhdGEuZmllbGRzKSB7XG4gICAgICBpZiAoIWZpZWxkLmlzSW52YWxpZCkge1xuICAgICAgICBmaWVsZC5pc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkxvZ2luKGxvZ2luRm9ybTogTmdGb3JtKSB7XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLmxvZ2luRGF0YS5maWVsZHMpIHtcbiAgICAgIGZpZWxkLnZhbHVlID0gbG9naW5Gb3JtLnZhbHVlW2ZpZWxkLm5hbWVdO1xuICAgIH1cblxuICAgIHRoaXMubG9naW5EZXRhaWxzUHJvdmlkZWQuZW1pdCh0aGlzLmxvZ2luRGF0YSk7XG4gIH1cblxuICBmb2N1c091dE9mSW5wdXQobG9naW5Gb3JtOiBOZ0Zvcm0sIGZpZWxkKSB7XG4gICAgaWYgKCFsb2dpbkZvcm0uY29udHJvbHNbZmllbGQubmFtZV0udmFsaWQpIHtcbiAgICAgIGZpZWxkLmlzSW52YWxpZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gY29uc29sZS5sb2cobG9naW5Gb3JtKTtcbiAgICAvLyBjb25zb2xlLmxvZyhmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvRSxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBSXpCO1FBRlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVoRCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1NBQ2pDO1FBRUQsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDekI7U0FDRjtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsU0FBaUI7UUFDdkIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQixFQUFFLEtBQUs7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN6QyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUVELDBCQUEwQjtRQUMxQixzQkFBc0I7SUFDeEIsQ0FBQztDQUNGLENBQUE7QUFqQ1U7SUFBUixLQUFLLEVBQUU7aURBQXVCO0FBQ3JCO0lBQVQsTUFBTSxFQUFFOzREQUF1RDtBQUZyRCxjQUFjO0lBTDFCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLCt3Q0FBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBa0MxQjtTQWxDWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxvZ2luRGF0YSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL2xvZ2luLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbG9naW5EYXRhOiBJTG9naW5EYXRhO1xyXG4gIEBPdXRwdXQoKSBsb2dpbkRldGFpbHNQcm92aWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvZ2luRGF0YT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMubG9naW5EYXRhLmhlYWRlcikge1xyXG4gICAgICB0aGlzLmxvZ2luRGF0YS5oZWFkZXIgPSAnTG9naW4nO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGZpZWxkIG9mIHRoaXMubG9naW5EYXRhLmZpZWxkcykge1xyXG4gICAgICBpZiAoIWZpZWxkLmlzSW52YWxpZCkge1xyXG4gICAgICAgIGZpZWxkLmlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxvZ2luKGxvZ2luRm9ybTogTmdGb3JtKSB7XHJcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMubG9naW5EYXRhLmZpZWxkcykge1xyXG4gICAgICBmaWVsZC52YWx1ZSA9IGxvZ2luRm9ybS52YWx1ZVtmaWVsZC5uYW1lXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ2luRGV0YWlsc1Byb3ZpZGVkLmVtaXQodGhpcy5sb2dpbkRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPdXRPZklucHV0KGxvZ2luRm9ybTogTmdGb3JtLCBmaWVsZCkge1xyXG4gICAgaWYgKCFsb2dpbkZvcm0uY29udHJvbHNbZmllbGQubmFtZV0udmFsaWQpIHtcclxuICAgICAgZmllbGQuaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyhsb2dpbkZvcm0pO1xyXG4gICAgLy8gY29uc29sZS5sb2coZmllbGQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -37,7 +37,7 @@ let UILibraryModule = class UILibraryModule {
37
37
  }
38
38
  if (!customElements.get('amc-webcomponents-login')) {
39
39
  const strategyFactory = new ElementZoneStrategyFactory(LoginComponent, this.injector);
40
- customElements.define('amc-webcomponents-disposition', createCustomElement(LoginComponent, {
40
+ customElements.define('amc-webcomponents-login', createCustomElement(LoginComponent, {
41
41
  injector: this.injector,
42
42
  strategyFactory: strategyFactory
43
43
  }));
@@ -70,4 +70,4 @@ UILibraryModule = __decorate([
70
70
  ], UILibraryModule);
71
71
  export { UILibraryModule };
72
72
  export * from './models/uilibrary.model';
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvdWlsaWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUJwRSxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBQzFCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRTNDLGFBQWEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsRUFBRTtZQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLDBCQUEwQixDQUNwRCxpQkFBaUIsRUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1lBQ0YsY0FBYyxDQUFDLE1BQU0sQ0FDbkIsNEJBQTRCLEVBQzVCLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksMEJBQTBCLENBQ3BELG9CQUFvQixFQUNwQixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7WUFDRixjQUFjLENBQUMsTUFBTSxDQUNuQiwrQkFBK0IsRUFDL0IsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsZUFBZSxFQUFFLGVBQWU7YUFDakMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFDbEQsTUFBTSxlQUFlLEdBQUcsSUFBSSwwQkFBMEIsQ0FDcEQsY0FBYyxFQUNkLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLGNBQWMsQ0FBQyxNQUFNLENBQ25CLCtCQUErQixFQUMvQixtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7Z0JBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsZUFBZSxFQUFFLGVBQWU7YUFDakMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRixDQUFBOztZQTNDK0IsUUFBUTs7QUFEM0IsZUFBZTtJQW5CM0IsUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDbkQsWUFBWSxFQUFFO1lBQ1osb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGNBQWM7U0FDZjtRQUNELGVBQWUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztRQUMxRSxTQUFTLEVBQUUsRUFBRTtRQUNiLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztLQUNuRSxDQUFDO0dBQ1csZUFBZSxDQTRDM0I7U0E1Q1ksZUFBZTtBQThDNUIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY2VuYXJpb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zY2VuYXJpby9zY2VuYXJpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcGVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3BlcmF0aW9uL29wZXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb2xkdGltZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaG9sZHRpbWVyL2hvbGR0aW1lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEdXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kdXJhdGlvbi9kdXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQtYm94L2NoYXQtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkgfSBmcm9tICdlbGVtZW50cy16b25lLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgRGlzcG9zaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlzcG9zaXRpb24vZGlzcG9zaXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZpdHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHkvYWN0aXZpdHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW50ZXJhY3Rpb25Db21wb25lbnQsXHJcbiAgICBTY2VuYXJpb0NvbXBvbmVudCxcclxuICAgIE9wZXJhdGlvbkNvbXBvbmVudCxcclxuICAgIFByb3BlcnR5Q29tcG9uZW50LFxyXG4gICAgSG9sZHRpbWVyQ29tcG9uZW50LFxyXG4gICAgRHVyYXRpb25Db21wb25lbnQsXHJcbiAgICBDaGF0Qm94Q29tcG9uZW50LFxyXG4gICAgQ2hhdE1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBEaXNwb3NpdGlvbkNvbXBvbmVudCxcclxuICAgIEFjdGl2aXR5Q29tcG9uZW50LFxyXG4gICAgTG9naW5Db21wb25lbnRcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1NjZW5hcmlvQ29tcG9uZW50LCBEaXNwb3NpdGlvbkNvbXBvbmVudCwgTG9naW5Db21wb25lbnRdLFxyXG4gIGJvb3RzdHJhcDogW10sXHJcbiAgZXhwb3J0czogW1NjZW5hcmlvQ29tcG9uZW50LCBEaXNwb3NpdGlvbkNvbXBvbmVudCwgTG9naW5Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVSUxpYnJhcnlNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cclxuXHJcbiAgbmdEb0Jvb3RzdHJhcChhcHApIHtcclxuICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KCdhbWMtd2ViY29tcG9uZW50cy1zY2VuYXJpbycpKSB7XHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5RmFjdG9yeSA9IG5ldyBFbGVtZW50Wm9uZVN0cmF0ZWd5RmFjdG9yeShcclxuICAgICAgICBTY2VuYXJpb0NvbXBvbmVudCxcclxuICAgICAgICB0aGlzLmluamVjdG9yXHJcbiAgICAgICk7XHJcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShcclxuICAgICAgICAnYW1jLXdlYmNvbXBvbmVudHMtc2NlbmFyaW8nLFxyXG4gICAgICAgIGNyZWF0ZUN1c3RvbUVsZW1lbnQoU2NlbmFyaW9Db21wb25lbnQsIHtcclxuICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxyXG4gICAgICAgICAgc3RyYXRlZ3lGYWN0b3J5OiBzdHJhdGVneUZhY3RvcnlcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoJ2FtYy13ZWJjb21wb25lbnRzLWRpc3Bvc2l0aW9uJykpIHtcclxuICAgICAgY29uc3Qgc3RyYXRlZ3lGYWN0b3J5ID0gbmV3IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5KFxyXG4gICAgICAgIERpc3Bvc2l0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIHRoaXMuaW5qZWN0b3JcclxuICAgICAgKTtcclxuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKFxyXG4gICAgICAgICdhbWMtd2ViY29tcG9uZW50cy1kaXNwb3NpdGlvbicsXHJcbiAgICAgICAgY3JlYXRlQ3VzdG9tRWxlbWVudChEaXNwb3NpdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICBzdHJhdGVneUZhY3Rvcnk6IHN0cmF0ZWd5RmFjdG9yeVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnYW1jLXdlYmNvbXBvbmVudHMtbG9naW4nKSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneUZhY3RvcnkgPSBuZXcgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkoXHJcbiAgICAgICAgTG9naW5Db21wb25lbnQsXHJcbiAgICAgICAgdGhpcy5pbmplY3RvclxyXG4gICAgICApO1xyXG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoXHJcbiAgICAgICAgJ2FtYy13ZWJjb21wb25lbnRzLWRpc3Bvc2l0aW9uJyxcclxuICAgICAgICBjcmVhdGVDdXN0b21FbGVtZW50KExvZ2luQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgICAgIHN0cmF0ZWd5RmFjdG9yeTogc3RyYXRlZ3lGYWN0b3J5XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VpbGlicmFyeS5tb2RlbCc7XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvdWlsaWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUJwRSxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBQzFCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRTNDLGFBQWEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsRUFBRTtZQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLDBCQUEwQixDQUNwRCxpQkFBaUIsRUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1lBQ0YsY0FBYyxDQUFDLE1BQU0sQ0FDbkIsNEJBQTRCLEVBQzVCLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksMEJBQTBCLENBQ3BELG9CQUFvQixFQUNwQixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7WUFDRixjQUFjLENBQUMsTUFBTSxDQUNuQiwrQkFBK0IsRUFDL0IsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsZUFBZSxFQUFFLGVBQWU7YUFDakMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFDbEQsTUFBTSxlQUFlLEdBQUcsSUFBSSwwQkFBMEIsQ0FDcEQsY0FBYyxFQUNkLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLGNBQWMsQ0FBQyxNQUFNLENBQ25CLHlCQUF5QixFQUN6QixtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7Z0JBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsZUFBZSxFQUFFLGVBQWU7YUFDakMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRixDQUFBOztZQTNDK0IsUUFBUTs7QUFEM0IsZUFBZTtJQW5CM0IsUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDbkQsWUFBWSxFQUFFO1lBQ1osb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGNBQWM7U0FDZjtRQUNELGVBQWUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztRQUMxRSxTQUFTLEVBQUUsRUFBRTtRQUNiLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztLQUNuRSxDQUFDO0dBQ1csZUFBZSxDQTRDM0I7U0E1Q1ksZUFBZTtBQThDNUIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY2VuYXJpb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zY2VuYXJpby9zY2VuYXJpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcGVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3BlcmF0aW9uL29wZXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb2xkdGltZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaG9sZHRpbWVyL2hvbGR0aW1lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEdXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kdXJhdGlvbi9kdXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQtYm94L2NoYXQtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkgfSBmcm9tICdlbGVtZW50cy16b25lLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgRGlzcG9zaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlzcG9zaXRpb24vZGlzcG9zaXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZpdHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHkvYWN0aXZpdHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW50ZXJhY3Rpb25Db21wb25lbnQsXHJcbiAgICBTY2VuYXJpb0NvbXBvbmVudCxcclxuICAgIE9wZXJhdGlvbkNvbXBvbmVudCxcclxuICAgIFByb3BlcnR5Q29tcG9uZW50LFxyXG4gICAgSG9sZHRpbWVyQ29tcG9uZW50LFxyXG4gICAgRHVyYXRpb25Db21wb25lbnQsXHJcbiAgICBDaGF0Qm94Q29tcG9uZW50LFxyXG4gICAgQ2hhdE1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBEaXNwb3NpdGlvbkNvbXBvbmVudCxcclxuICAgIEFjdGl2aXR5Q29tcG9uZW50LFxyXG4gICAgTG9naW5Db21wb25lbnRcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1NjZW5hcmlvQ29tcG9uZW50LCBEaXNwb3NpdGlvbkNvbXBvbmVudCwgTG9naW5Db21wb25lbnRdLFxyXG4gIGJvb3RzdHJhcDogW10sXHJcbiAgZXhwb3J0czogW1NjZW5hcmlvQ29tcG9uZW50LCBEaXNwb3NpdGlvbkNvbXBvbmVudCwgTG9naW5Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVSUxpYnJhcnlNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cclxuXHJcbiAgbmdEb0Jvb3RzdHJhcChhcHApIHtcclxuICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KCdhbWMtd2ViY29tcG9uZW50cy1zY2VuYXJpbycpKSB7XHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5RmFjdG9yeSA9IG5ldyBFbGVtZW50Wm9uZVN0cmF0ZWd5RmFjdG9yeShcclxuICAgICAgICBTY2VuYXJpb0NvbXBvbmVudCxcclxuICAgICAgICB0aGlzLmluamVjdG9yXHJcbiAgICAgICk7XHJcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShcclxuICAgICAgICAnYW1jLXdlYmNvbXBvbmVudHMtc2NlbmFyaW8nLFxyXG4gICAgICAgIGNyZWF0ZUN1c3RvbUVsZW1lbnQoU2NlbmFyaW9Db21wb25lbnQsIHtcclxuICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxyXG4gICAgICAgICAgc3RyYXRlZ3lGYWN0b3J5OiBzdHJhdGVneUZhY3RvcnlcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoJ2FtYy13ZWJjb21wb25lbnRzLWRpc3Bvc2l0aW9uJykpIHtcclxuICAgICAgY29uc3Qgc3RyYXRlZ3lGYWN0b3J5ID0gbmV3IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5KFxyXG4gICAgICAgIERpc3Bvc2l0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIHRoaXMuaW5qZWN0b3JcclxuICAgICAgKTtcclxuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKFxyXG4gICAgICAgICdhbWMtd2ViY29tcG9uZW50cy1kaXNwb3NpdGlvbicsXHJcbiAgICAgICAgY3JlYXRlQ3VzdG9tRWxlbWVudChEaXNwb3NpdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICBzdHJhdGVneUZhY3Rvcnk6IHN0cmF0ZWd5RmFjdG9yeVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnYW1jLXdlYmNvbXBvbmVudHMtbG9naW4nKSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneUZhY3RvcnkgPSBuZXcgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkoXHJcbiAgICAgICAgTG9naW5Db21wb25lbnQsXHJcbiAgICAgICAgdGhpcy5pbmplY3RvclxyXG4gICAgICApO1xyXG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoXHJcbiAgICAgICAgJ2FtYy13ZWJjb21wb25lbnRzLWxvZ2luJyxcclxuICAgICAgICBjcmVhdGVDdXN0b21FbGVtZW50KExvZ2luQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgICAgIHN0cmF0ZWd5RmFjdG9yeTogc3RyYXRlZ3lGYWN0b3J5XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VpbGlicmFyeS5tb2RlbCc7XHJcbiJdfQ==
@@ -58,11 +58,11 @@ var LoginComponent = /** @class */ (function () {
58
58
  LoginComponent = __decorate([
59
59
  Component({
60
60
  selector: 'amc-login',
61
- template: "<div class=\"login-container\">\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\n <div class=\"header-container\">\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\n </div>\n <div class=\"fields-container\">\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\n <label class=\"field-label\">\n {{ field.name }}:\n </label>\n\n <input\n ngModel\n class=\"field-input\"\n attr.aria-label=\"{{ field.name }}\"\n [name]=\"field.name\"\n [type]=\"field.type\"\n [value]=\"field.value\"\n [placeholder]=\"field.placeholder || ''\"\n [required]=\"field.isRequired || false\"\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\n\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\n </div>\n\n <button\n type=\"submit\"\n class=\"form-submit\"\n form=\"login-form\"\n tabindex=\"0\"\n attr.aria-label=\"send\"\n [disabled]=\"!loginForm.valid\">Login</button>\n </div>\n\n </form>\n</div>\n",
62
- styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:200px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;max-height:160px;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
61
+ template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n",
62
+ styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
63
63
  })
64
64
  ], LoginComponent);
65
65
  return LoginComponent;
66
66
  }());
67
67
  export { LoginComponent };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvRTtJQUlFO1FBRlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVoRCxDQUFDO0lBRWpCLGlDQUFRLEdBQVI7O1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNqQzs7WUFFRCxLQUFrQixJQUFBLEtBQUEsU0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQSxnQkFBQSw0QkFBRTtnQkFBcEMsSUFBSSxLQUFLLFdBQUE7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ3BCLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjthQUNGOzs7Ozs7Ozs7SUFDSCxDQUFDO0lBRUQsZ0NBQU8sR0FBUCxVQUFRLFNBQWlCOzs7WUFDdkIsS0FBb0IsSUFBQSxLQUFBLFNBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQXRDLElBQU0sS0FBSyxXQUFBO2dCQUNkLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0M7Ozs7Ozs7OztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCx3Q0FBZSxHQUFmLFVBQWdCLFNBQWlCLEVBQUUsS0FBSztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsMEJBQTBCO1FBQzFCLHNCQUFzQjtJQUN4QixDQUFDO0lBaENRO1FBQVIsS0FBSyxFQUFFO3FEQUF1QjtJQUNyQjtRQUFULE1BQU0sRUFBRTtnRUFBdUQ7SUFGckQsY0FBYztRQUwxQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsV0FBVztZQUNyQix1c0NBQXFDOztTQUV0QyxDQUFDO09BQ1csY0FBYyxDQWtDMUI7SUFBRCxxQkFBQztDQUFBLEFBbENELElBa0NDO1NBbENZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9naW5EYXRhIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvbG9naW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1jLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbG9naW5EYXRhOiBJTG9naW5EYXRhO1xuICBAT3V0cHV0KCkgbG9naW5EZXRhaWxzUHJvdmlkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElMb2dpbkRhdGE+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubG9naW5EYXRhLmhlYWRlcikge1xuICAgICAgdGhpcy5sb2dpbkRhdGEuaGVhZGVyID0gJ0xvZ2luJztcbiAgICB9XG5cbiAgICBmb3IgKGxldCBmaWVsZCBvZiB0aGlzLmxvZ2luRGF0YS5maWVsZHMpIHtcbiAgICAgIGlmICghZmllbGQuaXNJbnZhbGlkKSB7XG4gICAgICAgIGZpZWxkLmlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTG9naW4obG9naW5Gb3JtOiBOZ0Zvcm0pIHtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMubG9naW5EYXRhLmZpZWxkcykge1xuICAgICAgZmllbGQudmFsdWUgPSBsb2dpbkZvcm0udmFsdWVbZmllbGQubmFtZV07XG4gICAgfVxuXG4gICAgdGhpcy5sb2dpbkRldGFpbHNQcm92aWRlZC5lbWl0KHRoaXMubG9naW5EYXRhKTtcbiAgfVxuXG4gIGZvY3VzT3V0T2ZJbnB1dChsb2dpbkZvcm06IE5nRm9ybSwgZmllbGQpIHtcbiAgICBpZiAoIWxvZ2luRm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXS52YWxpZCkge1xuICAgICAgZmllbGQuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBjb25zb2xlLmxvZyhsb2dpbkZvcm0pO1xuICAgIC8vIGNvbnNvbGUubG9nKGZpZWxkKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvRTtJQUlFO1FBRlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVoRCxDQUFDO0lBRWpCLGlDQUFRLEdBQVI7O1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNqQzs7WUFFRCxLQUFrQixJQUFBLEtBQUEsU0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQSxnQkFBQSw0QkFBRTtnQkFBcEMsSUFBSSxLQUFLLFdBQUE7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ3BCLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjthQUNGOzs7Ozs7Ozs7SUFDSCxDQUFDO0lBRUQsZ0NBQU8sR0FBUCxVQUFRLFNBQWlCOzs7WUFDdkIsS0FBb0IsSUFBQSxLQUFBLFNBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQXRDLElBQU0sS0FBSyxXQUFBO2dCQUNkLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0M7Ozs7Ozs7OztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCx3Q0FBZSxHQUFmLFVBQWdCLFNBQWlCLEVBQUUsS0FBSztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsMEJBQTBCO1FBQzFCLHNCQUFzQjtJQUN4QixDQUFDO0lBaENRO1FBQVIsS0FBSyxFQUFFO3FEQUF1QjtJQUNyQjtRQUFULE1BQU0sRUFBRTtnRUFBdUQ7SUFGckQsY0FBYztRQUwxQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsV0FBVztZQUNyQiwrd0NBQXFDOztTQUV0QyxDQUFDO09BQ1csY0FBYyxDQWtDMUI7SUFBRCxxQkFBQztDQUFBLEFBbENELElBa0NDO1NBbENZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9naW5EYXRhIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvbG9naW4uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FtYy1sb2dpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsb2dpbkRhdGE6IElMb2dpbkRhdGE7XHJcbiAgQE91dHB1dCgpIGxvZ2luRGV0YWlsc1Byb3ZpZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9naW5EYXRhPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5sb2dpbkRhdGEuaGVhZGVyKSB7XHJcbiAgICAgIHRoaXMubG9naW5EYXRhLmhlYWRlciA9ICdMb2dpbic7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgZmllbGQgb2YgdGhpcy5sb2dpbkRhdGEuZmllbGRzKSB7XHJcbiAgICAgIGlmICghZmllbGQuaXNJbnZhbGlkKSB7XHJcbiAgICAgICAgZmllbGQuaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTG9naW4obG9naW5Gb3JtOiBOZ0Zvcm0pIHtcclxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgdGhpcy5sb2dpbkRhdGEuZmllbGRzKSB7XHJcbiAgICAgIGZpZWxkLnZhbHVlID0gbG9naW5Gb3JtLnZhbHVlW2ZpZWxkLm5hbWVdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9naW5EZXRhaWxzUHJvdmlkZWQuZW1pdCh0aGlzLmxvZ2luRGF0YSk7XHJcbiAgfVxyXG5cclxuICBmb2N1c091dE9mSW5wdXQobG9naW5Gb3JtOiBOZ0Zvcm0sIGZpZWxkKSB7XHJcbiAgICBpZiAoIWxvZ2luRm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXS52YWxpZCkge1xyXG4gICAgICBmaWVsZC5pc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKGxvZ2luRm9ybSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhmaWVsZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -37,7 +37,7 @@ var UILibraryModule = /** @class */ (function () {
37
37
  }
38
38
  if (!customElements.get('amc-webcomponents-login')) {
39
39
  var strategyFactory = new ElementZoneStrategyFactory(LoginComponent, this.injector);
40
- customElements.define('amc-webcomponents-disposition', createCustomElement(LoginComponent, {
40
+ customElements.define('amc-webcomponents-login', createCustomElement(LoginComponent, {
41
41
  injector: this.injector,
42
42
  strategyFactory: strategyFactory
43
43
  }));
@@ -71,4 +71,4 @@ var UILibraryModule = /** @class */ (function () {
71
71
  }());
72
72
  export { UILibraryModule };
73
73
  export * from './models/uilibrary.model';
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvdWlsaWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUJwRTtJQUNFLHlCQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUksQ0FBQztJQUUzQyx1Q0FBYSxHQUFiLFVBQWMsR0FBRztRQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEVBQUU7WUFDckQsSUFBTSxlQUFlLEdBQUcsSUFBSSwwQkFBMEIsQ0FDcEQsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLGNBQWMsQ0FBQyxNQUFNLENBQ25CLDRCQUE0QixFQUM1QixtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixlQUFlLEVBQUUsZUFBZTthQUNqQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN4RCxJQUFNLGVBQWUsR0FBRyxJQUFJLDBCQUEwQixDQUNwRCxvQkFBb0IsRUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1lBQ0YsY0FBYyxDQUFDLE1BQU0sQ0FDbkIsK0JBQStCLEVBQy9CLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFO2dCQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO1lBQ2xELElBQU0sZUFBZSxHQUFHLElBQUksMEJBQTBCLENBQ3BELGNBQWMsRUFDZCxJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7WUFDRixjQUFjLENBQUMsTUFBTSxDQUNuQiwrQkFBK0IsRUFDL0IsbUJBQW1CLENBQUMsY0FBYyxFQUFFO2dCQUNsQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDOztnQkExQzZCLFFBQVE7O0lBRDNCLGVBQWU7UUFuQjNCLFFBQVEsQ0FBQztZQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO1lBQ25ELFlBQVksRUFBRTtnQkFDWixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsa0JBQWtCO2dCQUNsQixpQkFBaUI7Z0JBQ2pCLGtCQUFrQjtnQkFDbEIsaUJBQWlCO2dCQUNqQixnQkFBZ0I7Z0JBQ2hCLG9CQUFvQjtnQkFDcEIsb0JBQW9CO2dCQUNwQixpQkFBaUI7Z0JBQ2pCLGNBQWM7YUFDZjtZQUNELGVBQWUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztZQUMxRSxTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztTQUNuRSxDQUFDO09BQ1csZUFBZSxDQTRDM0I7SUFBRCxzQkFBQztDQUFBLEFBNUNELElBNENDO1NBNUNZLGVBQWU7QUE4QzVCLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2NlbmFyaW9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2NlbmFyaW8vc2NlbmFyaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3BlcmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wZXJhdGlvbi9vcGVyYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvcGVydHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvcGVydHkvcHJvcGVydHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSG9sZHRpbWVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hvbGR0aW1lci9ob2xkdGltZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHVyYXRpb24vZHVyYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhdEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0LWJveC9jaGF0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5IH0gZnJvbSAnZWxlbWVudHMtem9uZS1zdHJhdGVneSc7XHJcbmltcG9ydCB7IERpc3Bvc2l0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rpc3Bvc2l0aW9uL2Rpc3Bvc2l0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGl2aXR5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGl2aXR5L2FjdGl2aXR5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEludGVyYWN0aW9uQ29tcG9uZW50LFxyXG4gICAgU2NlbmFyaW9Db21wb25lbnQsXHJcbiAgICBPcGVyYXRpb25Db21wb25lbnQsXHJcbiAgICBQcm9wZXJ0eUNvbXBvbmVudCxcclxuICAgIEhvbGR0aW1lckNvbXBvbmVudCxcclxuICAgIER1cmF0aW9uQ29tcG9uZW50LFxyXG4gICAgQ2hhdEJveENvbXBvbmVudCxcclxuICAgIENoYXRNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgRGlzcG9zaXRpb25Db21wb25lbnQsXHJcbiAgICBBY3Rpdml0eUNvbXBvbmVudCxcclxuICAgIExvZ2luQ29tcG9uZW50XHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtTY2VuYXJpb0NvbXBvbmVudCwgRGlzcG9zaXRpb25Db21wb25lbnQsIExvZ2luQ29tcG9uZW50XSxcclxuICBib290c3RyYXA6IFtdLFxyXG4gIGV4cG9ydHM6IFtTY2VuYXJpb0NvbXBvbmVudCwgRGlzcG9zaXRpb25Db21wb25lbnQsIExvZ2luQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVUlMaWJyYXJ5TW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIG5nRG9Cb290c3RyYXAoYXBwKSB7XHJcbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnYW1jLXdlYmNvbXBvbmVudHMtc2NlbmFyaW8nKSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneUZhY3RvcnkgPSBuZXcgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkoXHJcbiAgICAgICAgU2NlbmFyaW9Db21wb25lbnQsXHJcbiAgICAgICAgdGhpcy5pbmplY3RvclxyXG4gICAgICApO1xyXG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoXHJcbiAgICAgICAgJ2FtYy13ZWJjb21wb25lbnRzLXNjZW5hcmlvJyxcclxuICAgICAgICBjcmVhdGVDdXN0b21FbGVtZW50KFNjZW5hcmlvQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgICAgIHN0cmF0ZWd5RmFjdG9yeTogc3RyYXRlZ3lGYWN0b3J5XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KCdhbWMtd2ViY29tcG9uZW50cy1kaXNwb3NpdGlvbicpKSB7XHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5RmFjdG9yeSA9IG5ldyBFbGVtZW50Wm9uZVN0cmF0ZWd5RmFjdG9yeShcclxuICAgICAgICBEaXNwb3NpdGlvbkNvbXBvbmVudCxcclxuICAgICAgICB0aGlzLmluamVjdG9yXHJcbiAgICAgICk7XHJcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShcclxuICAgICAgICAnYW1jLXdlYmNvbXBvbmVudHMtZGlzcG9zaXRpb24nLFxyXG4gICAgICAgIGNyZWF0ZUN1c3RvbUVsZW1lbnQoRGlzcG9zaXRpb25Db21wb25lbnQsIHtcclxuICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxyXG4gICAgICAgICAgc3RyYXRlZ3lGYWN0b3J5OiBzdHJhdGVneUZhY3RvcnlcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoJ2FtYy13ZWJjb21wb25lbnRzLWxvZ2luJykpIHtcclxuICAgICAgY29uc3Qgc3RyYXRlZ3lGYWN0b3J5ID0gbmV3IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5KFxyXG4gICAgICAgIExvZ2luQ29tcG9uZW50LFxyXG4gICAgICAgIHRoaXMuaW5qZWN0b3JcclxuICAgICAgKTtcclxuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKFxyXG4gICAgICAgICdhbWMtd2ViY29tcG9uZW50cy1kaXNwb3NpdGlvbicsXHJcbiAgICAgICAgY3JlYXRlQ3VzdG9tRWxlbWVudChMb2dpbkNvbXBvbmVudCwge1xyXG4gICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICBzdHJhdGVneUZhY3Rvcnk6IHN0cmF0ZWd5RmFjdG9yeVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvdWlsaWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUJwRTtJQUNFLHlCQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUksQ0FBQztJQUUzQyx1Q0FBYSxHQUFiLFVBQWMsR0FBRztRQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEVBQUU7WUFDckQsSUFBTSxlQUFlLEdBQUcsSUFBSSwwQkFBMEIsQ0FDcEQsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLGNBQWMsQ0FBQyxNQUFNLENBQ25CLDRCQUE0QixFQUM1QixtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixlQUFlLEVBQUUsZUFBZTthQUNqQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUN4RCxJQUFNLGVBQWUsR0FBRyxJQUFJLDBCQUEwQixDQUNwRCxvQkFBb0IsRUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1lBQ0YsY0FBYyxDQUFDLE1BQU0sQ0FDbkIsK0JBQStCLEVBQy9CLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFO2dCQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO1lBQ2xELElBQU0sZUFBZSxHQUFHLElBQUksMEJBQTBCLENBQ3BELGNBQWMsRUFDZCxJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7WUFDRixjQUFjLENBQUMsTUFBTSxDQUNuQix5QkFBeUIsRUFDekIsbUJBQW1CLENBQUMsY0FBYyxFQUFFO2dCQUNsQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxlQUFlO2FBQ2pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDOztnQkExQzZCLFFBQVE7O0lBRDNCLGVBQWU7UUFuQjNCLFFBQVEsQ0FBQztZQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO1lBQ25ELFlBQVksRUFBRTtnQkFDWixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsa0JBQWtCO2dCQUNsQixpQkFBaUI7Z0JBQ2pCLGtCQUFrQjtnQkFDbEIsaUJBQWlCO2dCQUNqQixnQkFBZ0I7Z0JBQ2hCLG9CQUFvQjtnQkFDcEIsb0JBQW9CO2dCQUNwQixpQkFBaUI7Z0JBQ2pCLGNBQWM7YUFDZjtZQUNELGVBQWUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztZQUMxRSxTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztTQUNuRSxDQUFDO09BQ1csZUFBZSxDQTRDM0I7SUFBRCxzQkFBQztDQUFBLEFBNUNELElBNENDO1NBNUNZLGVBQWU7QUE4QzVCLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2NlbmFyaW9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2NlbmFyaW8vc2NlbmFyaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3BlcmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wZXJhdGlvbi9vcGVyYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvcGVydHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvcGVydHkvcHJvcGVydHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSG9sZHRpbWVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hvbGR0aW1lci9ob2xkdGltZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHVyYXRpb24vZHVyYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhdEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0LWJveC9jaGF0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5IH0gZnJvbSAnZWxlbWVudHMtem9uZS1zdHJhdGVneSc7XHJcbmltcG9ydCB7IERpc3Bvc2l0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rpc3Bvc2l0aW9uL2Rpc3Bvc2l0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGl2aXR5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGl2aXR5L2FjdGl2aXR5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEludGVyYWN0aW9uQ29tcG9uZW50LFxyXG4gICAgU2NlbmFyaW9Db21wb25lbnQsXHJcbiAgICBPcGVyYXRpb25Db21wb25lbnQsXHJcbiAgICBQcm9wZXJ0eUNvbXBvbmVudCxcclxuICAgIEhvbGR0aW1lckNvbXBvbmVudCxcclxuICAgIER1cmF0aW9uQ29tcG9uZW50LFxyXG4gICAgQ2hhdEJveENvbXBvbmVudCxcclxuICAgIENoYXRNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgRGlzcG9zaXRpb25Db21wb25lbnQsXHJcbiAgICBBY3Rpdml0eUNvbXBvbmVudCxcclxuICAgIExvZ2luQ29tcG9uZW50XHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtTY2VuYXJpb0NvbXBvbmVudCwgRGlzcG9zaXRpb25Db21wb25lbnQsIExvZ2luQ29tcG9uZW50XSxcclxuICBib290c3RyYXA6IFtdLFxyXG4gIGV4cG9ydHM6IFtTY2VuYXJpb0NvbXBvbmVudCwgRGlzcG9zaXRpb25Db21wb25lbnQsIExvZ2luQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVUlMaWJyYXJ5TW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIG5nRG9Cb290c3RyYXAoYXBwKSB7XHJcbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnYW1jLXdlYmNvbXBvbmVudHMtc2NlbmFyaW8nKSkge1xyXG4gICAgICBjb25zdCBzdHJhdGVneUZhY3RvcnkgPSBuZXcgRWxlbWVudFpvbmVTdHJhdGVneUZhY3RvcnkoXHJcbiAgICAgICAgU2NlbmFyaW9Db21wb25lbnQsXHJcbiAgICAgICAgdGhpcy5pbmplY3RvclxyXG4gICAgICApO1xyXG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoXHJcbiAgICAgICAgJ2FtYy13ZWJjb21wb25lbnRzLXNjZW5hcmlvJyxcclxuICAgICAgICBjcmVhdGVDdXN0b21FbGVtZW50KFNjZW5hcmlvQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgICAgIHN0cmF0ZWd5RmFjdG9yeTogc3RyYXRlZ3lGYWN0b3J5XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KCdhbWMtd2ViY29tcG9uZW50cy1kaXNwb3NpdGlvbicpKSB7XHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5RmFjdG9yeSA9IG5ldyBFbGVtZW50Wm9uZVN0cmF0ZWd5RmFjdG9yeShcclxuICAgICAgICBEaXNwb3NpdGlvbkNvbXBvbmVudCxcclxuICAgICAgICB0aGlzLmluamVjdG9yXHJcbiAgICAgICk7XHJcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShcclxuICAgICAgICAnYW1jLXdlYmNvbXBvbmVudHMtZGlzcG9zaXRpb24nLFxyXG4gICAgICAgIGNyZWF0ZUN1c3RvbUVsZW1lbnQoRGlzcG9zaXRpb25Db21wb25lbnQsIHtcclxuICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxyXG4gICAgICAgICAgc3RyYXRlZ3lGYWN0b3J5OiBzdHJhdGVneUZhY3RvcnlcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoJ2FtYy13ZWJjb21wb25lbnRzLWxvZ2luJykpIHtcclxuICAgICAgY29uc3Qgc3RyYXRlZ3lGYWN0b3J5ID0gbmV3IEVsZW1lbnRab25lU3RyYXRlZ3lGYWN0b3J5KFxyXG4gICAgICAgIExvZ2luQ29tcG9uZW50LFxyXG4gICAgICAgIHRoaXMuaW5qZWN0b3JcclxuICAgICAgKTtcclxuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKFxyXG4gICAgICAgICdhbWMtd2ViY29tcG9uZW50cy1sb2dpbicsXHJcbiAgICAgICAgY3JlYXRlQ3VzdG9tRWxlbWVudChMb2dpbkNvbXBvbmVudCwge1xyXG4gICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICBzdHJhdGVneUZhY3Rvcnk6IHN0cmF0ZWd5RmFjdG9yeVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG4iXX0=
@@ -747,8 +747,8 @@ __decorate([
747
747
  LoginComponent = __decorate([
748
748
  Component({
749
749
  selector: 'amc-login',
750
- template: "<div class=\"login-container\">\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\n <div class=\"header-container\">\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\n </div>\n <div class=\"fields-container\">\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\n <label class=\"field-label\">\n {{ field.name }}:\n </label>\n\n <input\n ngModel\n class=\"field-input\"\n attr.aria-label=\"{{ field.name }}\"\n [name]=\"field.name\"\n [type]=\"field.type\"\n [value]=\"field.value\"\n [placeholder]=\"field.placeholder || ''\"\n [required]=\"field.isRequired || false\"\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\n\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\n </div>\n\n <button\n type=\"submit\"\n class=\"form-submit\"\n form=\"login-form\"\n tabindex=\"0\"\n attr.aria-label=\"send\"\n [disabled]=\"!loginForm.valid\">Login</button>\n </div>\n\n </form>\n</div>\n",
751
- styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:200px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;max-height:160px;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
750
+ template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n",
751
+ styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
752
752
  })
753
753
  ], LoginComponent);
754
754
 
@@ -773,7 +773,7 @@ let UILibraryModule = class UILibraryModule {
773
773
  }
774
774
  if (!customElements.get('amc-webcomponents-login')) {
775
775
  const strategyFactory = new ElementZoneStrategyFactory(LoginComponent, this.injector);
776
- customElements.define('amc-webcomponents-disposition', createCustomElement(LoginComponent, {
776
+ customElements.define('amc-webcomponents-login', createCustomElement(LoginComponent, {
777
777
  injector: this.injector,
778
778
  strategyFactory: strategyFactory
779
779
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"amc-technology-ui-library.js","sources":["ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/interaction/interaction.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/scenario/scenario.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/operation/operation.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/chat.message.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/uilibrary.model.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/Helpers.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/property/property.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/duration/duration.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-box/chat-box.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-message/chat-message.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/disposition/disposition.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/activity/activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/login/login.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/uilibrary.module.ts","ng://@amc-technology/ui-library/amc-technology-ui-library.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IInteraction } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-interaction',\r\n templateUrl: './interaction.component.html',\r\n styleUrls: ['./interaction.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class InteractionComponent implements OnInit {\r\n\r\n @Input() interaction: IInteraction;\r\n @Output() minimizedChanged: EventEmitter<boolean> = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n /**\r\n * @ignore\r\n */\r\n minimized: boolean;\r\n set _minimized(value) {\r\n this.minimized = value;\r\n this.minimizedChanged.emit(value);\r\n }\r\n get _minimized() {\r\n return this.minimized;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n minimize(): void {\r\n this._minimized = true;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n maximize(): void {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n isConferenceCall(): boolean {\r\n if (this.interaction.parties && this.interaction.parties.length > 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n collapseKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.minimize();\r\n }\r\n }\r\n\r\n expandKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.maximize();\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n AfterViewChecked\r\n} from '@angular/core';\r\nimport { IScenario } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'amc-scenario',\r\n templateUrl: './scenario.component.html',\r\n styleUrls: ['./scenario.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class ScenarioComponent implements AfterViewChecked {\r\n @Input() scenario: IScenario;\r\n @Output() minimizedChanged = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n @Output() afterViewChecked = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewChecked() {\r\n this.afterViewChecked.emit();\r\n }\r\n\r\n onMinimizedChanged() {\r\n this.minimizedChanged.emit();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IOperation } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-operation',\r\n templateUrl: './operation.component.html',\r\n styleUrls: ['./operation.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class OperationComponent implements OnInit {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() operations: IOperation[];\r\n\r\n labelledByText = '';\r\n describedByText = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.describedByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.describedByText = this.statusText;\r\n } else if (this.callType) {\r\n this.describedByText = this.callType\r\n }\r\n\r\n if (this.callId) {\r\n this.labelledByText = this.callId;\r\n }\r\n }\r\n\r\n operationKeypress(event: KeyboardEvent, operation: IOperation) {\r\n if (event.code === 'Enter') {\r\n operation.handler(operation.operationName, operation.operationMetadata);\r\n }\r\n }\r\n}\r\n","export interface IChatMessage {\r\n username?: string;\r\n text: string;\r\n /**\r\n * What type of chat message. Defaults to OTHER_PERSON\r\n */\r\n type?: IChatMessageType;\r\n timestamp?: string;\r\n userIcon?: URL;\r\n}\r\n\r\nexport enum IChatMessageType {\r\n AGENT = 'AGENT',\r\n OTHER_PERSON = 'OTHER_PERSON',\r\n INFORMATION = 'INFORMATION'\r\n}\r\n","import { IChatSettings } from './chat.settings';\r\nimport { IChatMessage } from './chat.message';\r\n\r\nexport * from './chat.message';\r\nexport * from './chat.settings';\r\n\r\n/**\r\n * It is collection of Interaction which need to be displayed on scenario component.\r\n */\r\nexport interface IScenario {\r\n interactions: IInteraction[];\r\n}\r\n\r\nexport interface IInteraction {\r\n /**\r\n * Unique id for the interaction.\r\n * Note: this interactionId is also used to provide id for the div element.\r\n */\r\n interactionId: string;\r\n properties?: Property[];\r\n associatedData?: Property[];\r\n startTime: number;\r\n displayCallTimer: boolean;\r\n /**\r\n * parties is supposed to contain data about all the participants in call except agent himself.\r\n */\r\n parties?: IParty[];\r\n /**\r\n * Operations/buttons which needs to be displayed in interaction and its handlers.\r\n */\r\n operations?: IOperation[];\r\n\r\n /**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\n UIHeadersData: IInteractionUIHeaders;\r\n\r\n /**\r\n * Should contain identifying information about the main party in the interaction.\r\n */\r\n subheaderData: IPartyHeader;\r\n\r\n /**\r\n * This enables and configures the chat UI\r\n */\r\n chat?: {\r\n settings: IChatSettings;\r\n messages: IChatMessage[];\r\n isCustomerTyping?: boolean;\r\n };\r\n}\r\n\r\nexport interface IActivity {\r\n interactionId: string;\r\n WhoObject: IActivityDetails;\r\n WhatObject: IActivityDetails;\r\n whoList: IActivityDetails[];\r\n whatList: IActivityDetails[];\r\n CallType: string;\r\n CallDurationInSeconds: string;\r\n Subject: string;\r\n SubjectFieldName: string;\r\n NameFieldName: string;\r\n RelatedToFieldName: string;\r\n Description: string;\r\n Status: string;\r\n ActivityDate: string;\r\n TimeStamp: Date;\r\n ActivityId: string;\r\n quickCommentList: string[];\r\n}\r\n\r\nexport interface IActivityDetails {\r\n objectType: string;\r\n displayName: string;\r\n objectName: string;\r\n objectId: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n * This contains the main identifying information about the interaction.\r\n */\r\nexport interface IPartyHeader {\r\n /**\r\n * Image that identifies the type of interaction\r\n * or the type of the identifying information(ex: phone icon for phone number)\r\n */\r\n image?: URL;\r\n /**\r\n * The tooltip to be displayed when the image is hovered over\r\n */\r\n tooltip?: string;\r\n /**\r\n * The value to be displayed\r\n */\r\n value: string;\r\n}\r\n\r\n/**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\nexport interface IInteractionUIHeaders {\r\n /**\r\n * Minimize icon url.\r\n */\r\n minimizeUrl: URL;\r\n\r\n /**\r\n * Maximize Icon url.\r\n */\r\n maximizeUrl: URL;\r\n\r\n /**\r\n * This is the URL for the status image.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusUrl: URL;\r\n\r\n /**\r\n * This is the handler for focus(Triggered on click of status).\r\n * @memberof IInteractionUIHeaders\r\n */\r\n focusHandler?: IFocus;\r\n\r\n /**\r\n * This is the text which is going to be displayed for status of the call.\r\n *\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusText: string;\r\n\r\n /**\r\n *This member will contain the text related to the direction of the call. E.g Inbound, Outbound etc.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n directionText: string;\r\n\r\n /**\r\n *This data will be used to display hold counter whihc will be the combination of the current hold time and complete hold time.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n holdCounterData?: IHoldCounterData;\r\n\r\n /**\r\n *If this value is set to true then hold counter is displayed based on the holdCounterData.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n displayHoldCounter: boolean;\r\n}\r\nexport interface ICallDuration {\r\n startTime: number;\r\n endTime: number;\r\n}\r\nexport interface IHoldCounterData {\r\n pastCallDurations?: ICallDuration[];\r\n currentHoldStartTime: number;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IFocus {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IOperation {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * URL for the icon of operations.\r\n */\r\n icon: URL;\r\n /**\r\n * Title which needs to be doisplayed when someone hovers over the icon.\r\n */\r\n title: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n /**\r\n * Browser accesskey to jump instantly to this operation Should conform to AMC norms and consist of a single printable character.\r\n */\r\n accesskey?: string\r\n}\r\n\r\n/**\r\n * This contains properties and operations to be displayed for conference member.\r\n */\r\nexport interface IParty {\r\n header: IPartyHeader;\r\n properties: Property[];\r\n operations: IOperation[];\r\n}\r\n\r\n/**\r\n * key value pairs which can be used amongst other interfaces/classes to store metadata of those entities.\r\n */\r\n\r\nexport interface IMetadata {\r\n key: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * This interface contains key value pairs, some custom operation which generates display key and display value.\r\n * Also it includes custom operation handler for click event on properties.\r\n */\r\nexport interface IProperty {\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n}\r\n\r\n/**\r\n * A helper method to make instances of [IProperty]\r\n */\r\nexport class Property implements IProperty {\r\n private key: string;\r\n private value: any;\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n\r\n /**\r\n * Operation responsible for generating displayKey and dispkayValur from key and value.\r\n */\r\n displayOperation: () => void = () => {\r\n this.displayKey = this.key;\r\n this.displayValue = this.value;\r\n }\r\n\r\n /**\r\n *\r\n * @param key\r\n * @param value : if value type is COUNTER then value should be start time in MilliSeconds.\r\n * @param visible\r\n * @param valueType\r\n * @param customOperation\r\n */\r\n constructor(\r\n key: string,\r\n value: any,\r\n visible?: boolean,\r\n valueType?: ValueType,\r\n customOperation?: IEventHandler\r\n ) {\r\n this.key = key;\r\n this.value = value;\r\n visible != null ? (this.visible = visible) : (this.visible = true);\r\n valueType != null\r\n ? (this.displayValueType = valueType)\r\n : (this.displayValueType = ValueType.STRING);\r\n this.customOperations = customOperation;\r\n this.displayOperation();\r\n }\r\n}\r\n\r\n/**\r\n * Interface which contains eventName and handler associated with it.\r\n */\r\nexport interface IEventHandler {\r\n eventName: string;\r\n handler: (eventName: string, eventMetadata?: IMetadata[]) => void;\r\n eventMetadata?: IMetadata[];\r\n}\r\n\r\n/**\r\n * enum for Value types of PROPERTY.\r\n */\r\nexport enum ValueType {\r\n STRING,\r\n COUNTER\r\n}\r\n","export function secondsToHms(seconds_in: number): string {\r\n seconds_in = Number(seconds_in);\r\n const h = Math.floor(seconds_in / 3600);\r\n const m = Math.floor(seconds_in % 3600 / 60);\r\n const s = Math.floor(seconds_in % 3600 % 60);\r\n\r\n const hDisplay = h > 0 ? h.toString() + ':' : '';\r\n const mDisplay = m > 0 ? ('0' + m.toString()).slice(-2) + ':' : '00:';\r\n const sDisplay = s > 0 ? ('0' + s.toString()).slice(-2) : '00';\r\n return hDisplay + mDisplay + sDisplay;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ValueType, IProperty } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-property',\r\n templateUrl: './property.component.html',\r\n styleUrls: ['./property.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class PropertyComponent implements OnInit, OnDestroy {\r\n\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() property: IProperty;\r\n\r\n labelledByText = '';\r\n title = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n processedDisplayValue: string;\r\n\r\n /**\r\n * @ignore\r\n */\r\n private _timerId?: number;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n\r\n this._timerId = null;\r\n this.processedDisplayValue = '';\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.labelledByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callType) {\r\n this.labelledByText = this.callType\r\n }\r\n\r\n if (this.callType && this.callId) {\r\n this.title = `${this.callType} ${this.callId}`\r\n } else if (this.callType) {\r\n this.title = this.callType;\r\n } else if (this.callId) {\r\n this.title = this.callId;\r\n }\r\n\r\n this.initValues();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n initValues(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n this.startCallCounter();\r\n } else {\r\n this.processedDisplayValue = this.property.displayValue;\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.property.displayValue;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.processedDisplayValue = secondsToHms(secondsPassed);\r\n }, 1000);\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { IHoldCounterData, ICallDuration } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n@Component({\r\n selector: 'amc-holdtimer',\r\n templateUrl: './holdtimer.component.html',\r\n styleUrls: ['./holdtimer.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class HoldtimerComponent implements OnInit, OnDestroy {\r\n @Input() holdCounterData: IHoldCounterData;\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n const pastTimeInSeconds = this.CaculatePastHoldDuration();\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassedCurrentCall: number = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));\r\n this.displayTime = secondsToHms(secondsPassedCurrentCall) +\r\n '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);\r\n }, 1000);\r\n }\r\n }\r\n\r\n private CaculatePastHoldDuration(): number {\r\n let pastTimeInSeconds = 0;\r\n if (this.holdCounterData.pastCallDurations) {\r\n this.holdCounterData.pastCallDurations.forEach((holdTimerIterator: ICallDuration) => {\r\n pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;\r\n });\r\n }\r\n return pastTimeInSeconds;\r\n\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-duration',\r\n templateUrl: './duration.component.html',\r\n styleUrls: ['./duration.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class DurationComponent implements OnInit, OnDestroy {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() startTime: number;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.startTime;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked } from '@angular/core';\r\nimport { IChatMessage, IChatMessageType } from '../../models/chat.message';\r\nimport { IChatSettings } from '../../models/chat.settings';\r\n\r\n@Component({\r\n selector: 'app-chat-box',\r\n templateUrl: './chat-box.component.html',\r\n styleUrls: ['./chat-box.component.scss'],\r\n})\r\nexport class ChatBoxComponent implements AfterViewChecked {\r\n @Input() settings: IChatSettings;\r\n @Input() isTyping = false;\r\n\r\n @Input() messages: IChatMessage[];\r\n private lastCount = -1;\r\n\r\n _isAgentTyping = false;\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n\r\n @Output() newMessage = new EventEmitter<string>();\r\n newMessageText = '';\r\n\r\n @ViewChild('MessagesContainer', { static: true }) messagesContainer: ElementRef;\r\n\r\n usernameToColor: { [username: string]: string } = {};\r\n colors = [\r\n '#81c784',\r\n '#ffab91',\r\n '#f48fb1',\r\n '#29b6f6',\r\n '#e1bee7',\r\n '#9ccc65',\r\n '#ffc107',\r\n '#26c6da',\r\n '#cddc39',\r\n ];\r\n colorsIndex = 0;\r\n agentColor = '#29b6f6';\r\n\r\n constructor() { }\r\n\r\n ngAfterViewChecked() {\r\n if (this.lastCount !== this.messages.length) {\r\n this.lastCount = this.messages.length;\r\n this.scrollToBottom();\r\n }\r\n }\r\n\r\n getColor(message: IChatMessage) {\r\n if (message.type && message.type === IChatMessageType.AGENT) {\r\n return this.agentColor;\r\n } else if (message.username) {\r\n if (!this.usernameToColor[message.username]) {\r\n this.usernameToColor[message.username] = this.colors[this.colorsIndex];\r\n this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;\r\n }\r\n return this.usernameToColor[message.username];\r\n } else {\r\n return this.colors[0];\r\n }\r\n }\r\n\r\n shouldAlignRight(message: IChatMessage) {\r\n return message.type && message.type === IChatMessageType.AGENT;\r\n }\r\n\r\n sendNewMessage() {\r\n if (this.newMessageText) {\r\n this.newMessage.emit(this.newMessageText);\r\n this.newMessageText = '';\r\n }\r\n }\r\n\r\n onNewMessageFocus(event: boolean) {\r\n const isTyping = event && this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n onKeyup() {\r\n const isTyping = this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n scrollToBottom() {\r\n try {\r\n this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;\r\n }\r\n catch (e) { }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() alignRight = false;\r\n @Input() username: string;\r\n @Input() color: string;\r\n @Input() timestamp: string;\r\n @Input() image: string;\r\n @Input() fallbackImage: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { IDisposition, IDispositionResult } from './../../models/disposition.interface';\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-disposition',\r\n templateUrl: './disposition.component.html',\r\n styleUrls: ['./disposition.component.css']\r\n})\r\nexport class DispositionComponent implements OnInit {\r\n @Input() disposition: IDisposition;\r\n\r\n @Output() dispositionEmitter = new EventEmitter<IDispositionResult>();\r\n\r\n selectedDispositionValue: string = '';\r\n dispositionName: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n for (const metadata of this.disposition.dispositionMetadata) {\r\n if (metadata.key === 'callId') {\r\n this.dispositionName = `disposition_${metadata.value}`;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (this.disposition.checkedDisposition) {\r\n this.selectedDispositionValue = this.disposition.checkedDisposition;\r\n }\r\n }\r\n\r\n submitDisposition() {\r\n const selectedDisposition: IDispositionResult = {\r\n dispositionId: this.selectedDispositionValue,\r\n dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),\r\n dispositionMetadata: this.disposition.dispositionMetadata\r\n };\r\n\r\n this.dispositionEmitter.emit(selectedDisposition);\r\n }\r\n\r\n selectAndSubmitDisposition(event: KeyboardEvent, dispositionKey: string) {\r\n if (event.code === 'Enter') {\r\n this.selectedDispositionValue = dispositionKey;\r\n this.submitDisposition();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IActivity, IActivityDetails } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'app-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\nisActivityMaximized: boolean;\r\n@Input() activity: IActivity;\r\n@Output() ActivitySave: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnNameSelectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnRelatedToChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnSubjectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnCallNotesChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onNameSelectChange(event) {\r\n this.activity.WhoObject = this.getWho(event.currentTarget.value);\r\n this.OnNameSelectChange.emit(this.activity);\r\n }\r\n\r\n public parseWhoObject(whoObject: IActivityDetails): string {\r\n return whoObject.objectType + ': ' + whoObject.objectName;\r\n }\r\n\r\n public parseWhatObject(whatObject: IActivityDetails): string {\r\n return whatObject.objectType + ': ' + whatObject.objectName;\r\n }\r\n\r\n public onRelatedToChange(event) {\r\n this.activity.WhatObject = this.getWhat(event.currentTarget.value);\r\n this.OnRelatedToChange.emit(this.activity);\r\n }\r\n\r\n public onSubjectChange(event) {\r\n this.activity.Subject = event.srcElement.value;\r\n this.OnSubjectChange.emit(this.activity);\r\n }\r\n public onCallNotesChange(event) {\r\n this.activity.Subject = event.srcElement.value.trim();\r\n this.OnCallNotesChange.emit(this.activity);\r\n }\r\n\r\n public getWho(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whoList.length; i++) {\r\n if (this.activity.whoList[i].objectId === id) {\r\n return this.activity.whoList[i];\r\n }\r\n }\r\n }\r\n public getWhat(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whatList.length; i++) {\r\n if (this.activity.whatList[i].objectId === id) {\r\n return this.activity.whatList[i];\r\n }\r\n }\r\n }\r\n\r\n public loadQuickComment(value) {\r\n this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];\r\n }\r\n\r\n public activitySave(clearActivityFields) {\r\n this.ActivitySave.emit(this.activity);\r\n }\r\n}\r\n","import { ILoginData } from './../../models/login.interface';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\n@Component({\n selector: 'amc-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n @Input() loginData: ILoginData;\n @Output() loginDetailsProvided = new EventEmitter<ILoginData>();\n\n constructor() { }\n\n ngOnInit() {\n if (!this.loginData.header) {\n this.loginData.header = 'Login';\n }\n\n for (let field of this.loginData.fields) {\n if (!field.isInvalid) {\n field.isInvalid = false;\n }\n }\n }\n\n onLogin(loginForm: NgForm) {\n for (const field of this.loginData.fields) {\n field.value = loginForm.value[field.name];\n }\n\n this.loginDetailsProvided.emit(this.loginData);\n }\n\n focusOutOfInput(loginForm: NgForm, field) {\n if (!loginForm.controls[field.name].valid) {\n field.isInvalid = true;\n }\n\n // console.log(loginForm);\n // console.log(field);\n }\n}\n","import { NgModule, Injector } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InteractionComponent } from './components/interaction/interaction.component';\r\nimport { ScenarioComponent } from './components/scenario/scenario.component';\r\nimport { OperationComponent } from './components/operation/operation.component';\r\nimport { PropertyComponent } from './components/property/property.component';\r\nimport { HoldtimerComponent } from './components/holdtimer/holdtimer.component';\r\nimport { DurationComponent } from './components/duration/duration.component';\r\nimport { ChatBoxComponent } from './components/chat-box/chat-box.component';\r\nimport { ChatMessageComponent } from './components/chat-message/chat-message.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { ElementZoneStrategyFactory } from 'elements-zone-strategy';\r\nimport { DispositionComponent } from './components/disposition/disposition.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\n\r\n@NgModule({\r\n imports: [BrowserModule, CommonModule, FormsModule],\r\n declarations: [\r\n InteractionComponent,\r\n ScenarioComponent,\r\n OperationComponent,\r\n PropertyComponent,\r\n HoldtimerComponent,\r\n DurationComponent,\r\n ChatBoxComponent,\r\n ChatMessageComponent,\r\n DispositionComponent,\r\n ActivityComponent,\r\n LoginComponent\r\n ],\r\n entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent],\r\n bootstrap: [],\r\n exports: [ScenarioComponent, DispositionComponent, LoginComponent]\r\n})\r\nexport class UILibraryModule {\r\n constructor(private injector: Injector) { }\r\n\r\n ngDoBootstrap(app) {\r\n if (!customElements.get('amc-webcomponents-scenario')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n ScenarioComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-scenario',\r\n createCustomElement(ScenarioComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-disposition')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n DispositionComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-disposition',\r\n createCustomElement(DispositionComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-login')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n LoginComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-disposition',\r\n createCustomElement(LoginComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport * from './models/uilibrary.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ActivityComponent as ɵj} from './projects/UILibrary/src/app/components/activity/activity.component';\nexport {ChatBoxComponent as ɵg} from './projects/UILibrary/src/app/components/chat-box/chat-box.component';\nexport {ChatMessageComponent as ɵh} from './projects/UILibrary/src/app/components/chat-message/chat-message.component';\nexport {DispositionComponent as ɵi} from './projects/UILibrary/src/app/components/disposition/disposition.component';\nexport {DurationComponent as ɵf} from './projects/UILibrary/src/app/components/duration/duration.component';\nexport {HoldtimerComponent as ɵe} from './projects/UILibrary/src/app/components/holdtimer/holdtimer.component';\nexport {InteractionComponent as ɵa} from './projects/UILibrary/src/app/components/interaction/interaction.component';\nexport {LoginComponent as ɵk} from './projects/UILibrary/src/app/components/login/login.component';\nexport {OperationComponent as ɵc} from './projects/UILibrary/src/app/components/operation/operation.component';\nexport {PropertyComponent as ɵd} from './projects/UILibrary/src/app/components/property/property.component';\nexport {ScenarioComponent as ɵb} from './projects/UILibrary/src/app/components/scenario/scenario.component';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amc-technology-ui-library.js","sources":["ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/interaction/interaction.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/scenario/scenario.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/operation/operation.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/chat.message.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/uilibrary.model.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/Helpers.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/property/property.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/duration/duration.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-box/chat-box.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-message/chat-message.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/disposition/disposition.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/activity/activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/login/login.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/uilibrary.module.ts","ng://@amc-technology/ui-library/amc-technology-ui-library.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IInteraction } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-interaction',\r\n templateUrl: './interaction.component.html',\r\n styleUrls: ['./interaction.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class InteractionComponent implements OnInit {\r\n\r\n @Input() interaction: IInteraction;\r\n @Output() minimizedChanged: EventEmitter<boolean> = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n /**\r\n * @ignore\r\n */\r\n minimized: boolean;\r\n set _minimized(value) {\r\n this.minimized = value;\r\n this.minimizedChanged.emit(value);\r\n }\r\n get _minimized() {\r\n return this.minimized;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n minimize(): void {\r\n this._minimized = true;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n maximize(): void {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n isConferenceCall(): boolean {\r\n if (this.interaction.parties && this.interaction.parties.length > 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n collapseKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.minimize();\r\n }\r\n }\r\n\r\n expandKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.maximize();\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n AfterViewChecked\r\n} from '@angular/core';\r\nimport { IScenario } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'amc-scenario',\r\n templateUrl: './scenario.component.html',\r\n styleUrls: ['./scenario.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class ScenarioComponent implements AfterViewChecked {\r\n @Input() scenario: IScenario;\r\n @Output() minimizedChanged = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n @Output() afterViewChecked = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewChecked() {\r\n this.afterViewChecked.emit();\r\n }\r\n\r\n onMinimizedChanged() {\r\n this.minimizedChanged.emit();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IOperation } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-operation',\r\n templateUrl: './operation.component.html',\r\n styleUrls: ['./operation.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class OperationComponent implements OnInit {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() operations: IOperation[];\r\n\r\n labelledByText = '';\r\n describedByText = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.describedByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.describedByText = this.statusText;\r\n } else if (this.callType) {\r\n this.describedByText = this.callType\r\n }\r\n\r\n if (this.callId) {\r\n this.labelledByText = this.callId;\r\n }\r\n }\r\n\r\n operationKeypress(event: KeyboardEvent, operation: IOperation) {\r\n if (event.code === 'Enter') {\r\n operation.handler(operation.operationName, operation.operationMetadata);\r\n }\r\n }\r\n}\r\n","export interface IChatMessage {\r\n username?: string;\r\n text: string;\r\n /**\r\n * What type of chat message. Defaults to OTHER_PERSON\r\n */\r\n type?: IChatMessageType;\r\n timestamp?: string;\r\n userIcon?: URL;\r\n}\r\n\r\nexport enum IChatMessageType {\r\n AGENT = 'AGENT',\r\n OTHER_PERSON = 'OTHER_PERSON',\r\n INFORMATION = 'INFORMATION'\r\n}\r\n","import { IChatSettings } from './chat.settings';\r\nimport { IChatMessage } from './chat.message';\r\n\r\nexport * from './chat.message';\r\nexport * from './chat.settings';\r\n\r\n/**\r\n * It is collection of Interaction which need to be displayed on scenario component.\r\n */\r\nexport interface IScenario {\r\n interactions: IInteraction[];\r\n}\r\n\r\nexport interface IInteraction {\r\n /**\r\n * Unique id for the interaction.\r\n * Note: this interactionId is also used to provide id for the div element.\r\n */\r\n interactionId: string;\r\n properties?: Property[];\r\n associatedData?: Property[];\r\n startTime: number;\r\n displayCallTimer: boolean;\r\n /**\r\n * parties is supposed to contain data about all the participants in call except agent himself.\r\n */\r\n parties?: IParty[];\r\n /**\r\n * Operations/buttons which needs to be displayed in interaction and its handlers.\r\n */\r\n operations?: IOperation[];\r\n\r\n /**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\n UIHeadersData: IInteractionUIHeaders;\r\n\r\n /**\r\n * Should contain identifying information about the main party in the interaction.\r\n */\r\n subheaderData: IPartyHeader;\r\n\r\n /**\r\n * This enables and configures the chat UI\r\n */\r\n chat?: {\r\n settings: IChatSettings;\r\n messages: IChatMessage[];\r\n isCustomerTyping?: boolean;\r\n };\r\n}\r\n\r\nexport interface IActivity {\r\n interactionId: string;\r\n WhoObject: IActivityDetails;\r\n WhatObject: IActivityDetails;\r\n whoList: IActivityDetails[];\r\n whatList: IActivityDetails[];\r\n CallType: string;\r\n CallDurationInSeconds: string;\r\n Subject: string;\r\n SubjectFieldName: string;\r\n NameFieldName: string;\r\n RelatedToFieldName: string;\r\n Description: string;\r\n Status: string;\r\n ActivityDate: string;\r\n TimeStamp: Date;\r\n ActivityId: string;\r\n quickCommentList: string[];\r\n}\r\n\r\nexport interface IActivityDetails {\r\n objectType: string;\r\n displayName: string;\r\n objectName: string;\r\n objectId: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n * This contains the main identifying information about the interaction.\r\n */\r\nexport interface IPartyHeader {\r\n /**\r\n * Image that identifies the type of interaction\r\n * or the type of the identifying information(ex: phone icon for phone number)\r\n */\r\n image?: URL;\r\n /**\r\n * The tooltip to be displayed when the image is hovered over\r\n */\r\n tooltip?: string;\r\n /**\r\n * The value to be displayed\r\n */\r\n value: string;\r\n}\r\n\r\n/**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\nexport interface IInteractionUIHeaders {\r\n /**\r\n * Minimize icon url.\r\n */\r\n minimizeUrl: URL;\r\n\r\n /**\r\n * Maximize Icon url.\r\n */\r\n maximizeUrl: URL;\r\n\r\n /**\r\n * This is the URL for the status image.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusUrl: URL;\r\n\r\n /**\r\n * This is the handler for focus(Triggered on click of status).\r\n * @memberof IInteractionUIHeaders\r\n */\r\n focusHandler?: IFocus;\r\n\r\n /**\r\n * This is the text which is going to be displayed for status of the call.\r\n *\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusText: string;\r\n\r\n /**\r\n *This member will contain the text related to the direction of the call. E.g Inbound, Outbound etc.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n directionText: string;\r\n\r\n /**\r\n *This data will be used to display hold counter whihc will be the combination of the current hold time and complete hold time.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n holdCounterData?: IHoldCounterData;\r\n\r\n /**\r\n *If this value is set to true then hold counter is displayed based on the holdCounterData.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n displayHoldCounter: boolean;\r\n}\r\nexport interface ICallDuration {\r\n startTime: number;\r\n endTime: number;\r\n}\r\nexport interface IHoldCounterData {\r\n pastCallDurations?: ICallDuration[];\r\n currentHoldStartTime: number;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IFocus {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IOperation {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * URL for the icon of operations.\r\n */\r\n icon: URL;\r\n /**\r\n * Title which needs to be doisplayed when someone hovers over the icon.\r\n */\r\n title: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n /**\r\n * Browser accesskey to jump instantly to this operation Should conform to AMC norms and consist of a single printable character.\r\n */\r\n accesskey?: string\r\n}\r\n\r\n/**\r\n * This contains properties and operations to be displayed for conference member.\r\n */\r\nexport interface IParty {\r\n header: IPartyHeader;\r\n properties: Property[];\r\n operations: IOperation[];\r\n}\r\n\r\n/**\r\n * key value pairs which can be used amongst other interfaces/classes to store metadata of those entities.\r\n */\r\n\r\nexport interface IMetadata {\r\n key: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * This interface contains key value pairs, some custom operation which generates display key and display value.\r\n * Also it includes custom operation handler for click event on properties.\r\n */\r\nexport interface IProperty {\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n}\r\n\r\n/**\r\n * A helper method to make instances of [IProperty]\r\n */\r\nexport class Property implements IProperty {\r\n private key: string;\r\n private value: any;\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n\r\n /**\r\n * Operation responsible for generating displayKey and dispkayValur from key and value.\r\n */\r\n displayOperation: () => void = () => {\r\n this.displayKey = this.key;\r\n this.displayValue = this.value;\r\n }\r\n\r\n /**\r\n *\r\n * @param key\r\n * @param value : if value type is COUNTER then value should be start time in MilliSeconds.\r\n * @param visible\r\n * @param valueType\r\n * @param customOperation\r\n */\r\n constructor(\r\n key: string,\r\n value: any,\r\n visible?: boolean,\r\n valueType?: ValueType,\r\n customOperation?: IEventHandler\r\n ) {\r\n this.key = key;\r\n this.value = value;\r\n visible != null ? (this.visible = visible) : (this.visible = true);\r\n valueType != null\r\n ? (this.displayValueType = valueType)\r\n : (this.displayValueType = ValueType.STRING);\r\n this.customOperations = customOperation;\r\n this.displayOperation();\r\n }\r\n}\r\n\r\n/**\r\n * Interface which contains eventName and handler associated with it.\r\n */\r\nexport interface IEventHandler {\r\n eventName: string;\r\n handler: (eventName: string, eventMetadata?: IMetadata[]) => void;\r\n eventMetadata?: IMetadata[];\r\n}\r\n\r\n/**\r\n * enum for Value types of PROPERTY.\r\n */\r\nexport enum ValueType {\r\n STRING,\r\n COUNTER\r\n}\r\n","export function secondsToHms(seconds_in: number): string {\r\n seconds_in = Number(seconds_in);\r\n const h = Math.floor(seconds_in / 3600);\r\n const m = Math.floor(seconds_in % 3600 / 60);\r\n const s = Math.floor(seconds_in % 3600 % 60);\r\n\r\n const hDisplay = h > 0 ? h.toString() + ':' : '';\r\n const mDisplay = m > 0 ? ('0' + m.toString()).slice(-2) + ':' : '00:';\r\n const sDisplay = s > 0 ? ('0' + s.toString()).slice(-2) : '00';\r\n return hDisplay + mDisplay + sDisplay;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ValueType, IProperty } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-property',\r\n templateUrl: './property.component.html',\r\n styleUrls: ['./property.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class PropertyComponent implements OnInit, OnDestroy {\r\n\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() property: IProperty;\r\n\r\n labelledByText = '';\r\n title = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n processedDisplayValue: string;\r\n\r\n /**\r\n * @ignore\r\n */\r\n private _timerId?: number;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n\r\n this._timerId = null;\r\n this.processedDisplayValue = '';\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.labelledByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callType) {\r\n this.labelledByText = this.callType\r\n }\r\n\r\n if (this.callType && this.callId) {\r\n this.title = `${this.callType} ${this.callId}`\r\n } else if (this.callType) {\r\n this.title = this.callType;\r\n } else if (this.callId) {\r\n this.title = this.callId;\r\n }\r\n\r\n this.initValues();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n initValues(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n this.startCallCounter();\r\n } else {\r\n this.processedDisplayValue = this.property.displayValue;\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.property.displayValue;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.processedDisplayValue = secondsToHms(secondsPassed);\r\n }, 1000);\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { IHoldCounterData, ICallDuration } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n@Component({\r\n selector: 'amc-holdtimer',\r\n templateUrl: './holdtimer.component.html',\r\n styleUrls: ['./holdtimer.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class HoldtimerComponent implements OnInit, OnDestroy {\r\n @Input() holdCounterData: IHoldCounterData;\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n const pastTimeInSeconds = this.CaculatePastHoldDuration();\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassedCurrentCall: number = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));\r\n this.displayTime = secondsToHms(secondsPassedCurrentCall) +\r\n '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);\r\n }, 1000);\r\n }\r\n }\r\n\r\n private CaculatePastHoldDuration(): number {\r\n let pastTimeInSeconds = 0;\r\n if (this.holdCounterData.pastCallDurations) {\r\n this.holdCounterData.pastCallDurations.forEach((holdTimerIterator: ICallDuration) => {\r\n pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;\r\n });\r\n }\r\n return pastTimeInSeconds;\r\n\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-duration',\r\n templateUrl: './duration.component.html',\r\n styleUrls: ['./duration.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class DurationComponent implements OnInit, OnDestroy {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() startTime: number;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.startTime;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked } from '@angular/core';\r\nimport { IChatMessage, IChatMessageType } from '../../models/chat.message';\r\nimport { IChatSettings } from '../../models/chat.settings';\r\n\r\n@Component({\r\n selector: 'app-chat-box',\r\n templateUrl: './chat-box.component.html',\r\n styleUrls: ['./chat-box.component.scss'],\r\n})\r\nexport class ChatBoxComponent implements AfterViewChecked {\r\n @Input() settings: IChatSettings;\r\n @Input() isTyping = false;\r\n\r\n @Input() messages: IChatMessage[];\r\n private lastCount = -1;\r\n\r\n _isAgentTyping = false;\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n\r\n @Output() newMessage = new EventEmitter<string>();\r\n newMessageText = '';\r\n\r\n @ViewChild('MessagesContainer', { static: true }) messagesContainer: ElementRef;\r\n\r\n usernameToColor: { [username: string]: string } = {};\r\n colors = [\r\n '#81c784',\r\n '#ffab91',\r\n '#f48fb1',\r\n '#29b6f6',\r\n '#e1bee7',\r\n '#9ccc65',\r\n '#ffc107',\r\n '#26c6da',\r\n '#cddc39',\r\n ];\r\n colorsIndex = 0;\r\n agentColor = '#29b6f6';\r\n\r\n constructor() { }\r\n\r\n ngAfterViewChecked() {\r\n if (this.lastCount !== this.messages.length) {\r\n this.lastCount = this.messages.length;\r\n this.scrollToBottom();\r\n }\r\n }\r\n\r\n getColor(message: IChatMessage) {\r\n if (message.type && message.type === IChatMessageType.AGENT) {\r\n return this.agentColor;\r\n } else if (message.username) {\r\n if (!this.usernameToColor[message.username]) {\r\n this.usernameToColor[message.username] = this.colors[this.colorsIndex];\r\n this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;\r\n }\r\n return this.usernameToColor[message.username];\r\n } else {\r\n return this.colors[0];\r\n }\r\n }\r\n\r\n shouldAlignRight(message: IChatMessage) {\r\n return message.type && message.type === IChatMessageType.AGENT;\r\n }\r\n\r\n sendNewMessage() {\r\n if (this.newMessageText) {\r\n this.newMessage.emit(this.newMessageText);\r\n this.newMessageText = '';\r\n }\r\n }\r\n\r\n onNewMessageFocus(event: boolean) {\r\n const isTyping = event && this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n onKeyup() {\r\n const isTyping = this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n scrollToBottom() {\r\n try {\r\n this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;\r\n }\r\n catch (e) { }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() alignRight = false;\r\n @Input() username: string;\r\n @Input() color: string;\r\n @Input() timestamp: string;\r\n @Input() image: string;\r\n @Input() fallbackImage: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { IDisposition, IDispositionResult } from './../../models/disposition.interface';\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-disposition',\r\n templateUrl: './disposition.component.html',\r\n styleUrls: ['./disposition.component.css']\r\n})\r\nexport class DispositionComponent implements OnInit {\r\n @Input() disposition: IDisposition;\r\n\r\n @Output() dispositionEmitter = new EventEmitter<IDispositionResult>();\r\n\r\n selectedDispositionValue: string = '';\r\n dispositionName: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n for (const metadata of this.disposition.dispositionMetadata) {\r\n if (metadata.key === 'callId') {\r\n this.dispositionName = `disposition_${metadata.value}`;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (this.disposition.checkedDisposition) {\r\n this.selectedDispositionValue = this.disposition.checkedDisposition;\r\n }\r\n }\r\n\r\n submitDisposition() {\r\n const selectedDisposition: IDispositionResult = {\r\n dispositionId: this.selectedDispositionValue,\r\n dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),\r\n dispositionMetadata: this.disposition.dispositionMetadata\r\n };\r\n\r\n this.dispositionEmitter.emit(selectedDisposition);\r\n }\r\n\r\n selectAndSubmitDisposition(event: KeyboardEvent, dispositionKey: string) {\r\n if (event.code === 'Enter') {\r\n this.selectedDispositionValue = dispositionKey;\r\n this.submitDisposition();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IActivity, IActivityDetails } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'app-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\nisActivityMaximized: boolean;\r\n@Input() activity: IActivity;\r\n@Output() ActivitySave: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnNameSelectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnRelatedToChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnSubjectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnCallNotesChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onNameSelectChange(event) {\r\n this.activity.WhoObject = this.getWho(event.currentTarget.value);\r\n this.OnNameSelectChange.emit(this.activity);\r\n }\r\n\r\n public parseWhoObject(whoObject: IActivityDetails): string {\r\n return whoObject.objectType + ': ' + whoObject.objectName;\r\n }\r\n\r\n public parseWhatObject(whatObject: IActivityDetails): string {\r\n return whatObject.objectType + ': ' + whatObject.objectName;\r\n }\r\n\r\n public onRelatedToChange(event) {\r\n this.activity.WhatObject = this.getWhat(event.currentTarget.value);\r\n this.OnRelatedToChange.emit(this.activity);\r\n }\r\n\r\n public onSubjectChange(event) {\r\n this.activity.Subject = event.srcElement.value;\r\n this.OnSubjectChange.emit(this.activity);\r\n }\r\n public onCallNotesChange(event) {\r\n this.activity.Subject = event.srcElement.value.trim();\r\n this.OnCallNotesChange.emit(this.activity);\r\n }\r\n\r\n public getWho(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whoList.length; i++) {\r\n if (this.activity.whoList[i].objectId === id) {\r\n return this.activity.whoList[i];\r\n }\r\n }\r\n }\r\n public getWhat(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whatList.length; i++) {\r\n if (this.activity.whatList[i].objectId === id) {\r\n return this.activity.whatList[i];\r\n }\r\n }\r\n }\r\n\r\n public loadQuickComment(value) {\r\n this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];\r\n }\r\n\r\n public activitySave(clearActivityFields) {\r\n this.ActivitySave.emit(this.activity);\r\n }\r\n}\r\n","import { ILoginData } from './../../models/login.interface';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'amc-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n @Input() loginData: ILoginData;\r\n @Output() loginDetailsProvided = new EventEmitter<ILoginData>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (!this.loginData.header) {\r\n this.loginData.header = 'Login';\r\n }\r\n\r\n for (let field of this.loginData.fields) {\r\n if (!field.isInvalid) {\r\n field.isInvalid = false;\r\n }\r\n }\r\n }\r\n\r\n onLogin(loginForm: NgForm) {\r\n for (const field of this.loginData.fields) {\r\n field.value = loginForm.value[field.name];\r\n }\r\n\r\n this.loginDetailsProvided.emit(this.loginData);\r\n }\r\n\r\n focusOutOfInput(loginForm: NgForm, field) {\r\n if (!loginForm.controls[field.name].valid) {\r\n field.isInvalid = true;\r\n }\r\n\r\n // console.log(loginForm);\r\n // console.log(field);\r\n }\r\n}\r\n","import { NgModule, Injector } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InteractionComponent } from './components/interaction/interaction.component';\r\nimport { ScenarioComponent } from './components/scenario/scenario.component';\r\nimport { OperationComponent } from './components/operation/operation.component';\r\nimport { PropertyComponent } from './components/property/property.component';\r\nimport { HoldtimerComponent } from './components/holdtimer/holdtimer.component';\r\nimport { DurationComponent } from './components/duration/duration.component';\r\nimport { ChatBoxComponent } from './components/chat-box/chat-box.component';\r\nimport { ChatMessageComponent } from './components/chat-message/chat-message.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { ElementZoneStrategyFactory } from 'elements-zone-strategy';\r\nimport { DispositionComponent } from './components/disposition/disposition.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\n\r\n@NgModule({\r\n imports: [BrowserModule, CommonModule, FormsModule],\r\n declarations: [\r\n InteractionComponent,\r\n ScenarioComponent,\r\n OperationComponent,\r\n PropertyComponent,\r\n HoldtimerComponent,\r\n DurationComponent,\r\n ChatBoxComponent,\r\n ChatMessageComponent,\r\n DispositionComponent,\r\n ActivityComponent,\r\n LoginComponent\r\n ],\r\n entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent],\r\n bootstrap: [],\r\n exports: [ScenarioComponent, DispositionComponent, LoginComponent]\r\n})\r\nexport class UILibraryModule {\r\n constructor(private injector: Injector) { }\r\n\r\n ngDoBootstrap(app) {\r\n if (!customElements.get('amc-webcomponents-scenario')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n ScenarioComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-scenario',\r\n createCustomElement(ScenarioComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-disposition')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n DispositionComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-disposition',\r\n createCustomElement(DispositionComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-login')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n LoginComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-login',\r\n createCustomElement(LoginComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport * from './models/uilibrary.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ActivityComponent as ɵj} from './projects/UILibrary/src/app/components/activity/activity.component';\nexport {ChatBoxComponent as ɵg} from './projects/UILibrary/src/app/components/chat-box/chat-box.component';\nexport {ChatMessageComponent as ɵh} from './projects/UILibrary/src/app/components/chat-message/chat-message.component';\nexport {DispositionComponent as ɵi} from './projects/UILibrary/src/app/components/disposition/disposition.component';\nexport {DurationComponent as ɵf} from './projects/UILibrary/src/app/components/duration/duration.component';\nexport {HoldtimerComponent as ɵe} from './projects/UILibrary/src/app/components/holdtimer/holdtimer.component';\nexport {InteractionComponent as ɵa} from './projects/UILibrary/src/app/components/interaction/interaction.component';\nexport {LoginComponent as ɵk} from './projects/UILibrary/src/app/components/login/login.component';\nexport {OperationComponent as ɵc} from './projects/UILibrary/src/app/components/operation/operation.component';\nexport {PropertyComponent as ɵd} from './projects/UILibrary/src/app/components/property/property.component';\nexport {ScenarioComponent as ɵb} from './projects/UILibrary/src/app/components/scenario/scenario.component';"],"names":[],"mappings":"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"}
@@ -798,8 +798,8 @@ var LoginComponent = /** @class */ (function () {
798
798
  LoginComponent = __decorate([
799
799
  Component({
800
800
  selector: 'amc-login',
801
- template: "<div class=\"login-container\">\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\n <div class=\"header-container\">\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\n </div>\n <div class=\"fields-container\">\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\n <label class=\"field-label\">\n {{ field.name }}:\n </label>\n\n <input\n ngModel\n class=\"field-input\"\n attr.aria-label=\"{{ field.name }}\"\n [name]=\"field.name\"\n [type]=\"field.type\"\n [value]=\"field.value\"\n [placeholder]=\"field.placeholder || ''\"\n [required]=\"field.isRequired || false\"\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\n\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\n </div>\n\n <button\n type=\"submit\"\n class=\"form-submit\"\n form=\"login-form\"\n tabindex=\"0\"\n attr.aria-label=\"send\"\n [disabled]=\"!loginForm.valid\">Login</button>\n </div>\n\n </form>\n</div>\n",
802
- styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:200px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;max-height:160px;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
801
+ template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n",
802
+ styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:-webkit-sticky;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
803
803
  })
804
804
  ], LoginComponent);
805
805
  return LoginComponent;
@@ -826,7 +826,7 @@ var UILibraryModule = /** @class */ (function () {
826
826
  }
827
827
  if (!customElements.get('amc-webcomponents-login')) {
828
828
  var strategyFactory = new ElementZoneStrategyFactory(LoginComponent, this.injector);
829
- customElements.define('amc-webcomponents-disposition', createCustomElement(LoginComponent, {
829
+ customElements.define('amc-webcomponents-login', createCustomElement(LoginComponent, {
830
830
  injector: this.injector,
831
831
  strategyFactory: strategyFactory
832
832
  }));