@firestitch/filter 18.2.10 → 18.2.12

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 (150) hide show
  1. package/app/classes/actions-controller.d.ts +1 -1
  2. package/app/components/filter/filter.component.d.ts +39 -68
  3. package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
  4. package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
  5. package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
  6. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
  7. package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
  8. package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
  9. package/app/components/filters-item/chips/chips.component.d.ts +6 -5
  10. package/app/components/filters-item/date/date.component.d.ts +4 -4
  11. package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
  12. package/app/components/filters-item/filter-item.component.d.ts +2 -2
  13. package/app/components/filters-item/range/range.component.d.ts +6 -7
  14. package/app/components/filters-item/select/select.component.d.ts +17 -20
  15. package/app/components/filters-item/text/text.component.d.ts +6 -7
  16. package/app/components/filters-item/week/week.component.d.ts +5 -5
  17. package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
  18. package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
  19. package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
  20. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
  21. package/app/fs-filter.module.d.ts +20 -24
  22. package/app/helpers/create-filter-item.d.ts +2 -1
  23. package/app/interfaces/items/date.interface.d.ts +1 -1
  24. package/app/models/filter-config.d.ts +2 -2
  25. package/app/models/items/autocomplete-chips-item.d.ts +11 -8
  26. package/app/models/items/autocomplete-item.d.ts +7 -5
  27. package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
  28. package/app/models/items/base-date-item.d.ts +13 -0
  29. package/app/models/items/base-date-range-item.d.ts +17 -0
  30. package/app/models/items/base-item.d.ts +32 -41
  31. package/app/models/items/checkbox-item.d.ts +10 -9
  32. package/app/models/items/chips-item.d.ts +11 -8
  33. package/app/models/items/date-item.d.ts +7 -3
  34. package/app/models/items/date-range-item.d.ts +1 -1
  35. package/app/models/items/date-time-item.d.ts +6 -3
  36. package/app/models/items/date-time-range-item.d.ts +1 -1
  37. package/app/models/items/index.d.ts +0 -4
  38. package/app/models/items/range-item.d.ts +19 -8
  39. package/app/models/items/select-item.d.ts +29 -6
  40. package/app/models/items/text-item.d.ts +7 -6
  41. package/app/models/items/week-item.d.ts +7 -6
  42. package/app/services/filter-controller.service.d.ts +47 -0
  43. package/app/services/filter-overlay.service.d.ts +1 -0
  44. package/app/services/focus-controller.service.d.ts +4 -4
  45. package/app/services/index.d.ts +4 -2
  46. package/app/services/keyword-controller.service.d.ts +20 -0
  47. package/app/services/persistance-controller.service.d.ts +10 -4
  48. package/app/services/query-param-controller.service.d.ts +10 -12
  49. package/app/services/root-filter-overlay.service.d.ts +6 -0
  50. package/app/services/saved-filter-controller.service.d.ts +4 -4
  51. package/app/services/sort-controller.service.d.ts +21 -0
  52. package/esm2022/app/classes/actions-controller.mjs +2 -2
  53. package/esm2022/app/components/filter/filter.component.mjs +162 -330
  54. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
  55. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
  56. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
  57. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +8 -15
  58. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
  59. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
  60. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
  61. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
  62. package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
  63. package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
  64. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
  65. package/esm2022/app/components/filters-item/filter-item.component.mjs +7 -5
  66. package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
  67. package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
  68. package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
  69. package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
  70. package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
  71. package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
  72. package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
  73. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
  74. package/esm2022/app/fs-filter.module.mjs +1 -16
  75. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
  76. package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
  77. package/esm2022/app/models/action.model.mjs +2 -2
  78. package/esm2022/app/models/filter-config.mjs +2 -3
  79. package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
  80. package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
  81. package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
  82. package/esm2022/app/models/items/base-date-item.mjs +28 -0
  83. package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
  84. package/esm2022/app/models/items/base-item.mjs +76 -140
  85. package/esm2022/app/models/items/checkbox-item.mjs +35 -26
  86. package/esm2022/app/models/items/chips-item.mjs +50 -42
  87. package/esm2022/app/models/items/date-item.mjs +21 -8
  88. package/esm2022/app/models/items/date-range-item.mjs +2 -2
  89. package/esm2022/app/models/items/date-time-item.mjs +4 -7
  90. package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
  91. package/esm2022/app/models/items/index.mjs +1 -5
  92. package/esm2022/app/models/items/range-item.mjs +48 -44
  93. package/esm2022/app/models/items/select-item.mjs +104 -9
  94. package/esm2022/app/models/items/text-item.mjs +17 -15
  95. package/esm2022/app/models/items/week-item.mjs +23 -24
  96. package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
  97. package/esm2022/app/services/filter-controller.service.mjs +209 -0
  98. package/esm2022/app/services/filter-overlay.service.mjs +6 -3
  99. package/esm2022/app/services/focus-controller.service.mjs +3 -3
  100. package/esm2022/app/services/index.mjs +5 -3
  101. package/esm2022/app/services/keyword-controller.service.mjs +49 -0
  102. package/esm2022/app/services/persistance-controller.service.mjs +24 -6
  103. package/esm2022/app/services/query-param-controller.service.mjs +44 -34
  104. package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
  105. package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
  106. package/esm2022/app/services/sort-controller.service.mjs +60 -0
  107. package/esm2022/public_api.mjs +1 -2
  108. package/fesm2022/firestitch-filter.mjs +2776 -3423
  109. package/fesm2022/firestitch-filter.mjs.map +1 -1
  110. package/package.json +1 -1
  111. package/public_api.d.ts +0 -1
  112. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
  113. package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
  114. package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
  115. package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
  116. package/app/helpers/build-query-params.d.ts +0 -4
  117. package/app/helpers/compare.d.ts +0 -2
  118. package/app/helpers/find-value.d.ts +0 -1
  119. package/app/models/items/autocomplete/index.d.ts +0 -1
  120. package/app/models/items/date/base-date-item.d.ts +0 -17
  121. package/app/models/items/date/index.d.ts +0 -1
  122. package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
  123. package/app/models/items/date-range/index.d.ts +0 -1
  124. package/app/models/items/select/base-select-item.d.ts +0 -16
  125. package/app/models/items/select/index.d.ts +0 -3
  126. package/app/models/items/select/multiple-select-item.d.ts +0 -14
  127. package/app/models/items/select/simple-select-item.d.ts +0 -14
  128. package/app/providers/filter-meta.d.ts +0 -5
  129. package/app/services/item-store.service.d.ts +0 -70
  130. package/app/services/param-controller.service.d.ts +0 -30
  131. package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
  132. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
  133. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
  134. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
  135. package/esm2022/app/helpers/build-query-params.mjs +0 -38
  136. package/esm2022/app/helpers/compare.mjs +0 -38
  137. package/esm2022/app/helpers/find-value.mjs +0 -13
  138. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
  139. package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
  140. package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
  141. package/esm2022/app/models/items/date/index.mjs +0 -2
  142. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
  143. package/esm2022/app/models/items/date-range/index.mjs +0 -2
  144. package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
  145. package/esm2022/app/models/items/select/index.mjs +0 -4
  146. package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
  147. package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
  148. package/esm2022/app/providers/filter-meta.mjs +0 -10
  149. package/esm2022/app/services/item-store.service.mjs +0 -356
  150. package/esm2022/app/services/param-controller.service.mjs +0 -151
