@apipass/inputs 0.2.16 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/ace-editor/component.d.ts +52 -52
  2. package/ace-editor/directive.d.ts +39 -39
  3. package/assets/css/colors.scss +34 -34
  4. package/assets/css/fonts.scss +24 -24
  5. package/assets/css/inputs.scss +245 -197
  6. package/assets/css/pt_sans.scss +143 -143
  7. package/assets/css/spacing.scss +28 -28
  8. package/assets/css/texts.scss +18 -18
  9. package/custom-select/custom-select-item.d.ts +5 -5
  10. package/custom-select/custom-select.component.d.ts +51 -51
  11. package/debounce-model-directive/debouceInput.directive.d.ts +14 -14
  12. package/{esm2015/ace-editor/component.js → esm2020/ace-editor/component.mjs} +199 -204
  13. package/{esm2015/ace-editor/directive.js → esm2020/ace-editor/directive.mjs} +150 -150
  14. package/{esm2015/apipass-inputs.js → esm2020/apipass-inputs.mjs} +4 -4
  15. package/{esm2015/custom-select/custom-select-item.js → esm2020/custom-select/custom-select-item.mjs} +7 -7
  16. package/esm2020/custom-select/custom-select.component.mjs +204 -0
  17. package/esm2020/debounce-model-directive/debouceInput.directive.mjs +31 -0
  18. package/esm2020/field/field.component.mjs +51 -0
  19. package/esm2020/input-avatar/input-avatar.component.mjs +92 -0
  20. package/esm2020/input-boolean/input-boolean.component.mjs +56 -0
  21. package/esm2020/input-file/input-file.component.mjs +82 -0
  22. package/esm2020/input-number/input-number.component.mjs +62 -0
  23. package/esm2020/input-password/input-password.component.mjs +96 -0
  24. package/esm2020/input-text/input-text.component.mjs +62 -0
  25. package/esm2020/inputs.module.mjs +149 -0
  26. package/{esm2015/public-api.js → esm2020/public-api.mjs} +17 -17
  27. package/{esm2015/select-box/mat-select-infinite-scroll.directive.js → esm2020/select-box/mat-select-infinite-scroll.directive.mjs} +86 -86
  28. package/esm2020/select-box/select-box.component.mjs +220 -0
  29. package/esm2020/select-enum/select-enum.component.mjs +48 -0
  30. package/esm2020/select-interpolation/select-interpolation.component.mjs +169 -0
  31. package/{esm2015/value-acessor-base.js → esm2020/value-acessor-base.mjs} +31 -31
  32. package/fesm2015/apipass-inputs.mjs +1704 -0
  33. package/fesm2015/apipass-inputs.mjs.map +1 -0
  34. package/fesm2020/apipass-inputs.mjs +1697 -0
  35. package/fesm2020/apipass-inputs.mjs.map +1 -0
  36. package/field/field.component.d.ts +15 -15
  37. package/{apipass-inputs.d.ts → index.d.ts} +5 -5
  38. package/input-avatar/input-avatar.component.d.ts +29 -29
  39. package/input-boolean/input-boolean.component.d.ts +15 -15
  40. package/input-file/input-file.component.d.ts +31 -31
  41. package/input-number/input-number.component.d.ts +17 -17
  42. package/input-password/input-password.component.d.ts +29 -29
  43. package/input-text/input-text.component.d.ts +17 -17
  44. package/inputs.module.d.ts +36 -36
  45. package/package.json +38 -29
  46. package/public-api.d.ts +16 -16
  47. package/select-box/mat-select-infinite-scroll.directive.d.ts +26 -26
  48. package/select-box/select-box.component.d.ts +57 -57
  49. package/select-enum/select-enum.component.d.ts +12 -12
  50. package/select-interpolation/select-interpolation.component.d.ts +44 -44
  51. package/value-acessor-base.d.ts +13 -13
  52. package/assets/css/buttons.scss +0 -118
  53. package/bundles/apipass-inputs.umd.js +0 -3060
  54. package/bundles/apipass-inputs.umd.js.map +0 -1
  55. package/bundles/apipass-inputs.umd.min.js +0 -16
  56. package/bundles/apipass-inputs.umd.min.js.map +0 -1
  57. package/esm2015/custom-select/custom-select.component.js +0 -310
  58. package/esm2015/debounce-model-directive/debouceInput.directive.js +0 -31
  59. package/esm2015/field/field.component.js +0 -92
  60. package/esm2015/input-avatar/input-avatar.component.js +0 -167
  61. package/esm2015/input-boolean/input-boolean.component.js +0 -77
  62. package/esm2015/input-file/input-file.component.js +0 -133
  63. package/esm2015/input-number/input-number.component.js +0 -118
  64. package/esm2015/input-password/input-password.component.js +0 -159
  65. package/esm2015/input-text/input-text.component.js +0 -118
  66. package/esm2015/inputs.module.js +0 -155
  67. package/esm2015/select-box/select-box.component.js +0 -367
  68. package/esm2015/select-enum/select-enum.component.js +0 -95
  69. package/esm2015/select-interpolation/select-interpolation.component.js +0 -248
  70. package/fesm2015/apipass-inputs.js +0 -2434
  71. package/fesm2015/apipass-inputs.js.map +0 -1
