@seniorsistemas/angular-components 17.1.0 → 17.1.2

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.
Files changed (34) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +118 -109
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/configurations/fields/bignumber-field.d.ts +2 -0
  6. package/components/dynamic-form/configurations/form-field.d.ts +1 -0
  7. package/components/switch/switch.component.d.ts +1 -0
  8. package/components/table/table-paging/table-paging.component.d.ts +1 -0
  9. package/esm2015/components/accordion/accordion.module.js +3 -3
  10. package/esm2015/components/accordion/components/accordion-panel/accordion-panel.component.js +3 -3
  11. package/esm2015/components/dynamic-form/components/fields/bignumber/number-field.component.js +2 -2
  12. package/esm2015/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +2 -2
  13. package/esm2015/components/dynamic-form/components/fields/chips/chips-field.component.js +3 -2
  14. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  15. package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
  16. package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -3
  17. package/esm2015/components/switch/switch.component.js +6 -3
  18. package/esm2015/components/table/table-paging/table-paging.component.js +6 -2
  19. package/esm5/components/accordion/accordion.module.js +3 -3
  20. package/esm5/components/accordion/components/accordion-panel/accordion-panel.component.js +3 -3
  21. package/esm5/components/dynamic-form/components/fields/bignumber/number-field.component.js +2 -2
  22. package/esm5/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +2 -2
  23. package/esm5/components/dynamic-form/components/fields/chips/chips-field.component.js +3 -2
  24. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  25. package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
  26. package/esm5/components/dynamic-form/dynamic-form.module.js +3 -3
  27. package/esm5/components/switch/switch.component.js +6 -3
  28. package/esm5/components/table/table-paging/table-paging.component.js +6 -2
  29. package/fesm2015/seniorsistemas-angular-components.js +111 -103
  30. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  31. package/fesm5/seniorsistemas-angular-components.js +116 -108
  32. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  33. package/package.json +1 -1
  34. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -52,6 +52,9 @@ var SwitchComponent = /** @class */ (function () {
52
52
  __decorate([
53
53
  Input()
54
54
  ], SwitchComponent.prototype, "inputId", void 0);
55
+ __decorate([
56
+ Input()
57
+ ], SwitchComponent.prototype, "inputName", void 0);
55
58
  __decorate([
56
59
  Input()
57
60
  ], SwitchComponent.prototype, "disabled", void 0);
@@ -73,16 +76,16 @@ var SwitchComponent = /** @class */ (function () {
73
76
  SwitchComponent = SwitchComponent_1 = __decorate([
74
77
  Component({
75
78
  selector: 's-switch',
76
- template: "<div #switch class=\"switch\" [ngClass]=\"{ 'switch--disabled': disabled }\">\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly || disabled\"\n (change)=\"toggleCheck()\">\n <span class=\"slider\"></span>\n </label>\n <span class=\"label\">\n {{ value ? trueLabel : falseLabel }}\n </span>\n</div>",
79
+ template: "<div #switch class=\"switch\" [ngClass]=\"{ 'switch--disabled': disabled }\">\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly || disabled\"\n (change)=\"toggleCheck()\">\n <span class=\"slider\"></span>\n </label>\n <span class=\"label\">\n {{ value ? trueLabel : falseLabel }}\n </span>\n</div>",
77
80
  providers: [{
78
81
  provide: NG_VALUE_ACCESSOR,
79
82
  useExisting: forwardRef(function () { return SwitchComponent_1; }),
80
83
  multi: true,
81
84
  }],
82
- styles: [".switch{display:-ms-inline-flexbox;display:inline-flex}.switch .switch-toggle{display:inline-block;height:24px;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translateX(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428BCA80}"]
85
+ styles: [".switch{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.switch .switch-toggle{display:inline-block;height:24px;margin:0;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translateX(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428BCA80}"]
83
86
  })
84
87
  ], SwitchComponent);
85
88
  return SwitchComponent;
86
89
  }());
87
90
  export { SwitchComponent };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQkFBc0I7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZekU7SUFBQTtRQUVTLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFZakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHM0MsVUFBSyxHQUFHLEtBQUssQ0FBQztJQThDdkIsQ0FBQzt3QkFsRVksZUFBZTtJQTBCMUIsbUNBQVMsR0FBVDtRQUNFLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBR0Qsb0NBQVUsR0FBVjtRQUNFLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBS00sb0NBQVUsR0FBakIsVUFBa0IsS0FBYztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTSwwQ0FBZ0IsR0FBdkIsVUFBd0IsUUFBa0M7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJDQUFpQixHQUF4QixVQUF5QixTQUFtQztRQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRU0sMENBQWdCLEdBQXZCLFVBQXlCLFFBQWlCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxxQ0FBVyxHQUFsQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDOztJQS9ERDtRQURDLEtBQUssRUFBRTtxREFDZ0I7SUFHeEI7UUFEQyxLQUFLLEVBQUU7c0RBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFO3VEQUNtQjtJQUczQjtRQURDLEtBQUssRUFBRTtvREFDZTtJQUd2QjtRQURDLEtBQUssRUFBRTtxREFDZ0I7SUFHeEI7UUFEQyxNQUFNLEVBQUU7eURBQ3lDO0lBR2xEO1FBREMsS0FBSyxFQUFFO2tEQUNhO0lBR3JCO1FBREMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztzREFDVDtJQUc3QjtRQURDLFlBQVksQ0FBQyxTQUFTLENBQUM7b0RBSXZCO0lBR0Q7UUFEQyxZQUFZLENBQUMsVUFBVSxDQUFDO3FEQUl4QjtJQW5DVSxlQUFlO1FBVjNCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxVQUFVO1lBQ3BCLCtlQUFzQztZQUV0QyxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxpQkFBZSxFQUFmLENBQWUsQ0FBQztvQkFDOUMsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQzs7U0FDSCxDQUFDO09BQ1csZUFBZSxDQWtFM0I7SUFBRCxzQkFBQztDQUFBLEFBbEVELElBa0VDO1NBbEVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzd2l0Y2guY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG4gIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cnVlTGFiZWw/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZhbHNlTGFiZWw/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsdWUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwic3dpdGNoXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzd2l0Y2hSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIG9uRm9jdXNJbigpIHtcbiAgICBjb25zdCBzd2l0Y2hFbGVtZW50ID0gdGhpcy5zd2l0Y2hSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDsgXG4gICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic3dpdGNoLS1mb2N1c1wiKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgb25Gb2N1c091dCgpIHtcbiAgICBjb25zdCBzd2l0Y2hFbGVtZW50ID0gdGhpcy5zd2l0Y2hSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDsgXG4gICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwic3dpdGNoLS1mb2N1c1wiKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX29uVG91Y2hlZDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2hlY2soKSB7XG4gICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxufSJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQkFBc0I7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZekU7SUFBQTtRQUVTLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFlakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHM0MsVUFBSyxHQUFHLEtBQUssQ0FBQztJQThDdkIsQ0FBQzt3QkFyRVksZUFBZTtJQTZCMUIsbUNBQVMsR0FBVDtRQUNFLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBR0Qsb0NBQVUsR0FBVjtRQUNFLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBS00sb0NBQVUsR0FBakIsVUFBa0IsS0FBYztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTSwwQ0FBZ0IsR0FBdkIsVUFBd0IsUUFBa0M7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJDQUFpQixHQUF4QixVQUF5QixTQUFtQztRQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRU0sMENBQWdCLEdBQXZCLFVBQXlCLFFBQWlCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxxQ0FBVyxHQUFsQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDOztJQWxFRDtRQURDLEtBQUssRUFBRTtxREFDZ0I7SUFHeEI7UUFEQyxLQUFLLEVBQUU7c0RBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFO3VEQUNtQjtJQUczQjtRQURDLEtBQUssRUFBRTtvREFDZTtJQUd2QjtRQURDLEtBQUssRUFBRTtzREFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7cURBQ2dCO0lBR3hCO1FBREMsTUFBTSxFQUFFO3lEQUN5QztJQUdsRDtRQURDLEtBQUssRUFBRTtrREFDYTtJQUdyQjtRQURDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7c0RBQ1Q7SUFHN0I7UUFEQyxZQUFZLENBQUMsU0FBUyxDQUFDO29EQUl2QjtJQUdEO1FBREMsWUFBWSxDQUFDLFVBQVUsQ0FBQztxREFJeEI7SUF0Q1UsZUFBZTtRQVYzQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtZQUNwQixpaEJBQXNDO1lBRXRDLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLGlCQUFlLEVBQWYsQ0FBZSxDQUFDO29CQUM5QyxLQUFLLEVBQUUsSUFBSTtpQkFDWixDQUFDOztTQUNILENBQUM7T0FDVyxlQUFlLENBcUUzQjtJQUFELHNCQUFDO0NBQUEsQUFyRUQsSUFxRUM7U0FyRVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN3aXRjaC5jb21wb25lbnQudHNcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Mtc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRydWVMYWJlbD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmFsc2VMYWJlbD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5wdXRJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnB1dE5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsdWUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwic3dpdGNoXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzd2l0Y2hSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIG9uRm9jdXNJbigpIHtcbiAgICBjb25zdCBzd2l0Y2hFbGVtZW50ID0gdGhpcy5zd2l0Y2hSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDsgXG4gICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic3dpdGNoLS1mb2N1c1wiKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgb25Gb2N1c091dCgpIHtcbiAgICBjb25zdCBzd2l0Y2hFbGVtZW50ID0gdGhpcy5zd2l0Y2hSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDsgXG4gICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwic3dpdGNoLS1mb2N1c1wiKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX29uVG91Y2hlZDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2hlY2soKSB7XG4gICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -9,6 +9,7 @@ var TablePagingComponent = /** @class */ (function () {
9
9
  function TablePagingComponent(translate, hostProjectConfigs) {
10
10
  this.translate = translate;
11
11
  this.hostProjectConfigs = hostProjectConfigs;
12
+ this.exportable = true;
12
13
  this.enableExportSelectedRecords = true;
13
14
  }
14
15
  TablePagingComponent.prototype.ngOnChanges = function (changes) {
@@ -210,6 +211,9 @@ var TablePagingComponent = /** @class */ (function () {
210
211
  __decorate([
211
212
  Input()
212
213
  ], TablePagingComponent.prototype, "table", void 0);
214
+ __decorate([
215
+ Input()
216
+ ], TablePagingComponent.prototype, "exportable", void 0);
213
217
  __decorate([
214
218
  Input()
215
219
  ], TablePagingComponent.prototype, "enableExportSelectedRecords", void 0);
@@ -230,7 +234,7 @@ var TablePagingComponent = /** @class */ (function () {
230
234
  ], TablePagingComponent.prototype, "totalRecordsText", void 0);
231
235
  TablePagingComponent = __decorate([
232
236
  Component({
233
- template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{totalRecordsText}}\n </span>\n <s-button class=\"export-button\" \n priority=\"default\" \n iconClass=\"fa fa-fw fa-file-export\" \n [disabled]=\"false\" \n [auxiliary]=\"true\" \n [tooltip]=\"getTooltipText()\" \n [model]=\"getActions()\"></s-button>\n</div>\n",
237
+ template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{totalRecordsText}}\n </span>\n <s-button\n *ngIf=\"exportable\"\n class=\"export-button\" \n priority=\"default\" \n iconClass=\"fa fa-fw fa-file-export\" \n [disabled]=\"false\" \n [auxiliary]=\"true\" \n [tooltip]=\"getTooltipText()\" \n [model]=\"getActions()\">\n </s-button>\n</div>\n",
234
238
  selector: "s-table-paging",
235
239
  styles: [".paging-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.export-button{margin-left:6px}"]
236
240
  }),
@@ -239,4 +243,4 @@ var TablePagingComponent = /** @class */ (function () {
239
243
  return TablePagingComponent;
240
244
  }());
241
245
  export { TablePagingComponent };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUczRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBRUgsZ0NBQWdDLEdBQ25DLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFPdkI7SUFxQkksOEJBQ3FCLFNBQTJCLEVBQ2Usa0JBQXNDO1FBRGhGLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWZyRyxnQ0FBMkIsR0FBRyxJQUFJLENBQUM7SUFnQmhDLENBQUM7SUFFSiwwQ0FBVyxHQUFYLFVBQVksT0FBc0I7O1FBQzlCLFVBQUksT0FBTyxDQUFDLFlBQVksMENBQUUsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsa0JBQWUsRUFBRTtnQkFDeEYsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWTthQUMzQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyxpREFBa0IsR0FBMUI7UUFDSSxPQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLFNBQUksSUFB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RUFDOEI7SUFFdEM7UUFEQyxLQUFLLEVBQUU7d0VBQzZCO0lBRXJDO1FBREMsS0FBSyxFQUFFO3FFQUMwQjtJQUdsQztRQURDLE1BQU0sRUFBRTtrRUFDZ0I7SUFuQmhCLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDUCxpWkFBNEM7WUFFNUMsUUFBUSxFQUFFLGdCQUFnQjs7U0FDN0IsQ0FBQztRQXdCTyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BdkJwQyxvQkFBb0IsQ0FrT2hDO0lBQUQsMkJBQUM7Q0FBQSxBQWxPRCxJQWtPQztTQWxPWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBIb3N0UHJvamVjdENvbmZpZ3MsXG4gICAgSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gXCIuLi8uLi8uLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG5pbXBvcnQgeyBFeHBvcnRVdGlscyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3VzdG9tQWN0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGFibGUtcGFnaW5nLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLXBhZ2luZy5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBzZWxlY3RvcjogXCJzLXRhYmxlLXBhZ2luZ1wiLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2luZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICB0b3RhbFJlY29yZHMhOiBudW1iZXI7XG4gICAgQElucHV0KClcbiAgICBleHBvcnRGaWxlTmFtZT86IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHRhYmxlITogVGFibGU7XG4gICAgQElucHV0KClcbiAgICBlbmFibGVFeHBvcnRTZWxlY3RlZFJlY29yZHMgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tQWN0aW9ucz86IEN1c3RvbUFjdGlvbltdO1xuICAgIEBJbnB1dCgpXG4gICAgbG9hZEFsbFJlY29yZHM/OiAoKSA9PiBQcm9taXNlPGFueVtdPjtcbiAgICBASW5wdXQoKVxuICAgIGxvYWRDdXJyZW50UGFnZVJlY29yZHM/OiAoKSA9PiBhbnlbXTtcbiAgICBASW5wdXQoKVxuICAgIGxvYWRTZWxlY3RlZFJlY29yZHM/OiAoKSA9PiBhbnlbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHRvdGFsUmVjb3Jkc1RleHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQEluamVjdChIb3N0UHJvamVjdENvbmZpZ3NJbmplY3Rpb25Ub2tlbikgcHJpdmF0ZSByZWFkb25seSBob3N0UHJvamVjdENvbmZpZ3M6IEhvc3RQcm9qZWN0Q29uZmlnc1xuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMudG90YWxSZWNvcmRzPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX10b3RhbF9yZWNvcmRzYCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBjaGFuZ2VzLnRvdGFsUmVjb3Jkcy5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGVQcmVmaXgoKSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmhvc3RQcm9qZWN0Q29uZmlncy5kb21haW59LiR7dGhpcy5ob3N0UHJvamVjdENvbmZpZ3Muc2VydmljZX0uYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9vbHRpcFRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X3RvX2NzdmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydEN1cnJlbnRQYWdlXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfY3VycmVudF9wYWdlYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRDdXJyZW50UGFnZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwb3J0U2VsZWN0ZWRSZWNvcmRzKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydFNlbGVjdGVkXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfc2VsZWN0ZWRfcmVjb3Jkc2ApLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZXhwb3J0U2VsZWN0ZWRSZWNvcmRzKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZEFsbFJlY29yZHMpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0QWxsXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfYWxsX3JlY29yZHNgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydEFsbFJlY29yZHMoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jdXN0b21BY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbU1lbnVzID0gdGhpcy5jdXN0b21BY3Rpb25zLm1hcCgocCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiY3VzdG9tQWN0aW9uX1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHAubGFiZWwsXG4gICAgICAgICAgICAgICAgY29tbWFuZDogcC5jb21tYW5kXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goLi4uY3VzdG9tTWVudXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUNvbXBvbmVudCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUYWJsZSBjb21wb25lbnQgbm90IGRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29sdW1uc1RvRXhwb3J0KCkge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMudGFibGUuY29sdW1uc10ubWFwKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRDb2x1bW4gPSB7XG4gICAgICAgICAgICAgICAgaGVhZGVyOiBjb2x1bW4uaGVhZGVyLFxuICAgICAgICAgICAgICAgIGV4cG9ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IGNvbHVtbi5zZXBhcmF0b3IgPz8gXCIgLSBcIixcbiAgICAgICAgICAgICAgICBlbnVtUHJlZml4OiBjb2x1bW4uZW51bVByZWZpeFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5leHBvcnRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5leHBvcnRhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjb2x1bW4uYXR0cmlidXRlcyAmJiBjb2x1bW4uYXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmF0dHJpYnV0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5maWVsZCA9IGNvbHVtbi5hdHRyaWJ1dGVzWzBdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5maWVsZCA9IGNvbHVtbi5hdHRyaWJ1dGVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4cG9ydENvbHVtbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50UGFnZVJvd3NUb0V4cG9ydChjb2x1bW5zOiBhbnlbXSkge1xuICAgICAgICBsZXQgdGFibGVEYXRhID0gdGhpcy50YWJsZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMubG9hZEN1cnJlbnRQYWdlUmVjb3Jkcykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGhpcy5sb2FkQ3VycmVudFBhZ2VSZWNvcmRzKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHRhYmxlRGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJvd3NUb0V4cG9ydChjb2x1bW5zOiBhbnlbXSkge1xuICAgICAgICBsZXQgdGFibGVEYXRhID0gdGhpcy50YWJsZS5zZWxlY3Rpb247XG4gICAgICAgIGlmICh0aGlzLmxvYWRTZWxlY3RlZFJlY29yZHMpIHtcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubG9hZFNlbGVjdGVkUmVjb3JkcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCB0YWJsZURhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcGVydHlWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcm9wZXJ0eVZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5yZWN1cnNpb25TZXRWYWx1ZShvYmosIHBhdGguc3BsaXQoXCIuXCIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWN1cnNpb25TZXRWYWx1ZShvYmo6IGFueSwga2V5c0xpc3Q6IHN0cmluZ1tdLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c0xpc3RbMF07XG4gICAgICAgIGlmIChrZXlzTGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9XG4gICAgICAgIG9ialtrZXldID0gKHRoaXMucmVjdXJzaW9uU2V0VmFsdWUob2JqPy5ba2V5XSB8fCB7fSwga2V5c0xpc3Quc2xpY2UoMSksIHZhbHVlKSk7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1uczogYW55W10sIHJvd3M6IGFueVtdKSB7XG4gICAgICAgIGNvbnN0IGVudW1Db2x1bW5zID0gY29sdW1ucy5maWx0ZXIocCA9PiBwLmVudW1QcmVmaXgpO1xuICAgICAgICBpZiAoIWVudW1Db2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWy4uLnJvd3NdLm1hcChyb3cgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0geyAuLi5yb3cgfTtcbiAgICAgICAgICAgIGVudW1Db2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSAhQXJyYXkuaXNBcnJheShjb2x1bW4uZmllbGQpID8gW2NvbHVtbi5maWVsZF0gOiBjb2x1bW4uZmllbGQ7XG4gICAgICAgICAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbkRhdGEgPSB0aGlzLmdldFByb3BlcnR5VmFsdWUocm93LCBmaWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uRGF0YSA9PT0gbnVsbCB8fCBjb2x1bW5EYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy50cmFuc2xhdGVWYWx1ZShjb2x1bW4sIGNvbHVtbkRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByb3BlcnR5VmFsdWUobmV3Um93LCBmaWVsZE5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zbGF0ZVZhbHVlKGNvbHVtbjogYW55LCBjb2x1bW5EYXRhOiBhbnkpIHtcbiAgICAgICAgLy8gRGVmYXVsdCB1c2FnZTogRU5VTV9WQUxVRSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGNvbHVtbkRhdGEudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBsZXQgdHJhbnNsYXRpb25LZXkgPSBjb2x1bW4uZW51bVByZWZpeCArIGVudW1WYWx1ZTtcbiAgICAgICAgbGV0IHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuXG4gICAgICAgIC8vIEN1c3RvbSB1c2FnZSAxOiBWOSAtPiBkb21haW4uc2VydmljZS52XzlcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uS2V5ID09PSB0cmFuc2xhdGVkVmFsdWUgJiYgZW51bVZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtVmFsdWUuc3Vic3RyaW5nKDAsIDEpfV8ke2VudW1WYWx1ZS5zdWJzdHIoMSl9YDtcbiAgICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3VzdG9tIHVzYWdlIDI6IEVudW1WYWx1ZSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGlmICh0cmFuc2xhdGlvbktleSA9PT0gdHJhbnNsYXRlZFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtS2V5ID0gdGhpcy5jb252ZXJ0VG9TbmFrZUNhc2UoY29sdW1uRGF0YS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtS2V5fWA7XG4gICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0VG9TbmFrZUNhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW0EtWl0pL2csIChtYXRjaCwgZ3JvdXApID0+IGBfJHtncm91cC50b0xvd2VyQ2FzZSgpfWApXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL15fLywgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXhwb3J0RmlsZU5hbWUoKSB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5leHBvcnRGaWxlTmFtZSA/PyBcImRvd25sb2FkXCI7XG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdChcIkRELU1NLVlZWVlbX11ISDptbVwiKTtcbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfV8ke2N1cnJlbnREYXRlfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydEN1cnJlbnRQYWdlKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLmdldEN1cnJlbnRQYWdlUm93c1RvRXhwb3J0KGNvbHVtbnMpO1xuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydFNlbGVjdGVkUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5nZXRTZWxlY3RlZFJvd3NUb0V4cG9ydChjb2x1bW5zKTtcbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBleHBvcnRBbGxSZWNvcmRzKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG4gICAgICAgIGNvbnN0IHNlcnZlckRhdGEgPSBhd2FpdCB0aGlzLmxvYWRBbGxSZWNvcmRzKCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgc2VydmVyRGF0YSk7XG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG59XG4iXX0=
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUczRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBRUgsZ0NBQWdDLEdBQ25DLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFPdkI7SUErQkksOEJBQ3FCLFNBQTJCLEVBQ2Usa0JBQXNDO1FBRGhGLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXRCOUYsZUFBVSxHQUFHLElBQUksQ0FBQztRQUdsQixnQ0FBMkIsR0FBRyxJQUFJLENBQUM7SUFvQnZDLENBQUM7SUFFSiwwQ0FBVyxHQUFYLFVBQVksT0FBc0I7O1FBQzlCLFVBQUksT0FBTyxDQUFDLFlBQVksMENBQUUsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsa0JBQWUsRUFBRTtnQkFDeEYsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWTthQUMzQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyxpREFBa0IsR0FBMUI7UUFDSSxPQUFVLElBQUksQ0FB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NkVBQ2tDO0lBRzFDO1FBREMsS0FBSyxFQUFFOytEQUM4QjtJQUd0QztRQURDLEtBQUssRUFBRTtnRUFDcUM7SUFHN0M7UUFEQyxLQUFLLEVBQUU7d0VBQ29DO0lBRzVDO1FBREMsS0FBSyxFQUFFO3FFQUNpQztJQUd6QztRQURDLE1BQU0sRUFBRTtrRUFDdUI7SUE3QnZCLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDUCw4YkFBNEM7WUFFNUMsUUFBUSxFQUFFLGdCQUFnQjs7U0FDN0IsQ0FBQztRQWtDTyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BakNwQyxvQkFBb0IsQ0E0T2hDO0lBQUQsMkJBQUM7Q0FBQSxBQTVPRCxJQTRPQztTQTVPWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBIb3N0UHJvamVjdENvbmZpZ3MsXG4gICAgSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gXCIuLi8uLi8uLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG5pbXBvcnQgeyBFeHBvcnRVdGlscyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3VzdG9tQWN0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGFibGUtcGFnaW5nLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLXBhZ2luZy5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBzZWxlY3RvcjogXCJzLXRhYmxlLXBhZ2luZ1wiLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2luZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzITogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwb3J0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWJsZSE6IFRhYmxlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwb3J0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmFibGVFeHBvcnRTZWxlY3RlZFJlY29yZHMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tQWN0aW9ucz86IEN1c3RvbUFjdGlvbltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZEFsbFJlY29yZHM/OiAoKSA9PiBQcm9taXNlPGFueVtdPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRDdXJyZW50UGFnZVJlY29yZHM/OiAoKSA9PiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRTZWxlY3RlZFJlY29yZHM/OiAoKSA9PiBhbnlbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0b3RhbFJlY29yZHNUZXh0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgaG9zdFByb2plY3RDb25maWdzOiBIb3N0UHJvamVjdENvbmZpZ3NcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRvdGFsUmVjb3Jkcz8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3Jkc1RleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9dG90YWxfcmVjb3Jkc2AsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogY2hhbmdlcy50b3RhbFJlY29yZHMuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHJhbnNsYXRlUHJlZml4KCkge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5ob3N0UHJvamVjdENvbmZpZ3MuZG9tYWlufS4ke3RoaXMuaG9zdFByb2plY3RDb25maWdzLnNlcnZpY2V9LmA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRvb2x0aXBUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF90b19jc3ZgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucygpOiBNZW51SXRlbVtdIHtcbiAgICAgICAgY29uc3QgYWN0aW9uczogTWVudUl0ZW1bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJleHBvcnRDdXJyZW50UGFnZVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X2N1cnJlbnRfcGFnZWApLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZXhwb3J0Q3VycmVudFBhZ2UoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUV4cG9ydFNlbGVjdGVkUmVjb3Jkcykge1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogXCJleHBvcnRTZWxlY3RlZFwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X3NlbGVjdGVkX3JlY29yZHNgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydFNlbGVjdGVkUmVjb3JkcygpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvYWRBbGxSZWNvcmRzKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydEFsbFwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X2FsbF9yZWNvcmRzYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRBbGxSZWNvcmRzKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21NZW51cyA9IHRoaXMuY3VzdG9tQWN0aW9ucy5tYXAoKHAsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBcImN1c3RvbUFjdGlvbl9cIiArIGluZGV4LFxuICAgICAgICAgICAgICAgIGxhYmVsOiBwLmxhYmVsLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHAuY29tbWFuZFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKC4uLmN1c3RvbU1lbnVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY3Rpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVDb21wb25lbnQoKSB7XG4gICAgICAgIGlmICghdGhpcy50YWJsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGFibGUgY29tcG9uZW50IG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbHVtbnNUb0V4cG9ydCgpIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLnRhYmxlLmNvbHVtbnNdLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0Q29sdW1uID0ge1xuICAgICAgICAgICAgICAgIGhlYWRlcjogY29sdW1uLmhlYWRlcixcbiAgICAgICAgICAgICAgICBleHBvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiBjb2x1bW4uc2VwYXJhdG9yID8/IFwiIC0gXCIsXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogY29sdW1uLmVudW1QcmVmaXhcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChjb2x1bW4uZXhwb3J0YWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZXhwb3J0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY29sdW1uLmF0dHJpYnV0ZXMgJiYgY29sdW1uLmF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5hdHRyaWJ1dGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlc1swXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBleHBvcnRDb2x1bW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFBhZ2VSb3dzVG9FeHBvcnQoY29sdW1uczogYW55W10pIHtcbiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IHRoaXMudGFibGUudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmxvYWRDdXJyZW50UGFnZVJlY29yZHMpIHtcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubG9hZEN1cnJlbnRQYWdlUmVjb3JkcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCB0YWJsZURhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRSb3dzVG9FeHBvcnQoY29sdW1uczogYW55W10pIHtcbiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IHRoaXMudGFibGUuc2VsZWN0aW9uO1xuICAgICAgICBpZiAodGhpcy5sb2FkU2VsZWN0ZWRSZWNvcmRzKSB7XG4gICAgICAgICAgICB0YWJsZURhdGEgPSB0aGlzLmxvYWRTZWxlY3RlZFJlY29yZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgdGFibGVEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BlcnR5VmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UHJvcGVydHlWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucmVjdXJzaW9uU2V0VmFsdWUob2JqLCBwYXRoLnNwbGl0KFwiLlwiKSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjdXJzaW9uU2V0VmFsdWUob2JqOiBhbnksIGtleXNMaXN0OiBzdHJpbmdbXSwgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGtleXNMaXN0WzBdO1xuICAgICAgICBpZiAoa2V5c0xpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfVxuICAgICAgICBvYmpba2V5XSA9ICh0aGlzLnJlY3Vyc2lvblNldFZhbHVlKG9iaj8uW2tleV0gfHwge30sIGtleXNMaXN0LnNsaWNlKDEpLCB2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnM6IGFueVtdLCByb3dzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBlbnVtQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKHAgPT4gcC5lbnVtUHJlZml4KTtcbiAgICAgICAgaWYgKCFlbnVtQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFsuLi5yb3dzXS5tYXAocm93ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IHsgLi4ucm93IH07XG4gICAgICAgICAgICBlbnVtQ29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gIUFycmF5LmlzQXJyYXkoY29sdW1uLmZpZWxkKSA/IFtjb2x1bW4uZmllbGRdIDogY29sdW1uLmZpZWxkO1xuICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHJvdywgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkRhdGEgPT09IG51bGwgfHwgY29sdW1uRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlVmFsdWUoY29sdW1uLCBjb2x1bW5EYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcm9wZXJ0eVZhbHVlKG5ld1JvdywgZmllbGROYW1lLCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVWYWx1ZShjb2x1bW46IGFueSwgY29sdW1uRGF0YTogYW55KSB7XG4gICAgICAgIC8vIERlZmF1bHQgdXNhZ2U6IEVOVU1fVkFMVUUgLT4gZG9tYWluLnNlcnZpY2UuZW51bV92YWx1ZVxuICAgICAgICBjb25zdCBlbnVtVmFsdWUgPSBjb2x1bW5EYXRhLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uS2V5ID0gY29sdW1uLmVudW1QcmVmaXggKyBlbnVtVmFsdWU7XG4gICAgICAgIGxldCB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcblxuICAgICAgICAvLyBDdXN0b20gdXNhZ2UgMTogVjkgLT4gZG9tYWluLnNlcnZpY2Uudl85XG4gICAgICAgIGlmICh0cmFuc2xhdGlvbktleSA9PT0gdHJhbnNsYXRlZFZhbHVlICYmIGVudW1WYWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbktleSA9IGAke2NvbHVtbi5lbnVtUHJlZml4fSR7ZW51bVZhbHVlLnN1YnN0cmluZygwLCAxKX1fJHtlbnVtVmFsdWUuc3Vic3RyKDEpfWA7XG4gICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEN1c3RvbSB1c2FnZSAyOiBFbnVtVmFsdWUgLT4gZG9tYWluLnNlcnZpY2UuZW51bV92YWx1ZVxuICAgICAgICBpZiAodHJhbnNsYXRpb25LZXkgPT09IHRyYW5zbGF0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgZW51bUtleSA9IHRoaXMuY29udmVydFRvU25ha2VDYXNlKGNvbHVtbkRhdGEudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbktleSA9IGAke2NvbHVtbi5lbnVtUHJlZml4fSR7ZW51bUtleX1gO1xuICAgICAgICAgICAgdHJhbnNsYXRlZFZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydFRvU25ha2VDYXNlKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCAobWF0Y2gsIGdyb3VwKSA9PiBgXyR7Z3JvdXAudG9Mb3dlckNhc2UoKX1gKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9eXy8sICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4cG9ydEZpbGVOYW1lKCkge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZXhwb3J0RmlsZU5hbWUgPz8gXCJkb3dubG9hZFwiO1xuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG1vbWVudChuZXcgRGF0ZSgpKS5mb3JtYXQoXCJERC1NTS1ZWVlZW19dSEg6bW1cIik7XG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX1fJHtjdXJyZW50RGF0ZX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBvcnRDdXJyZW50UGFnZSgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5nZXRDdXJyZW50UGFnZVJvd3NUb0V4cG9ydChjb2x1bW5zKTtcbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBvcnRTZWxlY3RlZFJlY29yZHMoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb21wb25lbnQoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uc1RvRXhwb3J0KCk7XG4gICAgICAgIGNvbnN0IGRhdGFUb0V4cG9ydCA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzVG9FeHBvcnQoY29sdW1ucyk7XG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXhwb3J0QWxsUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBzZXJ2ZXJEYXRhID0gYXdhaXQgdGhpcy5sb2FkQWxsUmVjb3JkcygpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxufVxuIl19
@@ -1,10 +1,9 @@
1
1
  import { __decorate, __rest, __awaiter, __param } from 'tslib';
2
- import { EventEmitter, Input, Output, Component, ContentChildren, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, HostListener, Directive, NgModule, HostBinding, ViewChild, Renderer2, forwardRef, Pipe, ViewEncapsulation, InjectionToken, Inject, TemplateRef, ViewContainerRef, ChangeDetectorRef, Optional, ContentChild } from '@angular/core';
2
+ import { EventEmitter, Input, Output, Component, ContentChildren, ViewChild, HostListener, forwardRef, NgModule, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, Directive, HostBinding, Renderer2, Pipe, ViewEncapsulation, InjectionToken, Inject, TemplateRef, ViewContainerRef, ChangeDetectorRef, Optional, ContentChild } from '@angular/core';
3
3
  import { trigger, transition, style as style$7, animate, state, group, query, animateChild } from '@angular/animations';
4
4
  import { CommonModule } from '@angular/common';
5
- import { FormsModule, ReactiveFormsModule, FormControl, NG_VALUE_ACCESSOR, FormGroup, NG_VALIDATORS, Validators, FormArray, ControlContainer } from '@angular/forms';
5
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, FormGroup, NG_VALIDATORS, Validators, FormArray, ControlContainer } from '@angular/forms';
6
6
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
- import { InputSwitchModule } from 'primeng/inputswitch';
8
7
  import { RouterModule, NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router } from '@angular/router';
9
8
  import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
10
9
  import { Subject, of, from, forkJoin, throwError, ReplaySubject } from 'rxjs';
@@ -138,7 +137,7 @@ __decorate([
138
137
  AccordionPanelComponent = __decorate([
139
138
  Component({
140
139
  selector: "s-accordion-panel",
141
- template: "<div\n class=\"accordion-panel\"\n [ngClass]=\"{\n 'accordion-panel--open': isOpen,\n 'accordion-panel--disabled': disabled\n }\">\n <div class=\"header\" (click)=\"onTabClick()\">\n <div class=\"header__title\">\n <span class=\"icon\" [ngClass]=\"isOpen ? 'fas fa-minus' : 'fas fa-plus'\"></span>\n <span\n *ngIf=\"validationMessage\"\n class=\"exclamation-icon fas fa-exclamation-circle\"\n [sTooltip]=\"validationMessage\">\n </span>\n <span class=\"title\">{{ header }}</span>\n </div>\n <div class=\"header__controls\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"icon-button\"\n [ngClass]=\"button.icon\"\n (click)=\"onIconButtonsClick($event, button.onClick)\">\n </button>\n <p-inputSwitch\n *ngIf=\"switch\"\n class=\"switch\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"switchState\"\n (click)=\"$event.stopPropagation()\"\n (onChange)=\"switch.onChange($event)\">\n </p-inputSwitch>\n </div>\n </div>\n <ng-container *ngIf=\"cache; then cacheTemplate else cachelessTemplate\"></ng-container>\n</div>\n\n<ng-template #cacheTemplate>\n <div\n class=\"content\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\">\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #cachelessTemplate>\n <div\n *ngIf=\"isOpen\"\n class=\"content\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\">\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>",
140
+ template: "<div\n class=\"accordion-panel\"\n [ngClass]=\"{\n 'accordion-panel--open': isOpen,\n 'accordion-panel--disabled': disabled\n }\">\n <div class=\"header\" (click)=\"onTabClick()\">\n <div class=\"header__title\">\n <span class=\"icon\" [ngClass]=\"isOpen ? 'fas fa-minus' : 'fas fa-plus'\"></span>\n <span\n *ngIf=\"validationMessage\"\n class=\"exclamation-icon fas fa-exclamation-circle\"\n [sTooltip]=\"validationMessage\">\n </span>\n <span class=\"title\">{{ header }}</span>\n </div>\n <div class=\"header__controls\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"icon-button\"\n [ngClass]=\"button.icon\"\n (click)=\"onIconButtonsClick($event, button.onClick)\">\n </button>\n <s-switch\n *ngIf=\"switch\"\n class=\"switch\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"switchState\"\n (click)=\"$event.stopPropagation()\"\n (valueChanged)=\"switch.onChange($event)\">\n </s-switch>\n </div>\n </div>\n <ng-container *ngIf=\"cache; then cacheTemplate else cachelessTemplate\"></ng-container>\n</div>\n\n<ng-template #cacheTemplate>\n <div\n class=\"content\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\">\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #cachelessTemplate>\n <div\n *ngIf=\"isOpen\"\n class=\"content\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\">\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>",
142
141
  animations: [
143
142
  trigger("cachelessAnimation", [
144
143
  transition(":enter", [style$7({ height: "0" }), animate("200ms linear", style$7({ height: "*" }))]),
@@ -150,7 +149,7 @@ AccordionPanelComponent = __decorate([
150
149
  transition("* => *", animate("200ms")),
151
150
  ]),
152
151
  ],
153
- styles: [".accordion-panel{border-bottom:1px solid #c1c1cc}.accordion-panel .header{-ms-flex-align:center;align-items:center;background-color:#fff;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:16px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.accordion-panel .header .header__title{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.accordion-panel .header .header__title .icon{color:#212533;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon{color:#c13018;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .title{font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:700;line-height:150%;text-transform:uppercase}.accordion-panel .header .header__controls{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;margin-left:16px}.accordion-panel .header .header__controls .icon-button{color:#212533;cursor:pointer;font-size:1rem;margin-left:16px;border:none;background:0 0}.accordion-panel .header .header__controls .switch{padding-left:16px}.accordion-panel .content{background-color:#fff;overflow:hidden}.accordion-panel .content .content-container{margin:20px}.accordion-panel--open .header{background-color:#eeebf2;border-bottom:1px solid #c1c1cc}.accordion-panel--disabled .header{cursor:auto}.accordion-panel--disabled .header .header__title .icon,.accordion-panel--disabled .header .header__title .title{color:#c1c1cc}.accordion-panel--disabled .header .header__controls .icon-button{color:#c1c1cc;cursor:auto}"]
152
+ styles: [".accordion-panel{border-bottom:1px solid #c1c1cc}.accordion-panel .header{-ms-flex-align:center;align-items:center;background-color:#fff;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:16px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.accordion-panel .header .header__title{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.accordion-panel .header .header__title .icon{color:#212533;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon{color:#c13018;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .title{font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:700;line-height:150%;text-transform:uppercase}.accordion-panel .header .header__controls{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;margin-left:16px}.accordion-panel .header .header__controls .icon-button{color:#212533;cursor:pointer;font-size:1rem;margin-left:12px;padding:4px;border:none;background:0 0}.accordion-panel .header .header__controls .switch{padding-left:16px}.accordion-panel .content{background-color:#fff;overflow:hidden}.accordion-panel .content .content-container{margin:20px}.accordion-panel--open .header{background-color:#eeebf2;border-bottom:1px solid #c1c1cc}.accordion-panel--disabled .header{cursor:auto}.accordion-panel--disabled .header .header__title .icon,.accordion-panel--disabled .header .header__title .title{color:#c1c1cc}.accordion-panel--disabled .header .header__controls .icon-button{color:#c1c1cc;cursor:auto}"]
154
153
  })
155
154
  ], AccordionPanelComponent);
156
155
 
@@ -227,6 +226,100 @@ AccordionComponent = __decorate([
227
226
  })
228
227
  ], AccordionComponent);
229
228
 
229
+ var SwitchComponent_1;
230
+ let SwitchComponent = SwitchComponent_1 = class SwitchComponent {
231
+ constructor() {
232
+ this.readonly = false;
233
+ this.disabled = false;
234
+ this.valueChanged = new EventEmitter();
235
+ this.value = false;
236
+ }
237
+ onFocusIn() {
238
+ const switchElement = this.switchRef.nativeElement;
239
+ switchElement.classList.add("switch--focus");
240
+ }
241
+ onFocusOut() {
242
+ const switchElement = this.switchRef.nativeElement;
243
+ switchElement.classList.remove("switch--focus");
244
+ }
245
+ writeValue(value) {
246
+ if (!this.disabled) {
247
+ this.value = value;
248
+ }
249
+ }
250
+ registerOnChange(onChange) {
251
+ this._onChange = onChange;
252
+ }
253
+ registerOnTouched(onTouched) {
254
+ this._onTouched = onTouched;
255
+ }
256
+ setDisabledState(disabled) {
257
+ this.disabled = disabled;
258
+ }
259
+ toggleCheck() {
260
+ this.value = !this.value;
261
+ this.valueChanged.emit(this.value);
262
+ if (this._onChange) {
263
+ this._onChange(this.value);
264
+ }
265
+ }
266
+ };
267
+ __decorate([
268
+ Input()
269
+ ], SwitchComponent.prototype, "readonly", void 0);
270
+ __decorate([
271
+ Input()
272
+ ], SwitchComponent.prototype, "trueLabel", void 0);
273
+ __decorate([
274
+ Input()
275
+ ], SwitchComponent.prototype, "falseLabel", void 0);
276
+ __decorate([
277
+ Input()
278
+ ], SwitchComponent.prototype, "inputId", void 0);
279
+ __decorate([
280
+ Input()
281
+ ], SwitchComponent.prototype, "inputName", void 0);
282
+ __decorate([
283
+ Input()
284
+ ], SwitchComponent.prototype, "disabled", void 0);
285
+ __decorate([
286
+ Output()
287
+ ], SwitchComponent.prototype, "valueChanged", void 0);
288
+ __decorate([
289
+ Input()
290
+ ], SwitchComponent.prototype, "value", void 0);
291
+ __decorate([
292
+ ViewChild("switch", { static: true })
293
+ ], SwitchComponent.prototype, "switchRef", void 0);
294
+ __decorate([
295
+ HostListener('focusin')
296
+ ], SwitchComponent.prototype, "onFocusIn", null);
297
+ __decorate([
298
+ HostListener('focusout')
299
+ ], SwitchComponent.prototype, "onFocusOut", null);
300
+ SwitchComponent = SwitchComponent_1 = __decorate([
301
+ Component({
302
+ selector: 's-switch',
303
+ template: "<div #switch class=\"switch\" [ngClass]=\"{ 'switch--disabled': disabled }\">\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly || disabled\"\n (change)=\"toggleCheck()\">\n <span class=\"slider\"></span>\n </label>\n <span class=\"label\">\n {{ value ? trueLabel : falseLabel }}\n </span>\n</div>",
304
+ providers: [{
305
+ provide: NG_VALUE_ACCESSOR,
306
+ useExisting: forwardRef(() => SwitchComponent_1),
307
+ multi: true,
308
+ }],
309
+ styles: [".switch{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.switch .switch-toggle{display:inline-block;height:24px;margin:0;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translateX(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428BCA80}"]
310
+ })
311
+ ], SwitchComponent);
312
+
313
+ let SwitchModule = class SwitchModule {
314
+ };
315
+ SwitchModule = __decorate([
316
+ NgModule({
317
+ imports: [CommonModule],
318
+ declarations: [SwitchComponent],
319
+ exports: [SwitchComponent],
320
+ })
321
+ ], SwitchModule);
322
+
230
323
  var TooltipPosition;
231
324
  (function (TooltipPosition) {
232
325
  TooltipPosition["Top"] = "top";
@@ -612,7 +705,7 @@ AccordionModule = __decorate([
612
705
  FormsModule,
613
706
  BrowserAnimationsModule,
614
707
  TooltipModule,
615
- InputSwitchModule,
708
+ SwitchModule,
616
709
  ],
617
710
  declarations: [
618
711
  AccordionComponent,
@@ -2572,7 +2665,7 @@ LocaleModule = LocaleModule_1 = __decorate([
2572
2665
 
2573
2666
  class BignumberField extends Field {
2574
2667
  constructor(config) {
2575
- var _a, _b;
2668
+ var _a, _b, _c;
2576
2669
  super(config);
2577
2670
  this.allowNegative = (_a = config.allowNegative) !== null && _a !== void 0 ? _a : true;
2578
2671
  this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
@@ -2587,6 +2680,7 @@ class BignumberField extends Field {
2587
2680
  this.onFocus = config.onFocus;
2588
2681
  this.onComplete = config.onComplete;
2589
2682
  this.onInput = config.onInput;
2683
+ this.autoClear = (_c = config.autoClear) !== null && _c !== void 0 ? _c : true;
2590
2684
  }
2591
2685
  }
2592
2686
 
@@ -5675,6 +5769,7 @@ let TablePagingComponent = class TablePagingComponent {
5675
5769
  constructor(translate, hostProjectConfigs) {
5676
5770
  this.translate = translate;
5677
5771
  this.hostProjectConfigs = hostProjectConfigs;
5772
+ this.exportable = true;
5678
5773
  this.enableExportSelectedRecords = true;
5679
5774
  }
5680
5775
  ngOnChanges(changes) {
@@ -5866,6 +5961,9 @@ __decorate([
5866
5961
  __decorate([
5867
5962
  Input()
5868
5963
  ], TablePagingComponent.prototype, "table", void 0);
5964
+ __decorate([
5965
+ Input()
5966
+ ], TablePagingComponent.prototype, "exportable", void 0);
5869
5967
  __decorate([
5870
5968
  Input()
5871
5969
  ], TablePagingComponent.prototype, "enableExportSelectedRecords", void 0);
@@ -5886,7 +5984,7 @@ __decorate([
5886
5984
  ], TablePagingComponent.prototype, "totalRecordsText", void 0);
5887
5985
  TablePagingComponent = __decorate([
5888
5986
  Component({
5889
- template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{totalRecordsText}}\n </span>\n <s-button class=\"export-button\" \n priority=\"default\" \n iconClass=\"fa fa-fw fa-file-export\" \n [disabled]=\"false\" \n [auxiliary]=\"true\" \n [tooltip]=\"getTooltipText()\" \n [model]=\"getActions()\"></s-button>\n</div>\n",
5987
+ template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{totalRecordsText}}\n </span>\n <s-button\n *ngIf=\"exportable\"\n class=\"export-button\" \n priority=\"default\" \n iconClass=\"fa fa-fw fa-file-export\" \n [disabled]=\"false\" \n [auxiliary]=\"true\" \n [tooltip]=\"getTooltipText()\" \n [model]=\"getActions()\">\n </s-button>\n</div>\n",
5890
5988
  selector: "s-table-paging",
5891
5989
  styles: [".paging-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.export-button{margin-left:6px}"]
5892
5990
  }),
@@ -5983,7 +6081,8 @@ __decorate([
5983
6081
  ], ChipsFieldComponent.prototype, "formControl", void 0);
5984
6082
  ChipsFieldComponent = __decorate([
5985
6083
  Component({
5986
- template: "<p-chips\n *ngIf=\"field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [pKeyFilter]=\"field.keyFilter\">\n</p-chips>\n\n<p-chips\n *ngIf=\"!field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n</p-chips>\n"
6084
+ template: "<p-chips\n *ngIf=\"field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [pKeyFilter]=\"field.keyFilter\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n</p-chips>\n\n<p-chips\n *ngIf=\"!field.keyFilter\"\n [inputId]=\"(field.id || field.name)\"\n [formControl]=\"formControl\"\n [placeholder]=\"field.placeholder\"\n [allowDuplicate]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"field.onAdd ? field.onAdd($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n (onChipClick)=\"field.onChipClick ? field.onChipClick($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\">\n <ng-template let-item pTemplate=\"item\">\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\">\n {{ item }}\n </span>\n </ng-template>\n</p-chips>\n",
6085
+ styles: [".chip-content{display:block;padding-right:1rem}"]
5987
6086
  })
5988
6087
  ], ChipsFieldComponent);
5989
6088
 
@@ -6417,7 +6516,7 @@ __decorate([
6417
6516
  ], BignumberFieldComponent.prototype, "onComplete", void 0);
6418
6517
  BignumberFieldComponent = __decorate([
6419
6518
  Component({
6420
- template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [mask]=\"isFunction(field.mask) ? field.mask() : field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{field.leftAddon.label}}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative\"\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\" />\n <ng-container *ngIf=\"field.rightAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{field.rightAddon.label}}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>",
6519
+ template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [mask]=\"isFunction(field.mask) ? field.mask() : field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [autoClear]=\"field.autoClear\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{field.leftAddon.label}}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative\"\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\" />\n <ng-container *ngIf=\"field.rightAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{field.rightAddon.label}}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n",
6421
6520
  encapsulation: ViewEncapsulation.None,
6422
6521
  styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}"]
6423
6522
  })
@@ -6433,7 +6532,7 @@ __decorate([
6433
6532
  ], BooleanSwitchFieldComponent.prototype, "formControl", void 0);
6434
6533
  BooleanSwitchFieldComponent = __decorate([
6435
6534
  Component({
6436
- template: "<div class=\"ui-grid ui-grid-responsive ui-grid-pad ui-fluid\">\n <div class=\"ui-grid-row\">\n <div class=\"i-grid-col-1\">\n <p-inputSwitch [id]=\"(field.id || field.name)\" [name]=\"field.name\" [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n </p-inputSwitch>\n </div>\n <div class=\"i-grid-col-1\" *ngIf=\"field.optionsLabel\">\n <ng-container *ngIf=\"formControl.value; else caseFalse\">\n <span>{{ field.optionsLabel.true }}</span>\n </ng-container>\n <ng-template #caseFalse>\n <span>{{ field.optionsLabel.false }}</span>\n </ng-template>\n </div>\n </div>\n</div>"
6535
+ template: "<div class=\"ui-grid ui-grid-responsive ui-grid-pad ui-fluid\">\n <div class=\"ui-grid-row\">\n <div class=\"i-grid-col-1\">\n <s-switch\n [id]=\"(field.id || field.name)\"\n [inputName]=\"field.name\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n (valueChanged)=\"field.onChange ? field.onChange($event) : null\">\n </s-switch>\n </div>\n <div class=\"i-grid-col-1\" *ngIf=\"field.optionsLabel\">\n <ng-container *ngIf=\"formControl.value; else caseFalse\">\n <span>{{ field.optionsLabel.true }}</span>\n </ng-container>\n <ng-template #caseFalse>\n <span>{{ field.optionsLabel.false }}</span>\n </ng-template>\n </div>\n </div>\n</div>"
6437
6536
  })
6438
6537
  ], BooleanSwitchFieldComponent);
6439
6538
 
@@ -7243,7 +7342,7 @@ DynamicFormModule = __decorate([
7243
7342
  MaskFormatterModule,
7244
7343
  HotkeyModule.forRoot(),
7245
7344
  MouseEventsModule,
7246
- InputSwitchModule,
7345
+ SwitchModule,
7247
7346
  PasswordStrengthModule,
7248
7347
  SliderModule,
7249
7348
  ],
@@ -13259,97 +13358,6 @@ SplitButtonModule = __decorate([
13259
13358
  })
13260
13359
  ], SplitButtonModule);
13261
13360
 
13262
- var SwitchComponent_1;
13263
- let SwitchComponent = SwitchComponent_1 = class SwitchComponent {
13264
- constructor() {
13265
- this.readonly = false;
13266
- this.disabled = false;
13267
- this.valueChanged = new EventEmitter();
13268
- this.value = false;
13269
- }
13270
- onFocusIn() {
13271
- const switchElement = this.switchRef.nativeElement;
13272
- switchElement.classList.add("switch--focus");
13273
- }
13274
- onFocusOut() {
13275
- const switchElement = this.switchRef.nativeElement;
13276
- switchElement.classList.remove("switch--focus");
13277
- }
13278
- writeValue(value) {
13279
- if (!this.disabled) {
13280
- this.value = value;
13281
- }
13282
- }
13283
- registerOnChange(onChange) {
13284
- this._onChange = onChange;
13285
- }
13286
- registerOnTouched(onTouched) {
13287
- this._onTouched = onTouched;
13288
- }
13289
- setDisabledState(disabled) {
13290
- this.disabled = disabled;
13291
- }
13292
- toggleCheck() {
13293
- this.value = !this.value;
13294
- this.valueChanged.emit(this.value);
13295
- if (this._onChange) {
13296
- this._onChange(this.value);
13297
- }
13298
- }
13299
- };
13300
- __decorate([
13301
- Input()
13302
- ], SwitchComponent.prototype, "readonly", void 0);
13303
- __decorate([
13304
- Input()
13305
- ], SwitchComponent.prototype, "trueLabel", void 0);
13306
- __decorate([
13307
- Input()
13308
- ], SwitchComponent.prototype, "falseLabel", void 0);
13309
- __decorate([
13310
- Input()
13311
- ], SwitchComponent.prototype, "inputId", void 0);
13312
- __decorate([
13313
- Input()
13314
- ], SwitchComponent.prototype, "disabled", void 0);
13315
- __decorate([
13316
- Output()
13317
- ], SwitchComponent.prototype, "valueChanged", void 0);
13318
- __decorate([
13319
- Input()
13320
- ], SwitchComponent.prototype, "value", void 0);
13321
- __decorate([
13322
- ViewChild("switch", { static: true })
13323
- ], SwitchComponent.prototype, "switchRef", void 0);
13324
- __decorate([
13325
- HostListener('focusin')
13326
- ], SwitchComponent.prototype, "onFocusIn", null);
13327
- __decorate([
13328
- HostListener('focusout')
13329
- ], SwitchComponent.prototype, "onFocusOut", null);
13330
- SwitchComponent = SwitchComponent_1 = __decorate([
13331
- Component({
13332
- selector: 's-switch',
13333
- template: "<div #switch class=\"switch\" [ngClass]=\"{ 'switch--disabled': disabled }\">\n <label class=\"switch-toggle\">\n <input\n #input\n [id]=\"inputId\"\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"readonly || disabled\"\n (change)=\"toggleCheck()\">\n <span class=\"slider\"></span>\n </label>\n <span class=\"label\">\n {{ value ? trueLabel : falseLabel }}\n </span>\n</div>",
13334
- providers: [{
13335
- provide: NG_VALUE_ACCESSOR,
13336
- useExisting: forwardRef(() => SwitchComponent_1),
13337
- multi: true,
13338
- }],
13339
- styles: [".switch{display:-ms-inline-flexbox;display:inline-flex}.switch .switch-toggle{display:inline-block;height:24px;position:relative;width:40px}.switch .switch-toggle input{height:0;opacity:0;width:0}.switch .switch-toggle input:checked+.slider{background-color:#428bca;border-radius:15px}.switch .switch-toggle input:checked+.slider:before{transform:translateX(16px)}.switch .switch-toggle .slider{background-color:#a5a5b2;border-radius:15px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.switch .switch-toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}.switch .label{color:#212533;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%;margin-left:12px}.switch--disabled{opacity:.5}.switch--focus .switch-toggle .slider{box-shadow:0 0 0 2px #428BCA80}"]
13340
- })
13341
- ], SwitchComponent);
13342
-
13343
- let SwitchModule = class SwitchModule {
13344
- };
13345
- SwitchModule = __decorate([
13346
- NgModule({
13347
- imports: [CommonModule],
13348
- declarations: [SwitchComponent],
13349
- exports: [SwitchComponent],
13350
- })
13351
- ], SwitchModule);
13352
-
13353
13361
  let PanelComponent = class PanelComponent {
13354
13362
  constructor() {
13355
13363
  this.toggleable = true;