nira-falcon 0.1.39 → 0.1.40

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.
@@ -127,7 +127,6 @@ export class CoreInputComponent {
127
127
  }
128
128
  }
129
129
  get errorMassage() {
130
- console.log(this.inputFormControl.errors);
131
130
  if (this.inputFormControl.errors) {
132
131
  if (Object.keys(this.inputFormControl.errors).length != 0) {
133
132
  let errorMessage;
@@ -192,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
192
191
  }], errorMessages: [{
193
192
  type: Input
194
193
  }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS1pbnB1dC9jb3JlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLWlucHV0L2NvcmUtaW5wdXQtZmFsY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFZN0QsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU9FLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUlOLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YscUJBQWdCLEdBQWdCLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQVN4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWhFLG1CQUFjLEdBQW1CO1lBQy9CLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7WUFDbEQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFF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dUI7Z0NBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjO2dDQUMzRCxZQUFZLENBQUM7cUJBQ2hCO3lCQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTt3QkFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNyQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHOzRCQUNsQixLQUFLLENBQUMsT0FBTztnQ0FDWCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUNoRSxDQUFDO3FCQUNIO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sWUFBWSxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzsrR0EzSlUsa0JBQWtCO21HQUFsQixrQkFBa0IsK1pDZC9CLHdxREF1REE7OzRGRHpDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWTs4QkFRVCxJQUFJO3NCQUFoQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ08sT0FBTztzQkFBbkIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDTSxhQUFhO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcclxudHlwZSBJbnB1dFR5cGUgPSAnbnVtYmVyJyB8ICdwYXNzd29yZCcgfCAndGV4dCcgfCAnY29sb3InO1xyXG5pbnRlcmZhY2UgRXJyb3JNYXNzYWdlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIHBhdHRlcm4/OiBzdHJpbmc7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1pbnB1dCcgKyBlbnZpcm9ubWVudC50ZW1wTmFtZSxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWlucHV0JyArIGVudmlyb25tZW50LnN0eWxlTmFtZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlSW5wdXRDb21wb25lbnQge1xyXG4gIGlucHV0VHlwZSE6IElucHV0VHlwZTtcclxuICBpc0Rpc2FibGUgPSBmYWxzZTtcclxuICBsYXN0VmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBzZXQgdHlwZSh2YWx1ZTogSW5wdXRUeXBlKSB7XHJcbiAgICB0aGlzLmlucHV0VHlwZSA9IHZhbHVlO1xyXG4gIH1cclxuICBASW5wdXQoKSBjYW5TaG93V29yZGlmeUZhID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuU3BsaXROdW1iZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWF4TGVuZ3RoID0gMjAwMDtcclxuICBASW5wdXQoKSBzaXplID0gJyc7XHJcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0Rpc2FibGUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQmx1ckVtaXQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHNldCBlcnJvck1lc3NhZ2VzKHZhbHVlOiBFcnJvck1hc3NhZ2VbXSkge1xyXG4gICAgdGhpcy5fZXJyb3JNZXNzYWdlcyA9IHRoaXMuX2Vycm9yTWVzc2FnZXMuY29uY2F0KHZhbHVlKTtcclxuICB9XHJcbiAgX2Vycm9yTWVzc2FnZXM6IEVycm9yTWFzc2FnZVtdID0gW1xyXG4gICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAn2KfbjNmGINmB24zZhNivINiu2KfZhNuMINin2LPYqicgfSxcclxuICAgIHsgdHlwZTogJ3ByZVBheW1lbnQnLCBtZXNzYWdlOiAn2YXYqNmE2Log2LXYrduM2K0g2YbbjNiz2KonIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdtaW5sZW5ndGgnLFxyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdtYXhsZW5ndGgnLFxyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICAgIG1lc3NhZ2U6ICfYp9uM2YXbjNmEINix2Kcg2KjZhyDYr9ix2LPYqiDZiNin2LHYryDZhtmF2KfbjNuM2K8nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ21vYmlsZVBob25lJyxcclxuICAgICAgbWVzc2FnZTogJ9i02YXYp9ix2Ycg2YfZhdix2KfZhyDYp9i02KrYqNin2Ycg2YfYs9iqJyxcclxuICAgIH0sXHJcbiAgXTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMubGFzdFZhbHVlICE9PSBjaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLmZvcm1hdFByaWNlKGNoYW5nZS50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1hdFByaWNlKGV2ZW50LnNyY0VsZW1lbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25QYXN0ZShldmVudDogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5pbnB1dFR5cGUgPT09ICdudW1iZXInICYmIHRoaXMuY2FuU3BsaXROdW1iZXIpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMTApO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlID09PSAnbnVtYmVyJyAmJiB0aGlzLmNhblNwbGl0TnVtYmVyKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5vbkJsdXJFbWl0LmVtaXQodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID09IHRoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybWF0UHJpY2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlID09PSAnbnVtYmVyJyAmJiB0aGlzLmNhblNwbGl0TnVtYmVyKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGV2ZW50O1xyXG4gICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJykpO1xyXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBmb3JtYXRWYWx1ZSA9IHZhbHVlXHJcbiAgICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xyXG4gICAgICAgICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLnNldFZhbHVlKGZvcm1hdFZhbHVlKTtcclxuICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gZm9ybWF0VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuaW5wdXRGb3JtQ29udHJvbC52YWx1ZS5yZXBsYWNlQWxsKCcsJywgJycpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JNYXNzYWdlKCk6IEVycm9yTWFzc2FnZSB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKTtcclxuICAgIGlmICh0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKS5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2U7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykuZmlsdGVyKChrZXkpID0+IHtcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IHRoaXMuX2Vycm9yTWVzc2FnZXMuZmluZChcclxuICAgICAgICAgICAgKGVycm9yKSA9PiBlcnJvci50eXBlID09PSBrZXlcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSAmJiBrZXkgPT09ICdtaW5sZW5ndGgnKSB7XHJcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZS5tZXNzYWdlID1cclxuICAgICAgICAgICAgICAnINit2K/Yp9mC2YQg2qnYp9ix2qnYqtixINmF2KzYp9iyICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbD8uZXJyb3JzPy5bJ21pbmxlbmd0aCddLnJlcXVpcmVkTGVuZ3RoICtcclxuICAgICAgICAgICAgICAnINmF24wg2KjYp9i02K8gICc7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yTWVzc2FnZSAmJiBrZXkgPT09ICdtYXhsZW5ndGgnKSB7XHJcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZS5tZXNzYWdlID1cclxuICAgICAgICAgICAgICAnINit2K/Yp9qp2KvYsSDaqdin2LHaqdiq2LEg2YXYrNin2LIgICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbD8uZXJyb3JzPy5bJ21heGxlbmd0aCddLnJlcXVpcmVkTGVuZ3RoICtcclxuICAgICAgICAgICAgICAnINmF24wg2KjYp9i02K8gICc7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3BhdHRlcm4nKSB7XHJcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IHRoaXMuX2Vycm9yTWVzc2FnZXMuZmluZChcclxuICAgICAgICAgICAgICAoZXJyb3IpID0+XHJcbiAgICAgICAgICAgICAgICBlcnJvci50eXBlID09PSBrZXkgJiZcclxuICAgICAgICAgICAgICAgIGVycm9yLnBhdHRlcm4gPT09XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbD8uZXJyb3JzPy5bJ3BhdHRlcm4nXT8ucmVxdWlyZWRQYXR0ZXJuXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29udGFpbmVyLWlucHV0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgZXJyb3I6XHJcbiAgICAgICAgKGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCB8fCBpbnB1dEZvcm1Db250cm9sLmRpcnR5KSAmJlxyXG4gICAgICAgIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzXHJcbiAgICB9XCJcclxuICA+XHJcbiAgICA8aW5wdXRcclxuICAgICAgW3R5cGVdPVwiaW5wdXRUeXBlXCJcclxuICAgICAgY2xhc3M9XCJhLWlucHV0LXN0eWxlXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImlucHV0Rm9ybUNvbnRyb2xcIlxyXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIChrZXl1cCk9XCJjaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2hhdmUtdmFsdWUnOiBpbnB1dEZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMCxcclxuICAgICAgICAnaGlnaGxpZ2h0LWJhY2tncm91bmQnOlxyXG4gICAgICAgICAgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCAmJlxyXG4gICAgICAgICAgaW5wdXRGb3JtQ29udHJvbC52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgICAgIShcclxuICAgICAgICAgICAgKGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCB8fCBpbnB1dEZvcm1Db250cm9sLmRpcnR5KSAmJlxyXG4gICAgICAgICAgICBpbnB1dEZvcm1Db250cm9sLmVycm9yc1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAnZGlzYWJsZS1pbnB1dCc6IGlzRGlzYWJsZVxyXG4gICAgICB9XCJcclxuICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoKVwiXHJcbiAgICAvPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwicGxhY2Vob2xkZXIubGVuZ3RoID4gMFwiPnt7IHBsYWNlaG9sZGVyIH19IDwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGFiZWwtZXJyb3Igb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJsYWJlbC1udW1iZXJcIlxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICBjYW5TaG93V29yZGlmeUZhICYmXHJcbiAgICAgICAgICBpbnB1dEZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgaW5wdXRUeXBlID09PSAnbnVtYmVyJ1xyXG4gICAgICAgIFwiXHJcbiAgICAgICAgPjxhcHAtY29yZS1udW1iZXJcclxuICAgICAgICAgIFtjYW5TaG93V29yZEluVG9vbFRpcF09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbdHlwZV09XCInd29yZCdcIlxyXG4gICAgICAgICAgW251bWJlcl09XCJpbnB1dEZvcm1Db250cm9sLnZhbHVlXCJcclxuICAgICAgICA+PC9hcHAtY29yZS1udW1iZXJcclxuICAgICAgPjwvc3Bhbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgKGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCB8fCBpbnB1dEZvcm1Db250cm9sLmRpcnR5KSAmJlxyXG4gICAgICAgICAgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnNcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgZXJyb3JNYXNzYWdlPy5tZXNzYWdlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS1pbnB1dC9jb3JlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLWlucHV0L2NvcmUtaW5wdXQtZmFsY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFZN0QsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU9FLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUlOLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YscUJBQWdCLEdBQWdCLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQVN4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWhFLG1CQUFjLEdBQW1CO1lBQy9CLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7WUFDbEQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFF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QUFjO2dDQUMzRCxZQUFZLENBQUM7cUJBQ2hCO3lCQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTt3QkFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNyQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHOzRCQUNsQixLQUFLLENBQUMsT0FBTztnQ0FDWCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUNoRSxDQUFDO3FCQUNIO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sWUFBWSxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzsrR0ExSlUsa0JBQWtCO21HQUFsQixrQkFBa0IsK1pDZC9CLHdxREF1REE7OzRGRHpDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWTs4QkFRVCxJQUFJO3NCQUFoQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ08sT0FBTztzQkFBbkIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDTSxhQUFhO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcclxudHlwZSBJbnB1dFR5cGUgPSAnbnVtYmVyJyB8ICdwYXNzd29yZCcgfCAndGV4dCcgfCAnY29sb3InO1xyXG5pbnRlcmZhY2UgRXJyb3JNYXNzYWdlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIHBhdHRlcm4/OiBzdHJpbmc7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1pbnB1dCcgKyBlbnZpcm9ubWVudC50ZW1wTmFtZSxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWlucHV0JyArIGVudmlyb25tZW50LnN0eWxlTmFtZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlSW5wdXRDb21wb25lbnQge1xyXG4gIGlucHV0VHlwZSE6IElucHV0VHlwZTtcclxuICBpc0Rpc2FibGUgPSBmYWxzZTtcclxuICBsYXN0VmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBzZXQgdHlwZSh2YWx1ZTogSW5wdXRUeXBlKSB7XHJcbiAgICB0aGlzLmlucHV0VHlwZSA9IHZhbHVlO1xyXG4gIH1cclxuICBASW5wdXQoKSBjYW5TaG93V29yZGlmeUZhID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuU3BsaXROdW1iZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWF4TGVuZ3RoID0gMjAwMDtcclxuICBASW5wdXQoKSBzaXplID0gJyc7XHJcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0Rpc2FibGUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQmx1ckVtaXQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHNldCBlcnJvck1lc3NhZ2VzKHZhbHVlOiBFcnJvck1hc3NhZ2VbXSkge1xyXG4gICAgdGhpcy5fZXJyb3JNZXNzYWdlcyA9IHRoaXMuX2Vycm9yTWVzc2FnZXMuY29uY2F0KHZhbHVlKTtcclxuICB9XHJcbiAgX2Vycm9yTWVzc2FnZXM6IEVycm9yTWFzc2FnZVtdID0gW1xyXG4gICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAn2KfbjNmGINmB24zZhNivINiu2KfZhNuMINin2LPYqicgfSxcclxuICAgIHsgdHlwZTogJ3ByZVBheW1lbnQnLCBtZXNzYWdlOiAn2YXYqNmE2Log2LXYrduM2K0g2YbbjNiz2KonIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdtaW5sZW5ndGgnLFxyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdtYXhsZW5ndGgnLFxyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICAgIG1lc3NhZ2U6ICfYp9uM2YXbjNmEINix2Kcg2KjZhyDYr9ix2LPYqiDZiNin2LHYryDZhtmF2KfbjNuM2K8nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ21vYmlsZVBob25lJyxcclxuICAgICAgbWVzc2FnZTogJ9i02YXYp9ix2Ycg2YfZhdix2KfZhyDYp9i02KrYqNin2Ycg2YfYs9iqJyxcclxuICAgIH0sXHJcbiAgXTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMubGFzdFZhbHVlICE9PSBjaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLmZvcm1hdFByaWNlKGNoYW5nZS50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1hdFByaWNlKGV2ZW50LnNyY0VsZW1lbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25QYXN0ZShldmVudDogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5pbnB1dFR5cGUgPT09ICdudW1iZXInICYmIHRoaXMuY2FuU3BsaXROdW1iZXIpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMTApO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlID09PSAnbnVtYmVyJyAmJiB0aGlzLmNhblNwbGl0TnVtYmVyKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5vbkJsdXJFbWl0LmVtaXQodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID09IHRoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybWF0UHJpY2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRUeXBlID09PSAnbnVtYmVyJyAmJiB0aGlzLmNhblNwbGl0TnVtYmVyKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGV2ZW50O1xyXG4gICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJykpO1xyXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBmb3JtYXRWYWx1ZSA9IHZhbHVlXHJcbiAgICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xyXG4gICAgICAgICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLnNldFZhbHVlKGZvcm1hdFZhbHVlKTtcclxuICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gZm9ybWF0VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuaW5wdXRGb3JtQ29udHJvbC52YWx1ZS5yZXBsYWNlQWxsKCcsJywgJycpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JNYXNzYWdlKCk6IEVycm9yTWFzc2FnZSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5pbnB1dEZvcm1Db250cm9sLmVycm9ycykubGVuZ3RoICE9IDApIHtcclxuICAgICAgICBsZXQgZXJyb3JNZXNzYWdlO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMpLmZpbHRlcigoa2V5KSA9PiB7XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSB0aGlzLl9lcnJvck1lc3NhZ2VzLmZpbmQoXHJcbiAgICAgICAgICAgIChlcnJvcikgPT4gZXJyb3IudHlwZSA9PT0ga2V5XHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGlmIChlcnJvck1lc3NhZ2UgJiYga2V5ID09PSAnbWlubGVuZ3RoJykge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UubWVzc2FnZSA9XHJcbiAgICAgICAgICAgICAgJyDYrdiv2KfZgtmEINqp2KfYsdqp2KrYsSDZhdis2KfYsiAnICtcclxuICAgICAgICAgICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2w/LmVycm9ycz8uWydtaW5sZW5ndGgnXS5yZXF1aXJlZExlbmd0aCArXHJcbiAgICAgICAgICAgICAgJyDZhduMINio2KfYtNivICAnO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChlcnJvck1lc3NhZ2UgJiYga2V5ID09PSAnbWF4bGVuZ3RoJykge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UubWVzc2FnZSA9XHJcbiAgICAgICAgICAgICAgJyDYrdiv2Kfaqdir2LEg2qnYp9ix2qnYqtixINmF2KzYp9iyICAnICtcclxuICAgICAgICAgICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2w/LmVycm9ycz8uWydtYXhsZW5ndGgnXS5yZXF1aXJlZExlbmd0aCArXHJcbiAgICAgICAgICAgICAgJyDZhduMINio2KfYtNivICAnO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdwYXR0ZXJuJykge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSB0aGlzLl9lcnJvck1lc3NhZ2VzLmZpbmQoXHJcbiAgICAgICAgICAgICAgKGVycm9yKSA9PlxyXG4gICAgICAgICAgICAgICAgZXJyb3IudHlwZSA9PT0ga2V5ICYmXHJcbiAgICAgICAgICAgICAgICBlcnJvci5wYXR0ZXJuID09PVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2w/LmVycm9ycz8uWydwYXR0ZXJuJ10/LnJlcXVpcmVkUGF0dGVyblxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1pbnB1dFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgIGVycm9yOlxyXG4gICAgICAgIChpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgfHwgaW5wdXRGb3JtQ29udHJvbC5kaXJ0eSkgJiZcclxuICAgICAgICBpbnB1dEZvcm1Db250cm9sLmVycm9yc1xyXG4gICAgfVwiXHJcbiAgPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFt0eXBlXT1cImlucHV0VHlwZVwiXHJcbiAgICAgIGNsYXNzPVwiYS1pbnB1dC1zdHlsZVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJpbnB1dEZvcm1Db250cm9sXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAoa2V5dXApPVwiY2hhbmdlKCRldmVudClcIlxyXG4gICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcclxuICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdoYXZlLXZhbHVlJzogaW5wdXRGb3JtQ29udHJvbC52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDAsXHJcbiAgICAgICAgJ2hpZ2hsaWdodC1iYWNrZ3JvdW5kJzpcclxuICAgICAgICAgIGNhbkhpZ2hsaWdodEJhY2tncm91bmQgJiZcclxuICAgICAgICAgIGlucHV0Rm9ybUNvbnRyb2wudmFsdWUudG9TdHJpbmcoKS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICAgICEoXHJcbiAgICAgICAgICAgIChpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgfHwgaW5wdXRGb3JtQ29udHJvbC5kaXJ0eSkgJiZcclxuICAgICAgICAgICAgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnNcclxuICAgICAgICAgICksXHJcbiAgICAgICAgJ2Rpc2FibGUtaW5wdXQnOiBpc0Rpc2FibGVcclxuICAgICAgfVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKClcIlxyXG4gICAgLz5cclxuICAgIDxsYWJlbCAqbmdJZj1cInBsYWNlaG9sZGVyLmxlbmd0aCA+IDBcIj57eyBwbGFjZWhvbGRlciB9fSA8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImxhYmVsLWVycm9yIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwibGFiZWwtbnVtYmVyXCJcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgY2FuU2hvd1dvcmRpZnlGYSAmJlxyXG4gICAgICAgICAgaW5wdXRGb3JtQ29udHJvbC52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgIGlucHV0VHlwZSA9PT0gJ251bWJlcidcclxuICAgICAgICBcIlxyXG4gICAgICAgID48YXBwLWNvcmUtbnVtYmVyXHJcbiAgICAgICAgICBbY2FuU2hvd1dvcmRJblRvb2xUaXBdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW3R5cGVdPVwiJ3dvcmQnXCJcclxuICAgICAgICAgIFtudW1iZXJdPVwiaW5wdXRGb3JtQ29udHJvbC52YWx1ZVwiXHJcbiAgICAgICAgPjwvYXBwLWNvcmUtbnVtYmVyXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIChpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgfHwgaW5wdXRGb3JtQ29udHJvbC5kaXJ0eSkgJiZcclxuICAgICAgICAgIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzXHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGVycm9yTWFzc2FnZT8ubWVzc2FnZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { environment } from '../../environments/environment';
4
4
  import * as i0 from "@angular/core";
@@ -25,6 +25,7 @@ export class CoreSelectComponent {
25
25
  this.disabled = false;
26
26
  this.onItemSelected = new EventEmitter();
27
27
  this.inputFormControl = new FormControl('', []);
28
+ this.currentIndex = 0;
28
29
  }
29
30
  init() {
30
31
  this.titleKeyObject = this.titleKey;
@@ -48,13 +49,38 @@ export class CoreSelectComponent {
48
49
  if (this.disabled)
49
50
  return;
50
51
  this.isOpenMenu = !this.isOpenMenu;
52
+ if (this.isOpenMenu) {
53
+ setTimeout(() => {
54
+ const element = this.focusableElements.toArray();
55
+ element[0].nativeElement.focus();
56
+ }, 50);
57
+ }
58
+ }
59
+ handleKey(event) {
60
+ const elements = this.focusableElements.toArray();
61
+ if (event.key === 'ArrowDown') {
62
+ this.currentIndex = (this.currentIndex + 1) % elements.length;
63
+ elements[this.currentIndex].nativeElement.focus();
64
+ }
65
+ if (event.key === 'ArrowUp') {
66
+ this.currentIndex =
67
+ (this.currentIndex - 1 + elements.length) % elements.length;
68
+ elements[this.currentIndex].nativeElement.focus();
69
+ }
70
+ }
71
+ dropdownItemKeypress(event, item) {
72
+ if (event.key === 'Enter') {
73
+ this.onItemSelect(item, true);
74
+ }
75
+ else if (event.key === 'Escape') {
76
+ this.isOpenMenu = false;
77
+ }
51
78
  }
52
79
  onItemSelect(selectedItem, isFromUi) {
53
80
  if (isFromUi)
54
81
  this.inputFormControl.markAsTouched();
55
82
  this.isOpenMenu = false;
56
83
  if (!selectedItem) {
57
- this.selectedItem = {};
58
84
  return;
59
85
  }
60
86
  this.selectedItem = selectedItem;
@@ -62,16 +88,21 @@ export class CoreSelectComponent {
62
88
  this.inputFormControl.setValue(selectedItem.value);
63
89
  this.onItemSelected.emit(mainItem);
64
90
  }
91
+ onEnterPress(e) {
92
+ if (e.key === 'Enter') {
93
+ this.openMenuClick();
94
+ }
95
+ }
65
96
  focusOut() {
66
97
  this.isOpenMenu = false;
67
98
  this.inputFormControl.markAsTouched();
68
99
  }
69
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, viewQueries: [{ propertyName: "focusableElements", predicate: ["focusable"], descendants: true }], ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid blue!important;outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu li:focus{border:1px solid blue!important;outline:none}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
71
102
  }
72
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, decorators: [{
73
104
  type: Component,
74
- args: [{ selector: 'core-select', template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
105
+ args: [{ selector: 'core-select', template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid blue!important;outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu li:focus{border:1px solid blue!important;outline:none}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
75
106
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { titleKey: [{
76
107
  type: Input
77
108
  }], valueKey: [{
@@ -92,5 +123,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
123
  type: Output
93
124
  }], inputFormControl: [{
94
125
  type: Input
126
+ }], focusableElements: [{
127
+ type: ViewChildren,
128
+ args: ['focusable']
95
129
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtc2VsZWN0L2NvcmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC9jb3JlLXNlbGVjdC1mYWxjb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBVTdELE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsSUFBYSxLQUFLLENBQUMsSUFBUztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBYSxZQUFZLENBQUMsSUFBTztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBTUQsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4QjFDLGlCQUFZLEdBQWdCLEVBQWlCLENBQUM7UUFHOUMsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBSVIsU0FBSSxHQUFTLE9BQU8sQ0FBQztRQUNyQiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFTL0IsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixhQUFR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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbnR5cGUgTWVudUl0ZW08VD4gPSB7XHJcbiAgdGl0bGU6IFQ7XHJcbiAgdmFsdWU6IFQ7XHJcbn07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC50ZW1wTmFtZSxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC5zdHlsZU5hbWVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlbGVjdENvbXBvbmVudDxUPiB7XHJcbiAgc2VsZWN0ZWRJdGVtOiBNZW51SXRlbTxUPiA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gIHRpdGxlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHZhbHVlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIG5ld0l0ZW1zOiBNZW51SXRlbTxUPltdID0gW107XHJcbiAgaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gIF9pdGVtczogYW55ID0gW107XHJcbiAgX2RlZmF1bHRWYWx1ZSE6IFQ7XHJcbiAgQElucHV0KCkgdGl0bGVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nPSdzbWFsbCc7XHJcbiAgQElucHV0KCkgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuX2l0ZW1zID0gZGF0YTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgZGVmYXVsdFZhbHVlKGRhdGE6IFQpIHtcclxuICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IGRhdGE7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIGluaXQoKSB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9ICh0eXBlb2YgdGhpcy5faXRlbXMpWzBdO1xyXG4gICAgdGhpcy50aXRsZUtleU9iamVjdCA9IHRoaXMudGl0bGVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy52YWx1ZUtleU9iamVjdCA9IHRoaXMudmFsdWVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy5uZXdJdGVtcyA9IHRoaXMuY2hhbmdlSXRlbXNUeXBlKHRoaXMuX2l0ZW1zKTtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kZWZhdWx0VmFsdWUpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3QoXHJcbiAgICAgIHRoaXMubmV3SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PSB0aGlzLl9kZWZhdWx0VmFsdWUpLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUl0ZW1zVHlwZShpdGVtczogYW55W10pOiBNZW51SXRlbTxUPltdIHtcclxuICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB0aXRsZTogaXRlbVt0aGlzLnRpdGxlS2V5T2JqZWN0XSxcclxuICAgICAgICB2YWx1ZTogaXRlbVt0aGlzLnZhbHVlS2V5T2JqZWN0XSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1lbnVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSAhdGhpcy5pc09wZW5NZW51O1xyXG4gIH1cclxuXHJcbiAgb25JdGVtU2VsZWN0KHNlbGVjdGVkSXRlbTogTWVudUl0ZW08VD4gfCB1bmRlZmluZWQsIGlzRnJvbVVpOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGcm9tVWkpIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgIGlmICghc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0ge30gYXMgTWVudUl0ZW08VD47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgY29uc3QgbWFpbkl0ZW0gPSB0aGlzLl9pdGVtcy5maW5kKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiBpdGVtW3RoaXMudmFsdWVLZXlPYmplY3RdID09PSBzZWxlY3RlZEl0ZW0udmFsdWVcclxuICAgICk7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRJdGVtLnZhbHVlKTtcclxuICAgIHRoaXMub25JdGVtU2VsZWN0ZWQuZW1pdChtYWluSXRlbSk7XHJcbiAgfVxyXG4gIGZvY3VzT3V0KCkge1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImRyb3Bkb3duXCIgKGZvY3Vzb3V0KT1cImZvY3VzT3V0KClcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNlbGVjdFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdzZWxlY3QtY2xpY2tlZCc6IGlzT3Blbk1lbnUsXHJcbiAgICAgICdoaWdobGlnaHQtYmFja2dyb3VuZCc6XHJcbiAgICAgICAgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCAmJlxyXG4gICAgICAgIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PT0gKHt9IHwganNvbikgJiZcclxuICAgICAgICAhKGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAmJiBpbnB1dEZvcm1Db250cm9sLmVycm9ycyksXHJcbiAgICAgIHNlbGVjdEVycm9yOiBpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgJiYgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMgLFxyXG4gICAgICAnZGlzYWJsZS1zZWxlY3Rvcic6IGRpc2FibGVkLFxyXG5cclxuICAgIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9wZW5NZW51Q2xpY2soKVwiXHJcbiAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci10b3BcIlxyXG4gICAgICAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBqc29uKSAhPSAoe30gfCBqc29uKVwiXHJcbiAgICAgID57eyBsYWJlbCB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPGFycm93LWRvd24taWNvblxyXG4gICAgICBjbGFzcz1cImNhcmV0IGZpbGwtc2Vjb25kYXJ5LXRleHQtY29sb3IgaC02XCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAnY2FyZXQtcm90YXRlJzogaXNPcGVuTWVudSB9XCJcclxuICAgID48L2Fycm93LWRvd24taWNvbj5cclxuXHJcbiAgICA8c3BhblxyXG4gICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgbGFiZWwubGVuZ3RoID4gMCAmJiAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT0gKHt9IHwganNvbilcclxuICAgICAgICAgID8gJ3BsYWNlaG9sZGVyJ1xyXG4gICAgICAgICAgOiAnc2VsZWN0ZWQnXHJcbiAgICAgIF1cIlxyXG4gICAgICA+e3tcclxuICAgICAgICBsYWJlbC5sZW5ndGggPiAwICYmIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PSAoe30gfCBqc29uKVxyXG4gICAgICAgICAgPyBsYWJlbFxyXG4gICAgICAgICAgOiBzZWxlY3RlZEl0ZW0udGl0bGVcclxuICAgICAgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8dWwgY2xhc3M9XCJtZW51XCIgW25nQ2xhc3NdPVwieyAnbWVudS1vcGVuJzogaXNPcGVuTWVudSB9XCI+XHJcbiAgICA8bGlcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmV3SXRlbXNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbSA9PSBzZWxlY3RlZEl0ZW0gfVwiXHJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoaXRlbSwgdHJ1ZSlcIlxyXG4gICAgPlxyXG4gICAgICB7eyBpdGVtLnRpdGxlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbiAgPGRpdiBjbGFzcz1cImxhYmVsLWVycm9yIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgIGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAgJiZcclxuICAgICAgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnM/LlsncmVxdWlyZWQnXVwiXHJcbiAgICAgID7Yp9uM2YYg2YHbjNmE2K8g2K7Yp9mE24wg2KfYs9iqPC9zcGFuXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtc2VsZWN0L2NvcmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC9jb3JlLXNlbGVjdC1mYWxjb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVU3RCxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLElBQWEsS0FBSyxDQUFDLElBQVM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQWEsWUFBWSxDQUFDLElBQU87UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQVFELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBMUIxQyxpQkFBWSxHQUFnQixFQUFpQixDQUFDO1FBRzlDLGFBQVEsR0FBa0IsRUFBRSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUlSLFNBQUksR0FBVyxPQUFPLENBQUM7UUFDdkIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBUy9CLFVBQUssR0FBVyxFQUFFLENBQUM7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LEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNxQixpQkFBaUI7c0JBQTNDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcclxudHlwZSBNZW51SXRlbTxUPiA9IHtcclxuICB0aXRsZTogVDtcclxuICB2YWx1ZTogVDtcclxufTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtc2VsZWN0JyArIGVudmlyb25tZW50LnRlbXBOYW1lLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtc2VsZWN0JyArIGVudmlyb25tZW50LnN0eWxlTmFtZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlU2VsZWN0Q29tcG9uZW50PFQ+IHtcclxuICBzZWxlY3RlZEl0ZW06IE1lbnVJdGVtPFQ+ID0ge30gYXMgTWVudUl0ZW08VD47XHJcbiAgdGl0bGVLZXlPYmplY3QhOiBrZXlvZiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgdmFsdWVLZXlPYmplY3QhOiBrZXlvZiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgbmV3SXRlbXM6IE1lbnVJdGVtPFQ+W10gPSBbXTtcclxuICBpc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgX2l0ZW1zOiBhbnkgPSBbXTtcclxuICBfZGVmYXVsdFZhbHVlITogVDtcclxuICBASW5wdXQoKSB0aXRsZUtleSE6IHN0cmluZztcclxuICBASW5wdXQoKSB2YWx1ZUtleSE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaXplOiBzdHJpbmcgPSAnc21hbGwnO1xyXG4gIEBJbnB1dCgpIGNhbkhpZ2hsaWdodEJhY2tncm91bmQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgaXRlbXMoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IGRhdGE7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IGRlZmF1bHRWYWx1ZShkYXRhOiBUKSB7XHJcbiAgICB0aGlzLl9kZWZhdWx0VmFsdWUgPSBkYXRhO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGlucHV0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCBbXSk7XHJcbiAgQFZpZXdDaGlsZHJlbignZm9jdXNhYmxlJykgZm9jdXNhYmxlRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgY3VycmVudEluZGV4ID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIGluaXQoKSB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9ICh0eXBlb2YgdGhpcy5faXRlbXMpWzBdO1xyXG4gICAgdGhpcy50aXRsZUtleU9iamVjdCA9IHRoaXMudGl0bGVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy52YWx1ZUtleU9iamVjdCA9IHRoaXMudmFsdWVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy5uZXdJdGVtcyA9IHRoaXMuY2hhbmdlSXRlbXNUeXBlKHRoaXMuX2l0ZW1zKTtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kZWZhdWx0VmFsdWUpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3QoXHJcbiAgICAgIHRoaXMubmV3SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PSB0aGlzLl9kZWZhdWx0VmFsdWUpLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUl0ZW1zVHlwZShpdGVtczogYW55W10pOiBNZW51SXRlbTxUPltdIHtcclxuICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB0aXRsZTogaXRlbVt0aGlzLnRpdGxlS2V5T2JqZWN0XSxcclxuICAgICAgICB2YWx1ZTogaXRlbVt0aGlzLnZhbHVlS2V5T2JqZWN0XSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1lbnVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSAhdGhpcy5pc09wZW5NZW51O1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuTWVudSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50cy50b0FycmF5KCk7XHJcbiAgICAgICAgZWxlbWVudFswXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH0sIDUwKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZm9jdXNhYmxlRWxlbWVudHMudG9BcnJheSgpO1xyXG5cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gKHRoaXMuY3VycmVudEluZGV4ICsgMSkgJSBlbGVtZW50cy5sZW5ndGg7XHJcbiAgICAgIGVsZW1lbnRzW3RoaXMuY3VycmVudEluZGV4XS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID1cclxuICAgICAgICAodGhpcy5jdXJyZW50SW5kZXggLSAxICsgZWxlbWVudHMubGVuZ3RoKSAlIGVsZW1lbnRzLmxlbmd0aDtcclxuICAgICAgZWxlbWVudHNbdGhpcy5jdXJyZW50SW5kZXhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3Bkb3duSXRlbUtleXByZXNzKGV2ZW50OiBhbnksIGl0ZW06IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdChpdGVtLCB0cnVlKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSXRlbVNlbGVjdChzZWxlY3RlZEl0ZW06IE1lbnVJdGVtPFQ+IHwgdW5kZWZpbmVkLCBpc0Zyb21VaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGlzRnJvbVVpKSB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkSXRlbTtcclxuICAgIGNvbnN0IG1haW5JdGVtID0gdGhpcy5faXRlbXMuZmluZChcclxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbVt0aGlzLnZhbHVlS2V5T2JqZWN0XSA9PT0gc2VsZWN0ZWRJdGVtLnZhbHVlXHJcbiAgICApO1xyXG4gICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkSXRlbS52YWx1ZSk7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQobWFpbkl0ZW0pO1xyXG4gIH1cclxuICBvbkVudGVyUHJlc3MoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5vcGVuTWVudUNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZvY3VzT3V0KCkge1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImRyb3Bkb3duXCIgKGZvY3Vzb3V0KT1cImZvY3VzT3V0KClcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNlbGVjdFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdzZWxlY3QtY2xpY2tlZCc6IGlzT3Blbk1lbnUsXHJcbiAgICAgICdoaWdobGlnaHQtYmFja2dyb3VuZCc6XHJcbiAgICAgICAgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCAmJlxyXG4gICAgICAgIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PT0gKHt9IHwganNvbikgJiZcclxuICAgICAgICAhKGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAmJiBpbnB1dEZvcm1Db250cm9sLmVycm9ycyksXHJcbiAgICAgIHNlbGVjdEVycm9yOiBpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgJiYgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMgLFxyXG4gICAgICAnZGlzYWJsZS1zZWxlY3Rvcic6IGRpc2FibGVkLFxyXG5cclxuICAgIH1cIlxyXG4gICAgdGFiaW5kZXg9XCIwXCJcclxuICAgIChrZXlwcmVzcyk9XCJvbkVudGVyUHJlc3MoJGV2ZW50KVwiXHJcbiAgICAoY2xpY2spPVwib3Blbk1lbnVDbGljaygpXCJcclxuICA+XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLXRvcFwiXHJcbiAgICAgICpuZ0lmPVwiKHNlbGVjdGVkSXRlbSB8IGpzb24pICE9ICh7fSB8IGpzb24pXCJcclxuICAgICAgPnt7IGxhYmVsIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8YXJyb3ctZG93bi1pY29uXHJcbiAgICAgIGNsYXNzPVwiY2FyZXQgZmlsbC1zZWNvbmRhcnktdGV4dC1jb2xvciBoLTZcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdjYXJldC1yb3RhdGUnOiBpc09wZW5NZW51IH1cIlxyXG4gICAgPjwvYXJyb3ctZG93bi1pY29uPlxyXG5cclxuICAgIDxzcGFuXHJcbiAgICAgIFtuZ0NsYXNzXT1cIltcclxuICAgICAgICBsYWJlbC5sZW5ndGggPiAwICYmIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PSAoe30gfCBqc29uKVxyXG4gICAgICAgICAgPyAncGxhY2Vob2xkZXInXHJcbiAgICAgICAgICA6ICdzZWxlY3RlZCdcclxuICAgICAgXVwiXHJcbiAgICAgID57e1xyXG4gICAgICAgIGxhYmVsLmxlbmd0aCA+IDAgJiYgKHNlbGVjdGVkSXRlbSB8IGpzb24pID09ICh7fSB8IGpzb24pXHJcbiAgICAgICAgICA/IGxhYmVsXHJcbiAgICAgICAgICA6IHNlbGVjdGVkSXRlbS50aXRsZVxyXG4gICAgICB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG4gIDx1bFxyXG4gICAgY2xhc3M9XCJtZW51IGRyb3Bkb3duXCJcclxuICAgIChrZXlkb3duKT1cImhhbmRsZUtleSgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ21lbnUtb3Blbic6IGlzT3Blbk1lbnUgfVwiXHJcbiAgPlxyXG4gICAgPGxpXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5ld0l0ZW1zXCJcclxuICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcclxuICAgICAgI2ZvY3VzYWJsZVxyXG4gICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbSA9PSBzZWxlY3RlZEl0ZW0gfVwiXHJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoaXRlbSwgdHJ1ZSlcIlxyXG4gICAgICAoa2V5cHJlc3MpPVwiZHJvcGRvd25JdGVtS2V5cHJlc3MoJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGl0ZW0udGl0bGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuICA8ZGl2IGNsYXNzPVwibGFiZWwtZXJyb3Igb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICA8c3BhblxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICAmJlxyXG4gICAgICBpbnB1dEZvcm1Db250cm9sLmVycm9ycz8uWydyZXF1aXJlZCddXCJcclxuICAgICAgPtin24zZhiDZgduM2YTYryDYrtin2YTbjCDYp9iz2Ko8L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, EventEmitter, Output, Pipe, Directive, HostListener, NgModule } from '@angular/core';
2
+ import { Component, Input, EventEmitter, Output, Pipe, ViewChildren, Directive, HostListener, NgModule } from '@angular/core';
3
3
  import * as i1$1 from 'nira-modal';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -589,7 +589,6 @@ class CoreInputComponent {
589
589
  }
590
590
  }
591
591
  get errorMassage() {
592
- console.log(this.inputFormControl.errors);
593
592
  if (this.inputFormControl.errors) {
594
593
  if (Object.keys(this.inputFormControl.errors).length != 0) {
595
594
  let errorMessage;
@@ -848,6 +847,7 @@ class CoreSelectComponent {
848
847
  this.disabled = false;
849
848
  this.onItemSelected = new EventEmitter();
850
849
  this.inputFormControl = new FormControl('', []);
850
+ this.currentIndex = 0;
851
851
  }
852
852
  init() {
853
853
  this.titleKeyObject = this.titleKey;
@@ -871,13 +871,38 @@ class CoreSelectComponent {
871
871
  if (this.disabled)
872
872
  return;
873
873
  this.isOpenMenu = !this.isOpenMenu;
874
+ if (this.isOpenMenu) {
875
+ setTimeout(() => {
876
+ const element = this.focusableElements.toArray();
877
+ element[0].nativeElement.focus();
878
+ }, 50);
879
+ }
880
+ }
881
+ handleKey(event) {
882
+ const elements = this.focusableElements.toArray();
883
+ if (event.key === 'ArrowDown') {
884
+ this.currentIndex = (this.currentIndex + 1) % elements.length;
885
+ elements[this.currentIndex].nativeElement.focus();
886
+ }
887
+ if (event.key === 'ArrowUp') {
888
+ this.currentIndex =
889
+ (this.currentIndex - 1 + elements.length) % elements.length;
890
+ elements[this.currentIndex].nativeElement.focus();
891
+ }
892
+ }
893
+ dropdownItemKeypress(event, item) {
894
+ if (event.key === 'Enter') {
895
+ this.onItemSelect(item, true);
896
+ }
897
+ else if (event.key === 'Escape') {
898
+ this.isOpenMenu = false;
899
+ }
874
900
  }
875
901
  onItemSelect(selectedItem, isFromUi) {
876
902
  if (isFromUi)
877
903
  this.inputFormControl.markAsTouched();
878
904
  this.isOpenMenu = false;
879
905
  if (!selectedItem) {
880
- this.selectedItem = {};
881
906
  return;
882
907
  }
883
908
  this.selectedItem = selectedItem;
@@ -885,16 +910,21 @@ class CoreSelectComponent {
885
910
  this.inputFormControl.setValue(selectedItem.value);
886
911
  this.onItemSelected.emit(mainItem);
887
912
  }
913
+ onEnterPress(e) {
914
+ if (e.key === 'Enter') {
915
+ this.openMenuClick();
916
+ }
917
+ }
888
918
  focusOut() {
889
919
  this.isOpenMenu = false;
890
920
  this.inputFormControl.markAsTouched();
891
921
  }
892
922
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
893
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
923
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, viewQueries: [{ propertyName: "focusableElements", predicate: ["focusable"], descendants: true }], ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid blue!important;outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu li:focus{border:1px solid blue!important;outline:none}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
894
924
  }
895
925
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, decorators: [{
896
926
  type: Component,
897
- args: [{ selector: 'core-select', template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
927
+ args: [{ selector: 'core-select', template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid blue!important;outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6}.dropdown .menu li:focus{border:1px solid blue!important;outline:none}.dropdown .menu .active{background:#ced4da}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
898
928
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { titleKey: [{
899
929
  type: Input
900
930
  }], valueKey: [{
@@ -915,6 +945,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
915
945
  type: Output
916
946
  }], inputFormControl: [{
917
947
  type: Input
948
+ }], focusableElements: [{
949
+ type: ViewChildren,
950
+ args: ['focusable']
918
951
  }] } });
919
952
 
920
953
  class CoreSwitchComponent {