@apipass/inputs 0.2.3-alpha.0 → 0.2.4

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.
@@ -190,7 +190,8 @@ export class SelectBoxComponent extends ValueAccessorBase {
190
190
  }
191
191
  // @ts-ignore
192
192
  onScroll({ end }) {
193
- if (this.loading || this.data.length <= this.visibleItens.length) {
193
+ const data = this.lastSearchTerm ? this.data.filter(item => { var _a; return (_a = item[this.bindValue]) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(this.lastSearchTerm.toLowerCase()); }) : this.data;
194
+ if (this.loading || data.length <= this.visibleItens.length) {
194
195
  return;
195
196
  }
196
197
  if (end + 5 >= this.visibleItens.length) {
@@ -352,4 +353,4 @@ const ɵSelectBoxComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactor
352
353
  type: ViewChild,
353
354
  args: ['ngSelectComponent']
354
355
  }] }); })();
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7SUNTcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUFvRTtJQUFwRSxrSEFBb0UsOENBQUEscURBQUE7OztJQU0zRSxnQ0FBMkc7SUFBQSxZQUEyQjtJQUFBLGlCQUFPOzs7SUFBbEMsZUFBMkI7SUFBM0IsMkRBQTJCOzs7SUFUdEksbUZBRUU7SUFPRixxRkFBMkc7OztJQVJ0RyxpSkFBd0Y7SUFRM0QsZUFBd0U7SUFBeEUsMEhBQXdFOzs7SUFWNUcscUZBQ0U7OztJQWFBLDhCQUVFO0lBQUEseUJBTUY7SUFBQSxpQkFBTTs7O0lBTEMsZUFBNkQ7SUFBN0QsNkdBQTZELHlDQUFBLGdEQUFBOzs7SUFNcEUsZ0NBQXNGO0lBQUEsWUFBb0I7SUFBQSxpQkFBTzs7O0lBQTNCLGVBQW9CO0lBQXBCLHNEQUFvQjs7O0lBVDFHLG1GQUVF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bnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOZ1NlbGVjdENvbXBvbmVudH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNlc3Nvci1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VsZWN0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWxlY3QtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCb3hDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJveENvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZUhvbGRlciA9ICdCdXNjYXInO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJUZXh0ID0gJ0xpbXBhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQgPSAnTmVuaHVtIGl0ZW0gZW5jb250cmFkbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkU2VhcmNoID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRhdGE6IEFycmF5PGFueT4gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW06IGFueTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdFByb3BlcnR5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KCkgcHVibGljIGJpbmRJbWFnZVVybCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYmluZEtleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYmluZFZhbHVlID0gJyc7XG5cbiAgQElucHV0KCkgcHVibGljIGxpbWl0SXRlbnMgPSAzMDtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0FkZE5ld0l0ZW0gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1UZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtSWNvbiA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkJvZHlTY3JvbGwgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIG9uT3BlblNlbGVjdEJveCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQ2xvc2VTZWxlY3RCb3ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uU2VsZWN0Q2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkFkZE5ld0l0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ25nU2VsZWN0Q29tcG9uZW50JylcbiAgcHVibGljIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdmlzaWJsZUl0ZW5zOiBBcnJheTxhbnk+ID0gW107XG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBpbnB1dEZpbHRlciA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIGxhc3RTZWFyY2hUZXJtID0gJyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vblNlYXJjaCgpO1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Cb2R5U2Nyb2xsID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQm9keVNjcm9sbCAmJiB0aGlzLm5nU2VsZWN0Q29tcG9uZW50Py5pc09wZW4pIHtcbiAgICAgIGNvbnN0IGlzU2Nyb2xsaW5nSW5TY3JvbGxIb3N0ID0gKGV2ZW50LnRhcmdldC5jbGFzc05hbWUgYXMgc3RyaW5nKT8uaW5kZXhPZignbmctZHJvcGRvd24tcGFuZWwtaXRlbXMnKSA+IC0xO1xuICAgICAgaWYgKGlzU2Nyb2xsaW5nSW5TY3JvbGxIb3N0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQm9keVNjcm9sbCkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Cb2R5U2Nyb2xsLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0RmlsdGVyLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZShzZWFyY2hTdHJpbmcgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMubGFzdFNlYXJjaFRlcm0gPSBzZWFyY2hTdHJpbmc7XG4gICAgICBpZiAoc2VhcmNoU3RyaW5nICYmIHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuYmluZFZhbHVlXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSB0aGlzLmRhdGEuc2xpY2UoMCwgdGhpcy5saW1pdEl0ZW5zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gW107XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlLCAzMDApO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBvblNjcm9sbCh7ZW5kfSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgdGhpcy5kYXRhLmxlbmd0aCA8PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGVuZCArIDUgPj0gdGhpcy52aXNpYmxlSXRlbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZldGNoTW9yZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2Nyb2xsVG9FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZldGNoTW9yZSgpO1xuICB9XG5cbiAgZmV0Y2hNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgbGVuID0gdGhpcy52aXNpYmxlSXRlbnMubGVuZ3RoO1xuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmxhc3RTZWFyY2hUZXJtID9cbiAgICAgIHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmJpbmRWYWx1ZV0/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5sYXN0U2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKS5zbGljZShsZW4sIHRoaXMubGltaXRJdGVucyArIGxlbikgOlxuICAgICAgdGhpcy5kYXRhLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKTtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMudmlzaWJsZUl0ZW5zLmNvbmNhdChtb3JlKTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAzMikge1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlICs9ICcgJztcbiAgICB9XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBvblNlbGVjdGlvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmRTZWxlY3RlZEl0ZW0odGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZpbmRTZWxlY3RlZEl0ZW0odmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGZpbmRTZWxlY3RlZEl0ZW0odmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFByb3BlcnR5KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGF0YT8uZmluZChlbCA9PiBlbFt0aGlzLmJpbmRLZXldID09PSB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maW5kKGVsID0+IGVsW3RoaXMuYmluZEtleV0gPT09IHZhbHVlW3RoaXMuYmluZEtleV0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXNlbGVjdCAjbmdTZWxlY3RDb21wb25lbnRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgIFtpdGVtc109XCJ2aXNpYmxlSXRlbnNcIlxuICAgICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCJcbiAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZW5hYmxlZFNlYXJjaFwiXG4gICAgICAgICAgIFt0eXBlVG9TZWFyY2hUZXh0XT1cInNlYXJjaFBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgKG9wZW4pPVwib3BlblNlbGVjdEJveCgkZXZlbnQpXCJcbiAgICAgICAgICAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgIChjbGVhcik9XCJvbkNsZWFyKClcIlxuICAgICAgICAgICBbbm90Rm91bmRUZXh0XT1cIm5vdEZvdW5kVGV4dFwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiXG4gICAgICAgICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICBbdHlwZWFoZWFkXT1cImlucHV0RmlsdGVyXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydhcGlwYXNzLXNlbGVjdC1pbWFnZScgOiBiaW5kSW1hZ2VVcmwsICdhcGlwYXNzLXNlbGVjdCc6ICFiaW5kSW1hZ2VVcmx9XCJcbiAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICAgICAgIFtiaW5kVmFsdWVdPVwic2VsZWN0UHJvcGVydHlcIj5cblxuICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzZWxlY3RQcm9wZXJ0eSAmJiBzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRLZXldICYmIHNlbGVjdGVkSXRlbVtiaW5kVmFsdWVdXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiIHN0eWxlPVwid2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCJcbiAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbVtiaW5kS2V5XSAmJiBzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXSAmJiBiaW5kSW1hZ2VVcmxcIj5cbiAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkSXRlbVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwic2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXVwiXG4gICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87bWF4LXdpZHRoOiA0MHB4O2hlaWdodDogNDBweDtcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC10ZXh0LWVsZW1lbnRcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW1bYmluZEtleV0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIj57e3NlbGVjdGVkSXRlbVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiIXNlbGVjdFByb3BlcnR5ICYmIHZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCIgc3R5bGU9XCJ3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogMTBweDtcIlxuICAgICAgICAgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdICYmIGJpbmRJbWFnZVVybFwiPlxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgIFtzcmNdPVwidmFsdWVbYmluZEltYWdlVXJsXSB8fCAnLi9hc3NldHMvaW1hZ2VzL25vLWltYWdlLnBuZydcIlxuICAgICAgICAgICBbYWx0XT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzttYXgtd2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4O1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LXRleHQtZWxlbWVudFwiICpuZ0lmPVwidmFsdWUgJiYgdmFsdWVbYmluZEtleV0gJiYgdmFsdWVbYmluZFZhbHVlXVwiPnt7dmFsdWVbYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wIFtuZ0lmXT1cInRoaXMuc2hvd0FkZE5ld0l0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLW5ldy1pdGVtLW9wdGlvblwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJvbkFkZE5ld0l0ZW0oKVwiPlxuICAgICAgPGljb24gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweFwiICpuZ0lmPVwiYWRkTmV3SXRlbUljb25cIiBbdGl0bGVdPVwiYWRkTmV3SXRlbVRleHRcIiBbbmFtZV09XCJhZGROZXdJdGVtSWNvblwiIFtzaXplXT1cIjIwXCI+PC9pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJhZGQtbmV3LWl0ZW0tdGV4dFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1wiXG4gICAgICAgICAgICAqbmdJZj1cImFkZE5ld0l0ZW1UZXh0XCI+e3thZGROZXdJdGVtVGV4dH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCIgc3R5bGU9XCJ3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogMTBweDtcIiAqbmdJZj1cImJpbmRJbWFnZVVybFwiPlxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgIFtzcmNdPVwiaXRlbVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwiaXRlbVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzttYXgtd2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4O1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LXRleHQtZWxlbWVudFwiXG4gICAgICAgICAgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCI+e3tpdGVtW2JpbmRWYWx1ZV19fTwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9uZy1zZWxlY3Q+XG4iXX0=
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7SUNTcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUFvRTtJQUFwRSxrSEFBb0UsOENBQUEscURBQUE7OztJQU0zRSxnQ0FBMkc7SUFBQSxZQUEyQjtJQUFBLGlCQUFPOzs7SUFBbEMsZUFBMkI7SUFBM0IsMkRBQTJCOzs7SUFUdEksbUZBRUU7SUFPRixxRkFBMkc7OztJQVJ0RyxpSkFBd0Y7SUFRM0QsZUFBd0U7SUFBeEUsMEhBQXdFOzs7SUFWNUcscUZBQ0U7OztJQWFBLDhCQUVFO0lBQUEseUJBTUY7SUFBQSxpQkFBTTs7O0lBTEMsZUFBNkQ7SUFBN0QsNkdBQTZELHlDQUFBLGdEQUFBOzs7SUFNcEUsZ0NBQXNGO0lBQUEsWUFBb0I7SUFBQSxpQkFBTzs7O0lBQTNCLGVBQW9CO0lBQXBCLHNEQUFvQjs7O0lBVDFHLG1GQUVF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YztrQkFBN0IsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUVVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUVXLGVBQWU7a0JBQS9CLE1BQU07WUFDVSxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSxjQUFjO2tCQUE5QixNQUFNO1lBQ1UsYUFBYTtrQkFBN0IsTUFBTTtZQUNVLGlCQUFpQjtrQkFBakMsTUFBTTtZQUdBLGlCQUFpQjtrQkFEdkIsU0FBUzttQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05nU2VsZWN0Q29tcG9uZW50fSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge1ZhbHVlQWNjZXNzb3JCYXNlfSBmcm9tICcuLi92YWx1ZS1hY2Vzc29yLWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWxlY3QtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICdzZWxlY3QtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NlbGVjdC1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdEJveENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Qm94Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnU2VsZWNpb25lJztcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaFBsYWNlSG9sZGVyID0gJ0J1c2Nhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhclRleHQgPSAnTGltcGFyJztcbiAgQElucHV0KCkgcHVibGljIG5vdEZvdW5kVGV4dCA9ICdOZW5odW0gaXRlbSBlbmNvbnRyYWRvJztcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZWRTZWFyY2ggPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSXRlbTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0UHJvcGVydHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBwdWJsaWMgYmluZEltYWdlVXJsID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWUgPSAnJztcblxuICBASW5wdXQoKSBwdWJsaWMgbGltaXRJdGVucyA9IDMwO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QWRkTmV3SXRlbSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbVRleHQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1JY29uID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtQ2xpY2tDbG9zZVNlbGVjdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQm9keVNjcm9sbCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25PcGVuU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25DbG9zZVNlbGVjdEJveCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQWRkTmV3SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbmdTZWxlY3RDb21wb25lbnQnKVxuICBwdWJsaWMgbmdTZWxlY3RDb21wb25lbnQ6IE5nU2VsZWN0Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2aXNpYmxlSXRlbnM6IEFycmF5PGFueT4gPSBbXTtcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGlucHV0RmlsdGVyID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgbGFzdFNlYXJjaFRlcm0gPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VhcmNoKCk7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJvZHlTY3JvbGwpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQm9keVNjcm9sbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkJvZHlTY3JvbGwgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsICYmIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmlzT3Blbikge1xuICAgICAgY29uc3QgaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QgPSAoZXZlbnQudGFyZ2V0LmNsYXNzTmFtZSBhcyBzdHJpbmcpPy5pbmRleE9mKCduZy1kcm9wZG93bi1wYW5lbC1pdGVtcycpID4gLTE7XG4gICAgICBpZiAoaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWx0ZXIucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHNlYXJjaFN0cmluZyA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHNlYXJjaFN0cmluZztcbiAgICAgIGlmIChzZWFyY2hTdHJpbmcgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIG9uU2Nyb2xsKHtlbmR9KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9ICB0aGlzLmxhc3RTZWFyY2hUZXJtID8gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmJpbmRWYWx1ZV0/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5sYXN0U2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgICkgOiB0aGlzLmRhdGE7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCBkYXRhLmxlbmd0aCA8PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGVuZCArIDUgPj0gdGhpcy52aXNpYmxlSXRlbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZldGNoTW9yZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2Nyb2xsVG9FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZldGNoTW9yZSgpO1xuICB9XG5cbiAgZmV0Y2hNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgbGVuID0gdGhpcy52aXNpYmxlSXRlbnMubGVuZ3RoO1xuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmxhc3RTZWFyY2hUZXJtID9cbiAgICAgIHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmJpbmRWYWx1ZV0/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5sYXN0U2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKS5zbGljZShsZW4sIHRoaXMubGltaXRJdGVucyArIGxlbikgOlxuICAgICAgdGhpcy5kYXRhLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKTtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMudmlzaWJsZUl0ZW5zLmNvbmNhdChtb3JlKTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAzMikge1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlICs9ICcgJztcbiAgICB9XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBvblNlbGVjdGlvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmRTZWxlY3RlZEl0ZW0odGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZpbmRTZWxlY3RlZEl0ZW0odmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGZpbmRTZWxlY3RlZEl0ZW0odmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFByb3BlcnR5KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGF0YT8uZmluZChlbCA9PiBlbFt0aGlzLmJpbmRLZXldID09PSB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maW5kKGVsID0+IGVsW3RoaXMuYmluZEtleV0gPT09IHZhbHVlW3RoaXMuYmluZEtleV0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXNlbGVjdCAjbmdTZWxlY3RDb21wb25lbnRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgIFtpdGVtc109XCJ2aXNpYmxlSXRlbnNcIlxuICAgICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCJcbiAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZW5hYmxlZFNlYXJjaFwiXG4gICAgICAgICAgIFt0eXBlVG9TZWFyY2hUZXh0XT1cInNlYXJjaFBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgKG9wZW4pPVwib3BlblNlbGVjdEJveCgkZXZlbnQpXCJcbiAgICAgICAgICAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgIChjbGVhcik9XCJvbkNsZWFyKClcIlxuICAgICAgICAgICBbbm90Rm91bmRUZXh0XT1cIm5vdEZvdW5kVGV4dFwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiXG4gICAgICAgICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICBbdHlwZWFoZWFkXT1cImlucHV0RmlsdGVyXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydhcGlwYXNzLXNlbGVjdC1pbWFnZScgOiBiaW5kSW1hZ2VVcmwsICdhcGlwYXNzLXNlbGVjdCc6ICFiaW5kSW1hZ2VVcmx9XCJcbiAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXG4gICAgICAgICAgIFtiaW5kVmFsdWVdPVwic2VsZWN0UHJvcGVydHlcIj5cblxuICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzZWxlY3RQcm9wZXJ0eSAmJiBzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRLZXldICYmIHNlbGVjdGVkSXRlbVtiaW5kVmFsdWVdXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiIHN0eWxlPVwid2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCJcbiAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbVtiaW5kS2V5XSAmJiBzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXSAmJiBiaW5kSW1hZ2VVcmxcIj5cbiAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkSXRlbVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwic2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXVwiXG4gICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87bWF4LXdpZHRoOiA0MHB4O2hlaWdodDogNDBweDtcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC10ZXh0LWVsZW1lbnRcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW1bYmluZEtleV0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIj57e3NlbGVjdGVkSXRlbVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiIXNlbGVjdFByb3BlcnR5ICYmIHZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCIgc3R5bGU9XCJ3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogMTBweDtcIlxuICAgICAgICAgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdICYmIGJpbmRJbWFnZVVybFwiPlxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgIFtzcmNdPVwidmFsdWVbYmluZEltYWdlVXJsXSB8fCAnLi9hc3NldHMvaW1hZ2VzL25vLWltYWdlLnBuZydcIlxuICAgICAgICAgICBbYWx0XT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzttYXgtd2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4O1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LXRleHQtZWxlbWVudFwiICpuZ0lmPVwidmFsdWUgJiYgdmFsdWVbYmluZEtleV0gJiYgdmFsdWVbYmluZFZhbHVlXVwiPnt7dmFsdWVbYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wIFtuZ0lmXT1cInRoaXMuc2hvd0FkZE5ld0l0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLW5ldy1pdGVtLW9wdGlvblwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJvbkFkZE5ld0l0ZW0oKVwiPlxuICAgICAgPGljb24gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweFwiICpuZ0lmPVwiYWRkTmV3SXRlbUljb25cIiBbdGl0bGVdPVwiYWRkTmV3SXRlbVRleHRcIiBbbmFtZV09XCJhZGROZXdJdGVtSWNvblwiIFtzaXplXT1cIjIwXCI+PC9pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJhZGQtbmV3LWl0ZW0tdGV4dFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1wiXG4gICAgICAgICAgICAqbmdJZj1cImFkZE5ld0l0ZW1UZXh0XCI+e3thZGROZXdJdGVtVGV4dH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCIgc3R5bGU9XCJ3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogMTBweDtcIiAqbmdJZj1cImJpbmRJbWFnZVVybFwiPlxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgIFtzcmNdPVwiaXRlbVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwiaXRlbVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbVtiaW5kVmFsdWVdXCJcbiAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzttYXgtd2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4O1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LXRleHQtZWxlbWVudFwiXG4gICAgICAgICAgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCI+e3tpdGVtW2JpbmRWYWx1ZV19fTwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9uZy1zZWxlY3Q+XG4iXX0=
@@ -830,7 +830,8 @@ class SelectBoxComponent extends ValueAccessorBase {
830
830
  }