@@ -1,36 +1,41 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
- import { BaseItemComponent } from '../base-item/base-item.component';
3
- import { ItemType } from '../../../enums/item-type.enum';
4
- import { PickerViewType } from '../../../enums/picker-view-type.enum';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
5
3
  import { MatFormField, MatLabel } from '@angular/material/form-field';
6
4
  import { MatInput } from '@angular/material/input';
7
- import { FormsModule } from '@angular/forms';
8
- import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
9
5
  import { FsDatePickerModule } from '@firestitch/datepicker';
10
6
  import { FsFormModule } from '@firestitch/form';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
9
+ import { ItemType } from '../../../enums/item-type.enum';
10
+ import { PickerViewType } from '../../../enums/picker-view-type.enum';
11
+ import { BaseItemComponent } from '../base-item/base-item.component';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "@angular/forms";
13
14
  import * as i2 from "@firestitch/datepicker";
14
15
  import * as i3 from "@firestitch/form";
15
16
  export class DateRangeComponent extends BaseItemComponent {
16
- _kvDiffers;
17
- _cd;
18
17
  viewType = PickerViewType.Date;
19
- constructor(_kvDiffers, _cd) {
20
- super(_kvDiffers, _cd);
21
- this._kvDiffers = _kvDiffers;
22
- this._cd = _cd;
23
- }
18
+ from;
19
+ to;
20
+ _cdRef = inject(ChangeDetectorRef);
24
21
  ngOnInit() {
25
- if (this.item.type === ItemType.DateTimeRange) {
26
- this.viewType = PickerViewType.DateTime;
27
- }
28
- else {
29
- this.viewType = PickerViewType.Date;
30
- }
22
+ this.viewType = this.item.type === ItemType.DateTimeRange ? PickerViewType.DateTime : PickerViewType.Date;
23
+ this.item.value$
24
+ .pipe(takeUntil(this.destroy$))
25
+ .subscribe((value) => {
26
+ this.from = value?.from;
27
+ this.to = value?.to;
28
+ this._cdRef.detectChanges();
29
+ });
30
+ }
31
+ change() {
32
+ this.item.value = {
33
+ from: this.from,
34
+ to: this.to,
35
+ };
31
36
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangeComponent, isStandalone: true, selector: "filter-item-date-range", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label[0]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"item.model.from\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_from\">\n</mat-form-field>\n\n<mat-form-field>\n <mat-label>{{item.label[1]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"item.model.to\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsDatePickerModule }, { kind: "component", type: i2.DateRangePickerFromComponent, selector: "[fsDateRangeFrom],[fsDateRangeFromPicker]", inputs: ["fsDateRangeFrom", "fsDateRangeFromPicker"] }, { kind: "component", type: i2.DateRangePickerToComponent, selector: "[fsDateRangeTo],[fsDateRangeToPicker]", inputs: ["fsDateRangeTo", "fsDateRangeToPicker"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i3.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangeComponent, isStandalone: true, selector: "filter-item-date-range", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"from\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n (ngModelChange)=\"change()\"\n name=\"date_from\">\n</mat-form-field>\n<mat-form-field>\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"to\"\n (ngModelChange)=\"change()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsDatePickerModule }, { kind: "component", type: i2.DateRangePickerFromComponent, selector: "[fsDateRangeFrom],[fsDateRangeFromPicker]", inputs: ["fsDateRangeFrom", "fsDateRangeFromPicker"] }, { kind: "component", type: i2.DateRangePickerToComponent, selector: "[fsDateRangeTo],[fsDateRangeToPicker]", inputs: ["fsDateRangeTo", "fsDateRangeToPicker"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i3.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
39
  }
35
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, decorators: [{
36
41
  type: Component,
@@ -42,6 +47,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
42
47
  FocusToItemDirective,
43
48
  FsDatePickerModule,
44
49
  FsFormModule,
45
- ], template: "<mat-form-field>\n <mat-label>{{item.label[0]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"item.model.from\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_from\">\n</mat-form-field>\n\n<mat-form-field>\n <mat-label>{{item.label[1]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"item.model.to\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>\n" }]
46
- }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBa0JoRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQW9EO0lBSzlFO0lBQ0E7SUFKTCxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztJQUV0QyxZQUNZLFVBQTJCLEVBQzNCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUdsQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUMxQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQzt3R0FqQlUsa0JBQWtCOzRGQUFsQixrQkFBa0IseUdDbkMvQixndUJBMkJBLDRDRERRLFlBQVksNExBQ1osUUFBUSxzREFDUixRQUFRLGdVQUNSLFdBQVcsK21CQUNYLG9CQUFvQix1SEFDcEIsa0JBQWtCLDBXQUNsQixZQUFZOzs0RkFHUCxrQkFBa0I7a0JBZjlCLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUVqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixZQUFZO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEtleVZhbHVlRGlmZmVycywgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgUGlja2VyVmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9waWNrZXItdmlldy10eXBlLmVudW0nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvY3VzVG9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy10by1pdGVtL2ZvY3VzLXRvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1kYXRlLXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdEZvcm1GaWVsZCxcbiAgICAgICAgTWF0TGFiZWwsXG4gICAgICAgIE1hdElucHV0LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZzRGF0ZVBpY2tlck1vZHVsZSxcbiAgICAgICAgRnNGb3JtTW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUNvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29tcG9uZW50PERhdGVSYW5nZUl0ZW0gfCBEYXRlVGltZVJhbmdlSXRlbT4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyB2aWV3VHlwZSA9IFBpY2tlclZpZXdUeXBlLkRhdGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9rdkRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcbiAgICBwcm90ZWN0ZWQgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihfa3ZEaWZmZXJzLCBfY2QpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLml0ZW0udHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWVSYW5nZSkge1xuICAgICAgdGhpcy52aWV3VHlwZSA9IFBpY2tlclZpZXdUeXBlLkRhdGVUaW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWxbMF19fTwvbWF0LWxhYmVsPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIidmcm9tJ1wiXG4gICAgW2ZzRGF0ZVJhbmdlRnJvbV09XCJpdGVtLm5hbWVcIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbC5mcm9tXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJpdGVtQ2hhbmdlKClcIlxuICAgIFtjbGVhcl09XCJpdGVtLnNob3dDbGVhclwiXG4gICAgW3ZpZXddPVwidmlld1R5cGVcIlxuICAgIG5hbWU9XCJkYXRlX2Zyb21cIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWxbMV19fTwvbWF0LWxhYmVsPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIid0bydcIlxuICAgIFtmc0RhdGVSYW5nZVRvXT1cIml0ZW0ubmFtZVwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsLnRvXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJpdGVtQ2hhbmdlKClcIlxuICAgIFtjbGVhcl09XCJpdGVtLnNob3dDbGVhclwiXG4gICAgW3ZpZXddPVwidmlld1R5cGVcIlxuICAgIG5hbWU9XCJkYXRlX3RvXCI+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
50
+ ], template: "<mat-form-field>\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"from\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n (ngModelChange)=\"change()\"\n name=\"date_from\">\n</mat-form-field>\n<mat-form-field>\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"to\"\n (ngModelChange)=\"change()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>" }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBa0JyRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQW9EO0lBRW5GLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQy9CLElBQUksQ0FBTztJQUNYLEVBQUUsQ0FBTztJQUVSLE1BQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVwQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRTFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ1osQ0FBQztJQUNKLENBQUM7d0dBM0JVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHlHQ3hDL0Isc3RCQTZCaUIsNENERWIsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFFBQVEsZ1VBQ1IsV0FBVywrbUJBQ1gsb0JBQW9CLHVIQUNwQixrQkFBa0IsMFdBQ2xCLFlBQVk7OzRGQUdILGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFDRSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBGc0RhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlcGlja2VyJztcbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvY3VzVG9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy10by1pdGVtL2ZvY3VzLXRvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGlja2VyVmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9waWNrZXItdmlldy10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgQmFzZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWl0ZW0vYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0SW5wdXQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgRnNEYXRlUGlja2VyTW9kdWxlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8RGF0ZVJhbmdlSXRlbSB8IERhdGVUaW1lUmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZTtcbiAgcHVibGljIGZyb206IERhdGU7XG4gIHB1YmxpYyB0bzogRGF0ZTtcblxuICBwcml2YXRlIF9jZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlld1R5cGUgPSB0aGlzLml0ZW0udHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWVSYW5nZSA/IFBpY2tlclZpZXdUeXBlLkRhdGVUaW1lIDogUGlja2VyVmlld1R5cGUuRGF0ZTtcblxuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZyb20gPSB2YWx1ZT8uZnJvbTtcbiAgICAgICAgdGhpcy50byA9IHZhbHVlPy50bztcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSA9IHtcbiAgICAgIGZyb206IHRoaXMuZnJvbSxcbiAgICAgIHRvOiB0aGlzLnRvLFxuICAgIH07XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1sYWJlbD5cbiAgICB7eyBpdGVtLmxhYmVsWzBdIH19XG4gIDwvbWF0LWxhYmVsPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIidmcm9tJ1wiXG4gICAgW2ZzRGF0ZVJhbmdlRnJvbV09XCJpdGVtLm5hbWVcIlxuICAgIFsobmdNb2RlbCldPVwiZnJvbVwiXG4gICAgW2NsZWFyXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICBbdmlld109XCJ2aWV3VHlwZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKClcIlxuICAgIG5hbWU9XCJkYXRlX2Zyb21cIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG48bWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbFsxXSB9fVxuICA8L21hdC1sYWJlbD5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXRcbiAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCIndG8nXCJcbiAgICBbZnNEYXRlUmFuZ2VUb109XCJpdGVtLm5hbWVcIlxuICAgIFsobmdNb2RlbCldPVwidG9cIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgpXCJcbiAgICBbY2xlYXJdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgIFt2aWV3XT1cInZpZXdUeXBlXCJcbiAgICBuYW1lPVwiZGF0ZV90b1wiPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
@@ -1,3 +1,4 @@
1
+ import { AsyncPipe } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
2
3
  import { Subject } from 'rxjs';