@@ -1,86 +1,86 @@
1
- import { Directive, EventEmitter, Input, NgZone, Output } from '@angular/core';
2
- import { MatSelect } from '@angular/material/select';
3
- import { debounceTime, takeUntil, tap } from 'rxjs/operators';
4
- import { fromEvent, Subject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/select";
7
- /** The height of the select items in `em` units. */
8
- const SELECT_ITEM_HEIGHT_EM = 3;
9
- export class MatSelectInfiniteScrollDirective {
10
- constructor(matSelect, ngZone) {
11
- this.matSelect = matSelect;
12
- this.ngZone = ngZone;
13
- this.threshold = '15%';
14
- this.debounceTime = 150;
15
- this.infiniteScroll = new EventEmitter();
16
- this.thrPx = 0;
17
- this.thrPc = 0;
18
- this.singleOptionHeight = SELECT_ITEM_HEIGHT_EM;
19
- this.destroyed$ = new Subject();
20
- }
21
- ngOnInit() {
22
- this.evaluateThreshold();
23
- }
24
- ngAfterViewInit() {
25
- this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
26
- if (opened) {
27
- this.panel = this.matSelect.panel.nativeElement;
28
- this.singleOptionHeight = this.getSelectItemHeightPx();
29
- this.registerScrollListener();
30
- }
31
- });
32
- }
33
- ngOnDestroy() {
34
- this.destroyed$.next(true);
35
- this.destroyed$.complete();
36
- }
37
- evaluateThreshold() {
38
- if (this.threshold.lastIndexOf('%') > -1) {
39
- this.thrPx = 0;
40
- this.thrPc = (parseFloat(this.threshold) / 100);
41
- }
42
- else {
43
- this.thrPx = parseFloat(this.threshold);
44
- this.thrPc = 0;
45
- }
46
- }
47
- registerScrollListener() {
48
- fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
49
- this.handleScrollEvent(event);
50
- })).subscribe();
51
- }
52
- handleScrollEvent(event) {
53
- this.ngZone.runOutsideAngular(() => {
54
- if (this.complete) {
55
- return;
56
- }
57
- const countOfRenderedOptions = this.matSelect.options.length;
58
- const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
59
- const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
60
- const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
61
- if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
62
- this.ngZone.run(() => this.infiniteScroll.emit());
63
- }
64
- });
65
- }
66
- getSelectItemHeightPx() {
67
- return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;
68
- }
69
- }
70
- MatSelectInfiniteScrollDirective.ɵfac = function MatSelectInfiniteScrollDirective_Factory(t) { return new (t || MatSelectInfiniteScrollDirective)(i0.ɵɵdirectiveInject(i1.MatSelect), i0.ɵɵdirectiveInject(i0.NgZone)); };
71
- MatSelectInfiniteScrollDirective.ɵdir = i0.ɵɵdefineDirective({ type: MatSelectInfiniteScrollDirective, selectors: [["", "msInfiniteScroll", ""]], inputs: { threshold: "threshold", debounceTime: "debounceTime", complete: "complete" }, outputs: { infiniteScroll: "infiniteScroll" } });
72
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MatSelectInfiniteScrollDirective, [{
73
- type: Directive,
74
- args: [{
75
- selector: '[msInfiniteScroll]'
76
- }]
77
- }], function () { return [{ type: i1.MatSelect }, { type: i0.NgZone }]; }, { threshold: [{
78
- type: Input
79
- }], debounceTime: [{
80
- type: Input
81
- }], complete: [{
82
- type: Input
83
- }], infiniteScroll: [{
84
- type: Output
85
- }] }); })();
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNlbGVjdC1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9zZWxlY3QtYm94L21hdC1zZWxlY3QtaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBRXhDLG9EQUFvRDtBQUNwRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUtoQyxNQUFNLE9BQU8sZ0NBQWdDO0lBYzNDLFlBQW9CLFNBQW9CLEVBQVUsTUFBYztRQUE1QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVp2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBRWxCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc1QyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLHVCQUFrQixHQUFHLHFCQUFxQixDQUFDO1FBRTNDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBRzVDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FB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QUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjthQUMvQjtpRkFHVSxTQUFTO2tCQUFqQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDSSxjQUFjO2tCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdFNlbGVjdH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG4vKiogVGhlIGhlaWdodCBvZiB0aGUgc2VsZWN0IGl0ZW1zIGluIGBlbWAgdW5pdHMuICovXG5jb25zdCBTRUxFQ1RfSVRFTV9IRUlHSFRfRU0gPSAzO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbXNJbmZpbml0ZVNjcm9sbF0nXG59KVxuZXhwb3J0IGNsYXNzIE1hdFNlbGVjdEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHRocmVzaG9sZCA9ICcxNSUnO1xuICBASW5wdXQoKSBkZWJvdW5jZVRpbWUgPSAxNTA7XG4gIEBJbnB1dCgpIGNvbXBsZXRlITogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGluZmluaXRlU2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGFuZWwhOiBFbGVtZW50O1xuICBwcml2YXRlIHRoclB4ID0gMDtcbiAgcHJpdmF0ZSB0aHJQYyA9IDA7XG4gIHByaXZhdGUgc2luZ2xlT3B0aW9uSGVpZ2h0ID0gU0VMRUNUX0lURU1fSEVJR0hUX0VNO1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXRTZWxlY3Q6IE1hdFNlbGVjdCwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmFsdWF0ZVRocmVzaG9sZCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF0U2VsZWN0Lm9wZW5lZENoYW5nZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICApLnN1YnNjcmliZSgob3BlbmVkKSA9PiB7XG4gICAgICBpZiAob3BlbmVkKSB7XG4gICAgICAgIHRoaXMucGFuZWwgPSB0aGlzLm1hdFNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnNpbmdsZU9wdGlvbkhlaWdodCA9IHRoaXMuZ2V0U2VsZWN0SXRlbUhlaWdodFB4KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBldmFsdWF0ZVRocmVzaG9sZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aHJlc2hvbGQubGFzdEluZGV4T2YoJyUnKSA+IC0xKSB7XG4gICAgICB0aGlzLnRoclB4ID0gMDtcbiAgICAgIHRoaXMudGhyUGMgPSAocGFyc2VGbG9hdCh0aGlzLnRocmVzaG9sZCkgLyAxMDApO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGhyUHggPSBwYXJzZUZsb2F0KHRoaXMudGhyZXNob2xkKTtcbiAgICAgIHRoaXMudGhyUGMgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyU2Nyb2xsTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHRoaXMucGFuZWwsICdzY3JvbGwnKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxuICAgICAgdGFwKChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZVNjcm9sbEV2ZW50KGV2ZW50KTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhhbmRsZVNjcm9sbEV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjb3VudE9mUmVuZGVyZWRPcHRpb25zID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy5sZW5ndGg7XG4gICAgICBjb25zdCBpbmZpbml0ZVNjcm9sbERpc3RhbmNlID0gdGhpcy5zaW5nbGVPcHRpb25IZWlnaHQgKiBjb3VudE9mUmVuZGVyZWRPcHRpb25zO1xuICAgICAgY29uc3QgdGhyZXNob2xkID0gdGhpcy50aHJQYyAhPT0gMCA/IChpbmZpbml0ZVNjcm9sbERpc3RhbmNlICogdGhpcy50aHJQYykgOiB0aGlzLnRoclB4O1xuXG4gICAgICBjb25zdCBzY3JvbGxlZERpc3RhbmNlID0gdGhpcy5wYW5lbC5jbGllbnRIZWlnaHQgKyBldmVudC50YXJnZXQuc2Nyb2xsVG9wO1xuXG4gICAgICBpZiAoKHNjcm9sbGVkRGlzdGFuY2UgKyB0aHJlc2hvbGQpID49IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuaW5maW5pdGVTY3JvbGwuZW1pdCgpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFNlbGVjdEl0ZW1IZWlnaHRQeCgpOiBudW1iZXIge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGhpcy5wYW5lbCkuZm9udFNpemUpICogU0VMRUNUX0lURU1fSEVJR0hUX0VNO1xuICB9XG5cbn1cbiJdfQ==
1
+ import { Directive, EventEmitter, Input, NgZone, Output } from '@angular/core';
2
+ import { MatSelect } from '@angular/material/select';
3
+ import { debounceTime, takeUntil, tap } from 'rxjs/operators';
4
+ import { fromEvent, Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/select";
7
+ /** The height of the select items in `em` units. */
8
+ const SELECT_ITEM_HEIGHT_EM = 3;
9
+ export class MatSelectInfiniteScrollDirective {
10
+ constructor(matSelect, ngZone) {
11
+ this.matSelect = matSelect;
12
+ this.ngZone = ngZone;
13
+ this.threshold = '15%';
14
+ this.debounceTime = 150;
15
+ this.infiniteScroll = new EventEmitter();
16
+ this.thrPx = 0;
17
+ this.thrPc = 0;
18
+ this.singleOptionHeight = SELECT_ITEM_HEIGHT_EM;
19
+ this.destroyed$ = new Subject();
20
+ }
21
+ ngOnInit() {
22
+ this.evaluateThreshold();
23
+ }
24
+ ngAfterViewInit() {
25
+ this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
26
+ if (opened) {
27
+ this.panel = this.matSelect.panel.nativeElement;
28
+ this.singleOptionHeight = this.getSelectItemHeightPx();
29
+ this.registerScrollListener();
30
+ }
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ this.destroyed$.next(true);
35
+ this.destroyed$.complete();
36
+ }
37
+ evaluateThreshold() {
38
+ if (this.threshold.lastIndexOf('%') > -1) {
39
+ this.thrPx = 0;
40
+ this.thrPc = (parseFloat(this.threshold) / 100);
41
+ }
42
+ else {
43
+ this.thrPx = parseFloat(this.threshold);
44
+ this.thrPc = 0;
45
+ }
46
+ }
47
+ registerScrollListener() {
48
+ fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
49
+ this.handleScrollEvent(event);
50
+ })).subscribe();
51
+ }
52
+ handleScrollEvent(event) {
53
+ this.ngZone.runOutsideAngular(() => {
54
+ if (this.complete) {
55
+ return;
56
+ }
57
+ const countOfRenderedOptions = this.matSelect.options.length;
58
+ const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
59
+ const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
60
+ const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
61
+ if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
62
+ this.ngZone.run(() => this.infiniteScroll.emit());
63
+ }
64
+ });
65
+ }
66
+ getSelectItemHeightPx() {
67
+ return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;
68
+ }
69
+ }
70
+ MatSelectInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: MatSelectInfiniteScrollDirective, deps: [{ token: i1.MatSelect }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
71
+ MatSelectInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.3", type: MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: { threshold: "threshold", debounceTime: "debounceTime", complete: "complete" }, outputs: { infiniteScroll: "infiniteScroll" }, ngImport: i0 });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
73
+ type: Directive,
74
+ args: [{
75
+ selector: '[msInfiniteScroll]'
76
+ }]
77
+ }], ctorParameters: function () { return [{ type: i1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
78
+ type: Input
79
+ }], debounceTime: [{
80
+ type: Input
81
+ }], complete: [{
82
+ type: Input
83
+ }], infiniteScroll: [{
84
+ type: Output
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNlbGVjdC1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9zZWxlY3QtYm94L21hdC1zZWxlY3QtaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBRXhDLG9EQUFvRDtBQUNwRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUtoQyxNQUFNLE9BQU8sZ0NBQWdDO0lBYzNDLFlBQW9CLFNBQW9CLEVBQVUsTUFBYztRQUE1QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVp2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBRWxCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc1QyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLHVCQUFrQixHQUFHLHFCQUFxQixDQUFDO1FBRTNDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBRzVDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FB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QkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjtxSEFHVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0U2VsZWN0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZSwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqIFRoZSBoZWlnaHQgb2YgdGhlIHNlbGVjdCBpdGVtcyBpbiBgZW1gIHVuaXRzLiAqL1xyXG5jb25zdCBTRUxFQ1RfSVRFTV9IRUlHSFRfRU0gPSAzO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbXNJbmZpbml0ZVNjcm9sbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGhyZXNob2xkID0gJzE1JSc7XHJcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gMTUwO1xyXG4gIEBJbnB1dCgpIGNvbXBsZXRlITogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgaW5maW5pdGVTY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgcGFuZWwhOiBFbGVtZW50O1xyXG4gIHByaXZhdGUgdGhyUHggPSAwO1xyXG4gIHByaXZhdGUgdGhyUGMgPSAwO1xyXG4gIHByaXZhdGUgc2luZ2xlT3B0aW9uSGVpZ2h0ID0gU0VMRUNUX0lURU1fSEVJR0hUX0VNO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdFNlbGVjdDogTWF0U2VsZWN0LCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZhbHVhdGVUaHJlc2hvbGQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWF0U2VsZWN0Lm9wZW5lZENoYW5nZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxyXG4gICAgKS5zdWJzY3JpYmUoKG9wZW5lZCkgPT4ge1xyXG4gICAgICBpZiAob3BlbmVkKSB7XHJcbiAgICAgICAgdGhpcy5wYW5lbCA9IHRoaXMubWF0U2VsZWN0LnBhbmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5zaW5nbGVPcHRpb25IZWlnaHQgPSB0aGlzLmdldFNlbGVjdEl0ZW1IZWlnaHRQeCgpO1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJTY3JvbGxMaXN0ZW5lcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlVGhyZXNob2xkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGhyZXNob2xkLmxhc3RJbmRleE9mKCclJykgPiAtMSkge1xyXG4gICAgICB0aGlzLnRoclB4ID0gMDtcclxuICAgICAgdGhpcy50aHJQYyA9IChwYXJzZUZsb2F0KHRoaXMudGhyZXNob2xkKSAvIDEwMCk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50aHJQeCA9IHBhcnNlRmxvYXQodGhpcy50aHJlc2hvbGQpO1xyXG4gICAgICB0aGlzLnRoclBjID0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyU2Nyb2xsTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICBmcm9tRXZlbnQodGhpcy5wYW5lbCwgJ3Njcm9sbCcpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxyXG4gICAgICB0YXAoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTY3JvbGxFdmVudChldmVudCk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2Nyb2xsRXZlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb3VudE9mUmVuZGVyZWRPcHRpb25zID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy5sZW5ndGg7XHJcbiAgICAgIGNvbnN0IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UgPSB0aGlzLnNpbmdsZU9wdGlvbkhlaWdodCAqIGNvdW50T2ZSZW5kZXJlZE9wdGlvbnM7XHJcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IHRoaXMudGhyUGMgIT09IDAgPyAoaW5maW5pdGVTY3JvbGxEaXN0YW5jZSAqIHRoaXMudGhyUGMpIDogdGhpcy50aHJQeDtcclxuXHJcbiAgICAgIGNvbnN0IHNjcm9sbGVkRGlzdGFuY2UgPSB0aGlzLnBhbmVsLmNsaWVudEhlaWdodCArIGV2ZW50LnRhcmdldC5zY3JvbGxUb3A7XHJcblxyXG4gICAgICBpZiAoKHNjcm9sbGVkRGlzdGFuY2UgKyB0aHJlc2hvbGQpID49IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UpIHtcclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pbmZpbml0ZVNjcm9sbC5lbWl0KCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdEl0ZW1IZWlnaHRQeCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnBhbmVsKS5mb250U2l6ZSkgKiBTRUxFQ1RfSVRFTV9IRUlHSFRfRU07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,220 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { Subject } from 'rxjs';
4
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
5
+ import { ValueAccessorBase } from '../value-acessor-base';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@ng-select/ng-select";
10
+ import * as i4 from "@apipass/icons";
11
+ import * as i5 from "@angular/material/tooltip";
12
+ export class SelectBoxComponent extends ValueAccessorBase {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.placeholder = 'Select Item';
16
+ this.searchPlaceHolder = 'Search';
17
+ this.clearText = 'Clear';
18
+ this.notFoundText = 'No Items Found';
19
+ this.enabledSearch = true;
20
+ this.data = [];
21
+ this.disabled = false;
22
+ this.bindImageUrl = '';
23
+ this.bindKey = '';
24
+ this.bindValue = '';
25
+ this.limitItens = 30;
26
+ this.showAddNewItem = false;
27
+ this.addNewItemText = 'Add New Item';
28
+ this.addNewItemIcon = '';
29
+ this.addNewItemClickCloseSelect = false;
30
+ this.closeOnBodyScroll = false;
31
+ this.initializing = false;
32
+ this.loadingText = 'Loading...';
33
+ this.onOpenSelectBox = new EventEmitter();
34
+ this.onCloseSelectBox = new EventEmitter();
35
+ this.onSelectChange = new EventEmitter();
36
+ this.onSelectClear = new EventEmitter();
37
+ this.onAddNewItemClick = new EventEmitter();
38
+ this.visibleItens = [];
39
+ this.loading = false;
40
+ this.inputFilter = new Subject();
41
+ this.lastSearchTerm = '';
42
+ this.onBodyScroll = (event) => {
43
+ if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {
44
+ const isScrollingInScrollHost = event.target.className?.indexOf('ng-dropdown-panel-items') > -1;
45
+ if (isScrollingInScrollHost) {
46
+ return;
47
+ }
48
+ this.ngSelectComponent.close();
49
+ }
50
+ };
51
+ }
52
+ ngOnInit() {
53
+ this.onSearch();
54
+ if (this.closeOnBodyScroll) {
55
+ window.addEventListener('scroll', this.onBodyScroll, true);
56
+ }
57
+ }
58
+ ngOnDestroy() {
59
+ if (this.closeOnBodyScroll) {
60
+ window.removeEventListener('scroll', this.onBodyScroll, true);
61
+ }
62
+ }
63
+ onSearch() {
64
+ this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {
65
+ this.loading = true;
66
+ this.lastSearchTerm = searchString;
67
+ if (searchString && this.data) {
68
+ this.visibleItens = this.data.filter(item => item[this.bindValue]?.toString().toLowerCase().includes(searchString.toLowerCase())).slice(0, this.limitItens);
69
+ }
70
+ else if (this.data) {
71
+ this.visibleItens = this.data.slice(0, this.limitItens);
72
+ }
73
+ else {
74
+ this.visibleItens = [];
75
+ }
76
+ setTimeout(() => this.loading = false, 300);
77
+ });
78
+ }
79
+ // @ts-ignore
80
+ onScroll({ end }) {
81
+ const data = this.lastSearchTerm ? this.data.filter(item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())) : this.data;
82
+ if (this.loading || data.length <= this.visibleItens.length) {
83
+ return;
84
+ }
85
+ if (end + 5 >= this.visibleItens.length) {
86
+ this.fetchMore();
87
+ }
88
+ }
89
+ onScrollToEnd() {
90
+ if (this.loading) {
91
+ return;
92
+ }
93
+ this.fetchMore();
94
+ }
95
+ fetchMore() {
96
+ this.loading = true;
97
+ const len = this.visibleItens.length;
98
+ const more = this.lastSearchTerm ?
99
+ this.data.filter(item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())).slice(len, this.limitItens + len) : this.data.slice(len, this.limitItens + len);
100
+ this.visibleItens = this.visibleItens.concat(more);
101
+ this.loading = false;
102
+ }
103
+ onKeyDown(event) {
104
+ if (event.which === 32) {
105
+ event.target.value += ' ';
106
+ }
107
+ event.stopPropagation();
108
+ }
109
+ onSelectionChange(event) {
110
+ this.findSelectedItem(this.value);
111
+ this.onSelectChange.emit(this.selectedItem);
112
+ }
113
+ openSelectBox($event) {
114
+ this.visibleItens = [];
115
+ if (this.data) {
116
+ this.visibleItens = this.data.slice(0, this.limitItens);
117
+ }
118
+ this.onOpenSelectBox.next();
119
+ }
120
+ compareFn(a, b) {
121
+ return a[this.bindKey] === b[this.bindKey];
122
+ }
123
+ onClear() {
124
+ this.onSelectClear.next();
125
+ }
126
+ onClose($event) {
127
+ this.onCloseSelectBox.next();
128
+ }
129
+ onAddNewItem() {
130
+ if (this.addNewItemClickCloseSelect) {
131
+ this.ngSelectComponent?.close();
132
+ }
133
+ this.onAddNewItemClick.next();
134
+ }
135
+ writeValue(value) {
136
+ super.writeValue(value);
137
+ if (value) {
138
+ this.findSelectedItem(value);
139
+ }
140
+ }
141
+ findSelectedItem(value) {
142
+ if (this.selectProperty) {
143
+ this.selectedItem = this.data?.find(el => el[this.bindKey] === value);
144
+ }
145
+ else if (value) {
146
+ this.selectedItem = this.data?.find(el => el[this.bindKey] === value[this.bindKey]);
147
+ }
148
+ else {
149
+ this.selectedItem = null;
150
+ }
151
+ }
152
+ }
153
+ SelectBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
154
+ SelectBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: SelectBoxComponent, selector: "select-box", inputs: { placeholder: "placeholder", searchPlaceHolder: "searchPlaceHolder", clearText: "clearText", notFoundText: "notFoundText", enabledSearch: "enabledSearch", data: "data", disabled: "disabled", selectedItem: "selectedItem", selectProperty: "selectProperty", bindImageUrl: "bindImageUrl", bindKey: "bindKey", bindValue: "bindValue", limitItens: "limitItens", showAddNewItem: "showAddNewItem", addNewItemText: "addNewItemText", addNewItemIcon: "addNewItemIcon", addNewItemClickCloseSelect: "addNewItemClickCloseSelect", closeOnBodyScroll: "closeOnBodyScroll", initializing: "initializing", loadingText: "loadingText" }, outputs: { onOpenSelectBox: "onOpenSelectBox", onCloseSelectBox: "onCloseSelectBox", onSelectChange: "onSelectChange", onSelectClear: "onSelectClear", onAddNewItemClick: "onAddNewItemClick" }, providers: [{
155
+ provide: NG_VALUE_ACCESSOR,
156
+ useExisting: forwardRef(() => SelectBoxComponent),
157
+ multi: true
158
+ }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-select #ngSelectComponent\r\n [(ngModel)]=\"value\"\r\n [items]=\"visibleItens\"\r\n [virtualScroll]=\"true\"\r\n [loading]=\"loading || initializing\"\r\n [loadingText]=\"loadingText\"\r\n [placeholder]=\"placeholder\"\r\n [clearAllText]=\"clearText\"\r\n [searchable]=\"enabledSearch\"\r\n [typeToSearchText]=\"searchPlaceHolder\"\r\n (open)=\"openSelectBox($event)\"\r\n (close)=\"onClose($event)\"\r\n (clear)=\"onClear()\"\r\n [notFoundText]=\"notFoundText\"\r\n [disabled]=\"disabled\"\r\n appendTo=\"body\"\r\n (scroll)=\"onScroll($event)\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"onSelectionChange($event)\"\r\n [typeahead]=\"inputFilter\"\r\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\r\n [compareWith]=\"compareFn\"\r\n [bindValue]=\"selectProperty\">\r\n\r\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\r\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"selectedItem[bindValue]\"\r\n [matTooltip]=\"selectedItem[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\r\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"value[bindValue]\"\r\n [matTooltip]=\"value[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\r\n </ng-template>\r\n\r\n <ng-template ng-header-tmp *ngIf=\"this.showAddNewItem\">\r\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\r\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\r\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\r\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"item[bindValue]\"\r\n [matTooltip]=\"item[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\"\r\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\r\n </ng-template>\r\n\r\n</ng-select>\r\n", styles: [":root{--color-primary: #222D57;--color-primary-hover: #18203D;--color-primary-active: #29376A;--color-secondary: #D3D921;--color-secondary-hover: #B3B81C;--color-secondary-active: #DCE13F;--color-tertiary: #EFEFEF;--color-tertiary-hover: #CBCBCB;--color-tertiary-active: #F1F1F1;--color-fonts-tertiary: #777777;--color-body-light: #FFF;--color-red: rgb(255, 0, 0);--limit-plan-color: #ff6c00;--color_disabled: #E0E0E0;--color_components_light: #FFF;--color-inputs-border: #DDD;--color-inputs-background: #FFF;--color_icon_remove: var(--color-red);--color_icon_success: #070;--color_graph_primary: #1643EF;--color_graph_primary_hover: #0A2692;--color_graph_error: #EB5757;--color_graph_error_hover: #C91717}.mat-mdc-form-field-subscript-wrapper{display:none}.mat-form-field-appearance-fill .mdc-text-field{display:flex!important;align-items:center!important;border:1px solid var(--color-inputs-border)!important;background:var(--color-inputs-background)!important;border-radius:6px!important}.mat-form-field-infix{padding:0!important;display:flex!important;align-items:center!important;border-top:none!important}.mat-select-arrow-wrapper{display:flex!important}.mat-icon-button{width:auto!important}.no-border .mdc-text-field{border:none!important}.no-border .mdc-text-field input{padding:1px}.mat-form-field-label-wrapper{top:-10px}.mat-form-field-should-float .mat-form-field-label-wrapper{font-size:14px}.placeholder-primary .mat-form-field-label-wrapper,.placeholder-primary .mat-form-field-label-wrapper label{color:var(--color-primary)!important}.placeholder-primary ::ng-deep .mat-form-field-placeholder,.placeholder-primary .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-primary .mat-focused .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary input ::placeholder{color:var(--color-primary)!important}.placeholder-bold .mat-form-field-label-wrapper,.placeholder-bold .mat-form-field-label-wrapper label{font-weight:700!important}.placeholder-bold ::ng-deep .mat-form-field-placeholder,.placeholder-bold .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-bold .mat-focused .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold input ::placeholder{font-weight:700!important}.apipass-input-text{width:100%;height:51px}.apipass-input-text.search-input-item{height:40px!important}.apipass-input-text.search-input-item .search-input-item{margin-top:5px}.apipass-input-text .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-input-text .mdc-line-ripple:before,.apipass-search-input-text .mdc-line-ripple:before,.custom-select-component .mdc-line-ripple:before,.apipass-select .mdc-line-ripple:before,.apipass-date-filter .mdc-line-ripple:before{border-bottom-color:transparent!important}.apipass-input-text .mdc-line-ripple:after,.apipass-search-input-text .mdc-line-ripple:after,.custom-select-component .mdc-line-ripple:after,.apipass-select .mdc-line-ripple:after,.apipass-date-filter .mdc-line-ripple:after{border-bottom-color:var(--color-primary-active)}.apipass-input-text .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-search-input-text .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.custom-select-component .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-select .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-date-filter .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--color-primary-active)}.apipass-input-text .mat-mdc-form-field-infix,.apipass-search-input-text .mat-mdc-form-field-infix,.custom-select-component .mat-mdc-form-field-infix,.apipass-select .mat-mdc-form-field-infix,.apipass-date-filter .mat-mdc-form-field-infix{padding-top:12px!important;padding-bottom:0!important;font-size:14px!important}.apipass-input-text .mat-icon-button,.apipass-search-input-text .mat-icon-button,.custom-select-component .mat-icon-button,.apipass-select .mat-icon-button,.apipass-date-filter .mat-icon-button{width:auto!important;height:auto!important}.apipass-input-text.label-input .mat-form-field-label-wrapper,.apipass-search-input-text.label-input .mat-form-field-label-wrapper,.custom-select-component.label-input .mat-form-field-label-wrapper,.apipass-select.label-input .mat-form-field-label-wrapper,.apipass-date-filter.label-input .mat-form-field-label-wrapper{padding-top:0;top:auto!important}.apipass-input-text.label-input input,.apipass-search-input-text.label-input input,.custom-select-component.label-input input,.apipass-select.label-input input,.apipass-date-filter.label-input input{padding-top:10px!important;padding-bottom:5px!important}.apipass-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-search-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.custom-select-component.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-select.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-date-filter.mat-form-field-should-float .mat-form-field-label-wrapper{padding-top:0!important;margin-top:-10px!important}.apipass-input-text .mat-mdc-form-field-focus-overlay,.apipass-search-input-text .mat-mdc-form-field-focus-overlay,.custom-select-component .mat-mdc-form-field-focus-overlay,.apipass-select .mat-mdc-form-field-focus-overlay,.apipass-date-filter .mat-mdc-form-field-focus-overlay{opacity:0!important}.apipass-search-input-text{width:100%}.apipass-search-input-text.small-text{font-size:12px}.apipass-search-input-text .mat-mdc-form-field-flex{padding:0!important;height:auto;border-top:none!important;border-left:none!important;border-right:none!important;border-radius:0!important}.apipass-search-input-text .search-icon{margin-top:-5px!important}.custom-select-component{width:100%;height:51px}.custom-select-component .mat-mdc-form-field-flex{padding:0!important;height:auto}.custom-select-component .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;font-size:14px!important;width:100%;display:flex;align-items:center;justify-content:center}.custom-select-component mat-form-field{height:20px!important}.apipass-select{width:100%}.apipass-select .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-select.label-input .mat-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}.apipass-date-filter{width:100%}.apipass-date-filter .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-date-filter .mat-form-field-suffix span{cursor:pointer;color:#777}.apipass-date-filter .mat-mdc-form-field-infix{padding-top:12px!important;padding-bottom:0!important;height:51px!important;max-height:51px!important;min-height:51px!important}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0x8mI.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIhUdwzM.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydKxUdwzM.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIRUdwzM.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydLxUd.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0-ExdGM.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0aExdGM.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0yExdGM.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0KExQ.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.text-primary{color:var(--color-primary)!important}.text-secondary{color:var(--color-secondary)!important}.text-tertiary{color:var(--color-fonts-tertiary)!important}.text-weight-bold{font-weight:700!important}.text-weight-normal{font-weight:400!important}.apipass-select-image.ng-select.ng-select-opened>.ng-select-container,.apipass-select.ng-select.ng-select-opened>.ng-select-container{height:51px;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.apipass-select-image.ng-select-disabled .ng-select-container,.apipass-select.ng-select-disabled .ng-select-container{background-color:#ccc!important;cursor:no-drop!important;color:#777!important}.apipass-select-image.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow,.apipass-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow{border-color:#777 transparent transparent!important;color:#777!important;cursor:no-drop!important}.apipass-select-image.ng-select-disabled .ng-select-container .ng-value-container,.apipass-select.ng-select-disabled .ng-select-container .ng-value-container,.apipass-select-image.ng-select-disabled .ng-select-container .ng-value,.apipass-select.ng-select-disabled .ng-select-container .ng-value,.apipass-select-image.ng-select-disabled .ng-select-container .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input,.apipass-select.ng-select-disabled .ng-select-container .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{cursor:no-drop!important}.apipass-select-image .select-text-element,.apipass-select .select-text-element{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #DDD;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;align-items:center!important}.apipass-select .ng-select-container,.apipass-select-image .ng-select-container{min-height:51px}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.apipass-select .ng-select-container .ng-value-container{align-items:center!important;padding-left:10px}.apipass-select .ng-select-container .ng-value-container .ng-value{display:flex!important;align-items:center!important}.apipass-select .ng-select-container .ng-value-container,.apipass-select-image .ng-select-container .ng-value-container{align-items:center!important;padding-left:10px}.apipass-select .ng-select-container .ng-value-container .ng-value,.apipass-select-image .ng-select-container .ng-value-container .ng-value{display:flex!important;align-items:center!important}.apipass-select .ng-select-container .ng-value-container .ng-input,.apipass-select-image .ng-select-container .ng-value-container .ng-input{padding-top:0!important;top:auto!important}.apipass-select .ng-select-container .ng-value-container .ng-input input,.apipass-select-image .ng-select-container .ng-value-container .ng-input input{margin-top:-5px!important;padding-top:17px!important;padding-bottom:17px!important}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:14px;color:#0009}.apipass-select .ng-select-container,.apipass-select-image .ng-select-container{height:51px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6;display:flex!important;align-items:center!important}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px;display:flex!important;align-items:center!important}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px;display:flex!important;align-items:center!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#0009}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#DDD transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #DDD;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{display:flex!important;align-items:center!important;background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: i4.IconComponent, selector: "icon", inputs: ["name", "title", "type", "size", "isMaterialIcon", "materialOutline", "routerLinkActive", "routerLink", "link", "target", "isActive"], outputs: ["onClick"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectBoxComponent, decorators: [{
160
+ type: Component,
161
+ args: [{ selector: 'select-box', providers: [{
162
+ provide: NG_VALUE_ACCESSOR,
163
+ useExisting: forwardRef(() => SelectBoxComponent),
164
+ multi: true
165
+ }], encapsulation: ViewEncapsulation.None, template: "<ng-select #ngSelectComponent\r\n [(ngModel)]=\"value\"\r\n [items]=\"visibleItens\"\r\n [virtualScroll]=\"true\"\r\n [loading]=\"loading || initializing\"\r\n [loadingText]=\"loadingText\"\r\n [placeholder]=\"placeholder\"\r\n [clearAllText]=\"clearText\"\r\n [searchable]=\"enabledSearch\"\r\n [typeToSearchText]=\"searchPlaceHolder\"\r\n (open)=\"openSelectBox($event)\"\r\n (close)=\"onClose($event)\"\r\n (clear)=\"onClear()\"\r\n [notFoundText]=\"notFoundText\"\r\n [disabled]=\"disabled\"\r\n appendTo=\"body\"\r\n (scroll)=\"onScroll($event)\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"onSelectionChange($event)\"\r\n [typeahead]=\"inputFilter\"\r\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\r\n [compareWith]=\"compareFn\"\r\n [bindValue]=\"selectProperty\">\r\n\r\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\r\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"selectedItem[bindValue]\"\r\n [matTooltip]=\"selectedItem[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\r\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"value[bindValue]\"\r\n [matTooltip]=\"value[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\r\n </ng-template>\r\n\r\n <ng-template ng-header-tmp *ngIf=\"this.showAddNewItem\">\r\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\r\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\r\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\r\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\r\n <img loading=\"lazy\"\r\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\r\n [alt]=\"item[bindValue]\"\r\n [matTooltip]=\"item[bindValue]\"\r\n style=\"width: auto;max-width: 40px;height: 40px;\"\r\n />\r\n </div>\r\n <span class=\"select-text-element\"\r\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\r\n </ng-template>\r\n\r\n</ng-select>\r\n", styles: [":root{--color-primary: #222D57;--color-primary-hover: #18203D;--color-primary-active: #29376A;--color-secondary: #D3D921;--color-secondary-hover: #B3B81C;--color-secondary-active: #DCE13F;--color-tertiary: #EFEFEF;--color-tertiary-hover: #CBCBCB;--color-tertiary-active: #F1F1F1;--color-fonts-tertiary: #777777;--color-body-light: #FFF;--color-red: rgb(255, 0, 0);--limit-plan-color: #ff6c00;--color_disabled: #E0E0E0;--color_components_light: #FFF;--color-inputs-border: #DDD;--color-inputs-background: #FFF;--color_icon_remove: var(--color-red);--color_icon_success: #070;--color_graph_primary: #1643EF;--color_graph_primary_hover: #0A2692;--color_graph_error: #EB5757;--color_graph_error_hover: #C91717}.mat-mdc-form-field-subscript-wrapper{display:none}.mat-form-field-appearance-fill .mdc-text-field{display:flex!important;align-items:center!important;border:1px solid var(--color-inputs-border)!important;background:var(--color-inputs-background)!important;border-radius:6px!important}.mat-form-field-infix{padding:0!important;display:flex!important;align-items:center!important;border-top:none!important}.mat-select-arrow-wrapper{display:flex!important}.mat-icon-button{width:auto!important}.no-border .mdc-text-field{border:none!important}.no-border .mdc-text-field input{padding:1px}.mat-form-field-label-wrapper{top:-10px}.mat-form-field-should-float .mat-form-field-label-wrapper{font-size:14px}.placeholder-primary .mat-form-field-label-wrapper,.placeholder-primary .mat-form-field-label-wrapper label{color:var(--color-primary)!important}.placeholder-primary ::ng-deep .mat-form-field-placeholder,.placeholder-primary .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-primary .mat-focused .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary input ::placeholder{color:var(--color-primary)!important}.placeholder-bold .mat-form-field-label-wrapper,.placeholder-bold .mat-form-field-label-wrapper label{font-weight:700!important}.placeholder-bold ::ng-deep .mat-form-field-placeholder,.placeholder-bold .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-bold .mat-focused .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold input ::placeholder{font-weight:700!important}.apipass-input-text{width:100%;height:51px}.apipass-input-text.search-input-item{height:40px!important}.apipass-input-text.search-input-item .search-input-item{margin-top:5px}.apipass-input-text .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-input-text .mdc-line-ripple:before,.apipass-search-input-text .mdc-line-ripple:before,.custom-select-component .mdc-line-ripple:before,.apipass-select .mdc-line-ripple:before,.apipass-date-filter .mdc-line-ripple:before{border-bottom-color:transparent!important}.apipass-input-text .mdc-line-ripple:after,.apipass-search-input-text .mdc-line-ripple:after,.custom-select-component .mdc-line-ripple:after,.apipass-select .mdc-line-ripple:after,.apipass-date-filter .mdc-line-ripple:after{border-bottom-color:var(--color-primary-active)}.apipass-input-text .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-search-input-text .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.custom-select-component .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-select .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,.apipass-date-filter .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--color-primary-active)}.apipass-input-text .mat-mdc-form-field-infix,.apipass-search-input-text .mat-mdc-form-field-infix,.custom-select-component .mat-mdc-form-field-infix,.apipass-select .mat-mdc-form-field-infix,.apipass-date-filter .mat-mdc-form-field-infix{padding-top:12px!important;padding-bottom:0!important;font-size:14px!important}.apipass-input-text .mat-icon-button,.apipass-search-input-text .mat-icon-button,.custom-select-component .mat-icon-button,.apipass-select .mat-icon-button,.apipass-date-filter .mat-icon-button{width:auto!important;height:auto!important}.apipass-input-text.label-input .mat-form-field-label-wrapper,.apipass-search-input-text.label-input .mat-form-field-label-wrapper,.custom-select-component.label-input .mat-form-field-label-wrapper,.apipass-select.label-input .mat-form-field-label-wrapper,.apipass-date-filter.label-input .mat-form-field-label-wrapper{padding-top:0;top:auto!important}.apipass-input-text.label-input input,.apipass-search-input-text.label-input input,.custom-select-component.label-input input,.apipass-select.label-input input,.apipass-date-filter.label-input input{padding-top:10px!important;padding-bottom:5px!important}.apipass-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-search-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.custom-select-component.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-select.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-date-filter.mat-form-field-should-float .mat-form-field-label-wrapper{padding-top:0!important;margin-top:-10px!important}.apipass-input-text .mat-mdc-form-field-focus-overlay,.apipass-search-input-text .mat-mdc-form-field-focus-overlay,.custom-select-component .mat-mdc-form-field-focus-overlay,.apipass-select .mat-mdc-form-field-focus-overlay,.apipass-date-filter .mat-mdc-form-field-focus-overlay{opacity:0!important}.apipass-search-input-text{width:100%}.apipass-search-input-text.small-text{font-size:12px}.apipass-search-input-text .mat-mdc-form-field-flex{padding:0!important;height:auto;border-top:none!important;border-left:none!important;border-right:none!important;border-radius:0!important}.apipass-search-input-text .search-icon{margin-top:-5px!important}.custom-select-component{width:100%;height:51px}.custom-select-component .mat-mdc-form-field-flex{padding:0!important;height:auto}.custom-select-component .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;font-size:14px!important;width:100%;display:flex;align-items:center;justify-content:center}.custom-select-component mat-form-field{height:20px!important}.apipass-select{width:100%}.apipass-select .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-select.label-input .mat-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}.apipass-date-filter{width:100%}.apipass-date-filter .mat-mdc-form-field-flex{padding:0!important;height:auto}.apipass-date-filter .mat-form-field-suffix span{cursor:pointer;color:#777}.apipass-date-filter .mat-mdc-form-field-infix{padding-top:12px!important;padding-bottom:0!important;height:51px!important;max-height:51px!important;min-height:51px!important}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0x8mI.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIhUdwzM.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydKxUdwzM.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIRUdwzM.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:italic;font-weight:700;font-display:swap;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydLxUd.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0-ExdGM.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0aExdGM.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0yExdGM.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0KExQ.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.text-primary{color:var(--color-primary)!important}.text-secondary{color:var(--color-secondary)!important}.text-tertiary{color:var(--color-fonts-tertiary)!important}.text-weight-bold{font-weight:700!important}.text-weight-normal{font-weight:400!important}.apipass-select-image.ng-select.ng-select-opened>.ng-select-container,.apipass-select.ng-select.ng-select-opened>.ng-select-container{height:51px;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.apipass-select-image.ng-select-disabled .ng-select-container,.apipass-select.ng-select-disabled .ng-select-container{background-color:#ccc!important;cursor:no-drop!important;color:#777!important}.apipass-select-image.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow,.apipass-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow{border-color:#777 transparent transparent!important;color:#777!important;cursor:no-drop!important}.apipass-select-image.ng-select-disabled .ng-select-container .ng-value-container,.apipass-select.ng-select-disabled .ng-select-container .ng-value-container,.apipass-select-image.ng-select-disabled .ng-select-container .ng-value,.apipass-select.ng-select-disabled .ng-select-container .ng-value,.apipass-select-image.ng-select-disabled .ng-select-container .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input,.apipass-select.ng-select-disabled .ng-select-container .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{cursor:no-drop!important}.apipass-select-image .select-text-element,.apipass-select .select-text-element{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #DDD;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;align-items:center!important}.apipass-select .ng-select-container,.apipass-select-image .ng-select-container{min-height:51px}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.apipass-select .ng-select-container .ng-value-container{align-items:center!important;padding-left:10px}.apipass-select .ng-select-container .ng-value-container .ng-value{display:flex!important;align-items:center!important}.apipass-select .ng-select-container .ng-value-container,.apipass-select-image .ng-select-container .ng-value-container{align-items:center!important;padding-left:10px}.apipass-select .ng-select-container .ng-value-container .ng-value,.apipass-select-image .ng-select-container .ng-value-container .ng-value{display:flex!important;align-items:center!important}.apipass-select .ng-select-container .ng-value-container .ng-input,.apipass-select-image .ng-select-container .ng-value-container .ng-input{padding-top:0!important;top:auto!important}.apipass-select .ng-select-container .ng-value-container .ng-input input,.apipass-select-image .ng-select-container .ng-value-container .ng-input input{margin-top:-5px!important;padding-top:17px!important;padding-bottom:17px!important}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:14px;color:#0009}.apipass-select .ng-select-container,.apipass-select-image .ng-select-container{height:51px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6;display:flex!important;align-items:center!important}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px;display:flex!important;align-items:center!important}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px;display:flex!important;align-items:center!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#0009}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#DDD transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #DDD;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{display:flex!important;align-items:center!important;background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}\n"] }]
166
+ }], propDecorators: { placeholder: [{
167
+ type: Input
168
+ }], searchPlaceHolder: [{
169
+ type: Input
170
+ }], clearText: [{
171
+ type: Input
172
+ }], notFoundText: [{
173
+ type: Input
174
+ }], enabledSearch: [{
175
+ type: Input
176
+ }], data: [{
177
+ type: Input
178
+ }], disabled: [{
179
+ type: Input
180
+ }], selectedItem: [{
181
+ type: Input
182
+ }], selectProperty: [{
183
+ type: Input
184
+ }], bindImageUrl: [{
185
+ type: Input
186
+ }], bindKey: [{
187
+ type: Input
188
+ }], bindValue: [{
189
+ type: Input
190
+ }], limitItens: [{
191
+ type: Input
192
+ }], showAddNewItem: [{
193
+ type: Input
194
+ }], addNewItemText: [{
195
+ type: Input
196
+ }], addNewItemIcon: [{
197
+ type: Input
198
+ }], addNewItemClickCloseSelect: [{
199
+ type: Input
200
+ }], closeOnBodyScroll: [{
201
+ type: Input
202
+ }], initializing: [{
203
+ type: Input
204
+ }], loadingText: [{
205
+ type: Input
206
+ }], onOpenSelectBox: [{
207
+ type: Output
208
+ }], onCloseSelectBox: [{
209
+ type: Output
210
+ }], onSelectChange: [{
211
+ type: Output
212
+ }], onSelectClear: [{
213
+ type: Output
214
+ }], onAddNewItemClick: [{
215
+ type: Output
216
+ }], ngSelectComponent: [{
217
+ type: ViewChild,
218
+ args: ['ngSelectComponent']
219
+ }] } });
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBYTFELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBc0I7SUFYOUQ7O1FBYWtCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBQzVCLHNCQUFpQixHQUFHLFFBQVEsQ0FBQztRQUM3QixjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsZ0JBQWdCLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsU0FBSSxHQUFlLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qixt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LE1BQU07Z0JBR0EsaUJBQWlCO3NCQUR2QixTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvckJhc2UgfSBmcm9tICcuLi92YWx1ZS1hY2Vzc29yLWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZWxlY3QtYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJ3NlbGVjdC1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydzZWxlY3QtYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCb3hDb21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RCb3hDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IEl0ZW0nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZUhvbGRlciA9ICdTZWFyY2gnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhclRleHQgPSAnQ2xlYXInO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQgPSAnTm8gSXRlbXMgRm91bmQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkU2VhcmNoID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0UHJvcGVydHk6IGFueTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGJpbmRJbWFnZVVybCA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGJpbmRWYWx1ZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgbGltaXRJdGVucyA9IDMwO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0FkZE5ld0l0ZW0gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbVRleHQgPSAnQWRkIE5ldyBJdGVtJztcclxuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbUljb24gPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25Cb2R5U2Nyb2xsID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0aWFsaXppbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ1RleHQgPSAnTG9hZGluZy4uLic7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25PcGVuU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNsb3NlU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25BZGROZXdJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmdTZWxlY3RDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBuZ1NlbGVjdENvbXBvbmVudDogTmdTZWxlY3RDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyB2aXNpYmxlSXRlbnM6IEFycmF5PGFueT4gPSBbXTtcclxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpbnB1dEZpbHRlciA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwdWJsaWMgbGFzdFNlYXJjaFRlcm0gPSAnJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uU2VhcmNoKCk7XHJcbiAgICBpZiAodGhpcy5jbG9zZU9uQm9keVNjcm9sbCkge1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkJvZHlTY3JvbGwgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VPbkJvZHlTY3JvbGwgJiYgdGhpcy5uZ1NlbGVjdENvbXBvbmVudD8uaXNPcGVuKSB7XHJcbiAgICAgIGNvbnN0IGlzU2Nyb2xsaW5nSW5TY3JvbGxIb3N0ID0gKGV2ZW50LnRhcmdldC5jbGFzc05hbWUgYXMgc3RyaW5nKT8uaW5kZXhPZignbmctZHJvcGRvd24tcGFuZWwtaXRlbXMnKSA+IC0xO1xyXG4gICAgICBpZiAoaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbG9zZU9uQm9keVNjcm9sbCkge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0RmlsdGVyLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZShzZWFyY2hTdHJpbmcgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxhc3RTZWFyY2hUZXJtID0gc2VhcmNoU3RyaW5nO1xyXG4gICAgICBpZiAoc2VhcmNoU3RyaW5nICYmIHRoaXMuZGF0YSkge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcclxuICAgICAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmJpbmRWYWx1ZV0/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSB0aGlzLmRhdGEuc2xpY2UoMCwgdGhpcy5saW1pdEl0ZW5zKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBvblNjcm9sbCh7IGVuZCB9KTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5sYXN0U2VhcmNoVGVybSA/IHRoaXMuZGF0YS5maWx0ZXIoXHJcbiAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmJpbmRWYWx1ZV0/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmxhc3RTZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXHJcbiAgICApIDogdGhpcy5kYXRhO1xyXG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCBkYXRhLmxlbmd0aCA8PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGVuZCArIDUgPj0gdGhpcy52aXNpYmxlSXRlbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZmV0Y2hNb3JlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbFRvRW5kKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmZldGNoTW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hNb3JlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMudmlzaWJsZUl0ZW5zLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmxhc3RTZWFyY2hUZXJtID9cclxuICAgICAgdGhpcy5kYXRhLmZpbHRlcihcclxuICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5sYXN0U2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICkuc2xpY2UobGVuLCB0aGlzLmxpbWl0SXRlbnMgKyBsZW4pIDogdGhpcy5kYXRhLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKTtcclxuICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy52aXNpYmxlSXRlbnMuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAzMikge1xyXG4gICAgICBldmVudC50YXJnZXQudmFsdWUgKz0gJyAnO1xyXG4gICAgfVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZmluZFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25TZWxlY3RDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2VsZWN0Qm94KCRldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbk9wZW5TZWxlY3RCb3gubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbXBhcmVGbihhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFbdGhpcy5iaW5kS2V5XSA9PT0gYlt0aGlzLmJpbmRLZXldO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNsb3NlU2VsZWN0Qm94Lm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uQWRkTmV3SXRlbSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFkZE5ld0l0ZW1DbGlja0Nsb3NlU2VsZWN0KSB7XHJcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQWRkTmV3SXRlbUNsaWNrLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5maW5kU2VsZWN0ZWRJdGVtKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbmRTZWxlY3RlZEl0ZW0odmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0UHJvcGVydHkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGE/LmZpbmQoZWwgPT4gZWxbdGhpcy5iaW5kS2V5XSA9PT0gdmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGF0YT8uZmluZChlbCA9PiBlbFt0aGlzLmJpbmRLZXldID09PSB2YWx1ZVt0aGlzLmJpbmRLZXldKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLXNlbGVjdCAjbmdTZWxlY3RDb21wb25lbnRcclxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICBbaXRlbXNdPVwidmlzaWJsZUl0ZW5zXCJcclxuICAgICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCJcclxuICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nIHx8IGluaXRpYWxpemluZ1wiXHJcbiAgICAgICAgICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJUZXh0XCJcclxuICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJlbmFibGVkU2VhcmNoXCJcclxuICAgICAgICAgICBbdHlwZVRvU2VhcmNoVGV4dF09XCJzZWFyY2hQbGFjZUhvbGRlclwiXHJcbiAgICAgICAgICAgKG9wZW4pPVwib3BlblNlbGVjdEJveCgkZXZlbnQpXCJcclxuICAgICAgICAgICAoY2xvc2UpPVwib25DbG9zZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcclxuICAgICAgICAgICBbbm90Rm91bmRUZXh0XT1cIm5vdEZvdW5kVGV4dFwiXHJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgKHNjcm9sbFRvRW5kKT1cIm9uU2Nyb2xsVG9FbmQoKVwiXHJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICBbdHlwZWFoZWFkXT1cImlucHV0RmlsdGVyXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FwaXBhc3Mtc2VsZWN0LWltYWdlJyA6IGJpbmRJbWFnZVVybCwgJ2FwaXBhc3Mtc2VsZWN0JzogIWJpbmRJbWFnZVVybH1cIlxyXG4gICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxyXG4gICAgICAgICAgIFtiaW5kVmFsdWVdPVwic2VsZWN0UHJvcGVydHlcIj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwic2VsZWN0UHJvcGVydHkgJiYgc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbVtiaW5kS2V5XSAmJiBzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXVwiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiIHN0eWxlPVwid2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCJcclxuICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRLZXldICYmIHNlbGVjdGVkSXRlbVtiaW5kVmFsdWVdICYmIGJpbmRJbWFnZVVybFwiPlxyXG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkSXRlbVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXHJcbiAgICAgICAgICAgW2FsdF09XCJzZWxlY3RlZEl0ZW1bYmluZFZhbHVlXVwiXHJcbiAgICAgICAgICAgW21hdFRvb2x0aXBdPVwic2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIlxyXG4gICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87bWF4LXdpZHRoOiA0MHB4O2hlaWdodDogNDBweDtcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC10ZXh0LWVsZW1lbnRcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW1bYmluZEtleV0gJiYgc2VsZWN0ZWRJdGVtW2JpbmRWYWx1ZV1cIj57e3NlbGVjdGVkSXRlbVtiaW5kVmFsdWVdfX08L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiIXNlbGVjdFByb3BlcnR5ICYmIHZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiXHJcbiAgICAgICAgICpuZ0lmPVwidmFsdWUgJiYgdmFsdWVbYmluZEtleV0gJiYgdmFsdWVbYmluZFZhbHVlXSAmJiBiaW5kSW1hZ2VVcmxcIj5cclxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgW3NyY109XCJ2YWx1ZVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXHJcbiAgICAgICAgICAgW2FsdF09XCJ2YWx1ZVtiaW5kVmFsdWVdXCJcclxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVtiaW5kVmFsdWVdXCJcclxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCIgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdXCI+e3t2YWx1ZVtiaW5kVmFsdWVdfX08L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nLWhlYWRlci10bXAgKm5nSWY9XCJ0aGlzLnNob3dBZGROZXdJdGVtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLW5ldy1pdGVtLW9wdGlvblwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJvbkFkZE5ld0l0ZW0oKVwiPlxyXG4gICAgICA8aWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCIgKm5nSWY9XCJhZGROZXdJdGVtSWNvblwiIFt0aXRsZV09XCJhZGROZXdJdGVtVGV4dFwiIFtuYW1lXT1cImFkZE5ld0l0ZW1JY29uXCIgW3NpemVdPVwiMjBcIj48L2ljb24+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYWRkLW5ldy1pdGVtLXRleHRcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImFkZE5ld0l0ZW1UZXh0XCI+e3thZGROZXdJdGVtVGV4dH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiIHN0eWxlPVwid2lkdGg6IDQwcHg7aGVpZ2h0OiA0MHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCIgKm5nSWY9XCJiaW5kSW1hZ2VVcmxcIj5cclxuICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgW3NyY109XCJpdGVtW2JpbmRJbWFnZVVybF0gfHwgJy4vYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXCJcclxuICAgICAgICAgICBbYWx0XT1cIml0ZW1bYmluZFZhbHVlXVwiXHJcbiAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbVtiaW5kVmFsdWVdXCJcclxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCJcclxuICAgICAgICAgIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1wiPnt7aXRlbVtiaW5kVmFsdWVdfX08L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvbmctc2VsZWN0PlxyXG4iXX0=