831
831
  // @ts-ignore
832
832
  onScroll({ end }) {
833
- if (this.loading || this.data.length <= this.visibleItens.length) {
833
+ const data = this.lastSearchTerm ? this.data.filter(item => { var _a; return (_a = item[this.bindValue]) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(this.lastSearchTerm.toLowerCase()); }) : this.data;
834
+ if (this.loading || data.length <= this.visibleItens.length) {
834
835
  return;
835
836
  }
836
837
  if (end + 5 >= this.visibleItens.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"apipass-inputs.js","sources":["../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/input-password/input-password.component.html","../../../projects/inputs/src/input-password/input-password.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/ace-editor/component.ts","../../../projects/inputs/src/ace-editor/directive.ts","../../../projects/inputs/src/input-number/input-number.component.html","../../../projects/inputs/src/input-number/input-number.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.html","../../../projects/inputs/src/debounce-model-directive/debouceInput.directive.ts","../../../projects/inputs/src/inputs.module.ts","../../../projects/inputs/src/apipass-inputs.ts"],"sourcesContent":["import {ControlValueAccessor} from '@angular/forms';\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any;\n\n public onChange: any = () => {};\n public onTouched: any = () => {};\n\n get value(): T {\n return this.innerValue;\n }\n\n set value(value: T) {\n value = this.changeValue(value);\n this.innerValue = value;\n this.onChange(value);\n this.onTouched();\n }\n\n protected changeValue(value: T): T {\n return value;\n }\n\n writeValue(value: T): void {\n this.innerValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n touch(): void {\n this.onTouched.forEach((f: () => any) => f());\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" [placeholder]=\"placeholder\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"search\" />\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | enum | selectEnumFilter: search\" [value]=\"enumData.key\">{{enumData.value | translate}}</mat-option>\n </mat-select>\n</mat-form-field>\n","import {Component, forwardRef, Input, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n @Input() public placeholder = 'Selecione';\n @Input() public enabledSearch = true;\n @Input() public data: any;\n @Input() public disabled = false;\n\n public search = '';\n\n onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-password apipass-input-text\"\n [color]=\"passwordComponent.color\"\n [ngClass]=\"{'label-input': label}\"\n appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput #password\n [type]=\"toggle.type\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [minlength]=\"minLength\"\n class=\"apipass-input\"\n required\n [(ngModel)]=\"value\" />\n <mat-pass-toggle-visibility #toggle matSuffix></mat-pass-toggle-visibility>\n <mat-hint align=\"end\" aria-live=\"polite\" *ngIf=\"showPasswordLengthDetails\">\n {{password.value.length}} / {{passwordComponent.max}}\n </mat-hint>\n</mat-form-field>\n\n<mat-password-strength\n class=\"green\"\n #passwordComponent\n (onStrengthChanged)=\"onStrengthChanged($event)\"\n [enableLengthRule]=\"enableLengthRule\"\n [min]=\"minLength\" [max]=\"maxLength\"\n [enableLowerCaseLetterRule]=\"enableLowerCaseLetterRule\"\n [enableUpperCaseLetterRule]=\"enableUpperCaseLetterRule\"\n [enableDigitRule]=\"enableDigitRule\"\n [enableSpecialCharRule]=\"enableSpecialCharRule\"\n [password]=\"password.value\">\n</mat-password-strength>\n\n<mat-password-strength-info\n *ngIf=\"showPasswordRuleDetails\"\n [lowerCaseCriteriaMsg]=\"lowerCaseCriteriaMsg\"\n [upperCaseCriteriaMsg]=\"upperCaseCriteriaMsg\"\n [digitsCriteriaMsg]=\"digitsCriteriaMsg\"\n [specialCharsCriteriaMsg]=\"specialCharsCriteriaMsg\"\n [minCharsCriteriaMsg]=\"minCharsCriteriaMsg\"\n [passwordComponent]=\"passwordComponent\">\n</mat-password-strength-info>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\nimport * as lodash from 'lodash';\n\n@Component({\n selector: 'input-password',\n templateUrl: 'input-password.component.html',\n styleUrls: ['input-password.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputPasswordComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputPasswordComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n\n @Input() showPasswordRuleDetails = false;\n @Input() showPasswordLengthDetails = false;\n\n @Input() enableLengthRule = false;\n @Input() enableLowerCaseLetterRule = false;\n @Input() enableUpperCaseLetterRule = false;\n @Input() enableDigitRule = false;\n @Input() enableSpecialCharRule = false;\n @Input() minLength = 0;\n @Input() maxLength = 200;\n @Input() strengthToValid = 100;\n\n @Input() lowerCaseCriteriaMsg = 'Your password must have a lowercase letter';\n @Input() upperCaseCriteriaMsg = 'Your password must have an uppercase letter';\n @Input() digitsCriteriaMsg = 'Your password must have a number';\n @Input() specialCharsCriteriaMsg = 'Your password must have a special character';\n @Input() minCharsCriteriaMsg = `Your password must be at least ${this.minLength} characters`;\n\n @Output() public onValidPassword = new EventEmitter<boolean>();\n\n constructor() {\n super();\n }\n\n public onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n public onStrengthChanged(strength: number): void {\n this.onValidPassword.emit(strength >= this.getStrength());\n }\n\n private getStrength(): number {\n return lodash.inRange(this.strengthToValid, 0, 100) ? this.strengthToValid : 100;\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"text\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData();\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png';\n @Input() imageAlt = 'Avatar';\n @Input() imageTitle = '';\n\n @Input() canRemove = false;\n @Input() removeTitle = '';\n\n @Input() canUpload = false;\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() imageBorderRadius = '50%';\n @Input() width = '65px';\n @Input() height = '65px';\n @Input() iconFontSize = '16px';\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>();\n\n public hasImage(): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png';\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.avatarFormData = new FormData();\n this.avatarFormData.append('file', file, file.name);\n if (!file.type.match(/image\\/*/)) {\n return;\n }\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = () => {\n this.avatarUrl = reader.result;\n this.emitChangeEvent();\n };\n }\n }\n\n removeClick(): void {\n this.avatarFormData = new FormData();\n this.avatarUrl = 'assets/images/no-image.png';\n this.emitChangeEvent();\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData});\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label | translate }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = '';\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\"\n [bindValue]=\"selectProperty\">\n\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"selectedItem[bindValue]\"\n [matTooltip]=\"selectedItem[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\n </ng-template>\n\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp [ngIf]=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit, OnDestroy {\n\n @Input() public placeholder = 'Selecione';\n @Input() public searchPlaceHolder = 'Buscar';\n @Input() public clearText = 'Limpar';\n @Input() public notFoundText = 'Nenhum item encontrado';\n @Input() public enabledSearch = true;\n @Input() public data: Array<any> = [];\n @Input() public disabled = false;\n @Input() public selectedItem: any;\n @Input() public selectProperty: string | undefined;\n\n @Input() public bindImageUrl = '';\n @Input() public bindKey = '';\n @Input() public bindValue = '';\n\n @Input() public limitItens = 30;\n\n @Input() public showAddNewItem = false;\n @Input() public addNewItemText = '';\n @Input() public addNewItemIcon = '';\n @Input() public addNewItemClickCloseSelect = false;\n\n @Input() public closeOnBodyScroll = false;\n\n @Output() public onOpenSelectBox = new EventEmitter<any>();\n @Output() public onCloseSelectBox = new EventEmitter<any>();\n @Output() public onSelectChange = new EventEmitter<any>();\n @Output() public onSelectClear = new EventEmitter<any>();\n @Output() public onAddNewItemClick = new EventEmitter<any>();\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined;\n\n public visibleItens: Array<any> = [];\n public loading = false;\n public inputFilter = new Subject<string>();\n public lastSearchTerm = '';\n\n ngOnInit(): void {\n this.onSearch();\n if (this.closeOnBodyScroll) {\n window.addEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n private onBodyScroll = (event: any) => {\n if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string)?.indexOf('ng-dropdown-panel-items') > -1;\n if (isScrollingInScrollHost) {\n return;\n }\n this.ngSelectComponent.close();\n }\n }\n\n ngOnDestroy(): void {\n if (this.closeOnBodyScroll) {\n window.removeEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n onSearch(): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {\n this.loading = true;\n this.lastSearchTerm = searchString;\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens);\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n } else {\n this.visibleItens = [];\n }\n setTimeout(() => this.loading = false, 300);\n });\n }\n\n // @ts-ignore\n onScroll({end}): void {\n if (this.loading || this.data.length <= this.visibleItens.length) {\n return;\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore();\n }\n }\n\n onScrollToEnd(): void {\n if (this.loading) {\n return;\n }\n this.fetchMore();\n }\n\n fetchMore(): void {\n this.loading = true;\n const len = this.visibleItens.length;\n const more = this.lastSearchTerm ?\n this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len) :\n this.data.slice(len, this.limitItens + len);\n this.visibleItens = this.visibleItens.concat(more);\n this.loading = false;\n }\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n onSelectionChange(event: Event): void {\n this.findSelectedItem(this.value);\n this.onSelectChange.emit(this.selectedItem);\n }\n\n openSelectBox($event: any): void {\n this.visibleItens = [];\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n }\n this.onOpenSelectBox.next();\n }\n\n public compareFn(a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey];\n }\n\n onClear(): void {\n this.onSelectClear.next();\n }\n\n onClose($event?: any): void {\n this.onCloseSelectBox.next();\n }\n\n onAddNewItem(): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close();\n }\n this.onAddNewItemClick.next();\n }\n\n writeValue(value: any): void {\n super.writeValue(value);\n if (value) {\n this.findSelectedItem(value);\n }\n }\n\n findSelectedItem(value: any): void {\n if (this.selectProperty) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value);\n } else {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value[this.bindKey]);\n }\n }\n}\n","import {AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {MatSelect} from '@angular/material/select';\nimport {debounceTime, takeUntil, tap} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3;\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%';\n @Input() debounceTime = 150;\n @Input() complete!: boolean;\n @Output() infiniteScroll = new EventEmitter<void>();\n\n private panel!: Element;\n private thrPx = 0;\n private thrPc = 0;\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM;\n\n private destroyed$ = new Subject<boolean>();\n\n constructor(private matSelect: MatSelect, private ngZone: NgZone) {\n }\n\n ngOnInit(): void {\n this.evaluateThreshold();\n }\n\n ngAfterViewInit(): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement;\n this.singleOptionHeight = this.getSelectItemHeightPx();\n this.registerScrollListener();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n evaluateThreshold(): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(this.threshold) / 100);\n\n } else {\n this.thrPx = parseFloat(this.threshold);\n this.thrPc = 0;\n }\n }\n\n registerScrollListener(): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event);\n })\n ).subscribe();\n }\n\n handleScrollEvent(event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return;\n }\n const countOfRenderedOptions = this.matSelect.options.length;\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => this.infiniteScroll.emit());\n }\n });\n }\n\n getSelectItemHeightPx(): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;\n }\n\n}\n","export class CustomSelectItem {\n public id: string | undefined | null;\n public text: string;\n\n constructor(id: string | undefined | null, text: string) {\n this.id = id;\n this.text = text;\n }\n}\n","<mat-form-field class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span *ngIf=\"allowRemove\" title=\"Remover\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick()\">\n <i class=\"fa fa-caret-down\"></i>\n </span>\n</mat-form-field>\n<div class=\"custom-select-component\">\n <ul class=\"ul-ac\" *ngIf=\"opened && ((value && value.length !== 0) || items)\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n <li class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>Adicionar novo item</span>\n </li>\n </ul>\n</div>\n","import {Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CustomSelectItem} from './custom-select-item';\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor {\n\n @Input() disabled = false;\n @Input() public items: CustomSelectItem[] = [];\n @Input() allowTyping = false;\n @Input() allowRemove = false;\n @Input() placeHolder = 'Selecione';\n @Input() findPlaceHolder = 'Busque um item';\n @Input() searchText = '';\n\n @Output() onSelect: EventEmitter<CustomSelectItem> = new EventEmitter();\n @Output() onUnSelect: EventEmitter<any> = new EventEmitter();\n @Output() onAddItem: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('input', { static: true }) input: ElementRef | undefined;\n\n public opened = false;\n public selectedItem: CustomSelectItem | undefined;\n private innerValue: any;\n private selectedModelValue: string | undefined;\n\n private edited = false;\n\n @HostBinding('attr.tabindex') tabindex = '0';\n @HostListener('blur', ['$event.target']) onBlur(target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value);\n this.selectedItem = new CustomSelectItem(this.value, this.value);\n this.onSelect.next(this.selectedItem);\n }\n } else {\n this.writeValue(undefined);\n this.onSelect.next(undefined);\n }\n }\n if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {\n return;\n }\n this.opened = false;\n }\n\n\n public selectItem(item: CustomSelectItem): void {\n this.opened = false;\n this.selectedItem = item;\n this.edited = false;\n this.selectedModelValue = item.text;\n this.value = item.text;\n this.searchText = '';\n this.onSelect.next(item);\n }\n\n public addItem(): void {\n this.opened = false;\n this.searchText = '';\n this.onAddItem.next();\n }\n\n public keyPress(): any {\n if (this.allowTyping) {\n this.opened = false;\n this.edited = true;\n this.selectedModelValue = this.value;\n this.searchText = '';\n } else {\n this.edited = false;\n return false;\n }\n }\n\n public clicked(): void {\n this.opened = true;\n this.searchText = '';\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(value: any) {\n this.innerValue = value;\n this.onChangeCallback(value);\n this.onSelect.next(value);\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem || !this.selectedItem.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value);\n }\n this.innerValue = value;\n this.selectedModelValue = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public arrowClick(): void {\n this.opened = true;\n this.searchText = '';\n this.input?.nativeElement.focus();\n }\n\n public removeClick(event: any): void {\n event.stopPropagation();\n this.opened = false;\n this.searchText = '';\n this.innerValue = null;\n this.onUnSelect.next();\n }\n\n public onDrop($event: any): void {\n this.searchText = '';\n if (!this.value) {\n this.value = '';\n }\n this.value += `{{${$event.data}}}`;\n this.edited = true;\n this.onBlur(undefined);\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n </div>\n </div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData();\n @Input() fileName: string | undefined;\n\n @Input() canRemove = false;\n @Input() canUpload = false;\n\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() iconFontSize = '16px';\n\n @Input() emptyFileLabel = '';\n @Input() fileTypes: Array<string> = [];\n\n @Output() public onFileChanged = new EventEmitter<{ fileUrl: boolean, fileFormData: FormData }>();\n @Output() public onInvalidFileType = new EventEmitter<{fileName: string, typesSupported: Array<string>, typeInvalid: string}>();\n\n public fileUrl = false;\n\n public hasFile(): boolean {\n return this.fileUrl;\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.fileName = file.name;\n if (!this.isFileTypeSupported(file.type)) {\n this.onInvalidFileType.emit({fileName: this.fileName, typesSupported: this.fileTypes, typeInvalid: file.type});\n return;\n }\n this.fileFormData = new FormData();\n this.fileFormData.append('file', file, file.name);\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = (loadEvent) => {\n this.fileUrl = true;\n this.emitChangeEvent();\n };\n }\n }\n\n public isFileTypeSupported(fileType: any): boolean {\n return !this.fileTypes || this.fileTypes.includes(fileType);\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({fileUrl: this.fileUrl, fileFormData: this.fileFormData});\n }\n\n}\n","/* tslint:disable */\n\nimport {Component, ElementRef, EventEmitter, forwardRef, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport 'brace';\nimport 'brace/theme/monokai';\n\ndeclare var ace: any;\n\n@Component({\n selector: 'ace-editor',\n template: '',\n styles: [':host { display:block;width:100%; }'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorComponent),\n multi: true\n }]\n})\nexport class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n @Output() textChanged = new EventEmitter();\n @Output() textChange = new EventEmitter();\n @Input() style: any = {};\n\n // @ts-ignore\n _options: any = {};\n\n // @ts-ignore\n _readOnly: false;\n\n // @ts-ignore\n _theme = 'monokai';\n\n // @ts-ignore\n _mode = 'html';\n\n // @ts-ignore\n _autoUpdateContent = true;\n\n // @ts-ignore\n _editor: any;\n\n // @ts-ignore\n _durationBeforeCallback = 0;\n\n // @ts-ignore\n _text = '';\n\n oldText: any;\n timeoutSaving: any;\n\n constructor(elementRef: ElementRef, private zone: NgZone) {\n const el = elementRef.nativeElement;\n this.zone.runOutsideAngular(() => {\n this._editor = ace['edit'](el);\n });\n this._editor.$blockScrolling = Infinity;\n }\n\n ngOnInit(): void {\n this.init();\n this.initEvents();\n }\n\n ngOnDestroy(): void {\n this._editor.destroy();\n }\n\n init(): void {\n this.setOptions(this._options || {});\n this.setTheme(this._theme);\n this.setMode(this._mode);\n this.setReadOnly(this._readOnly);\n }\n\n initEvents(): void {\n this._editor.on('change', () => this.updateText());\n this._editor.on('paste', () => this.updateText());\n }\n\n updateText(): void {\n const newVal = this._editor.getValue();\n if (newVal === this.oldText) {\n return;\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this._onChange(newVal);\n } else {\n if (this.timeoutSaving) {\n clearTimeout(this.timeoutSaving);\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this.timeoutSaving = null;\n }, this._durationBeforeCallback);\n }\n this.oldText = newVal;\n }\n\n @Input() set options(options: any) {\n this.setOptions(options);\n }\n\n setOptions(options: any): void {\n this._options = options;\n this._editor.setOptions(options || {});\n }\n\n @Input() set readOnly(readOnly: any) {\n this.setReadOnly(readOnly);\n }\n\n setReadOnly(readOnly: any): void {\n this._readOnly = readOnly;\n this._editor.setReadOnly(readOnly);\n }\n\n @Input() set theme(theme: any) {\n this.setTheme(theme);\n }\n\n setTheme(theme: any): void {\n this._theme = theme;\n this._editor.setTheme(`ace/theme/${theme}`);\n }\n\n @Input() set mode(mode: any) {\n this.setMode(mode);\n }\n\n setMode(mode: any): void {\n this._mode = mode;\n if (typeof this._mode === 'object') {\n this._editor.getSession().setMode(this._mode);\n } else {\n this._editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n }\n\n // @ts-ignore\n get value() {\n return this.text;\n }\n\n // @ts-ignore\n @Input()\n set value(value: string) {\n this.setText(value);\n }\n\n writeValue(value: any): void {\n this.setText(value);\n }\n\n private _onChange = (_: any): void => {\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n private _onTouched = (): void => {\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n get text() {\n return this._text;\n }\n\n @Input()\n set text(text: string) {\n this.setText(text);\n }\n\n setText(text: any): void {\n if (text === null || text === undefined) {\n text = '';\n }\n if (this._text !== text && this._autoUpdateContent) {\n this._text = text;\n this._editor.setValue(text);\n this._onChange(text);\n this._editor.clearSelection();\n }\n }\n\n @Input() set autoUpdateContent(status: any) {\n this.setAutoUpdateContent(status);\n }\n\n setAutoUpdateContent(status: any): void {\n this._autoUpdateContent = status;\n }\n\n @Input() set durationBeforeCallback(num: number) {\n this.setDurationBeforeCallback(num);\n }\n\n setDurationBeforeCallback(num: number): void {\n this._durationBeforeCallback = num;\n }\n\n getEditor(): any {\n return this._editor;\n }\n\n}\n","/* tslint:disable */\n\nimport {Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport 'brace';\nimport 'brace/theme/monokai';\n\ndeclare var ace: any;\n\n@Directive({\n selector: '[ace-editor]'\n})\nexport class AceEditorDirective implements OnInit, OnDestroy {\n @Output() textChanged = new EventEmitter();\n @Output() textChange = new EventEmitter();\n _options: any = {};\n _readOnly = false;\n _theme = 'monokai';\n _mode = 'html';\n _autoUpdateContent = true;\n _durationBeforeCallback = 0;\n _text = '';\n editor: any;\n oldText: any;\n timeoutSaving: any;\n\n constructor(elementRef: ElementRef, private zone: NgZone) {\n const el = elementRef.nativeElement;\n this.zone.runOutsideAngular(() => {\n this.editor = ace['edit'](el);\n });\n this.editor.$blockScrolling = Infinity;\n }\n\n ngOnInit(): void {\n this.init();\n this.initEvents();\n }\n\n ngOnDestroy(): void {\n this.editor.destroy();\n }\n\n init(): void {\n this.editor.setOptions(this._options || {});\n this.editor.setTheme(`ace/theme/${this._theme}`);\n this.setMode(this._mode);\n this.editor.setReadOnly(this._readOnly);\n }\n\n initEvents(): void {\n this.editor.on('change', () => this.updateText());\n this.editor.on('paste', () => this.updateText());\n }\n\n updateText(): void {\n const newVal = this.editor.getValue();\n if (newVal === this.oldText) {\n return;\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n } else {\n if (this.timeoutSaving != null) {\n clearTimeout(this.timeoutSaving);\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this.timeoutSaving = null;\n }, this._durationBeforeCallback);\n }\n this.oldText = newVal;\n }\n\n @Input() set options(options: any) {\n this._options = options;\n this.editor.setOptions(options || {});\n }\n\n @Input() set readOnly(readOnly: any) {\n this._readOnly = readOnly;\n this.editor.setReadOnly(readOnly);\n }\n\n @Input() set theme(theme: any) {\n this._theme = theme;\n this.editor.setTheme(`ace/theme/${theme}`);\n }\n\n @Input() set mode(mode: any) {\n this.setMode(mode);\n }\n\n setMode(mode: any): void {\n this._mode = mode;\n if (typeof this._mode === 'object') {\n this.editor.getSession().setMode(this._mode);\n } else {\n this.editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n }\n\n // @ts-ignore\n @Input()\n get text() {\n return this._text;\n }\n\n set text(text: string) {\n this.setText(text);\n }\n\n setText(text: any): void {\n if (this._text !== text) {\n if (text === null || text === undefined) {\n text = '';\n }\n\n if (this._autoUpdateContent) {\n this._text = text;\n this.editor.setValue(text);\n this.editor.clearSelection();\n }\n }\n }\n\n @Input() set autoUpdateContent(status: any) {\n this._autoUpdateContent = status;\n }\n\n @Input() set durationBeforeCallback(num: number) {\n this.setDurationBeforeCallback(num);\n }\n\n setDurationBeforeCallback(num: number): void {\n this._durationBeforeCallback = num;\n }\n\n get aceEditor(): any {\n return this.editor;\n }\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"number\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-number',\n templateUrl: 'input-number.component.html',\n styleUrls: ['input-number.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumberComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputNumberComponent extends ValueAccessorBase<number> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-boolean',\n templateUrl: 'input-boolean.component.html',\n styleUrls: ['input-boolean.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputBooleanComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputBooleanComponent extends ValueAccessorBase<boolean> {\n\n @Input() trueLabel = '';\n @Input() trueIconPrefix = '';\n @Input() trueIconSuffix = '';\n @Input() falseLabel = '';\n @Input() falseIconPrefix = '';\n @Input() falseIconSuffix = '';\n @Input() disabled = false;\n\n public trueClick(): void {\n if (!this.disabled && !this.value) {\n this.value = true;\n }\n }\n\n public falseClick(): void {\n if (!this.disabled && this.value) {\n this.value = false;\n }\n }\n\n}\n","<div class=\"input-boolean\">\n\n <primary-button class=\"btn-true\"\n [selected]=\"this.value === true\"\n [label]=\"trueLabel\"\n [icon]=\"trueIconPrefix\"\n [suffixIcon]=\"trueIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"trueClick()\">\n </primary-button>\n\n <primary-button class=\"btn-false\"\n [selected]=\"this.value === false || this.value === undefined\"\n [label]=\"falseLabel\"\n [icon]=\"falseIconPrefix\"\n [suffixIcon]=\"falseIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"falseClick()\">\n </primary-button>\n\n</div>\n","import {Directive, EventEmitter, Input, OnDestroy, Output} from '@angular/core';\nimport {NgModel} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, skip} from 'rxjs/operators';\n\n@Directive({\n selector: '[debounceInput]',\n})\nexport class DebouceInputDirective implements OnDestroy {\n\n @Input()\n public debounceTime = 500;\n\n @Output()\n public onDebounceTriggered = new EventEmitter<any>();\n\n public subscription: Subscription;\n\n constructor(private ngModel: NgModel) {\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1),\n distinctUntilChanged(),\n debounceTime(this.debounceTime)\n ).subscribe((value) => this.onDebounceTriggered.emit(value));\n }\n\n public ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {SelectEnumComponent} from './select-enum/select-enum.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {InputPasswordComponent} from './input-password/input-password.component';\nimport {InputTextComponent} from './input-text/input-text.component';\nimport {InputAvatarComponent} from './input-avatar/input-avatar.component';\nimport {FieldComponent} from './field/field.component';\nimport {SelectBoxComponent} from './select-box/select-box.component';\nimport {MatSelectFilterModule} from 'mat-select-filter';\nimport {MatSelectInfiniteScrollDirective} from './select-box/mat-select-infinite-scroll.directive';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {CustomSelectComponent} from './custom-select/custom-select.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {IconsModule} from '@apipass/icons';\nimport {PipeModule} from '@apipass/pipes';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {RouterModule} from '@angular/router';\nimport {MatPasswordStrengthModule} from '@angular-material-extensions/password-strength';\nimport {InputFileComponent} from './input-file/input-file.component';\nimport {AceEditorComponent} from './ace-editor/component';\nimport {AceEditorDirective} from './ace-editor/directive';\nimport {InputNumberComponent} from './input-number/input-number.component';\nimport {InputBooleanComponent} from './input-boolean/input-boolean.component';\nimport {ButtonsModule} from '@apipass/buttons';\nimport {DebouceInputDirective} from './debounce-model-directive/debouceInput.directive';\n\n@NgModule({\n imports: [\n RouterModule.forChild([]),\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatPasswordStrengthModule,\n MatSelectModule,\n MatSelectFilterModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n TranslateModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ButtonsModule,\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective\n ],\n providers: [],\n})\nexport class InputsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0.ɵɵelementStart","i0.ɵɵlistener","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵtext","i0.ɵɵtextInterpolate","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵelement","lodash.inRange","i0.ɵɵprojection","i0.ɵɵtextInterpolate1"],"mappings":"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"}
1
+ {"version":3,"file":"apipass-inputs.js","sources":["../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/input-password/input-password.component.html","../../../projects/inputs/src/input-password/input-password.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/ace-editor/component.ts","../../../projects/inputs/src/ace-editor/directive.ts","../../../projects/inputs/src/input-number/input-number.component.html","../../../projects/inputs/src/input-number/input-number.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.html","../../../projects/inputs/src/debounce-model-directive/debouceInput.directive.ts","../../../projects/inputs/src/inputs.module.ts","../../../projects/inputs/src/apipass-inputs.ts"],"sourcesContent":["import {ControlValueAccessor} from '@angular/forms';\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any;\n\n public onChange: any = () => {};\n public onTouched: any = () => {};\n\n get value(): T {\n return this.innerValue;\n }\n\n set value(value: T) {\n value = this.changeValue(value);\n this.innerValue = value;\n this.onChange(value);\n this.onTouched();\n }\n\n protected changeValue(value: T): T {\n return value;\n }\n\n writeValue(value: T): void {\n this.innerValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n touch(): void {\n this.onTouched.forEach((f: () => any) => f());\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" [placeholder]=\"placeholder\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"search\" />\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | enum | selectEnumFilter: search\" [value]=\"enumData.key\">{{enumData.value | translate}}</mat-option>\n </mat-select>\n</mat-form-field>\n","import {Component, forwardRef, Input, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n @Input() public placeholder = 'Selecione';\n @Input() public enabledSearch = true;\n @Input() public data: any;\n @Input() public disabled = false;\n\n public search = '';\n\n onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-password apipass-input-text\"\n [color]=\"passwordComponent.color\"\n [ngClass]=\"{'label-input': label}\"\n appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput #password\n [type]=\"toggle.type\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [minlength]=\"minLength\"\n class=\"apipass-input\"\n required\n [(ngModel)]=\"value\" />\n <mat-pass-toggle-visibility #toggle matSuffix></mat-pass-toggle-visibility>\n <mat-hint align=\"end\" aria-live=\"polite\" *ngIf=\"showPasswordLengthDetails\">\n {{password.value.length}} / {{passwordComponent.max}}\n </mat-hint>\n</mat-form-field>\n\n<mat-password-strength\n class=\"green\"\n #passwordComponent\n (onStrengthChanged)=\"onStrengthChanged($event)\"\n [enableLengthRule]=\"enableLengthRule\"\n [min]=\"minLength\" [max]=\"maxLength\"\n [enableLowerCaseLetterRule]=\"enableLowerCaseLetterRule\"\n [enableUpperCaseLetterRule]=\"enableUpperCaseLetterRule\"\n [enableDigitRule]=\"enableDigitRule\"\n [enableSpecialCharRule]=\"enableSpecialCharRule\"\n [password]=\"password.value\">\n</mat-password-strength>\n\n<mat-password-strength-info\n *ngIf=\"showPasswordRuleDetails\"\n [lowerCaseCriteriaMsg]=\"lowerCaseCriteriaMsg\"\n [upperCaseCriteriaMsg]=\"upperCaseCriteriaMsg\"\n [digitsCriteriaMsg]=\"digitsCriteriaMsg\"\n [specialCharsCriteriaMsg]=\"specialCharsCriteriaMsg\"\n [minCharsCriteriaMsg]=\"minCharsCriteriaMsg\"\n [passwordComponent]=\"passwordComponent\">\n</mat-password-strength-info>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\nimport * as lodash from 'lodash';\n\n@Component({\n selector: 'input-password',\n templateUrl: 'input-password.component.html',\n styleUrls: ['input-password.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputPasswordComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputPasswordComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n\n @Input() showPasswordRuleDetails = false;\n @Input() showPasswordLengthDetails = false;\n\n @Input() enableLengthRule = false;\n @Input() enableLowerCaseLetterRule = false;\n @Input() enableUpperCaseLetterRule = false;\n @Input() enableDigitRule = false;\n @Input() enableSpecialCharRule = false;\n @Input() minLength = 0;\n @Input() maxLength = 200;\n @Input() strengthToValid = 100;\n\n @Input() lowerCaseCriteriaMsg = 'Your password must have a lowercase letter';\n @Input() upperCaseCriteriaMsg = 'Your password must have an uppercase letter';\n @Input() digitsCriteriaMsg = 'Your password must have a number';\n @Input() specialCharsCriteriaMsg = 'Your password must have a special character';\n @Input() minCharsCriteriaMsg = `Your password must be at least ${this.minLength} characters`;\n\n @Output() public onValidPassword = new EventEmitter<boolean>();\n\n constructor() {\n super();\n }\n\n public onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n public onStrengthChanged(strength: number): void {\n this.onValidPassword.emit(strength >= this.getStrength());\n }\n\n private getStrength(): number {\n return lodash.inRange(this.strengthToValid, 0, 100) ? this.strengthToValid : 100;\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"text\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData();\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png';\n @Input() imageAlt = 'Avatar';\n @Input() imageTitle = '';\n\n @Input() canRemove = false;\n @Input() removeTitle = '';\n\n @Input() canUpload = false;\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() imageBorderRadius = '50%';\n @Input() width = '65px';\n @Input() height = '65px';\n @Input() iconFontSize = '16px';\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>();\n\n public hasImage(): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png';\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.avatarFormData = new FormData();\n this.avatarFormData.append('file', file, file.name);\n if (!file.type.match(/image\\/*/)) {\n return;\n }\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = () => {\n this.avatarUrl = reader.result;\n this.emitChangeEvent();\n };\n }\n }\n\n removeClick(): void {\n this.avatarFormData = new FormData();\n this.avatarUrl = 'assets/images/no-image.png';\n this.emitChangeEvent();\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData});\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label | translate }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = '';\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\"\n [bindValue]=\"selectProperty\">\n\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"selectedItem[bindValue]\"\n [matTooltip]=\"selectedItem[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\n </ng-template>\n\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp [ngIf]=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit, OnDestroy {\n\n @Input() public placeholder = 'Selecione';\n @Input() public searchPlaceHolder = 'Buscar';\n @Input() public clearText = 'Limpar';\n @Input() public notFoundText = 'Nenhum item encontrado';\n @Input() public enabledSearch = true;\n @Input() public data: Array<any> = [];\n @Input() public disabled = false;\n @Input() public selectedItem: any;\n @Input() public selectProperty: string | undefined;\n\n @Input() public bindImageUrl = '';\n @Input() public bindKey = '';\n @Input() public bindValue = '';\n\n @Input() public limitItens = 30;\n\n @Input() public showAddNewItem = false;\n @Input() public addNewItemText = '';\n @Input() public addNewItemIcon = '';\n @Input() public addNewItemClickCloseSelect = false;\n\n @Input() public closeOnBodyScroll = false;\n\n @Output() public onOpenSelectBox = new EventEmitter<any>();\n @Output() public onCloseSelectBox = new EventEmitter<any>();\n @Output() public onSelectChange = new EventEmitter<any>();\n @Output() public onSelectClear = new EventEmitter<any>();\n @Output() public onAddNewItemClick = new EventEmitter<any>();\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined;\n\n public visibleItens: Array<any> = [];\n public loading = false;\n public inputFilter = new Subject<string>();\n public lastSearchTerm = '';\n\n ngOnInit(): void {\n this.onSearch();\n if (this.closeOnBodyScroll) {\n window.addEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n private onBodyScroll = (event: any) => {\n if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string)?.indexOf('ng-dropdown-panel-items') > -1;\n if (isScrollingInScrollHost) {\n return;\n }\n this.ngSelectComponent.close();\n }\n }\n\n ngOnDestroy(): void {\n if (this.closeOnBodyScroll) {\n window.removeEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n onSearch(): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {\n this.loading = true;\n this.lastSearchTerm = searchString;\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens);\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n } else {\n this.visibleItens = [];\n }\n setTimeout(() => this.loading = false, 300);\n });\n }\n\n // @ts-ignore\n onScroll({end}): void {\n const data = this.lastSearchTerm ? this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ) : this.data;\n if (this.loading || data.length <= this.visibleItens.length) {\n return;\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore();\n }\n }\n\n onScrollToEnd(): void {\n if (this.loading) {\n return;\n }\n this.fetchMore();\n }\n\n fetchMore(): void {\n this.loading = true;\n const len = this.visibleItens.length;\n const more = this.lastSearchTerm ?\n this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len) :\n this.data.slice(len, this.limitItens + len);\n this.visibleItens = this.visibleItens.concat(more);\n this.loading = false;\n }\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n onSelectionChange(event: Event): void {\n this.findSelectedItem(this.value);\n this.onSelectChange.emit(this.selectedItem);\n }\n\n openSelectBox($event: any): void {\n this.visibleItens = [];\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n }\n this.onOpenSelectBox.next();\n }\n\n public compareFn(a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey];\n }\n\n onClear(): void {\n this.onSelectClear.next();\n }\n\n onClose($event?: any): void {\n this.onCloseSelectBox.next();\n }\n\n onAddNewItem(): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close();\n }\n this.onAddNewItemClick.next();\n }\n\n writeValue(value: any): void {\n super.writeValue(value);\n if (value) {\n this.findSelectedItem(value);\n }\n }\n\n findSelectedItem(value: any): void {\n if (this.selectProperty) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value);\n } else {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value[this.bindKey]);\n }\n }\n}\n","import {AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {MatSelect} from '@angular/material/select';\nimport {debounceTime, takeUntil, tap} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3;\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%';\n @Input() debounceTime = 150;\n @Input() complete!: boolean;\n @Output() infiniteScroll = new EventEmitter<void>();\n\n private panel!: Element;\n private thrPx = 0;\n private thrPc = 0;\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM;\n\n private destroyed$ = new Subject<boolean>();\n\n constructor(private matSelect: MatSelect, private ngZone: NgZone) {\n }\n\n ngOnInit(): void {\n this.evaluateThreshold();\n }\n\n ngAfterViewInit(): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement;\n this.singleOptionHeight = this.getSelectItemHeightPx();\n this.registerScrollListener();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n evaluateThreshold(): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(this.threshold) / 100);\n\n } else {\n this.thrPx = parseFloat(this.threshold);\n this.thrPc = 0;\n }\n }\n\n registerScrollListener(): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event);\n })\n ).subscribe();\n }\n\n handleScrollEvent(event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return;\n }\n const countOfRenderedOptions = this.matSelect.options.length;\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => this.infiniteScroll.emit());\n }\n });\n }\n\n getSelectItemHeightPx(): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;\n }\n\n}\n","export class CustomSelectItem {\n public id: string | undefined | null;\n public text: string;\n\n constructor(id: string | undefined | null, text: string) {\n this.id = id;\n this.text = text;\n }\n}\n","<mat-form-field class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span *ngIf=\"allowRemove\" title=\"Remover\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick()\">\n <i class=\"fa fa-caret-down\"></i>\n </span>\n</mat-form-field>\n<div class=\"custom-select-component\">\n <ul class=\"ul-ac\" *ngIf=\"opened && ((value && value.length !== 0) || items)\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n <li class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>Adicionar novo item</span>\n </li>\n </ul>\n</div>\n","import {Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CustomSelectItem} from './custom-select-item';\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor {\n\n @Input() disabled = false;\n @Input() public items: CustomSelectItem[] = [];\n @Input() allowTyping = false;\n @Input() allowRemove = false;\n @Input() placeHolder = 'Selecione';\n @Input() findPlaceHolder = 'Busque um item';\n @Input() searchText = '';\n\n @Output() onSelect: EventEmitter<CustomSelectItem> = new EventEmitter();\n @Output() onUnSelect: EventEmitter<any> = new EventEmitter();\n @Output() onAddItem: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('input', { static: true }) input: ElementRef | undefined;\n\n public opened = false;\n public selectedItem: CustomSelectItem | undefined;\n private innerValue: any;\n private selectedModelValue: string | undefined;\n\n private edited = false;\n\n @HostBinding('attr.tabindex') tabindex = '0';\n @HostListener('blur', ['$event.target']) onBlur(target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value);\n this.selectedItem = new CustomSelectItem(this.value, this.value);\n this.onSelect.next(this.selectedItem);\n }\n } else {\n this.writeValue(undefined);\n this.onSelect.next(undefined);\n }\n }\n if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {\n return;\n }\n this.opened = false;\n }\n\n\n public selectItem(item: CustomSelectItem): void {\n this.opened = false;\n this.selectedItem = item;\n this.edited = false;\n this.selectedModelValue = item.text;\n this.value = item.text;\n this.searchText = '';\n this.onSelect.next(item);\n }\n\n public addItem(): void {\n this.opened = false;\n this.searchText = '';\n this.onAddItem.next();\n }\n\n public keyPress(): any {\n if (this.allowTyping) {\n this.opened = false;\n this.edited = true;\n this.selectedModelValue = this.value;\n this.searchText = '';\n } else {\n this.edited = false;\n return false;\n }\n }\n\n public clicked(): void {\n this.opened = true;\n this.searchText = '';\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(value: any) {\n this.innerValue = value;\n this.onChangeCallback(value);\n this.onSelect.next(value);\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem || !this.selectedItem.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value);\n }\n this.innerValue = value;\n this.selectedModelValue = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public arrowClick(): void {\n this.opened = true;\n this.searchText = '';\n this.input?.nativeElement.focus();\n }\n\n public removeClick(event: any): void {\n event.stopPropagation();\n this.opened = false;\n this.searchText = '';\n this.innerValue = null;\n this.onUnSelect.next();\n }\n\n public onDrop($event: any): void {\n this.searchText = '';\n if (!this.value) {\n this.value = '';\n }\n this.value += `{{${$event.data}}}`;\n this.edited = true;\n this.onBlur(undefined);\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n </div>\n </div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData();\n @Input() fileName: string | undefined;\n\n @Input() canRemove = false;\n @Input() canUpload = false;\n\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() iconFontSize = '16px';\n\n @Input() emptyFileLabel = '';\n @Input() fileTypes: Array<string> = [];\n\n @Output() public onFileChanged = new EventEmitter<{ fileUrl: boolean, fileFormData: FormData }>();\n @Output() public onInvalidFileType = new EventEmitter<{fileName: string, typesSupported: Array<string>, typeInvalid: string}>();\n\n public fileUrl = false;\n\n public hasFile(): boolean {\n return this.fileUrl;\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.fileName = file.name;\n if (!this.isFileTypeSupported(file.type)) {\n this.onInvalidFileType.emit({fileName: this.fileName, typesSupported: this.fileTypes, typeInvalid: file.type});\n return;\n }\n this.fileFormData = new FormData();\n this.fileFormData.append('file', file, file.name);\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = (loadEvent) => {\n this.fileUrl = true;\n this.emitChangeEvent();\n };\n }\n }\n\n public isFileTypeSupported(fileType: any): boolean {\n return !this.fileTypes || this.fileTypes.includes(fileType);\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({fileUrl: this.fileUrl, fileFormData: this.fileFormData});\n }\n\n}\n","/* tslint:disable */\n\nimport {Component, ElementRef, EventEmitter, forwardRef, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport 'brace';\nimport 'brace/theme/monokai';\n\ndeclare var ace: any;\n\n@Component({\n selector: 'ace-editor',\n template: '',\n styles: [':host { display:block;width:100%; }'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorComponent),\n multi: true\n }]\n})\nexport class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n @Output() textChanged = new EventEmitter();\n @Output() textChange = new EventEmitter();\n @Input() style: any = {};\n\n // @ts-ignore\n _options: any = {};\n\n // @ts-ignore\n _readOnly: false;\n\n // @ts-ignore\n _theme = 'monokai';\n\n // @ts-ignore\n _mode = 'html';\n\n // @ts-ignore\n _autoUpdateContent = true;\n\n // @ts-ignore\n _editor: any;\n\n // @ts-ignore\n _durationBeforeCallback = 0;\n\n // @ts-ignore\n _text = '';\n\n oldText: any;\n timeoutSaving: any;\n\n constructor(elementRef: ElementRef, private zone: NgZone) {\n const el = elementRef.nativeElement;\n this.zone.runOutsideAngular(() => {\n this._editor = ace['edit'](el);\n });\n this._editor.$blockScrolling = Infinity;\n }\n\n ngOnInit(): void {\n this.init();\n this.initEvents();\n }\n\n ngOnDestroy(): void {\n this._editor.destroy();\n }\n\n init(): void {\n this.setOptions(this._options || {});\n this.setTheme(this._theme);\n this.setMode(this._mode);\n this.setReadOnly(this._readOnly);\n }\n\n initEvents(): void {\n this._editor.on('change', () => this.updateText());\n this._editor.on('paste', () => this.updateText());\n }\n\n updateText(): void {\n const newVal = this._editor.getValue();\n if (newVal === this.oldText) {\n return;\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this._onChange(newVal);\n } else {\n if (this.timeoutSaving) {\n clearTimeout(this.timeoutSaving);\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this.timeoutSaving = null;\n }, this._durationBeforeCallback);\n }\n this.oldText = newVal;\n }\n\n @Input() set options(options: any) {\n this.setOptions(options);\n }\n\n setOptions(options: any): void {\n this._options = options;\n this._editor.setOptions(options || {});\n }\n\n @Input() set readOnly(readOnly: any) {\n this.setReadOnly(readOnly);\n }\n\n setReadOnly(readOnly: any): void {\n this._readOnly = readOnly;\n this._editor.setReadOnly(readOnly);\n }\n\n @Input() set theme(theme: any) {\n this.setTheme(theme);\n }\n\n setTheme(theme: any): void {\n this._theme = theme;\n this._editor.setTheme(`ace/theme/${theme}`);\n }\n\n @Input() set mode(mode: any) {\n this.setMode(mode);\n }\n\n setMode(mode: any): void {\n this._mode = mode;\n if (typeof this._mode === 'object') {\n this._editor.getSession().setMode(this._mode);\n } else {\n this._editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n }\n\n // @ts-ignore\n get value() {\n return this.text;\n }\n\n // @ts-ignore\n @Input()\n set value(value: string) {\n this.setText(value);\n }\n\n writeValue(value: any): void {\n this.setText(value);\n }\n\n private _onChange = (_: any): void => {\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n private _onTouched = (): void => {\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n get text() {\n return this._text;\n }\n\n @Input()\n set text(text: string) {\n this.setText(text);\n }\n\n setText(text: any): void {\n if (text === null || text === undefined) {\n text = '';\n }\n if (this._text !== text && this._autoUpdateContent) {\n this._text = text;\n this._editor.setValue(text);\n this._onChange(text);\n this._editor.clearSelection();\n }\n }\n\n @Input() set autoUpdateContent(status: any) {\n this.setAutoUpdateContent(status);\n }\n\n setAutoUpdateContent(status: any): void {\n this._autoUpdateContent = status;\n }\n\n @Input() set durationBeforeCallback(num: number) {\n this.setDurationBeforeCallback(num);\n }\n\n setDurationBeforeCallback(num: number): void {\n this._durationBeforeCallback = num;\n }\n\n getEditor(): any {\n return this._editor;\n }\n\n}\n","/* tslint:disable */\n\nimport {Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport 'brace';\nimport 'brace/theme/monokai';\n\ndeclare var ace: any;\n\n@Directive({\n selector: '[ace-editor]'\n})\nexport class AceEditorDirective implements OnInit, OnDestroy {\n @Output() textChanged = new EventEmitter();\n @Output() textChange = new EventEmitter();\n _options: any = {};\n _readOnly = false;\n _theme = 'monokai';\n _mode = 'html';\n _autoUpdateContent = true;\n _durationBeforeCallback = 0;\n _text = '';\n editor: any;\n oldText: any;\n timeoutSaving: any;\n\n constructor(elementRef: ElementRef, private zone: NgZone) {\n const el = elementRef.nativeElement;\n this.zone.runOutsideAngular(() => {\n this.editor = ace['edit'](el);\n });\n this.editor.$blockScrolling = Infinity;\n }\n\n ngOnInit(): void {\n this.init();\n this.initEvents();\n }\n\n ngOnDestroy(): void {\n this.editor.destroy();\n }\n\n init(): void {\n this.editor.setOptions(this._options || {});\n this.editor.setTheme(`ace/theme/${this._theme}`);\n this.setMode(this._mode);\n this.editor.setReadOnly(this._readOnly);\n }\n\n initEvents(): void {\n this.editor.on('change', () => this.updateText());\n this.editor.on('paste', () => this.updateText());\n }\n\n updateText(): void {\n const newVal = this.editor.getValue();\n if (newVal === this.oldText) {\n return;\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n } else {\n if (this.timeoutSaving != null) {\n clearTimeout(this.timeoutSaving);\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal;\n this.zone.run(() => {\n this.textChange.emit(newVal);\n this.textChanged.emit(newVal);\n });\n this.timeoutSaving = null;\n }, this._durationBeforeCallback);\n }\n this.oldText = newVal;\n }\n\n @Input() set options(options: any) {\n this._options = options;\n this.editor.setOptions(options || {});\n }\n\n @Input() set readOnly(readOnly: any) {\n this._readOnly = readOnly;\n this.editor.setReadOnly(readOnly);\n }\n\n @Input() set theme(theme: any) {\n this._theme = theme;\n this.editor.setTheme(`ace/theme/${theme}`);\n }\n\n @Input() set mode(mode: any) {\n this.setMode(mode);\n }\n\n setMode(mode: any): void {\n this._mode = mode;\n if (typeof this._mode === 'object') {\n this.editor.getSession().setMode(this._mode);\n } else {\n this.editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n }\n\n // @ts-ignore\n @Input()\n get text() {\n return this._text;\n }\n\n set text(text: string) {\n this.setText(text);\n }\n\n setText(text: any): void {\n if (this._text !== text) {\n if (text === null || text === undefined) {\n text = '';\n }\n\n if (this._autoUpdateContent) {\n this._text = text;\n this.editor.setValue(text);\n this.editor.clearSelection();\n }\n }\n }\n\n @Input() set autoUpdateContent(status: any) {\n this._autoUpdateContent = status;\n }\n\n @Input() set durationBeforeCallback(num: number) {\n this.setDurationBeforeCallback(num);\n }\n\n setDurationBeforeCallback(num: number): void {\n this._durationBeforeCallback = num;\n }\n\n get aceEditor(): any {\n return this.editor;\n }\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"number\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-number',\n templateUrl: 'input-number.component.html',\n styleUrls: ['input-number.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumberComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputNumberComponent extends ValueAccessorBase<number> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-boolean',\n templateUrl: 'input-boolean.component.html',\n styleUrls: ['input-boolean.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputBooleanComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputBooleanComponent extends ValueAccessorBase<boolean> {\n\n @Input() trueLabel = '';\n @Input() trueIconPrefix = '';\n @Input() trueIconSuffix = '';\n @Input() falseLabel = '';\n @Input() falseIconPrefix = '';\n @Input() falseIconSuffix = '';\n @Input() disabled = false;\n\n public trueClick(): void {\n if (!this.disabled && !this.value) {\n this.value = true;\n }\n }\n\n public falseClick(): void {\n if (!this.disabled && this.value) {\n this.value = false;\n }\n }\n\n}\n","<div class=\"input-boolean\">\n\n <primary-button class=\"btn-true\"\n [selected]=\"this.value === true\"\n [label]=\"trueLabel\"\n [icon]=\"trueIconPrefix\"\n [suffixIcon]=\"trueIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"trueClick()\">\n </primary-button>\n\n <primary-button class=\"btn-false\"\n [selected]=\"this.value === false || this.value === undefined\"\n [label]=\"falseLabel\"\n [icon]=\"falseIconPrefix\"\n [suffixIcon]=\"falseIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"falseClick()\">\n </primary-button>\n\n</div>\n","import {Directive, EventEmitter, Input, OnDestroy, Output} from '@angular/core';\nimport {NgModel} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, skip} from 'rxjs/operators';\n\n@Directive({\n selector: '[debounceInput]',\n})\nexport class DebouceInputDirective implements OnDestroy {\n\n @Input()\n public debounceTime = 500;\n\n @Output()\n public onDebounceTriggered = new EventEmitter<any>();\n\n public subscription: Subscription;\n\n constructor(private ngModel: NgModel) {\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1),\n distinctUntilChanged(),\n debounceTime(this.debounceTime)\n ).subscribe((value) => this.onDebounceTriggered.emit(value));\n }\n\n public ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {SelectEnumComponent} from './select-enum/select-enum.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {InputPasswordComponent} from './input-password/input-password.component';\nimport {InputTextComponent} from './input-text/input-text.component';\nimport {InputAvatarComponent} from './input-avatar/input-avatar.component';\nimport {FieldComponent} from './field/field.component';\nimport {SelectBoxComponent} from './select-box/select-box.component';\nimport {MatSelectFilterModule} from 'mat-select-filter';\nimport {MatSelectInfiniteScrollDirective} from './select-box/mat-select-infinite-scroll.directive';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {CustomSelectComponent} from './custom-select/custom-select.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {IconsModule} from '@apipass/icons';\nimport {PipeModule} from '@apipass/pipes';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {RouterModule} from '@angular/router';\nimport {MatPasswordStrengthModule} from '@angular-material-extensions/password-strength';\nimport {InputFileComponent} from './input-file/input-file.component';\nimport {AceEditorComponent} from './ace-editor/component';\nimport {AceEditorDirective} from './ace-editor/directive';\nimport {InputNumberComponent} from './input-number/input-number.component';\nimport {InputBooleanComponent} from './input-boolean/input-boolean.component';\nimport {ButtonsModule} from '@apipass/buttons';\nimport {DebouceInputDirective} from './debounce-model-directive/debouceInput.directive';\n\n@NgModule({\n imports: [\n RouterModule.forChild([]),\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatPasswordStrengthModule,\n MatSelectModule,\n MatSelectFilterModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n TranslateModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ButtonsModule,\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective\n ],\n providers: [],\n})\nexport class InputsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0.ɵɵelementStart","i0.ɵɵlistener","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵtext","i0.ɵɵtextInterpolate","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵelement","lodash.inRange","i0.ɵɵprojection","i0.ɵɵtextInterpolate1"],"mappings":"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"}