3
4
  import { takeUntil } from 'rxjs/operators';
@@ -20,10 +21,10 @@ export class FilterItemComponent {
20
21
  get textItem() {
21
22
  return this.item;
22
23
  }
23
- get chipsItem() {
24
+ get selectItem() {
24
25
  return this.item;
25
26
  }
26
- get baseSelectItem() {
27
+ get chipsItem() {
27
28
  return this.item;
28
29
  }
29
30
  get rangeItem() {
@@ -69,7 +70,7 @@ export class FilterItemComponent {
69
70
  this._destroy$.complete();
70
71
  }
71
72
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"filter filter-{{ item.type }}\">\n\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"baseSelectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n\n</div>\n", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "filter-item-text" }, { kind: "component", type: SelectComponent, selector: "filter-item-select" }, { kind: "component", type: ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: RangeComponent, selector: "filter-item-range" }, { kind: "component", type: AutocompleteComponent, selector: "filter-item-autocomplete" }, { kind: "component", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips" }, { kind: "component", type: DateComponent, selector: "filter-item-date" }, { kind: "component", type: DateRangeComponent, selector: "filter-item-date-range" }, { kind: "component", type: WeekComponent, selector: "filter-item-week" }, { kind: "component", type: CheckboxComponent, selector: "filter-item-checkbox" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { item: "item" }, ngImport: i0, template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"selectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "filter-item-text" }, { kind: "component", type: SelectComponent, selector: "filter-item-select", inputs: ["item"] }, { kind: "component", type: ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: RangeComponent, selector: "filter-item-range" }, { kind: "component", type: AutocompleteComponent, selector: "filter-item-autocomplete" }, { kind: "component", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips" }, { kind: "component", type: DateComponent, selector: "filter-item-date" }, { kind: "component", type: DateRangeComponent, selector: "filter-item-date-range" }, { kind: "component", type: WeekComponent, selector: "filter-item-week" }, { kind: "component", type: CheckboxComponent, selector: "filter-item-checkbox" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
74
  }
74
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, decorators: [{
75
76
  type: Component,
@@ -84,8 +85,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
85
  DateRangeComponent,
85
86
  WeekComponent,
86
87
  CheckboxComponent,
87
- ], template: "<div class=\"filter filter-{{ item.type }}\">\n\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"baseSelectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n\n</div>\n", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
88
+ AsyncPipe,
89
+ ], template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"selectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
88
90
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
89
91
  type: Input
90
92
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQXNCdEQsTUFBTSxPQUFPLG1CQUFtQjtJQXdEVjtJQXRESixJQUFJLENBQWdCO0lBRTdCLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFFM0IsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcscUJBQXFCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRU8sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFeEMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFBSSxDQUFDO0lBRTNDLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0F2RVUsbUJBQW1COzRGQUFuQixtQkFBbUIsaUdDMURoQyxrbEVBOEVBLDRqQkRoQ0ksYUFBYSw2REFDYixlQUFlLCtEQUNmLGNBQWMsOERBQ2QsY0FBYyw4REFDZCxxQkFBcUIscUVBQ3JCLDBCQUEwQiwwRUFDMUIsYUFBYSw2REFDYixrQkFBa0IsbUVBQ2xCLGFBQWEsNkRBQ2IsaUJBQWlCOzs0RkFHUixtQkFBbUI7a0JBbkIvQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNsQjtzRkFJZSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgdHlwZSB7IEF1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBDaGVja2JveEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvY2hlY2tib3gtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IENoaXBzSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9jaGlwcy1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBEYXRlVGltZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBEYXRlVGltZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQmFzZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L2Jhc2Utc2VsZWN0LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBUZXh0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy90ZXh0LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBXZWVrSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy93ZWVrLWl0ZW0nO1xuXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZWNoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGVjaGlwcy9hdXRvY29tcGxldGVjaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlL2RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9yYW5nZS9yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL3dlZWsvd2Vlay5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBDaGlwc0NvbXBvbmVudCxcbiAgICBSYW5nZUNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQsXG4gICAgRGF0ZUNvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VDb21wb25lbnQsXG4gICAgV2Vla0NvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08YW55PjtcblxuICBwdWJsaWMgaXRlbVR5cGUgPSBJdGVtVHlwZTtcblxuICBwdWJsaWMgZ2V0IHRleHRJdGVtKCk6IFRleHRJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFRleHRJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwc0l0ZW0oKTogQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFzZVNlbGVjdEl0ZW0oKTogQmFzZVNlbGVjdEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQmFzZVNlbGVjdEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJhbmdlSXRlbSgpOiBSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVJdGVtKCk6IEF1dG9jb21wbGV0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQXV0b2NvbXBsZXRlSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlQ2hpcHNJdGVtKCk6IEF1dG9jb21wbGV0ZUNoaXBzSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVDaGlwc0l0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVJdGVtKCk6IERhdGVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlUmFuZ2VJdGVtKCk6IERhdGVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVJhbmdlSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVJdGVtKCk6IERhdGVUaW1lSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlVGltZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVUaW1lUmFuZ2VJdGVtKCk6IERhdGVUaW1lUmFuZ2VJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCB3ZWVrSXRlbSgpOiBXZWVrSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBXZWVrSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hlY2tib3hJdGVtKCk6IENoZWNrYm94SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBDaGVja2JveEl0ZW07XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlciBmaWx0ZXIte3sgaXRlbS50eXBlIH19XCI+XG5cbiAgQHN3aXRjaCAoaXRlbS50eXBlKSB7XG4gICAgQGNhc2UgKGl0ZW1UeXBlLlRleHQpIHtcbiAgICAgIDxmaWx0ZXItaXRlbS10ZXh0XG4gICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgW2l0ZW1dPVwidGV4dEl0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tdGV4dD5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLlNlbGVjdCkge1xuICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdFxuICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgIFtpdGVtXT1cImJhc2VTZWxlY3RJdGVtXCI+XG4gICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdD5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkNoaXBzKSB7XG4gICAgICA8ZmlsdGVyLWl0ZW0tY2hpcHNcbiAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICBbaXRlbV09XCJjaGlwc0l0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tY2hpcHM+XG4gICAgfVxuICAgIEBjYXNlIChpdGVtVHlwZS5SYW5nZSkge1xuICAgICAgPGZpbHRlci1pdGVtLXJhbmdlXG4gICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1yYW5nZVwiXG4gICAgICAgIFtpdGVtXT1cInJhbmdlSXRlbVwiPlxuICAgICAgPC9maWx0ZXItaXRlbS1yYW5nZT5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkF1dG9Db21wbGV0ZSkge1xuICAgICAgPGZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZVxuICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUl0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlPlxuICAgIH1cbiAgICBAY2FzZSAoaXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHMpIHtcbiAgICAgIDxmaWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwc1xuICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUNoaXBzSXRlbVwiPlxuICAgICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwcz5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGUpIHtcbiAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICAgW2l0ZW1dPVwiZGF0ZUl0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZT5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lKSB7XG4gICAgICA8ZmlsdGVyLWl0ZW0tZGF0ZVxuICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgIFtpdGVtXT1cImRhdGVUaW1lSXRlbVwiPlxuICAgICAgPC9maWx0ZXItaXRlbS1kYXRlPlxuICAgIH1cbiAgICBAY2FzZSAoaXRlbVR5cGUuRGF0ZVJhbmdlKSB7XG4gICAgICA8ZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZVxuICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgIFtpdGVtXT1cImRhdGVSYW5nZUl0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2UpIHtcbiAgICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlXG4gICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICAgW2l0ZW1dPVwiZGF0ZVRpbWVSYW5nZUl0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLldlZWspIHtcbiAgICAgIDxmaWx0ZXItaXRlbS13ZWVrXG4gICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgW2l0ZW1dPVwid2Vla0l0ZW1cIj5cbiAgICAgIDwvZmlsdGVyLWl0ZW0td2Vlaz5cbiAgICB9XG4gICAgQGNhc2UgKGl0ZW1UeXBlLkNoZWNrYm94KSB7XG4gICAgICA8ZmlsdGVyLWl0ZW0tY2hlY2tib3hcbiAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWNoZWNrYm94XCJcbiAgICAgICAgW2l0ZW1dPVwiY2hlY2tib3hJdGVtXCI+XG4gICAgICA8L2ZpbHRlci1pdGVtLWNoZWNrYm94PlxuICAgIH1cbiAgfVxuXG48L2Rpdj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF1QnRELE1BQU0sT0FBTyxtQkFBbUI7SUF3RFY7SUF0REosSUFBSSxDQUFnQjtJQUU3QixRQUFRLEdBQUcsUUFBUSxDQUFDO0lBRTNCLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUE2QixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVPLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQUksQ0FBQztJQUUzQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBdkVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGlHQzVEaEMsa3dFQTZFQyw0akJEOUJHLGFBQWEsNkRBQ2IsZUFBZSxpRkFDZixjQUFjLDhEQUNkLGNBQWMsOERBQ2QscUJBQXFCLHFFQUNyQiwwQkFBMEIsMEVBQzFCLGFBQWEsNkRBQ2Isa0JBQWtCLG1FQUNsQixhQUFhLDZEQUNiLGlCQUFpQiw0REFDakIsU0FBUzs7NEZBR0EsbUJBQW1CO2tCQXBCL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsU0FBUztxQkFDVjtzRkFJZSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC1pdGVtJztcbmltcG9ydCB0eXBlIHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB0eXBlIHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVjaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlY2hpcHMvYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi93ZWVrL3dlZWsuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgUmFuZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZWNoaXBzQ29tcG9uZW50LFxuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlQ29tcG9uZW50LFxuICAgIFdlZWtDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxhbnk+O1xuXG4gIHB1YmxpYyBpdGVtVHlwZSA9IEl0ZW1UeXBlO1xuXG4gIHB1YmxpYyBnZXQgdGV4dEl0ZW0oKTogVGV4dEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgVGV4dEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdEl0ZW0oKTogU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBTZWxlY3RJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwc0l0ZW0oKTogQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VJdGVtKCk6IFJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUl0ZW0oKTogQXV0b2NvbXBsZXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVDaGlwc0l0ZW0oKTogQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUNoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUl0ZW0oKTogRGF0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVSYW5nZUl0ZW0oKTogRGF0ZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZUl0ZW0oKTogRGF0ZVRpbWVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVSYW5nZUl0ZW0oKTogRGF0ZVRpbWVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdlZWtJdGVtKCk6IFdlZWtJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFdlZWtJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveEl0ZW0oKTogQ2hlY2tib3hJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoZWNrYm94SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCJAaWYgKGl0ZW0udmlzaWJsZSQgfCBhc3luYykge1xuICA8ZGl2IGNsYXNzPVwiZmlsdGVyIGZpbHRlci17eyBpdGVtLnR5cGUgfX1cIj5cbiAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgIEBjYXNlIChpdGVtVHlwZS5UZXh0KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS10ZXh0XG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cInRleHRJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tdGV4dD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5TZWxlY3QpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJzZWxlY3RJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tc2VsZWN0PlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkNoaXBzKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1jaGlwc1xuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJjaGlwc0l0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1jaGlwcz5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5SYW5nZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tcmFuZ2VcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtcmFuZ2VcIlxuICAgICAgICAgIFtpdGVtXT1cInJhbmdlSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkF1dG9Db21wbGV0ZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGU+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHMpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZWNoaXBzXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUNoaXBzSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZWNoaXBzPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGUpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGVcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVUaW1lSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWRhdGU+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuRGF0ZVJhbmdlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVSYW5nZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGUtcmFuZ2VcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZVRpbWVSYW5nZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLldlZWspIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXdlZWtcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwid2Vla0l0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS13ZWVrPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkNoZWNrYm94KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1jaGVja2JveFxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1jaGVja2JveFwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hlY2tib3hJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tY2hlY2tib3g+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbn0iXX0=
@@ -1,41 +1,43 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, KeyValueDiffers, ViewChild, } from '@angular/core';
2
- import { fromEvent, merge } from 'rxjs';
3
- import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
4
- import { BaseItemComponent } from '../base-item/base-item.component';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
5
3
  import { MatFormField, MatLabel, MatPrefix, MatSuffix } from '@angular/material/form-field';
6
4
  import { MatInput } from '@angular/material/input';
7
- import { FormsModule } from '@angular/forms';
8
- import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
9
5
  import { FsFormModule } from '@firestitch/form';
6
+ import { debounceTime, Subject, takeUntil } from 'rxjs';
7
+ import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
8
+ import { BaseItemComponent } from '../base-item/base-item.component';
10
9
  import * as i0 from "@angular/core";
11
10
  import * as i1 from "@angular/forms";
12
11
  import * as i2 from "@firestitch/form";
13
12
  export class RangeComponent extends BaseItemComponent {
14
- _kvDiffers;
15
- _cd;
16
- from;
17
- to;
18
- constructor(_kvDiffers, _cd) {
19
- super(_kvDiffers, _cd);
20
- this._kvDiffers = _kvDiffers;
21
- this._cd = _cd;
22
- }
13
+ min;
14
+ max;
15
+ _change$ = new Subject();
16
+ _cdRef = inject(ChangeDetectorRef);
23
17
  ngOnInit() {
24
- this.listenChanges();
25
- }
26
- listenChanges() {
27
- const fromListener = fromEvent(this.from.nativeElement, 'keyup')
28
- .pipe(distinctUntilChanged());
29
- const toListener = fromEvent(this.to.nativeElement, 'keyup')
30
- .pipe(distinctUntilChanged());
31
- merge(fromListener, toListener)
18
+ this.min = this.item.value?.min;
19
+ this.max = this.item.value?.max;
20
+ this.item.value$
32
21
  .pipe(takeUntil(this.destroy$))
22
+ .subscribe((value) => {
23
+ this.min = value?.min;
24
+ this.max = value?.max;
25
+ this._cdRef.detectChanges();
26
+ });
27
+ this._change$
28
+ .pipe(debounceTime(300), takeUntil(this.destroy$))
33
29
  .subscribe(() => {
34
- this.itemChange();
30
+ this.item.value = {
31
+ min: this.min,
32
+ max: this.max,
33
+ };
35
34
  });
36
35
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RangeComponent, isStandalone: true, selector: "filter-item-range", viewQueries: [{ propertyName: "from", first: true, predicate: ["from"], descendants: true, static: true }, { propertyName: "to", first: true, predicate: ["to"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.min\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.max\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ change() {
37
+ this._change$.next();
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RangeComponent, isStandalone: true, selector: "filter-item-range", usesInheritance: true, ngImport: i0, template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"number\"\n [(ngModel)]=\"min\"\n (ngModelChange)=\"change()\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"number\"\n [(ngModel)]=\"max\"\n (ngModelChange)=\"change()\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
41
  }
40
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeComponent, decorators: [{
41
43
  type: Component,
@@ -48,12 +50,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
48
50
  FocusToItemDirective,
49
51
  FsFormModule,
50
52
  MatSuffix,
51
- ], template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.min\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.max\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"] }]
52
- }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }], propDecorators: { from: [{
53
- type: ViewChild,
54
- args: ['from', { static: true }]
55
- }], to: [{
56
- type: ViewChild,
57
- args: ['to', { static: true }]
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9yYW5nZS9yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLGVBQWUsRUFBVSxTQUFTLEdBQ25DLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFvQmhELE1BQU0sT0FBTyxjQUFlLFNBQVEsaUJBQTRCO0lBU2xEO0lBQ0E7SUFQTCxJQUFJLENBQWE7SUFHakIsRUFBRSxDQUFDO0lBRVYsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUM3RCxJQUFJLENBQ0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVKLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDekQsSUFBSSxDQUNILG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFSixLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzthQUM1QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FyQ1UsY0FBYzs0RkFBZCxjQUFjLHlTQ3BDM0Isc3hDQXVETSx1TEQ3QkUsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFNBQVMscUhBQ1QsUUFBUSxnVUFDUixXQUFXLCttQkFDWCxvQkFBb0IsdUhBQ3BCLFlBQVksMGdCQUNaLFNBQVM7OzRGQUdKLGNBQWM7a0JBakIxQixTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLFNBQVM7cUJBQ1o7b0hBS0ksSUFBSTtzQkFEVixTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLEVBQUU7c0JBRFIsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEtleVZhbHVlRGlmZmVycywgT25Jbml0LCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwsIE1hdFByZWZpeCwgTWF0U3VmZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLXRvLWl0ZW0vZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRGb3JtRmllbGQsXG4gICAgICAgIE1hdExhYmVsLFxuICAgICAgICBNYXRQcmVmaXgsXG4gICAgICAgIE1hdElucHV0LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1vZHVsZSxcbiAgICAgICAgTWF0U3VmZml4LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8UmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnZnJvbScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBmcm9tOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RvJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHRvO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuQ2hhbmdlcygpIHtcbiAgICBjb25zdCBmcm9tTGlzdGVuZXIgPSBmcm9tRXZlbnQodGhpcy5mcm9tLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG5cbiAgICBjb25zdCB0b0xpc3RlbmVyID0gZnJvbUV2ZW50KHRoaXMudG8ubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcblxuICAgIG1lcmdlKGZyb21MaXN0ZW5lciwgdG9MaXN0ZW5lcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmlsdGVyLXJhbmdlLW1pblwiPlxuICAgIDxtYXQtbGFiZWw+XG4gICAgICB7eyBpdGVtLmxhYmVsWzBdIH19XG4gICAgPC9tYXQtbGFiZWw+XG4gICAgQGlmIChpdGVtLnByZWZpeCkge1xuICAgICAgPHNwYW5cbiAgICAgICAgbWF0VGV4dFByZWZpeFxuICAgICAgICBjbGFzcz1cInRleHQtcHJlZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnByZWZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIidmcm9tJ1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBpbnB1dG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbC5taW5cIlxuICAgICAgI2Zyb20+XG4gICAgQGlmIChpdGVtLnN1ZmZpeCkge1xuICAgICAgPHNwYW5cbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgIGNsYXNzPVwidGV4dC1zdWZmaXhcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uc3VmZml4XCI+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmaWx0ZXItcmFuZ2UtbWF4XCI+XG4gICAgPG1hdC1sYWJlbD5cbiAgICAgIHt7IGl0ZW0ubGFiZWxbMV0gfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICBAaWYgKGl0ZW0ucHJlZml4KSB7XG4gICAgICA8c3BhblxuICAgICAgICBtYXRUZXh0UHJlZml4XG4gICAgICAgIGNsYXNzPVwidGV4dC1wcmVmaXhcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0ucHJlZml4XCI+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICAgIFtmb2N1c1RhcmdldFR5cGVdPVwiJ3RvJ1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBpbnB1dG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbC5tYXhcIlxuICAgICAgI3RvPlxuICAgIEBpZiAoaXRlbS5zdWZmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBjbGFzcz1cInRleHQtc3VmZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnN1ZmZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PiJdfQ==
53
+ ], template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"number\"\n [(ngModel)]=\"min\"\n (ngModelChange)=\"change()\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"number\"\n [(ngModel)]=\"max\"\n (ngModelChange)=\"change()\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"] }]
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9yYW5nZS9yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQW9CckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBNEI7SUFFdkQsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBRVgsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXBDLFFBQVE7UUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsUUFBUTthQUNWLElBQUksQ0FDSCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2FBQ2QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBckNVLGNBQWM7NEZBQWQsY0FBYyxvR0N2QzNCLGt4Q0F1RE0sdUxEMUJGLFlBQVksNExBQ1osUUFBUSxzREFDUixTQUFTLHFIQUNULFFBQVEsZ1VBQ1IsV0FBVyxpeEJBQ1gsb0JBQW9CLHVIQUNwQixZQUFZLDBnQkFDWixTQUFTOzs0RkFHQSxjQUFjO2tCQWpCMUIsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXgsIE1hdFN1ZmZpeCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuXG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvY3VzVG9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy10by1pdGVtL2ZvY3VzLXRvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvY3VzVG9JdGVtRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgICBNYXRTdWZmaXgsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8UmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIG1pbjogbnVtYmVyO1xuICBwdWJsaWMgbWF4OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5taW4gPSB0aGlzLml0ZW0udmFsdWU/Lm1pbjtcbiAgICB0aGlzLm1heCA9IHRoaXMuaXRlbS52YWx1ZT8ubWF4O1xuXG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMubWluID0gdmFsdWU/Lm1pbjtcbiAgICAgICAgdGhpcy5tYXggPSB2YWx1ZT8ubWF4O1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHtcbiAgICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICAgIG1heDogdGhpcy5tYXgsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1taW5cIj5cbiAgICA8bWF0LWxhYmVsPlxuICAgICAge3sgaXRlbS5sYWJlbFswXSB9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIEBpZiAoaXRlbS5wcmVmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFRleHRQcmVmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByZWZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5wcmVmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCInZnJvbSdcIlxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm1pblwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoKVwiXG4gICAgICAjZnJvbT5cbiAgICBAaWYgKGl0ZW0uc3VmZml4KSB7XG4gICAgICA8c3BhblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXN1ZmZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5zdWZmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1tYXhcIj5cbiAgICA8bWF0LWxhYmVsPlxuICAgICAge3sgaXRlbS5sYWJlbFsxXSB9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIEBpZiAoaXRlbS5wcmVmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFRleHRQcmVmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByZWZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5wcmVmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCIndG8nXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJtYXhcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKClcIlxuICAgICAgI3RvPlxuICAgIEBpZiAoaXRlbS5zdWZmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBjbGFzcz1cInRleHQtc3VmZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnN1ZmZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PiJdfQ==
@@ -1,63 +1,75 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, ViewChild, } from '@angular/core';
2
- import { BaseItemComponent } from '../base-item/base-item.component';
3
- import { SelectMultipleComponent } from './multiple/multiple.component';
4
- import { SelectSimpleComponent } from './simple/simple.component';
5
- import { MatFormField, MatLabel } from '@angular/material/form-field';
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, inject, Input, ViewChild, } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatCheckbox } from '@angular/material/checkbox';
5
+ import { MatOptgroup, MatOption } from '@angular/material/core';
6
+ import { MatFormField, MatHint, MatLabel } from '@angular/material/form-field';
6
7
  import { MatSelect } from '@angular/material/select';
7
- import { SelectGroupsComponent } from './groups/groups.component';
8
- import { AsyncPipe } from '@angular/common';
8
+ import { FsFormModule } from '@firestitch/form';
9
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
+ import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
11
+ import { SelectItem } from '../../../models/items/select-item';
12
+ import { FsFilterIsolateValues } from '../../../pipes/remove-isolate-value.pipe';
9
13
  import * as i0 from "@angular/core";
10
- export class SelectComponent extends BaseItemComponent {
11
- _kvDiffers;
12
- _cd;
13
- selectedItem;
14
- // For case when we have multiple selection with __all option
15
- // If _all has been selected than we must disable all other items
16
- allItemsOptionSelected = false;
17
- get multipleSelectItem() {
18
- return this.item;
14
+ import * as i1 from "@angular/forms";
15
+ import * as i2 from "@firestitch/form";
16
+ export class SelectComponent {
17
+ item;
18
+ select;
19
+ value;
20
+ isolated;
21
+ _cdRef = inject(ChangeDetectorRef);
22
+ _destroyRef = inject(DestroyRef);
23
+ changed() {
24
+ this.item.value = this.value;
25
+ this.isolated = false;
19
26
  }
20
- get simpleSelectItem() {
21
- return this.item;
27
+ ngOnInit() {
28
+ this.item.value$
29
+ .pipe(takeUntilDestroyed(this._destroyRef))
30
+ .subscribe((value) => {
31
+ this.value = value;
32
+ this._cdRef.detectChanges();
33
+ });
22
34
  }
23
- values$;
24
- constructor(_kvDiffers, _cd) {
25
- super(_kvDiffers, _cd);
26
- this._kvDiffers = _kvDiffers;
27
- this._cd = _cd;
35
+ close() {
36
+ this.select.close();
28
37
  }
29
- ngOnChanges(changes) {
30
- if (changes.item) {
31
- this.values$ = this.item.values$;
32
- }
38
+ markForCheck() {
39
+ this._cdRef.markForCheck();
33
40
  }
34
- ngDoCheck() {
35
- if (this._kvDiffer) {
36
- const changes = this._kvDiffer.diff(this.item);
37
- if (changes) {
38
- this._cd.markForCheck();
39
- if (this.selectedItem) {
40
- this.selectedItem.markForCheck();
41
- }
42
- }
41
+ isolateChange(event) {
42
+ if (event.checked) {
43
+ this.item.value = this.item.multiple ? this.item.isolateValues : this.item.isolateValues[0];
44
+ }
45
+ else {
46
+ this.item.value = this.item.multiple ? [] : null;
43
47
  }
44
48
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
46
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectComponent, isStandalone: true, selector: "filter-item-select", viewQueries: [{ propertyName: "selectedItem", first: true, predicate: ["selectItem"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ((item.loading$ | async)) {\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select disabled></mat-select>\n </mat-form-field>\n} @else {\n @if ((values$ | async)?.length) {\n @if (item.multiple && !item.children) {\n <filter-item-select-multiple\n [item]=\"multipleSelectItem\"\n #selectItem>\n </filter-item-select-multiple>\n }\n @if (!item.multiple && !item.children) {\n <filter-item-select-simple\n [item]=\"simpleSelectItem\"\n #selectItem>\n </filter-item-select-simple>\n }\n @if (item.children) {\n <filter-item-select-groups\n [item]=\"item\"\n #selectItem>\n </filter-item-select-groups>\n }\n }\n}\n\n", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: SelectMultipleComponent, selector: "filter-item-select-multiple", inputs: ["item"] }, { kind: "component", type: SelectSimpleComponent, selector: "filter-item-select-simple", inputs: ["item"] }, { kind: "component", type: SelectGroupsComponent, selector: "filter-item-select-groups", inputs: ["item"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectComponent, isStandalone: true, selector: "filter-item-select", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @if (item.children) {\n @for (option of item.values$ | async; track option) {\n <mat-optgroup [label]=\"option.name\">\n @for (childOption of option[item.children] | fsFilterIsolateValues: item.isolate; track childOption.value) {\n <mat-option [value]=\"childOption.value\">\n {{ childOption.name }}\n </mat-option>\n }\n </mat-optgroup>\n }\n } @else {\n @for (option of item.values$ | async | fsFilterIsolateValues: item.isolate; track option) {\n <mat-option [value]=\"option.value\">\n {{ option.name }}\n </mat-option>\n }\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange($event)\"\n [(ngModel)]=\"isolated\">\n <span class=\"checkbox-label\">\n {{ item.isolateLabel }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: FsFilterIsolateValues, name: "fsFilterIsolateValues" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
51
  }
48
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, decorators: [{
49
53
  type: Component,
50
54
  args: [{ selector: 'filter-item-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
51
55
  MatFormField,
56
+ NgClass,
52
57
  MatLabel,
53
58
  MatSelect,
54
- SelectMultipleComponent,
55
- SelectSimpleComponent,
56
- SelectGroupsComponent,
59
+ FocusToItemDirective,
60
+ FormsModule,
61
+ FsFormModule,
62
+ MatOption,
63
+ MatOptgroup,
64
+ MatHint,
65
+ MatCheckbox,
66
+ FsFilterIsolateValues,
57
67
  AsyncPipe,
58
- ], template: "@if ((item.loading$ | async)) {\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select disabled></mat-select>\n </mat-form-field>\n} @else {\n @if ((values$ | async)?.length) {\n @if (item.multiple && !item.children) {\n <filter-item-select-multiple\n [item]=\"multipleSelectItem\"\n #selectItem>\n </filter-item-select-multiple>\n }\n @if (!item.multiple && !item.children) {\n <filter-item-select-simple\n [item]=\"simpleSelectItem\"\n #selectItem>\n </filter-item-select-simple>\n }\n @if (item.children) {\n <filter-item-select-groups\n [item]=\"item\"\n #selectItem>\n </filter-item-select-groups>\n }\n }\n}\n\n", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"] }]
59
- }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }], propDecorators: { selectedItem: [{
68
+ ], template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @if (item.children) {\n @for (option of item.values$ | async; track option) {\n <mat-optgroup [label]=\"option.name\">\n @for (childOption of option[item.children] | fsFilterIsolateValues: item.isolate; track childOption.value) {\n <mat-option [value]=\"childOption.value\">\n {{ childOption.name }}\n </mat-option>\n }\n </mat-optgroup>\n }\n } @else {\n @for (option of item.values$ | async | fsFilterIsolateValues: item.isolate; track option) {\n <mat-option [value]=\"option.value\">\n {{ option.name }}\n </mat-option>\n }\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange($event)\"\n [(ngModel)]=\"isolated\">\n <span class=\"checkbox-label\">\n {{ item.isolateLabel }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"] }]
69
+ }], propDecorators: { item: [{
70
+ type: Input
71
+ }], select: [{
60
72
  type: ViewChild,
61
- args: ['selectItem']
73
+ args: [MatSelect, { static: true }]
62
74
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULGVBQWUsRUFHZixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWtCNUMsTUFBTSxPQUFPLGVBQ1gsU0FBUSxpQkFBaUM7SUFvQjdCO0lBQ0E7SUFqQkwsWUFBWSxDQUFrRDtJQUNyRSw2REFBNkQ7SUFDN0QsaUVBQWlFO0lBQzFELHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUV0QyxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUEwQixDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFTSxPQUFPLENBQXdCO0lBRXRDLFlBQ1ksVUFBMkIsRUFDM0IsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBR2xDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQWdDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRS9DLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFFeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBN0NVLGVBQWU7NEZBQWYsZUFBZSxzT0N6QzVCLGl1QkE0QkEsNGlCRElRLFlBQVksNExBQ1osUUFBUSxzREFDUixTQUFTLHdlQUNULHVCQUF1QiwwRkFDdkIscUJBQXFCLHdGQUNyQixxQkFBcUIsbUZBQ3JCLFNBQVM7OzRGQUdKLGVBQWU7a0JBaEIzQixTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCx1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixTQUFTO3FCQUNaO29IQU9JLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QvYmFzZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBNdWx0aXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L211bHRpcGxlLXNlbGVjdC1pdGVtJztcbmltcG9ydCB7IFNpbXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L3NpbXBsZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2VsZWN0TXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL211bHRpcGxlL211bHRpcGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuL3NpbXBsZS9zaW1wbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3RHcm91cHNDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9ncm91cHMuY29tcG9uZW50JztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0Rm9ybUZpZWxkLFxuICAgICAgICBNYXRMYWJlbCxcbiAgICAgICAgTWF0U2VsZWN0LFxuICAgICAgICBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0U2ltcGxlQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RHcm91cHNDb21wb25lbnQsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgXG4gIGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QmFzZVNlbGVjdEl0ZW0+IFxuICBpbXBsZW1lbnRzIERvQ2hlY2ssIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0SXRlbScpXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW06IFNlbGVjdFNpbXBsZUNvbXBvbmVudCB8IFNlbGVjdE11bHRpcGxlQ29tcG9uZW50O1xuICAvLyBGb3IgY2FzZSB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgc2VsZWN0aW9uIHdpdGggX19hbGwgb3B0aW9uXG4gIC8vIElmIF9hbGwgaGFzIGJlZW4gc2VsZWN0ZWQgdGhhbiB3ZSBtdXN0IGRpc2FibGUgYWxsIG90aGVyIGl0ZW1zXG4gIHB1YmxpYyBhbGxJdGVtc09wdGlvblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBtdWx0aXBsZVNlbGVjdEl0ZW0oKTogTXVsdGlwbGVTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIE11bHRpcGxlU2VsZWN0SXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2ltcGxlU2VsZWN0SXRlbSgpOiBTaW1wbGVTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFNpbXBsZVNlbGVjdEl0ZW07XG4gIH1cblxuICBwdWJsaWMgdmFsdWVzJDogT2JzZXJ2YWJsZTx1bmtub3duW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cbiAgXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuaXRlbSkge1xuICAgICAgdGhpcy52YWx1ZXMkID0gdGhpcy5pdGVtLnZhbHVlcyQgYXMgT2JzZXJ2YWJsZTx1bmtub3duW10+O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuX2t2RGlmZmVyKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fa3ZEaWZmZXIuZGlmZih0aGlzLml0ZW0pO1xuXG4gICAgICBpZiAoY2hhbmdlcykge1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbS5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmICgoaXRlbS5sb2FkaW5nJCB8IGFzeW5jKSkge1xuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IGRpc2FibGVkPjwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbn0gQGVsc2Uge1xuICBAaWYgKCh2YWx1ZXMkIHwgYXN5bmMpPy5sZW5ndGgpIHtcbiAgICBAaWYgKGl0ZW0ubXVsdGlwbGUgJiYgIWl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIDxmaWx0ZXItaXRlbS1zZWxlY3QtbXVsdGlwbGVcbiAgICAgICAgW2l0ZW1dPVwibXVsdGlwbGVTZWxlY3RJdGVtXCJcbiAgICAgICAgI3NlbGVjdEl0ZW0+XG4gICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdC1tdWx0aXBsZT5cbiAgICB9XG4gICAgQGlmICghaXRlbS5tdWx0aXBsZSAmJiAhaXRlbS5jaGlsZHJlbikge1xuICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdC1zaW1wbGVcbiAgICAgICAgW2l0ZW1dPVwic2ltcGxlU2VsZWN0SXRlbVwiXG4gICAgICAgICNzZWxlY3RJdGVtPlxuICAgICAgPC9maWx0ZXItaXRlbS1zZWxlY3Qtc2ltcGxlPlxuICAgIH1cbiAgICBAaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIDxmaWx0ZXItaXRlbS1zZWxlY3QtZ3JvdXBzXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAjc2VsZWN0SXRlbT5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tc2VsZWN0LWdyb3Vwcz5cbiAgICB9XG4gIH1cbn1cblxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7QUF5QmpGLE1BQU0sT0FBTyxlQUFlO0lBR25CLElBQUksQ0FBYTtJQUdqQixNQUFNLENBQVk7SUFFbEIsS0FBSyxDQUFNO0lBQ1gsUUFBUSxDQUFVO0lBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxDLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckM7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxJQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO3dHQTVDVSxlQUFlOzRGQUFmLGVBQWUsZ0pBS2YsU0FBUyw4REN0RHRCLHV0Q0FzQ2lCLDRpQkRKYixZQUFZLDRMQUNaLE9BQU8sb0ZBQ1AsUUFBUSxzREFDUixTQUFTLHdlQUNULG9CQUFvQix1SEFDcEIsV0FBVyw4VkFDWCxZQUFZLDBnQkFDWixTQUFTLHFKQUNULFdBQVcsbUhBQ1gsT0FBTyw4RUFDUCxXQUFXLG1WQUNYLHFCQUFxQix5REFDckIsU0FBUzs7NEZBR0EsZUFBZTtrQkF0QjNCLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLFNBQVM7cUJBQ1Y7OEJBS00sSUFBSTtzQkFEVixLQUFLO2dCQUlDLE1BQU07c0JBRFosU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Q2hlY2tib3gsIE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0T3B0Z3JvdXAsIE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRIaW50LCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLXRvLWl0ZW0vZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9yZW1vdmUtaXNvbGF0ZS12YWx1ZS5waXBlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE5nQ2xhc3MsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0U2VsZWN0LFxuICAgIEZvY3VzVG9JdGVtRGlyZWN0aXZlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgICBNYXRPcHRpb24sXG4gICAgTWF0T3B0Z3JvdXAsXG4gICAgTWF0SGludCxcbiAgICBNYXRDaGVja2JveCxcbiAgICBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMsXG4gICAgQXN5bmNQaXBlLCAgXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW06IFNlbGVjdEl0ZW07XG5cbiAgQFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgcHVibGljIGlzb2xhdGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgY2hhbmdlZCgpIHtcbiAgICB0aGlzLml0ZW0udmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuaXNvbGF0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBpc29sYXRlQ2hhbmdlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIGlmKGV2ZW50LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMuaXRlbS5tdWx0aXBsZSA/IHRoaXMuaXRlbS5pc29sYXRlVmFsdWVzIDogdGhpcy5pdGVtLmlzb2xhdGVWYWx1ZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMuaXRlbS5tdWx0aXBsZSA/IFtdIDogbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7IGlzb2xhdGU6IGl0ZW0uaXNvbGF0ZSB9XCI+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbCB9fVxuICA8L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3RcbiAgICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpXCJcbiAgICAgIFttdWx0aXBsZV09XCJpdGVtLm11bHRpcGxlXCI+XG4gICAgQGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICBAZm9yIChvcHRpb24gb2YgaXRlbS52YWx1ZXMkIHwgYXN5bmM7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8bWF0LW9wdGdyb3VwIFtsYWJlbF09XCJvcHRpb24ubmFtZVwiPlxuICAgICAgICAgIEBmb3IgKGNoaWxkT3B0aW9uIG9mIG9wdGlvbltpdGVtLmNoaWxkcmVuXSB8IGZzRmlsdGVySXNvbGF0ZVZhbHVlczogaXRlbS5pc29sYXRlOyB0cmFjayBjaGlsZE9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImNoaWxkT3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICAgIHt7IGNoaWxkT3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGZvciAob3B0aW9uIG9mIGl0ZW0udmFsdWVzJCB8IGFzeW5jIHwgZnNGaWx0ZXJJc29sYXRlVmFsdWVzOiBpdGVtLmlzb2xhdGU7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIH1cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWhpbnQ+XG4gICAgQGlmIChpdGVtLmlzb2xhdGUpIHtcbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAoY2hhbmdlKT1cImlzb2xhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpc29sYXRlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LWxhYmVsXCI+XG4gICAgICAgICAge3sgaXRlbS5pc29sYXRlTGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgfVxuICA8L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=