@evotor-dev/ui-kit 7.5.0 → 7.7.0

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 (44) hide show
  1. package/assets/color-icons/alert-triangle.svg +2 -5
  2. package/assets/color-icons/assortiment.svg +15 -22
  3. package/assets/color-icons/bank.svg +10 -21
  4. package/assets/color-icons/battery.svg +7 -15
  5. package/assets/color-icons/cash.svg +10 -25
  6. package/assets/color-icons/check.svg +2 -3
  7. package/assets/color-icons/document-signed.svg +8 -21
  8. package/assets/color-icons/document.svg +5 -13
  9. package/assets/color-icons/eye-off.svg +7 -17
  10. package/assets/color-icons/gift.svg +3 -7
  11. package/assets/color-icons/gym.svg +8 -14
  12. package/assets/color-icons/money.svg +7 -17
  13. package/assets/color-icons/newspaper.svg +13 -25
  14. package/assets/color-icons/number.svg +1 -2
  15. package/assets/color-icons/rocket.svg +5 -11
  16. package/assets/color-icons/sad.svg +9 -21
  17. package/assets/color-icons/shop.svg +11 -27
  18. package/assets/color-icons/terminal-size.svg +11 -25
  19. package/assets/color-icons/usb.svg +17 -27
  20. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete/evo-autocomplete.component.mjs +2 -2
  21. package/esm2020/lib/components/evo-datepicker/evo-datepicker.component.mjs +2 -2
  22. package/esm2020/lib/components/evo-input/evo-input.component.mjs +8 -7
  23. package/esm2020/lib/components/evo-input/evo-input.module.mjs +5 -2
  24. package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +8 -4
  25. package/esm2020/lib/components/evo-input-contenteditable/types/evo-input-contenteditable-size.mjs +2 -0
  26. package/esm2020/lib/components/evo-paginator/evo-paginator.component.mjs +35 -58
  27. package/esm2020/lib/components/evo-paginator/evo-paginator.module.mjs +6 -2
  28. package/esm2020/lib/components/evo-select/evo-select.component.mjs +2 -2
  29. package/esm2020/lib/components/evo-textarea/evo-textarea.component.mjs +9 -5
  30. package/esm2020/lib/components/evo-textarea/types/evo-textarea-size.mjs +2 -0
  31. package/fesm2015/evotor-dev-ui-kit.mjs +175 -186
  32. package/fesm2015/evotor-dev-ui-kit.mjs.map +1 -1
  33. package/fesm2020/evotor-dev-ui-kit.mjs +175 -186
  34. package/fesm2020/evotor-dev-ui-kit.mjs.map +1 -1
  35. package/lib/components/evo-input/evo-input.module.d.ts +2 -1
  36. package/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.d.ts +3 -1
  37. package/lib/components/evo-input-contenteditable/types/evo-input-contenteditable-size.d.ts +2 -0
  38. package/lib/components/evo-paginator/evo-paginator.component.d.ts +16 -10
  39. package/lib/components/evo-paginator/evo-paginator.module.d.ts +2 -1
  40. package/lib/components/evo-textarea/evo-textarea.component.d.ts +3 -1
  41. package/lib/components/evo-textarea/types/evo-textarea-size.d.ts +2 -0
  42. package/package.json +1 -1
  43. package/styles/mixins/_evo-input-mixins.scss +4 -2
  44. package/styles/variables.scss +3 -0
@@ -13,6 +13,7 @@ export class EvoInputContenteditableComponent extends EvoBaseControl {
13
13
  this.cd = cd;
14
14
  this.injector = injector;
15
15
  this.blur = new EventEmitter();
16
+ this.size = 'normal';
16
17
  this.multiline = true;
17
18
  this.maxLines = 3;
18
19
  this.minLines = 0;
@@ -30,6 +31,7 @@ export class EvoInputContenteditableComponent extends EvoBaseControl {
30
31
  disabled: this._isDisabled,
31
32
  valid: this.currentState[EvoControlStates.valid],
32
33
  invalid: this.currentState[EvoControlStates.invalid],
34
+ [`size_${this.size}`]: this.size !== 'normal',
33
35
  };
34
36
  }
35
37
  ngOnInit() {
@@ -101,7 +103,7 @@ EvoInputContenteditableComponent.STYLE_KEYCODES = [
101
103
  85, // U u
102
104
  ];
103
105
  EvoInputContenteditableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoInputContenteditableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
104
- EvoInputContenteditableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoInputContenteditableComponent, selector: "evo-input-contenteditable", inputs: { multiline: "multiline", placeholder: "placeholder", autoFocus: "autoFocus", maxLines: "maxLines", minLines: "minLines", disabled: "disabled", preventStylingHotkeys: "preventStylingHotkeys" }, outputs: { blur: "blur" }, providers: [
106
+ EvoInputContenteditableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoInputContenteditableComponent, selector: "evo-input-contenteditable", inputs: { size: "size", multiline: "multiline", placeholder: "placeholder", autoFocus: "autoFocus", maxLines: "maxLines", minLines: "minLines", disabled: "disabled", preventStylingHotkeys: "preventStylingHotkeys" }, outputs: { blur: "blur" }, providers: [
105
107
  {
106
108
  provide: NG_VALUE_ACCESSOR,
107
109
  useExisting: forwardRef(() => EvoInputContenteditableComponent),
@@ -112,7 +114,7 @@ EvoInputContenteditableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
112
114
  useExisting: forwardRef(() => EvoInputContenteditableComponent),
113
115
  multi: true,
114
116
  },
115
- ], viewQueries: [{ propertyName: "contenteditable", first: true, predicate: ["contenteditable"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n", styles: [".evo-contenteditable-input{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;display:block;flex-basis:100%;height:auto;min-height:48px;max-height:calc(24px * var(--evo-contenteditable-lines) + 24px);padding:11px 16px;overflow:auto;line-height:24px}.evo-contenteditable-input_focused{border:solid 1px #74706F}.evo-contenteditable-input_invalid{border-color:#ff1817!important}.evo-contenteditable-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-contenteditable-input_disabled .evo-contenteditable-input__content{display:block}.evo-contenteditable-input_single{display:flex;overflow:hidden}.evo-contenteditable-input_single .evo-contenteditable-input__content{-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.evo-contenteditable-input_single .evo-contenteditable-input__content::-webkit-scrollbar{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep br{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep *{display:inline;white-space:nowrap}.evo-contenteditable-input:focus-within{border:solid 1px #74706F}.evo-contenteditable-input__content{position:relative;display:inline-block;flex-direction:column;width:100%;min-height:calc(24px * var(--evo-contenteditable-min-lines));white-space:pre-wrap;outline:none}.evo-contenteditable-input__content_open-lines{min-height:calc(calc(24px * var(--evo-contenteditable-min-lines)) + 8px)}.evo-contenteditable-input__content:empty:before{content:attr(placeholder);position:absolute;display:block;color:#9b9b9b;pointer-events:none}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
117
+ ], viewQueries: [{ propertyName: "contenteditable", first: true, predicate: ["contenteditable"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n", styles: [".evo-contenteditable-input{--evo-input-height: 40px;--evo-input-border-radius: 4px;--evo-input-font-size: 14px;--evo-input-line-height: 24px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);line-height:var(--evo-input-line-height);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;display:block;flex-basis:100%;height:auto;min-height:40px;max-height:calc(24px * var(--evo-contenteditable-lines) + 24px);padding:7px 11px;overflow:auto;line-height:24px}.evo-contenteditable-input_focused{border:solid 1px #74706F}.evo-contenteditable-input_invalid{border-color:#ff1817!important}.evo-contenteditable-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-contenteditable-input_disabled .evo-contenteditable-input__content{display:block}.evo-contenteditable-input_single{display:flex;overflow:hidden}.evo-contenteditable-input_single .evo-contenteditable-input__content{-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.evo-contenteditable-input_single .evo-contenteditable-input__content::-webkit-scrollbar{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep br{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep *{display:inline;white-space:nowrap}.evo-contenteditable-input_size_small{min-height:32px;padding:3px 11px}.evo-contenteditable-input:focus-within{border:solid 1px #74706F}.evo-contenteditable-input__content{position:relative;display:inline-block;flex-direction:column;width:100%;min-height:calc(24px * var(--evo-contenteditable-min-lines));white-space:pre-wrap;outline:none}.evo-contenteditable-input__content_open-lines{min-height:calc(calc(24px * var(--evo-contenteditable-min-lines)) + 8px)}.evo-contenteditable-input__content:empty:before{content:attr(placeholder);position:absolute;display:block;color:#9b9b9b;pointer-events:none}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoInputContenteditableComponent, decorators: [{
117
119
  type: Component,
118
120
  args: [{ selector: 'evo-input-contenteditable', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -126,12 +128,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
126
128
  useExisting: forwardRef(() => EvoInputContenteditableComponent),
127
129
  multi: true,
128
130
  },
129
- ], template: "<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n", styles: [".evo-contenteditable-input{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;display:block;flex-basis:100%;height:auto;min-height:48px;max-height:calc(24px * var(--evo-contenteditable-lines) + 24px);padding:11px 16px;overflow:auto;line-height:24px}.evo-contenteditable-input_focused{border:solid 1px #74706F}.evo-contenteditable-input_invalid{border-color:#ff1817!important}.evo-contenteditable-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-contenteditable-input_disabled .evo-contenteditable-input__content{display:block}.evo-contenteditable-input_single{display:flex;overflow:hidden}.evo-contenteditable-input_single .evo-contenteditable-input__content{-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.evo-contenteditable-input_single .evo-contenteditable-input__content::-webkit-scrollbar{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep br{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep *{display:inline;white-space:nowrap}.evo-contenteditable-input:focus-within{border:solid 1px #74706F}.evo-contenteditable-input__content{position:relative;display:inline-block;flex-direction:column;width:100%;min-height:calc(24px * var(--evo-contenteditable-min-lines));white-space:pre-wrap;outline:none}.evo-contenteditable-input__content_open-lines{min-height:calc(calc(24px * var(--evo-contenteditable-min-lines)) + 8px)}.evo-contenteditable-input__content:empty:before{content:attr(placeholder);position:absolute;display:block;color:#9b9b9b;pointer-events:none}\n"] }]
131
+ ], template: "<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n", styles: [".evo-contenteditable-input{--evo-input-height: 40px;--evo-input-border-radius: 4px;--evo-input-font-size: 14px;--evo-input-line-height: 24px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);line-height:var(--evo-input-line-height);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;display:block;flex-basis:100%;height:auto;min-height:40px;max-height:calc(24px * var(--evo-contenteditable-lines) + 24px);padding:7px 11px;overflow:auto;line-height:24px}.evo-contenteditable-input_focused{border:solid 1px #74706F}.evo-contenteditable-input_invalid{border-color:#ff1817!important}.evo-contenteditable-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-contenteditable-input_disabled .evo-contenteditable-input__content{display:block}.evo-contenteditable-input_single{display:flex;overflow:hidden}.evo-contenteditable-input_single .evo-contenteditable-input__content{-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.evo-contenteditable-input_single .evo-contenteditable-input__content::-webkit-scrollbar{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep br{display:none}.evo-contenteditable-input_single .evo-contenteditable-input__content ::ng-deep *{display:inline;white-space:nowrap}.evo-contenteditable-input_size_small{min-height:32px;padding:3px 11px}.evo-contenteditable-input:focus-within{border:solid 1px #74706F}.evo-contenteditable-input__content{position:relative;display:inline-block;flex-direction:column;width:100%;min-height:calc(24px * var(--evo-contenteditable-min-lines));white-space:pre-wrap;outline:none}.evo-contenteditable-input__content_open-lines{min-height:calc(calc(24px * var(--evo-contenteditable-min-lines)) + 8px)}.evo-contenteditable-input__content:empty:before{content:attr(placeholder);position:absolute;display:block;color:#9b9b9b;pointer-events:none}\n"] }]
130
132
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }]; }, propDecorators: { contenteditable: [{
131
133
  type: ViewChild,
132
134
  args: ['contenteditable', { read: ElementRef, static: true }]
133
135
  }], blur: [{
134
136
  type: Output
137
+ }], size: [{
138
+ type: Input
135
139
  }], multiline: [{
136
140
  type: Input
137
141
  }], placeholder: [{
@@ -147,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
147
151
  }], preventStylingHotkeys: [{
148
152
  type: Input
149
153
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8taW5wdXQtY29udGVudGVkaXRhYmxlL2V2by1pbnB1dC1jb250ZW50ZWRpdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS9ldm8taW5wdXQtY29udGVudGVkaXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUVWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQW9CekQsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGNBQWM7SUEwQmhFLFlBQ1ksRUFBcUIsRUFDbkIsUUFBa0I7UUFFNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCdEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFdkMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsYUFB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QUk7eUJBQ2Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlDQUFpQyxDQUFDOzRCQUMvRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjsrSEFVd0UsZUFBZTtzQkFBdkYsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFFcEQsSUFBSTtzQkFBYixNQUFNO2dCQUVFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFVyxRQUFRO3NCQUF4QixLQUFLO2dCQUNXLHFCQUFxQjtzQkFBckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdm9CYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcbmltcG9ydCB7IEV2b0NvbnRyb2xTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWNvbnRyb2wtc3RhdGUtbWFuYWdlci9ldm8tY29udHJvbC1zdGF0ZXMuZW51bSc7XG5pbXBvcnQgeyBjbGVhck11bHRpbGluZSB9IGZyb20gJy4vdXRpbHMvY2xlYXItbXVsdGlsaW5lJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8taW5wdXQtY29udGVudGVkaXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFdm9CYXNlQ29udHJvbCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRXZvQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIHN0YXRpYyByZWFkb25seSBTVFlMRV9LRVlDT0RFUyA9IFtcbiAgICAgICAgNjYsIC8vIEIgYlxuICAgICAgICA3MywgLy8gSSBpXG4gICAgICAgIDg1LCAvLyBVIHVcbiAgICBdO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGVudGVkaXRhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZX0pIHJlYWRvbmx5IGNvbnRlbnRlZGl0YWJsZTogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gICAgQElucHV0KCkgbXVsdGlsaW5lID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGF1dG9Gb2N1czogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhMaW5lcyA9IDM7XG4gICAgQElucHV0KCkgbWluTGluZXMgPSAwO1xuXG4gICAgQElucHV0KCkgcHJpdmF0ZSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHByaXZhdGUgcHJldmVudFN0eWxpbmdIb3RrZXlzID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBpbnB1dENsYXNzKCk6IHsgW2Nzc0NsYXNzOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb3BlbjogdGhpcy5taW5MaW5lcyA+IDAsXG4gICAgICAgICAgICBzaW5nbGU6ICF0aGlzLm11bHRpbGluZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9pc0Rpc2FibGVkLFxuICAgICAgICAgICAgdmFsaWQ6IHRoaXMuY3VycmVudFN0YXRlW0V2b0NvbnRyb2xTdGF0ZXMudmFsaWRdLFxuICAgICAgICAgICAgaW52YWxpZDogdGhpcy5jdXJyZW50U3RhdGVbRXZvQ29udHJvbFN0YXRlcy5pbnZhbGlkXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwU2V0VmFsdWUoKTtcblxuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRlZGl0YWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50ZWRpdGFibGUubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSB0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5ldyBsaW5lIHRyaWdnZXJzIGNoYW5nZXMgaW4gYm90aCBtb2Rlc1xuICAgICAqIEhhbmRsZSB0aGlzIGNhc2UgaGVyZSBpZiB5b3UgZm91bmQgdGhpcyBiZWhhdmlvdXIgcmVkdW5kYW50XG4gICAgICovXG4gICAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7IHRoaXMub25Ub3VjaGVkKCk7IH1cblxuICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAoKGV2ZW50IGFzIElucHV0RXZlbnQpLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCB0aGlzLmNsZWFyTXVsdGlsaW5lKGNvbnRlbnQpKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5wcmV2ZW50U3R5bGluZ0hvdGtleXMgJiZcbiAgICAgICAgICAgIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpICYmXG4gICAgICAgICAgICBFdm9JbnB1dENvbnRlbnRlZGl0YWJsZUNvbXBvbmVudC5TVFlMRV9LRVlDT0RFUy5pbmNsdWRlcyhldmVudC5rZXlDb2RlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyTXVsdGlsaW5lKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY2xlYXJNdWx0aWxpbmUodmFsdWUsIHRoaXMubXVsdGlsaW5lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyYXBTZXRWYWx1ZSgpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTZXRWYWx1ZSA9IHRoaXMuY29udHJvbC5zZXRWYWx1ZTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUgPSAodmFsdWU6IHVua25vd24sIG9wdGlvbnM/OiBPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFNldFZhbHVlLmNhbGwodGhpcy5jb250cm9sLCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZXZvLWNvbnRlbnRlZGl0YWJsZS1pbnB1dFwiXG4gICAgW2V2b1VpQ2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW3N0eWxlLi0tZXZvLWNvbnRlbnRlZGl0YWJsZS1saW5lc109XCJtdWx0aWxpbmUgPyBtYXhMaW5lcyA6IDBcIlxuPlxuXHQ8c3BhblxuICAgICAgICAjY29udGVudGVkaXRhYmxlXG4gICAgICAgIGNsYXNzPVwiZXZvLWNvbnRlbnRlZGl0YWJsZS1pbnB1dF9fY29udGVudFwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAoZHJhZ292ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIFtldm9VaUNsYXNzXT1cInsnb3Blbi1saW5lcyc6IG1pbkxpbmVzID4gMH1cIlxuICAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiIWlzRGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtzdHlsZS4tLWV2by1jb250ZW50ZWRpdGFibGUtbWluLWxpbmVzXT1cIm11bHRpbGluZSA/IG1pbkxpbmVzIDogMFwiXG4gICAgPjwvc3Bhbj5cbjwvZGl2PlxuPGV2by1jb250cm9sLWVycm9yXG4gICAgKm5nSWY9XCJzaG93RXJyb3JzXCJcbiAgICBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCJcbiAgICBbZXJyb3JzTWVzc2FnZXNdPVwiZXJyb3JzTWVzc2FnZXNcIlxuPjwvZXZvLWNvbnRyb2wtZXJyb3I+XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8taW5wdXQtY29udGVudGVkaXRhYmxlL2V2by1pbnB1dC1jb250ZW50ZWRpdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS9ldm8taW5wdXQtY29udGVudGVkaXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUVWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQXFCekQsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGNBQWM7SUEyQmhFLFlBQ1ksRUFBcUIsRUFDbkIsUUFBa0I7UUFFNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQW5CdEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFdkMsU0FBSSxHQUFnQyxRQUFRLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixh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O3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlDQUFpQyxDQUFDOzRCQUMvRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsY0FBYzs0QkFDdkIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUNBQWlDLENBQUM7NEJBQy9ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOytIQVV3RSxlQUFlO3NCQUF2RixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUVwRCxJQUFJO3NCQUFiLE1BQU07Z0JBRUUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFVyxRQUFRO3NCQUF4QixLQUFLO2dCQUNXLHFCQUFxQjtzQkFBckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdm9CYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcbmltcG9ydCB7IEV2b0NvbnRyb2xTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWNvbnRyb2wtc3RhdGUtbWFuYWdlci9ldm8tY29udHJvbC1zdGF0ZXMuZW51bSc7XG5pbXBvcnQgeyBjbGVhck11bHRpbGluZSB9IGZyb20gJy4vdXRpbHMvY2xlYXItbXVsdGlsaW5lJztcbmltcG9ydCB7IEV2b0lucHV0Q29udGVudGVkaXRhYmxlU2l6ZSB9IGZyb20gJy4vdHlwZXMvZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS1zaXplJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8taW5wdXQtY29udGVudGVkaXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFdm9CYXNlQ29udHJvbCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b0lucHV0Q29udGVudGVkaXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRXZvQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIHN0YXRpYyByZWFkb25seSBTVFlMRV9LRVlDT0RFUyA9IFtcbiAgICAgICAgNjYsIC8vIEIgYlxuICAgICAgICA3MywgLy8gSSBpXG4gICAgICAgIDg1LCAvLyBVIHVcbiAgICBdO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGVudGVkaXRhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZX0pIHJlYWRvbmx5IGNvbnRlbnRlZGl0YWJsZTogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gICAgQElucHV0KCkgc2l6ZTogRXZvSW5wdXRDb250ZW50ZWRpdGFibGVTaXplID0gJ25vcm1hbCc7XG4gICAgQElucHV0KCkgbXVsdGlsaW5lID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGF1dG9Gb2N1czogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhMaW5lcyA9IDM7XG4gICAgQElucHV0KCkgbWluTGluZXMgPSAwO1xuXG4gICAgQElucHV0KCkgcHJpdmF0ZSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHByaXZhdGUgcHJldmVudFN0eWxpbmdIb3RrZXlzID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBpbnB1dENsYXNzKCk6IHsgW2Nzc0NsYXNzOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb3BlbjogdGhpcy5taW5MaW5lcyA+IDAsXG4gICAgICAgICAgICBzaW5nbGU6ICF0aGlzLm11bHRpbGluZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9pc0Rpc2FibGVkLFxuICAgICAgICAgICAgdmFsaWQ6IHRoaXMuY3VycmVudFN0YXRlW0V2b0NvbnRyb2xTdGF0ZXMudmFsaWRdLFxuICAgICAgICAgICAgaW52YWxpZDogdGhpcy5jdXJyZW50U3RhdGVbRXZvQ29udHJvbFN0YXRlcy5pbnZhbGlkXSxcbiAgICAgICAgICAgIFtgc2l6ZV8ke3RoaXMuc2l6ZX1gXTogdGhpcy5zaXplICE9PSAnbm9ybWFsJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwU2V0VmFsdWUoKTtcblxuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRlZGl0YWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50ZWRpdGFibGUubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSB0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5ldyBsaW5lIHRyaWdnZXJzIGNoYW5nZXMgaW4gYm90aCBtb2Rlc1xuICAgICAqIEhhbmRsZSB0aGlzIGNhc2UgaGVyZSBpZiB5b3UgZm91bmQgdGhpcyBiZWhhdmlvdXIgcmVkdW5kYW50XG4gICAgICovXG4gICAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7IHRoaXMub25Ub3VjaGVkKCk7IH1cblxuICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAoKGV2ZW50IGFzIElucHV0RXZlbnQpLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCB0aGlzLmNsZWFyTXVsdGlsaW5lKGNvbnRlbnQpKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5wcmV2ZW50U3R5bGluZ0hvdGtleXMgJiZcbiAgICAgICAgICAgIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpICYmXG4gICAgICAgICAgICBFdm9JbnB1dENvbnRlbnRlZGl0YWJsZUNvbXBvbmVudC5TVFlMRV9LRVlDT0RFUy5pbmNsdWRlcyhldmVudC5rZXlDb2RlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyTXVsdGlsaW5lKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY2xlYXJNdWx0aWxpbmUodmFsdWUsIHRoaXMubXVsdGlsaW5lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyYXBTZXRWYWx1ZSgpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTZXRWYWx1ZSA9IHRoaXMuY29udHJvbC5zZXRWYWx1ZTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUgPSAodmFsdWU6IHVua25vd24sIG9wdGlvbnM/OiBPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmNsZWFyTXVsdGlsaW5lKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFNldFZhbHVlLmNhbGwodGhpcy5jb250cm9sLCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZXZvLWNvbnRlbnRlZGl0YWJsZS1pbnB1dFwiXG4gICAgW2V2b1VpQ2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW3N0eWxlLi0tZXZvLWNvbnRlbnRlZGl0YWJsZS1saW5lc109XCJtdWx0aWxpbmUgPyBtYXhMaW5lcyA6IDBcIlxuPlxuXHQ8c3BhblxuICAgICAgICAjY29udGVudGVkaXRhYmxlXG4gICAgICAgIGNsYXNzPVwiZXZvLWNvbnRlbnRlZGl0YWJsZS1pbnB1dF9fY29udGVudFwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAoZHJhZ292ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIFtldm9VaUNsYXNzXT1cInsnb3Blbi1saW5lcyc6IG1pbkxpbmVzID4gMH1cIlxuICAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiIWlzRGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtzdHlsZS4tLWV2by1jb250ZW50ZWRpdGFibGUtbWluLWxpbmVzXT1cIm11bHRpbGluZSA/IG1pbkxpbmVzIDogMFwiXG4gICAgPjwvc3Bhbj5cbjwvZGl2PlxuPGV2by1jb250cm9sLWVycm9yXG4gICAgKm5nSWY9XCJzaG93RXJyb3JzXCJcbiAgICBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCJcbiAgICBbZXJyb3JzTWVzc2FnZXNdPVwiZXJyb3JzTWVzc2FnZXNcIlxuPjwvZXZvLWNvbnRyb2wtZXJyb3I+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0LWNvbnRlbnRlZGl0YWJsZS90eXBlcy9ldm8taW5wdXQtY29udGVudGVkaXRhYmxlLXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZvU2l6ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgRXZvSW5wdXRDb250ZW50ZWRpdGFibGVTaXplID0gRXh0cmFjdDxFdm9TaXplLCAnc21hbGwnIHwgJ25vcm1hbCc+O1xuIl19
@@ -1,43 +1,53 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- const MIN_VISIBLE_PAGES_LIMIT = 5;
5
- const DEFAULT_VISIBLE_PAGES_LIMIT = 7;
4
+ import * as i2 from "../../directives/evo-let/evo-let.directive";
5
+ var PaginatorLayout;
6
+ (function (PaginatorLayout) {
7
+ PaginatorLayout["SHORT"] = "SHORT";
8
+ PaginatorLayout["BEGINNING"] = "BEGINNING";
9
+ PaginatorLayout["MIDDLE"] = "MIDDLE";
10
+ PaginatorLayout["END"] = "END";
11
+ })(PaginatorLayout || (PaginatorLayout = {}));
12
+ const SHORT_STATE_PAGES_LIMIT = 5;
13
+ const CORNER_STATE_PAGE_MAX_OFFSET = 3;
6
14
  const DEFAULT_PAGE_SIZE = 10;
7
15
  export class EvoPaginatorComponent {
8
16
  constructor() {
9
17
  this.pageClick = new EventEmitter();
18
+ this.currentPage = 1; // starts with 1
10
19
  this.pagesTotal = 1;
11
- this.visiblePagesLimit = DEFAULT_VISIBLE_PAGES_LIMIT;
12
- this.pagesList = [1];
20
+ this.CORNER_STATE_PAGE_MAX_OFFSET = CORNER_STATE_PAGE_MAX_OFFSET;
21
+ this.PaginatorLayout = PaginatorLayout;
13
22
  this.pageSize = DEFAULT_PAGE_SIZE;
14
23
  this.itemsTotal = 0;
15
- this.currentPage = 1; // starts with 1
16
24
  }
17
25
  set setCurrentPage(value) {
18
26
  this.currentPage = parseInt(value, 10) || 1;
19
- this.updatePagesList();
20
27
  }
21
28
  set setItemsTotal(itemsTotal) {
22
29
  this.itemsTotal = itemsTotal > 0 ? itemsTotal : 0;
23
- this.updatePagesList();
30
+ this.pagesTotal = Math.ceil(this.itemsTotal / this.pageSize) || 1;
24
31
  }
25
32
  set setPageSize(pageSize) {
26
33
  this.pageSize = pageSize > 0 ? pageSize : 10;
27
- this.updatePagesList();
34
+ this.pagesTotal = Math.ceil(this.itemsTotal / this.pageSize) || 1;
28
35
  }
29
- set setMaxVisiblePages(visiblePagesLimit) {
30
- if (!visiblePagesLimit) {
31
- return;
36
+ get currentLayout() {
37
+ if (this.pagesTotal <= SHORT_STATE_PAGES_LIMIT) {
38
+ return PaginatorLayout.SHORT;
39
+ }
40
+ // first CORNER_STATE_PAGE_MAX_OFFSET pages
41
+ // ex: CORNER_STATE_PAGE_MAX_OFFSET = 3, currentPage = 1 | 2 | 3
42
+ if (this.currentPage <= CORNER_STATE_PAGE_MAX_OFFSET) {
43
+ return PaginatorLayout.BEGINNING;
32
44
  }
33
- let valueToSet = visiblePagesLimit;
34
- if (visiblePagesLimit % 2 === 0 || visiblePagesLimit < MIN_VISIBLE_PAGES_LIMIT) {
35
- console.warn(`evo-paginator: visiblePagesLimit MUST be a positive odd number. Minimal value is ${MIN_VISIBLE_PAGES_LIMIT}.
36
- The Component will use default value (${DEFAULT_VISIBLE_PAGES_LIMIT}) instead of your value (${visiblePagesLimit})`);
37
- valueToSet = DEFAULT_VISIBLE_PAGES_LIMIT;
45
+ // last CORNER_STATE_PAGE_MAX_OFFSET pages
46
+ // ex: CORNER_STATE_PAGE_MAX_OFFSET = 3, pagesTotal = 100, currentPage = 98 | 99 | 100
47
+ if (this.pagesTotal - this.currentPage < CORNER_STATE_PAGE_MAX_OFFSET) {
48
+ return PaginatorLayout.END;
38
49
  }
39
- this.visiblePagesLimit = valueToSet;
40
- this.updatePagesList();
50
+ return PaginatorLayout.MIDDLE;
41
51
  }
42
52
  onPageClick(page) {
43
53
  if (page === this.currentPage) {
@@ -51,49 +61,17 @@ export class EvoPaginatorComponent {
51
61
  };
52
62
  this.currentPage = page;
53
63
  this.pageClick.emit(payload);
54
- this.updatePagesList();
55
64
  }
56
- isActivePage(page) {
65
+ isSelectedPage(page) {
57
66
  return parseInt(page, 10) === this.currentPage;
58
67
  }
59
- updatePagesList() {
60
- this.pagesList = [];
61
- this.pagesTotal = Math.ceil(this.itemsTotal / this.pageSize) || 1;
62
- const allPages = [...new Array(this.pagesTotal)].map((_, i) => i + 1);
63
- const halfVisible = (this.visiblePagesLimit - 1) / 2;
64
- const pagesOnSides = (this.visiblePagesLimit - 2 - 1) / 2;
65
- const lastPageNumber = allPages.length;
66
- if (this.currentPage > this.pagesTotal) {
67
- return;
68
- }
69
- this.pagesList = allPages.filter((p, i) => {
70
- // is boundary value (always visible)
71
- if (p === 1 || p === lastPageNumber || p === this.currentPage) {
72
- return true;
73
- }
74
- // start non-shiftable items, for example, when currentPage === 3: [1 2 (3)] 4 5 6 9
75
- if (this.currentPage <= halfVisible) {
76
- return p < this.visiblePagesLimit;
77
- }
78
- // end non-shiftable items, for example, when currentPage === 8: 1 4 5 6 [7 (8) 9]
79
- // in example above it is 4
80
- if (this.currentPage >= lastPageNumber - halfVisible) {
81
- return lastPageNumber - this.visiblePagesLimit < i;
82
- }
83
- // siblings, for example, when currentPage === 5: 1 [3 4] (5) [6 7] 9
84
- return ((p < this.currentPage && this.currentPage - pagesOnSides <= p) ||
85
- (p > this.currentPage && p <= this.currentPage + pagesOnSides));
86
- });
87
- }
88
68
  }
89
69
  EvoPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- EvoPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoPaginatorComponent, selector: "evo-paginator", inputs: { setCurrentPage: ["currentPage", "setCurrentPage"], setItemsTotal: ["itemsTotal", "setItemsTotal"], setPageSize: ["pageSize", "setPageSize"], setMaxVisiblePages: ["visiblePagesLimit", "setMaxVisiblePages"] }, outputs: { pageClick: "pageClick" }, ngImport: i0, template: "<div class=\"paginator-container\">\n <button\n *ngFor=\"let page of pagesList; index as i\"\n class=\"page\"\n [ngClass]=\"{\n page_active: isActivePage(page),\n page_min: i === 0 && pagesList[1] !== 2,\n page_max: (i === (pagesList.length - 1)) && ((page - 1) !== pagesList[pagesList.length - 2])\n }\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none;justify-items:center}.paginator-container{display:inline-flex;margin:0 auto}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:30px;height:30px;margin:0 5px;padding:0 5px;color:#91b1b8;font-weight:600;font-size:14px;line-height:22px;text-align:center;background:#FFFFFF;border:1px solid #91B1B8;border-radius:30px;outline:none;cursor:pointer}.page:hover{color:#fff;background-color:#4dd1a2;border-color:#4dd1a2}.page:active{color:#fff;background-color:#1eb27d;border-color:#1eb27d}.page_min,.page_max{color:#403c3d;border-color:#403c3d}.page_min:hover,.page_max:hover{color:#fff;background-color:#403c3d;border-color:#403c3d}.page_active,.page_active:hover,.page_active:active{color:#fff;background-color:#21c68b;border-color:transparent;cursor:default}@media (max-width: 500px){.page{padding:0 3px}}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
+ EvoPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoPaginatorComponent, selector: "evo-paginator", inputs: { setCurrentPage: ["currentPage", "setCurrentPage"], setItemsTotal: ["itemsTotal", "setItemsTotal"], setPageSize: ["pageSize", "setPageSize"] }, outputs: { pageClick: "pageClick" }, ngImport: i0, template: "<div class=\"paginator\">\n <ng-container [ngSwitch]=\"currentLayout\">\n <ng-container *ngSwitchCase=\"PaginatorLayout.SHORT\" [ngTemplateOutlet]=\"shortTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.BEGINNING\" [ngTemplateOutlet]=\"beginningTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.MIDDLE\" [ngTemplateOutlet]=\"middleTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.END\" [ngTemplateOutlet]=\"endTpl\"></ng-container>\n </ng-container>\n</div>\n\n<!-- SIMPLE LAYOUT, just pages in line -->\n<!-- ex: (1) 2 3 4 5 -->\n<ng-template #shortTpl>\n <ng-container *ngFor=\"let page of [].constructor(pagesTotal); let i = index\">\n <button\n *evoLet=\"i + 1 as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n</ng-template>\n\n<!-- BEGINNING LAYOUT, when selected some of first pages -->\n<!-- ex: 1 (2) 3 4 ... 99 -->\n<ng-template #beginningTpl>\n <ng-container *ngFor=\"let page of [].constructor(CORNER_STATE_PAGE_MAX_OFFSET + 1); let i = index\">\n <button\n *evoLet=\"i + 1 as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <div class=\"paginator__separator\">...</div>\n <button class=\"paginator__btn\" (click)=\"onPageClick(pagesTotal)\">{{ pagesTotal }}</button>\n</ng-template>\n\n<!-- MIDDLE LAYOUT, when selected page is not in the begging nor at the end -->\n<!-- ex: 1 ... 35 (36) 37 ... 99 -->\n<ng-template #middleTpl>\n <button class=\"paginator__btn\" (click)=\"onPageClick(1)\">1</button>\n <div class=\"paginator__separator\">...</div>\n\n <ng-container *ngFor=\"let page of [currentPage - 1, currentPage, currentPage + 1]\">\n <button\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <div class=\"paginator__separator\">...</div>\n <button class=\"paginator__btn\" (click)=\"onPageClick(pagesTotal)\">{{ pagesTotal }}</button>\n</ng-template>\n\n<!-- END LAYOUT, when selected some of last pages -->\n<!-- ex: 1 ... 96 (97) 98 99 -->\n<ng-template #endTpl>\n <button class=\"paginator__btn\" (click)=\"onPageClick(1)\">1</button>\n <div class=\"paginator__separator\">...</div>\n\n <ng-container *ngFor=\"let page of [].constructor(CORNER_STATE_PAGE_MAX_OFFSET + 1); let i = index\">\n <button\n *evoLet=\"pagesTotal - CORNER_STATE_PAGE_MAX_OFFSET + i as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n</ng-template>\n", styles: [":host{display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none;justify-content:center}.paginator{display:flex;align-items:baseline;justify-content:center;gap:2px;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:22px;font-weight:400}.paginator__btn{flex:0 0 auto;min-width:32px;height:32px;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:16px;background-color:transparent;color:#727272;transition:background-color .3s,color .3s}.paginator__btn:hover{background-color:#001d260a;color:#212121}.paginator__btn_selected{background-color:#e1ecef;color:#212121;pointer-events:none}.paginator__separator{flex:0 0 auto;color:#c6c6c6;pointer-events:none}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorComponent, decorators: [{
92
72
  type: Component,
93
- args: [{ selector: 'evo-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"paginator-container\">\n <button\n *ngFor=\"let page of pagesList; index as i\"\n class=\"page\"\n [ngClass]=\"{\n page_active: isActivePage(page),\n page_min: i === 0 && pagesList[1] !== 2,\n page_max: (i === (pagesList.length - 1)) && ((page - 1) !== pagesList[pagesList.length - 2])\n }\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none;justify-items:center}.paginator-container{display:inline-flex;margin:0 auto}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:30px;height:30px;margin:0 5px;padding:0 5px;color:#91b1b8;font-weight:600;font-size:14px;line-height:22px;text-align:center;background:#FFFFFF;border:1px solid #91B1B8;border-radius:30px;outline:none;cursor:pointer}.page:hover{color:#fff;background-color:#4dd1a2;border-color:#4dd1a2}.page:active{color:#fff;background-color:#1eb27d;border-color:#1eb27d}.page_min,.page_max{color:#403c3d;border-color:#403c3d}.page_min:hover,.page_max:hover{color:#fff;background-color:#403c3d;border-color:#403c3d}.page_active,.page_active:hover,.page_active:active{color:#fff;background-color:#21c68b;border-color:transparent;cursor:default}@media (max-width: 500px){.page{padding:0 3px}}\n"] }]
94
- }], propDecorators: { pageClick: [{
95
- type: Output
96
- }], setCurrentPage: [{
73
+ args: [{ selector: 'evo-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"paginator\">\n <ng-container [ngSwitch]=\"currentLayout\">\n <ng-container *ngSwitchCase=\"PaginatorLayout.SHORT\" [ngTemplateOutlet]=\"shortTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.BEGINNING\" [ngTemplateOutlet]=\"beginningTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.MIDDLE\" [ngTemplateOutlet]=\"middleTpl\"></ng-container>\n <ng-container *ngSwitchCase=\"PaginatorLayout.END\" [ngTemplateOutlet]=\"endTpl\"></ng-container>\n </ng-container>\n</div>\n\n<!-- SIMPLE LAYOUT, just pages in line -->\n<!-- ex: (1) 2 3 4 5 -->\n<ng-template #shortTpl>\n <ng-container *ngFor=\"let page of [].constructor(pagesTotal); let i = index\">\n <button\n *evoLet=\"i + 1 as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n</ng-template>\n\n<!-- BEGINNING LAYOUT, when selected some of first pages -->\n<!-- ex: 1 (2) 3 4 ... 99 -->\n<ng-template #beginningTpl>\n <ng-container *ngFor=\"let page of [].constructor(CORNER_STATE_PAGE_MAX_OFFSET + 1); let i = index\">\n <button\n *evoLet=\"i + 1 as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <div class=\"paginator__separator\">...</div>\n <button class=\"paginator__btn\" (click)=\"onPageClick(pagesTotal)\">{{ pagesTotal }}</button>\n</ng-template>\n\n<!-- MIDDLE LAYOUT, when selected page is not in the begging nor at the end -->\n<!-- ex: 1 ... 35 (36) 37 ... 99 -->\n<ng-template #middleTpl>\n <button class=\"paginator__btn\" (click)=\"onPageClick(1)\">1</button>\n <div class=\"paginator__separator\">...</div>\n\n <ng-container *ngFor=\"let page of [currentPage - 1, currentPage, currentPage + 1]\">\n <button\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <div class=\"paginator__separator\">...</div>\n <button class=\"paginator__btn\" (click)=\"onPageClick(pagesTotal)\">{{ pagesTotal }}</button>\n</ng-template>\n\n<!-- END LAYOUT, when selected some of last pages -->\n<!-- ex: 1 ... 96 (97) 98 99 -->\n<ng-template #endTpl>\n <button class=\"paginator__btn\" (click)=\"onPageClick(1)\">1</button>\n <div class=\"paginator__separator\">...</div>\n\n <ng-container *ngFor=\"let page of [].constructor(CORNER_STATE_PAGE_MAX_OFFSET + 1); let i = index\">\n <button\n *evoLet=\"pagesTotal - CORNER_STATE_PAGE_MAX_OFFSET + i as page\"\n class=\"paginator__btn\"\n [class.paginator__btn_selected]=\"isSelectedPage(page)\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n</ng-template>\n", styles: [":host{display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none;justify-content:center}.paginator{display:flex;align-items:baseline;justify-content:center;gap:2px;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:22px;font-weight:400}.paginator__btn{flex:0 0 auto;min-width:32px;height:32px;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:16px;background-color:transparent;color:#727272;transition:background-color .3s,color .3s}.paginator__btn:hover{background-color:#001d260a;color:#212121}.paginator__btn_selected{background-color:#e1ecef;color:#212121;pointer-events:none}.paginator__separator{flex:0 0 auto;color:#c6c6c6;pointer-events:none}\n"] }]
74
+ }], propDecorators: { setCurrentPage: [{
97
75
  type: Input,
98
76
  args: ['currentPage']
99
77
  }], setItemsTotal: [{
@@ -102,8 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
102
80
  }], setPageSize: [{
103
81
  type: Input,
104
82
  args: ['pageSize']
105
- }], setMaxVisiblePages: [{
106
- type: Input,
107
- args: ['visiblePagesLimit']
83
+ }], pageClick: [{
84
+ type: Output
108
85
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tcGFnaW5hdG9yL2V2by1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXBhZ2luYXRvci9ldm8tcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNoRyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUN0QyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQVE3QixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBT2MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFFcEQsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLHNCQUFpQixHQUFHLDJCQUEyQixDQUFDO1FBQ2hELGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBQzdCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixnQkFBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtLQXNGNUM7SUFwRkcsSUFBMEIsY0FBYyxDQUFDLEtBQXNCO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUF5QixhQUFhLENBQUMs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SSxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0QsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELG9GQUFvRjtZQUNwRixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDckM7WUFFRCxrRkFBa0Y7WUFDbEYsMkJBQTJCO1lBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxjQUFjLEdBQUcsV0FBVyxFQUFFO2dCQUNsRCxPQUFPLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO2FBQ3REO1lBRUQscUVBQXFFO1lBQ3JFLE9BQU8sQ0FDSCxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxJQUFJLENBQUMsQ0FBQztnQkFDOUQsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsQ0FDakUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBN0ZRLHFCQUFxQjtzR0FBckIscUJBQXFCLG9UQ25CbEMsNmNBY0E7MkZES2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFHckMsU0FBUztzQkFBbEIsTUFBTTtnQkFTbUIsY0FBYztzQkFBdkMsS0FBSzt1QkFBQyxhQUFhO2dCQUtLLGFBQWE7c0JBQXJDLEtBQUs7dUJBQUMsWUFBWTtnQkFLSSxXQUFXO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVU7Z0JBS2Usa0JBQWtCO3NCQUFqRCxLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VFdmVudCB7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgICBwcmV2aW91c1BhZ2U6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIHBhZ2VzVG90YWw6IG51bWJlcjtcbn1cblxuY29uc3QgTUlOX1ZJU0lCTEVfUEFHRVNfTElNSVQgPSA1O1xuY29uc3QgREVGQVVMVF9WSVNJQkxFX1BBR0VTX0xJTUlUID0gNztcbmNvbnN0IERFRkFVTFRfUEFHRV9TSVpFID0gMTA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXZvUGFnaW5hdG9yQ29tcG9uZW50IHtcbiAgICBAT3V0cHV0KCkgcGFnZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+KCk7XG5cbiAgICBwYWdlc1RvdGFsID0gMTtcbiAgICB2aXNpYmxlUGFnZXNMaW1pdCA9IERFRkFVTFRfVklTSUJMRV9QQUdFU19MSU1JVDtcbiAgICBwYWdlc0xpc3QgPSBbMV07XG4gICAgcHJpdmF0ZSBwYWdlU2l6ZSA9IERFRkFVTFRfUEFHRV9TSVpFO1xuICAgIHByaXZhdGUgaXRlbXNUb3RhbCA9IDA7XG4gICAgcHJpdmF0ZSBjdXJyZW50UGFnZSA9IDE7IC8vIHN0YXJ0cyB3aXRoIDFcblxuICAgIEBJbnB1dCgnY3VycmVudFBhZ2UnKSBzZXQgc2V0Q3VycmVudFBhZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFyc2VJbnQodmFsdWUgYXMgc3RyaW5nLCAxMCkgfHwgMTtcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlc0xpc3QoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2l0ZW1zVG90YWwnKSBzZXQgc2V0SXRlbXNUb3RhbChpdGVtc1RvdGFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5pdGVtc1RvdGFsID0gaXRlbXNUb3RhbCA+IDAgPyBpdGVtc1RvdGFsIDogMDtcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlc0xpc3QoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3BhZ2VTaXplJykgc2V0IHNldFBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplID4gMCA/IHBhZ2VTaXplIDogMTA7XG4gICAgICAgIHRoaXMudXBkYXRlUGFnZXNMaXN0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KCd2aXNpYmxlUGFnZXNMaW1pdCcpIHNldCBzZXRNYXhWaXNpYmxlUGFnZXModmlzaWJsZVBhZ2VzTGltaXQ6IG51bWJlcikge1xuICAgICAgICBpZiAoIXZpc2libGVQYWdlc0xpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlVG9TZXQgPSB2aXNpYmxlUGFnZXNMaW1pdDtcbiAgICAgICAgaWYgKHZpc2libGVQYWdlc0xpbWl0ICUgMiA9PT0gMCB8fCB2aXNpYmxlUGFnZXNMaW1pdCA8IE1JTl9WSVNJQkxFX1BBR0VTX0xJTUlUKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYGV2by1wYWdpbmF0b3I6IHZpc2libGVQYWdlc0xpbWl0IE1VU1QgYmUgYSBwb3NpdGl2ZSBvZGQgbnVtYmVyLiBNaW5pbWFsIHZhbHVlIGlzICR7TUlOX1ZJU0lCTEVfUEFHRVNfTElNSVR9LlxuICAgICAgICAgICAgVGhlIENvbXBvbmVudCB3aWxsIHVzZSBkZWZhdWx0IHZhbHVlICgke0RFRkFVTFRfVklTSUJMRV9QQUdFU19MSU1JVH0pIGluc3RlYWQgb2YgeW91ciB2YWx1ZSAoJHt2aXNpYmxlUGFnZXNMaW1pdH0pYCk7XG4gICAgICAgICAgICB2YWx1ZVRvU2V0ID0gREVGQVVMVF9WSVNJQkxFX1BBR0VTX0xJTUlUO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmlzaWJsZVBhZ2VzTGltaXQgPSB2YWx1ZVRvU2V0O1xuICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VzTGlzdCgpO1xuICAgIH1cblxuICAgIG9uUGFnZUNsaWNrKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAocGFnZSA9PT0gdGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGF5bG9hZDogUGFnZUV2ZW50ID0ge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2UsXG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIHBhZ2VzVG90YWw6IHRoaXMucGFnZXNUb3RhbCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZUNsaWNrLmVtaXQocGF5bG9hZCk7XG4gICAgICAgIHRoaXMudXBkYXRlUGFnZXNMaXN0KCk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmVQYWdlKHBhZ2U6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQocGFnZSBhcyBzdHJpbmcsIDEwKSA9PT0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBhZ2VzTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlc0xpc3QgPSBbXTtcbiAgICAgICAgdGhpcy5wYWdlc1RvdGFsID0gTWF0aC5jZWlsKHRoaXMuaXRlbXNUb3RhbCAvIHRoaXMucGFnZVNpemUpIHx8IDE7XG4gICAgICAgIGNvbnN0IGFsbFBhZ2VzID0gWy4uLm5ldyBBcnJheSh0aGlzLnBhZ2VzVG90YWwpXS5tYXAoKF8sIGkpID0+IGkgKyAxKTtcbiAgICAgICAgY29uc3QgaGFsZlZpc2libGUgPSAodGhpcy52aXNpYmxlUGFnZXNMaW1pdCAtIDEpIC8gMjtcbiAgICAgICAgY29uc3QgcGFnZXNPblNpZGVzID0gKHRoaXMudmlzaWJsZVBhZ2VzTGltaXQgLSAyIC0gMSkgLyAyO1xuXG4gICAgICAgIGNvbnN0IGxhc3RQYWdlTnVtYmVyID0gYWxsUGFnZXMubGVuZ3RoO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA+IHRoaXMucGFnZXNUb3RhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYWdlc0xpc3QgPSBhbGxQYWdlcy5maWx0ZXIoKHAsIGkpID0+IHtcbiAgICAgICAgICAgIC8vIGlzIGJvdW5kYXJ5IHZhbHVlIChhbHdheXMgdmlzaWJsZSlcbiAgICAgICAgICAgIGlmIChwID09PSAxIHx8IHAgPT09IGxhc3RQYWdlTnVtYmVyIHx8IHAgPT09IHRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHN0YXJ0IG5vbi1zaGlmdGFibGUgaXRlbXMsIGZvciBleGFtcGxlLCB3aGVuIGN1cnJlbnRQYWdlID09PSAzOiBbMSAyICgzKV0gNCA1IDYgOVxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPD0gaGFsZlZpc2libGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcCA8IHRoaXMudmlzaWJsZVBhZ2VzTGltaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGVuZCBub24tc2hpZnRhYmxlIGl0ZW1zLCBmb3IgZXhhbXBsZSwgd2hlbiBjdXJyZW50UGFnZSA9PT0gODogMSA0IDUgNiBbNyAoOCkgOV1cbiAgICAgICAgICAgIC8vIGluIGV4YW1wbGUgYWJvdmUgaXQgaXMgNFxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gbGFzdFBhZ2VOdW1iZXIgLSBoYWxmVmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0UGFnZU51bWJlciAtIHRoaXMudmlzaWJsZVBhZ2VzTGltaXQgPCBpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzaWJsaW5ncywgZm9yIGV4YW1wbGUsIHdoZW4gY3VycmVudFBhZ2UgPT09IDU6IDEgWzMgNF0gKDUpIFs2IDddIDlcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgKHAgPCB0aGlzLmN1cnJlbnRQYWdlICYmIHRoaXMuY3VycmVudFBhZ2UgLSBwYWdlc09uU2lkZXMgPD0gcCkgfHxcbiAgICAgICAgICAgICAgICAocCA+IHRoaXMuY3VycmVudFBhZ2UgJiYgcCA8PSB0aGlzLmN1cnJlbnRQYWdlICsgcGFnZXNPblNpZGVzKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2luYXRvci1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzTGlzdDsgaW5kZXggYXMgaVwiXG4gICAgICAgIGNsYXNzPVwicGFnZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgIHBhZ2VfYWN0aXZlOiBpc0FjdGl2ZVBhZ2UocGFnZSksXG4gICAgICAgICAgICBwYWdlX21pbjogaSA9PT0gMCAmJiBwYWdlc0xpc3RbMV0gIT09IDIsXG4gICAgICAgICAgICBwYWdlX21heDogKGkgPT09IChwYWdlc0xpc3QubGVuZ3RoIC0gMSkpICYmICgocGFnZSAtIDEpICE9PSBwYWdlc0xpc3RbcGFnZXNMaXN0Lmxlbmd0aCAtIDJdKVxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUGFnZUNsaWNrKHBhZ2UpXCJcbiAgICA+XG4gICAgICAgIHt7IHBhZ2UgfX1cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tcGFnaW5hdG9yL2V2by1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXBhZ2luYXRvci9ldm8tcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTaEcsSUFBSyxlQUtKO0FBTEQsV0FBSyxlQUFlO0lBQ2hCLGtDQUFlLENBQUE7SUFDZiwwQ0FBdUIsQ0FBQTtJQUN2QixvQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQUxJLGVBQWUsS0FBZixlQUFlLFFBS25CO0FBRUQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7QUFDbEMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUM7QUFFdkMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFRN0IsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQXFCYyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVwRCxnQkFBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtRQUNqQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRU4saUNBQTRCLEdBQUcsNEJBQTRCLENBQUM7UUFDNUQsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFbkMsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBQzdCLGVBQVUsR0FBRyxDQUFDLENBQUM7S0F3QzFCO0lBL0RHLElBQTBCLGNBQWMsQ0FBQyxLQUFzQjtRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUF5QixhQUFhLENBQUMsVUFBa0I7UUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUF1QixXQUFXLENBQUMsUUFBZ0I7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFhRCxJQUFJLGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksdUJBQXVCLEVBQUU7WUFDNUMsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO1NBQ2hDO1FBRUQsMkNBQTJDO1FBQzNDLGdFQUFnRTtRQUNoRSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksNEJBQTRCLEVBQUU7WUFDbEQsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDO1NBQ3BDO1FBRUQsMENBQTBDO1FBQzFDLHNGQUFzRjtRQUN0RixJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw0QkFBNEIsRUFBRTtZQUNuRSxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUM7U0FDOUI7UUFFRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBRUQsTUFBTSxPQUFPLEdBQWM7WUFDdkIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBcUI7UUFDaEMsT0FBTyxRQUFRLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDN0QsQ0FBQzs7a0hBL0RRLHFCQUFxQjtzR0FBckIscUJBQXFCLG1QQzNCbEMsa25HQStFQTsyRkRwRGEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFHckIsY0FBYztzQkFBdkMsS0FBSzt1QkFBQyxhQUFhO2dCQUlLLGFBQWE7c0JBQXJDLEtBQUs7dUJBQUMsWUFBWTtnQkFLSSxXQUFXO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVU7Z0JBS1AsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VFdmVudCB7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgICBwcmV2aW91c1BhZ2U6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIHBhZ2VzVG90YWw6IG51bWJlcjtcbn1cblxuZW51bSBQYWdpbmF0b3JMYXlvdXQge1xuICAgIFNIT1JUID0gJ1NIT1JUJyxcbiAgICBCRUdJTk5JTkcgPSAnQkVHSU5OSU5HJyxcbiAgICBNSURETEUgPSAnTUlERExFJyxcbiAgICBFTkQgPSAnRU5EJyxcbn1cblxuY29uc3QgU0hPUlRfU1RBVEVfUEFHRVNfTElNSVQgPSA1O1xuY29uc3QgQ09STkVSX1NUQVRFX1BBR0VfTUFYX09GRlNFVCA9IDM7XG5cbmNvbnN0IERFRkFVTFRfUEFHRV9TSVpFID0gMTA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXZvUGFnaW5hdG9yQ29tcG9uZW50IHtcbiAgICBASW5wdXQoJ2N1cnJlbnRQYWdlJykgc2V0IHNldEN1cnJlbnRQYWdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhcnNlSW50KHZhbHVlIGFzIHN0cmluZywgMTApIHx8IDE7XG4gICAgfVxuXG4gICAgQElucHV0KCdpdGVtc1RvdGFsJykgc2V0IHNldEl0ZW1zVG90YWwoaXRlbXNUb3RhbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXRlbXNUb3RhbCA9IGl0ZW1zVG90YWwgPiAwID8gaXRlbXNUb3RhbCA6IDA7XG4gICAgICAgIHRoaXMucGFnZXNUb3RhbCA9IE1hdGguY2VpbCh0aGlzLml0ZW1zVG90YWwgLyB0aGlzLnBhZ2VTaXplKSB8fCAxO1xuICAgIH1cblxuICAgIEBJbnB1dCgncGFnZVNpemUnKSBzZXQgc2V0UGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemUgPiAwID8gcGFnZVNpemUgOiAxMDtcbiAgICAgICAgdGhpcy5wYWdlc1RvdGFsID0gTWF0aC5jZWlsKHRoaXMuaXRlbXNUb3RhbCAvIHRoaXMucGFnZVNpemUpIHx8IDE7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHBhZ2VDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xuXG4gICAgY3VycmVudFBhZ2UgPSAxOyAvLyBzdGFydHMgd2l0aCAxXG4gICAgcGFnZXNUb3RhbCA9IDE7XG5cbiAgICByZWFkb25seSBDT1JORVJfU1RBVEVfUEFHRV9NQVhfT0ZGU0VUID0gQ09STkVSX1NUQVRFX1BBR0VfTUFYX09GRlNFVDtcbiAgICByZWFkb25seSBQYWdpbmF0b3JMYXlvdXQgPSBQYWdpbmF0b3JMYXlvdXQ7XG5cbiAgICBwcml2YXRlIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG4gICAgcHJpdmF0ZSBpdGVtc1RvdGFsID0gMDtcblxuICAgIGdldCBjdXJyZW50TGF5b3V0KCk6IFBhZ2luYXRvckxheW91dCB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2VzVG90YWwgPD0gU0hPUlRfU1RBVEVfUEFHRVNfTElNSVQpIHtcbiAgICAgICAgICAgIHJldHVybiBQYWdpbmF0b3JMYXlvdXQuU0hPUlQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmaXJzdCBDT1JORVJfU1RBVEVfUEFHRV9NQVhfT0ZGU0VUIHBhZ2VzXG4gICAgICAgIC8vIGV4OiBDT1JORVJfU1RBVEVfUEFHRV9NQVhfT0ZGU0VUID0gMywgY3VycmVudFBhZ2UgPSAxIHwgMiB8IDNcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPD0gQ09STkVSX1NUQVRFX1BBR0VfTUFYX09GRlNFVCkge1xuICAgICAgICAgICAgcmV0dXJuIFBhZ2luYXRvckxheW91dC5CRUdJTk5JTkc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYXN0IENPUk5FUl9TVEFURV9QQUdFX01BWF9PRkZTRVQgcGFnZXNcbiAgICAgICAgLy8gZXg6IENPUk5FUl9TVEFURV9QQUdFX01BWF9PRkZTRVQgPSAzLCBwYWdlc1RvdGFsID0gMTAwLCBjdXJyZW50UGFnZSA9IDk4IHwgOTkgfCAxMDBcbiAgICAgICAgaWYgKHRoaXMucGFnZXNUb3RhbCAtIHRoaXMuY3VycmVudFBhZ2UgPCBDT1JORVJfU1RBVEVfUEFHRV9NQVhfT0ZGU0VUKSB7XG4gICAgICAgICAgICByZXR1cm4gUGFnaW5hdG9yTGF5b3V0LkVORDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBQYWdpbmF0b3JMYXlvdXQuTUlERExFO1xuICAgIH1cblxuICAgIG9uUGFnZUNsaWNrKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAocGFnZSA9PT0gdGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGF5bG9hZDogUGFnZUV2ZW50ID0ge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2UsXG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIHBhZ2VzVG90YWw6IHRoaXMucGFnZXNUb3RhbCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZUNsaWNrLmVtaXQocGF5bG9hZCk7XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZFBhZ2UocGFnZTogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChwYWdlIGFzIHN0cmluZywgMTApID09PSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwYWdpbmF0b3JcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjdXJyZW50TGF5b3V0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIlBhZ2luYXRvckxheW91dC5TSE9SVFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3J0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIlBhZ2luYXRvckxheW91dC5CRUdJTk5JTkdcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJiZWdpbm5pbmdUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiUGFnaW5hdG9yTGF5b3V0Lk1JRERMRVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1pZGRsZVRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJQYWdpbmF0b3JMYXlvdXQuRU5EXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZW5kVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPCEtLSBTSU1QTEUgTEFZT1VULCBqdXN0IHBhZ2VzIGluIGxpbmUgLS0+XG48IS0tIGV4OiAoMSkgMiAzIDQgNSAtLT5cbjxuZy10ZW1wbGF0ZSAjc2hvcnRUcGw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiBbXS5jb25zdHJ1Y3RvcihwYWdlc1RvdGFsKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqZXZvTGV0PVwiaSArIDEgYXMgcGFnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInBhZ2luYXRvcl9fYnRuXCJcbiAgICAgICAgICAgIFtjbGFzcy5wYWdpbmF0b3JfX2J0bl9zZWxlY3RlZF09XCJpc1NlbGVjdGVkUGFnZShwYWdlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25QYWdlQ2xpY2socGFnZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWdlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBCRUdJTk5JTkcgTEFZT1VULCB3aGVuIHNlbGVjdGVkIHNvbWUgb2YgZmlyc3QgcGFnZXMgLS0+XG48IS0tIGV4OiAxICgyKSAzIDQgLi4uIDk5IC0tPlxuPG5nLXRlbXBsYXRlICNiZWdpbm5pbmdUcGw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiBbXS5jb25zdHJ1Y3RvcihDT1JORVJfU1RBVEVfUEFHRV9NQVhfT0ZGU0VUICsgMSk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKmV2b0xldD1cImkgKyAxIGFzIHBhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJwYWdpbmF0b3JfX2J0blwiXG4gICAgICAgICAgICBbY2xhc3MucGFnaW5hdG9yX19idG5fc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZFBhZ2UocGFnZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGFnZUNsaWNrKHBhZ2UpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0b3JfX3NlcGFyYXRvclwiPi4uLjwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJwYWdpbmF0b3JfX2J0blwiIChjbGljayk9XCJvblBhZ2VDbGljayhwYWdlc1RvdGFsKVwiPnt7IHBhZ2VzVG90YWwgfX08L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gTUlERExFIExBWU9VVCwgd2hlbiBzZWxlY3RlZCBwYWdlIGlzIG5vdCBpbiB0aGUgYmVnZ2luZyBub3IgYXQgdGhlIGVuZCAtLT5cbjwhLS0gZXg6IDEgLi4uIDM1ICgzNikgMzcgLi4uIDk5IC0tPlxuPG5nLXRlbXBsYXRlICNtaWRkbGVUcGw+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInBhZ2luYXRvcl9fYnRuXCIgKGNsaWNrKT1cIm9uUGFnZUNsaWNrKDEpXCI+MTwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0b3JfX3NlcGFyYXRvclwiPi4uLjwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiBbY3VycmVudFBhZ2UgLSAxLCBjdXJyZW50UGFnZSwgY3VycmVudFBhZ2UgKyAxXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInBhZ2luYXRvcl9fYnRuXCJcbiAgICAgICAgICAgIFtjbGFzcy5wYWdpbmF0b3JfX2J0bl9zZWxlY3RlZF09XCJpc1NlbGVjdGVkUGFnZShwYWdlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25QYWdlQ2xpY2socGFnZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWdlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRvcl9fc2VwYXJhdG9yXCI+Li4uPC9kaXY+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInBhZ2luYXRvcl9fYnRuXCIgKGNsaWNrKT1cIm9uUGFnZUNsaWNrKHBhZ2VzVG90YWwpXCI+e3sgcGFnZXNUb3RhbCB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBFTkQgTEFZT1VULCB3aGVuIHNlbGVjdGVkIHNvbWUgb2YgbGFzdCBwYWdlcyAtLT5cbjwhLS0gZXg6IDEgLi4uIDk2ICg5NykgOTggOTkgLS0+XG48bmctdGVtcGxhdGUgI2VuZFRwbD5cbiAgICA8YnV0dG9uIGNsYXNzPVwicGFnaW5hdG9yX19idG5cIiAoY2xpY2spPVwib25QYWdlQ2xpY2soMSlcIj4xPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRvcl9fc2VwYXJhdG9yXCI+Li4uPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwYWdlIG9mIFtdLmNvbnN0cnVjdG9yKENPUk5FUl9TVEFURV9QQUdFX01BWF9PRkZTRVQgKyAxKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqZXZvTGV0PVwicGFnZXNUb3RhbCAtIENPUk5FUl9TVEFURV9QQUdFX01BWF9PRkZTRVQgKyBpIGFzIHBhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJwYWdpbmF0b3JfX2J0blwiXG4gICAgICAgICAgICBbY2xhc3MucGFnaW5hdG9yX19idG5fc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZFBhZ2UocGFnZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGFnZUNsaWNrKHBhZ2UpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,13 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { EvoPaginatorComponent } from './evo-paginator.component';
4
+ import { EvoUiKitModule } from "../../evo-ui-kit.module";
4
5
  import * as i0 from "@angular/core";
5
6
  export class EvoPaginatorModule {
6
7
  }
7
8
  EvoPaginatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- EvoPaginatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorModule, declarations: [EvoPaginatorComponent], imports: [CommonModule], exports: [EvoPaginatorComponent] });
9
+ EvoPaginatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorModule, declarations: [EvoPaginatorComponent], imports: [CommonModule,
10
+ EvoUiKitModule], exports: [EvoPaginatorComponent] });
9
11
  EvoPaginatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorModule, imports: [[
10
12
  CommonModule,
13
+ EvoUiKitModule,
11
14
  ]] });
12
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoPaginatorModule, decorators: [{
13
16
  type: NgModule,
@@ -15,8 +18,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
15
18
  declarations: [EvoPaginatorComponent],
16
19
  imports: [
17
20
  CommonModule,
21
+ EvoUiKitModule,
18
22
  ],
19
23
  exports: [EvoPaginatorComponent]
20
24
  }]
21
25
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXBhZ2luYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tcGFnaW5hdG9yL2V2by1wYWdpbmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVNsRSxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBTmQscUJBQXFCLGFBRWxDLFlBQVksYUFFSixxQkFBcUI7Z0hBRXBCLGtCQUFrQixZQUxwQjtZQUNQLFlBQVk7U0FDYjsyRkFHVSxrQkFBa0I7a0JBUDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZvUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ldm8tcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0V2b1BhZ2luYXRvckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtFdm9QYWdpbmF0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEV2b1BhZ2luYXRvck1vZHVsZSB7IH1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXBhZ2luYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tcGFnaW5hdG9yL2V2by1wYWdpbmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFVekQsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVBkLHFCQUFxQixhQUU5QixZQUFZO1FBQ1osY0FBYyxhQUVWLHFCQUFxQjtnSEFFcEIsa0JBQWtCLFlBTmxCO1lBQ0wsWUFBWTtZQUNaLGNBQWM7U0FDakI7MkZBR1Esa0JBQWtCO2tCQVI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNuQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3FCQUNqQjtvQkFDSCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV2b1BhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZXZvLXBhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZvVWlLaXRNb2R1bGUgfSBmcm9tIFwiLi4vLi4vZXZvLXVpLWtpdC5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRXZvUGFnaW5hdG9yQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRXZvVWlLaXRNb2R1bGUsXG4gICAgXSxcbiAgZXhwb3J0czogW0V2b1BhZ2luYXRvckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRXZvUGFnaW5hdG9yTW9kdWxlIHsgfVxuIl19
@@ -92,7 +92,7 @@ EvoSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
92
92
  useExisting: forwardRef(() => EvoSelectComponent),
93
93
  multi: true,
94
94
  },
95
- ], viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n", styles: [":host{position:relative;display:inline-block}.evo-select{position:relative;display:flex;align-items:center}.evo-select:after{content:\"\";position:absolute;pointer-events:none}.evo-select_input{height:48px}.evo-select_input:after{right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg width%3D%228%22 height%3D%2212%22 viewBox%3D%220 0 8 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 8)%22 fill%3D%22%23212121%22%2F%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 4) scale(1 -1)%22 fill%3D%22%23212121%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center}.evo-select_disabled{pointer-events:none}.evo-select_disabled:after{opacity:.4}.evo-select_inline .evo-select__icon-arrow{display:flex;margin-left:10px}.evo-select_inline .evo-select__icon-arrow svg{fill:#212121}.evo-select_inline.evo-select_disabled .evo-select__icon-arrow svg{fill:#9b9b9b}.evo-select__icon-arrow{display:none}.evo-select__native{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;appearance:none}.evo-select__field{width:100%;height:100%}.evo-select__field_input{display:inline-block;padding:10px 38px 10px 20px;overflow:hidden;line-height:26px;text-overflow:ellipsis;--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-select__field_input{display:inline-block}.evo-select__field_valid{border-color:#21c68b}.evo-select__field_invalid{border-color:#ff1817}.evo-select__field_disabled{color:#9b9b9b;background:#F4F6F8}.evo-select__field_inline{font-weight:600;background:transparent}.evo-select__field_inline.evo-select__field_disabled{background:transparent}.evo-select_simple .evo-select__field_input{height:auto;padding:0 30px 0 0;font-weight:600;line-height:1;background:transparent;border:none}.evo-select_simple .evo-select_input,.evo-select_input.evo-select_simple{height:auto}.evo-select_input.evo-select_simple:after{top:-2px;right:0;width:24px;height:24px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\")}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
95
+ ], viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n", styles: [":host{position:relative;display:inline-block}.evo-select{position:relative;display:flex;align-items:center}.evo-select:after{content:\"\";position:absolute;pointer-events:none}.evo-select_input{height:48px}.evo-select_input:after{right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg width%3D%228%22 height%3D%2212%22 viewBox%3D%220 0 8 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 8)%22 fill%3D%22%23212121%22%2F%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 4) scale(1 -1)%22 fill%3D%22%23212121%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center}.evo-select_disabled{pointer-events:none}.evo-select_disabled:after{opacity:.4}.evo-select_inline .evo-select__icon-arrow{display:flex;margin-left:10px}.evo-select_inline .evo-select__icon-arrow svg{fill:#212121}.evo-select_inline.evo-select_disabled .evo-select__icon-arrow svg{fill:#9b9b9b}.evo-select__icon-arrow{display:none}.evo-select__native{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;appearance:none}.evo-select__field{width:100%;height:100%}.evo-select__field_input{display:inline-block;padding:10px 38px 10px 20px;overflow:hidden;line-height:26px;text-overflow:ellipsis;--evo-input-height: 40px;--evo-input-border-radius: 4px;--evo-input-font-size: 14px;--evo-input-line-height: 24px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);line-height:var(--evo-input-line-height);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-select__field_input{display:inline-block}.evo-select__field_valid{border-color:#21c68b}.evo-select__field_invalid{border-color:#ff1817}.evo-select__field_disabled{color:#9b9b9b;background:#F4F6F8}.evo-select__field_inline{font-weight:600;background:transparent}.evo-select__field_inline.evo-select__field_disabled{background:transparent}.evo-select_simple .evo-select__field_input{height:auto;padding:0 30px 0 0;font-weight:600;line-height:1;background:transparent;border:none}.evo-select_simple .evo-select_input,.evo-select_input.evo-select_simple{height:auto}.evo-select_input.evo-select_simple:after{top:-2px;right:0;width:24px;height:24px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\")}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSelectComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'evo-select', providers: [
@@ -101,7 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
101
101
  useExisting: forwardRef(() => EvoSelectComponent),
102
102
  multi: true,
103
103
  },
104
- ], template: "<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n", styles: [":host{position:relative;display:inline-block}.evo-select{position:relative;display:flex;align-items:center}.evo-select:after{content:\"\";position:absolute;pointer-events:none}.evo-select_input{height:48px}.evo-select_input:after{right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg width%3D%228%22 height%3D%2212%22 viewBox%3D%220 0 8 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 8)%22 fill%3D%22%23212121%22%2F%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 4) scale(1 -1)%22 fill%3D%22%23212121%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center}.evo-select_disabled{pointer-events:none}.evo-select_disabled:after{opacity:.4}.evo-select_inline .evo-select__icon-arrow{display:flex;margin-left:10px}.evo-select_inline .evo-select__icon-arrow svg{fill:#212121}.evo-select_inline.evo-select_disabled .evo-select__icon-arrow svg{fill:#9b9b9b}.evo-select__icon-arrow{display:none}.evo-select__native{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;appearance:none}.evo-select__field{width:100%;height:100%}.evo-select__field_input{display:inline-block;padding:10px 38px 10px 20px;overflow:hidden;line-height:26px;text-overflow:ellipsis;--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-select__field_input{display:inline-block}.evo-select__field_valid{border-color:#21c68b}.evo-select__field_invalid{border-color:#ff1817}.evo-select__field_disabled{color:#9b9b9b;background:#F4F6F8}.evo-select__field_inline{font-weight:600;background:transparent}.evo-select__field_inline.evo-select__field_disabled{background:transparent}.evo-select_simple .evo-select__field_input{height:auto;padding:0 30px 0 0;font-weight:600;line-height:1;background:transparent;border:none}.evo-select_simple .evo-select_input,.evo-select_input.evo-select_simple{height:auto}.evo-select_input.evo-select_simple:after{top:-2px;right:0;width:24px;height:24px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\")}\n"] }]
104
+ ], template: "<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n", styles: [":host{position:relative;display:inline-block}.evo-select{position:relative;display:flex;align-items:center}.evo-select:after{content:\"\";position:absolute;pointer-events:none}.evo-select_input{height:48px}.evo-select_input:after{right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg width%3D%228%22 height%3D%2212%22 viewBox%3D%220 0 8 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 8)%22 fill%3D%22%23212121%22%2F%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M0 0H8L3.93371 3.99997L0 0Z%22 transform%3D%22translate(0 4) scale(1 -1)%22 fill%3D%22%23212121%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center}.evo-select_disabled{pointer-events:none}.evo-select_disabled:after{opacity:.4}.evo-select_inline .evo-select__icon-arrow{display:flex;margin-left:10px}.evo-select_inline .evo-select__icon-arrow svg{fill:#212121}.evo-select_inline.evo-select_disabled .evo-select__icon-arrow svg{fill:#9b9b9b}.evo-select__icon-arrow{display:none}.evo-select__native{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;appearance:none}.evo-select__field{width:100%;height:100%}.evo-select__field_input{display:inline-block;padding:10px 38px 10px 20px;overflow:hidden;line-height:26px;text-overflow:ellipsis;--evo-input-height: 40px;--evo-input-border-radius: 4px;--evo-input-font-size: 14px;--evo-input-line-height: 24px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);line-height:var(--evo-input-line-height);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-select__field_input{display:inline-block}.evo-select__field_valid{border-color:#21c68b}.evo-select__field_invalid{border-color:#ff1817}.evo-select__field_disabled{color:#9b9b9b;background:#F4F6F8}.evo-select__field_inline{font-weight:600;background:transparent}.evo-select__field_inline.evo-select__field_disabled{background:transparent}.evo-select_simple .evo-select__field_input{height:auto;padding:0 30px 0 0;font-weight:600;line-height:1;background:transparent;border:none}.evo-select_simple .evo-select_input,.evo-select_input.evo-select_simple{height:auto}.evo-select_input.evo-select_simple:after{top:-2px;right:0;width:24px;height:24px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\")}\n"] }]
105
105
  }], propDecorators: { style: [{
106
106
  type: Input
107
107
  }], label: [{