@odx/angular 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cdk/autocomplete-control/index.d.ts +0 -1
  3. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +2 -3
  4. package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +15 -7
  5. package/cdk/custom-form-control/index.d.ts +1 -0
  6. package/cdk/{autocomplete-control/lib/abstract/base-search-field.directive.d.ts → custom-form-control/lib/input-control.directive.d.ts} +3 -3
  7. package/charts-config/lib/charts-theme.directive.d.ts +1 -1
  8. package/charts-config/lib/charts-theme.service.d.ts +3 -3
  9. package/components/autocomplete/lib/autocomplete.component.d.ts +2 -2
  10. package/components/autocomplete/lib/autocomplete.module.d.ts +2 -2
  11. package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +9 -0
  12. package/components/autocomplete/lib/directives/index.d.ts +1 -1
  13. package/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.d.ts +4 -9
  14. package/components/calendar/README.md +3 -0
  15. package/components/calendar/index.d.ts +5 -0
  16. package/components/calendar/lib/calendar.component.d.ts +18 -0
  17. package/components/calendar/lib/calendar.config.d.ts +100 -0
  18. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +27 -0
  19. package/components/calendar/lib/components/calendar-header/index.d.ts +1 -0
  20. package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +21 -0
  21. package/components/calendar/lib/components/calendar-month/index.d.ts +1 -0
  22. package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +18 -0
  23. package/components/calendar/lib/components/calendar-year/index.d.ts +1 -0
  24. package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +20 -0
  25. package/components/calendar/lib/components/calendar-years/index.d.ts +1 -0
  26. package/components/calendar/lib/components/index.d.ts +4 -0
  27. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +34 -0
  28. package/components/calendar/lib/directives/calendar-view.directive.d.ts +29 -0
  29. package/components/calendar/lib/directives/index.d.ts +2 -0
  30. package/components/calendar/lib/enums/calendar-view.enum.d.ts +5 -0
  31. package/components/calendar/lib/enums/index.d.ts +1 -0
  32. package/components/calendar/lib/models/date-filter.d.ts +1 -0
  33. package/components/calendar/lib/models/date-type.d.ts +1 -0
  34. package/components/calendar/lib/models/date-validator.d.ts +1 -0
  35. package/components/calendar/lib/models/index.d.ts +3 -0
  36. package/components/calendar/lib/pipes/date-label.pipe.d.ts +18 -0
  37. package/components/calendar/lib/pipes/index.d.ts +1 -0
  38. package/components/calendar/lib/services/calendar-month.service.d.ts +13 -0
  39. package/components/calendar/lib/services/calendar-year.service.d.ts +11 -0
  40. package/components/calendar/lib/services/calendar-years.service.d.ts +9 -0
  41. package/components/calendar/lib/services/calendar.service.d.ts +25 -0
  42. package/components/calendar/lib/services/index.d.ts +4 -0
  43. package/components/calendar/lib/utils/check-identical-date.d.ts +2 -0
  44. package/components/calendar/lib/utils/get-A11y-label.d.ts +3 -0
  45. package/components/calendar/lib/utils/index.d.ts +7 -0
  46. package/components/calendar/lib/utils/parse-date.d.ts +2 -0
  47. package/components/calendar/lib/utils/validate-max-date.d.ts +2 -0
  48. package/components/calendar/lib/utils/validate-min-date.d.ts +2 -0
  49. package/components/calendar/lib/utils/validate-next-date-set.d.ts +2 -0
  50. package/components/calendar/lib/utils/validate-previous-date-set.d.ts +2 -0
  51. package/components/datepicker/README.md +3 -0
  52. package/components/datepicker/index.d.ts +5 -0
  53. package/components/datepicker/lib/datepicker.component.d.ts +37 -0
  54. package/components/datepicker/lib/datepicker.config.d.ts +29 -0
  55. package/components/datepicker/lib/datepicker.module.d.ts +9 -0
  56. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +24 -0
  57. package/components/datepicker/lib/directives/index.d.ts +1 -0
  58. package/components/datepicker/lib/models/datepicker-input-date-order.d.ts +6 -0
  59. package/components/datepicker/lib/models/datepicker-input-pattern.d.ts +11 -0
  60. package/components/datepicker/lib/models/index.d.ts +2 -0
  61. package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +3 -0
  62. package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +2 -0
  63. package/components/datepicker/lib/utils/index.d.ts +2 -0
  64. package/components/select/lib/directives/index.d.ts +1 -1
  65. package/components/select/lib/directives/select-input-control.directive.d.ts +9 -0
  66. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +3 -9
  67. package/components/select/lib/select.component.d.ts +2 -2
  68. package/components/select/lib/select.module.d.ts +2 -2
  69. package/esm2020/cdk/autocomplete-control/index.mjs +1 -2
  70. package/esm2020/cdk/autocomplete-control/lib/autocomplete-control.mjs +1 -1
  71. package/esm2020/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +15 -4
  72. package/esm2020/cdk/custom-form-control/index.mjs +2 -1
  73. package/esm2020/cdk/custom-form-control/lib/input-control.directive.mjs +35 -0
  74. package/esm2020/charts-config/lib/charts-theme.directive.mjs +5 -5
  75. package/esm2020/charts-config/lib/charts-theme.module.mjs +4 -4
  76. package/esm2020/charts-config/lib/charts-theme.service.mjs +5 -5
  77. package/esm2020/components/autocomplete/lib/autocomplete.component.mjs +13 -6
  78. package/esm2020/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  79. package/esm2020/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +32 -0
  80. package/esm2020/components/autocomplete/lib/directives/index.mjs +2 -2
  81. package/esm2020/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +2 -16
  82. package/esm2020/components/calendar/index.mjs +6 -0
  83. package/esm2020/components/calendar/lib/calendar.component.mjs +57 -0
  84. package/esm2020/components/calendar/lib/calendar.config.mjs +15 -0
  85. package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +51 -0
  86. package/esm2020/components/calendar/lib/components/calendar-header/index.mjs +2 -0
  87. package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +59 -0
  88. package/esm2020/components/calendar/lib/components/calendar-month/index.mjs +2 -0
  89. package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +57 -0
  90. package/esm2020/components/calendar/lib/components/calendar-year/index.mjs +2 -0
  91. package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +65 -0
  92. package/esm2020/components/calendar/lib/components/calendar-years/index.mjs +2 -0
  93. package/esm2020/components/calendar/lib/components/index.mjs +5 -0
  94. package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +92 -0
  95. package/esm2020/components/calendar/lib/directives/calendar-view.directive.mjs +39 -0
  96. package/esm2020/components/calendar/lib/directives/index.mjs +3 -0
  97. package/esm2020/components/calendar/lib/enums/calendar-view.enum.mjs +7 -0
  98. package/esm2020/components/calendar/lib/enums/index.mjs +2 -0
  99. package/esm2020/components/calendar/lib/models/date-filter.mjs +2 -0
  100. package/esm2020/components/calendar/lib/models/date-type.mjs +2 -0
  101. package/esm2020/components/calendar/lib/models/date-validator.mjs +2 -0
  102. package/esm2020/components/calendar/lib/models/index.mjs +4 -0
  103. package/esm2020/components/calendar/lib/pipes/date-label.pipe.mjs +25 -0
  104. package/esm2020/components/calendar/lib/pipes/index.mjs +2 -0
  105. package/esm2020/components/calendar/lib/services/calendar-month.service.mjs +38 -0
  106. package/esm2020/components/calendar/lib/services/calendar-year.service.mjs +31 -0
  107. package/esm2020/components/calendar/lib/services/calendar-years.service.mjs +33 -0
  108. package/esm2020/components/calendar/lib/services/calendar.service.mjs +74 -0
  109. package/esm2020/components/calendar/lib/services/index.mjs +5 -0
  110. package/esm2020/components/calendar/lib/utils/check-identical-date.mjs +11 -0
  111. package/esm2020/components/calendar/lib/utils/get-A11y-label.mjs +10 -0
  112. package/esm2020/components/calendar/lib/utils/index.mjs +8 -0
  113. package/esm2020/components/calendar/lib/utils/parse-date.mjs +15 -0
  114. package/esm2020/components/calendar/lib/utils/validate-max-date.mjs +11 -0
  115. package/esm2020/components/calendar/lib/utils/validate-min-date.mjs +11 -0
  116. package/esm2020/components/calendar/lib/utils/validate-next-date-set.mjs +12 -0
  117. package/esm2020/components/calendar/lib/utils/validate-previous-date-set.mjs +12 -0
  118. package/esm2020/components/calendar/odx-angular-components-calendar.mjs +5 -0
  119. package/esm2020/components/datepicker/index.mjs +6 -0
  120. package/esm2020/components/datepicker/lib/datepicker.component.mjs +118 -0
  121. package/esm2020/components/datepicker/lib/datepicker.config.mjs +7 -0
  122. package/esm2020/components/datepicker/lib/datepicker.module.mjs +19 -0
  123. package/esm2020/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +60 -0
  124. package/esm2020/components/datepicker/lib/directives/index.mjs +2 -0
  125. package/esm2020/components/datepicker/lib/models/datepicker-input-date-order.mjs +6 -0
  126. package/esm2020/components/datepicker/lib/models/datepicker-input-pattern.mjs +11 -0
  127. package/esm2020/components/datepicker/lib/models/index.mjs +3 -0
  128. package/esm2020/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +16 -0
  129. package/esm2020/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +30 -0
  130. package/esm2020/components/datepicker/lib/utils/index.mjs +3 -0
  131. package/esm2020/components/datepicker/odx-angular-components-datepicker.mjs +5 -0
  132. package/esm2020/components/select/lib/components/select-option/select-option.component.mjs +3 -3
  133. package/esm2020/components/select/lib/directives/index.mjs +2 -2
  134. package/esm2020/components/select/lib/directives/select-input-control.directive.mjs +35 -0
  135. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +2 -16
  136. package/esm2020/components/select/lib/select.component.mjs +15 -7
  137. package/esm2020/components/select/lib/select.module.mjs +4 -4
  138. package/esm2020/utils/lib/helpers/index.mjs +2 -2
  139. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs +19 -41
  140. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  141. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +34 -2
  142. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  143. package/fesm2015/odx-angular-charts-config.mjs +10 -10
  144. package/fesm2015/odx-angular-charts-config.mjs.map +1 -1
  145. package/fesm2015/odx-angular-components-autocomplete.mjs +23 -27
  146. package/fesm2015/odx-angular-components-autocomplete.mjs.map +1 -1
  147. package/fesm2015/odx-angular-components-calendar.mjs +623 -0
  148. package/fesm2015/odx-angular-components-calendar.mjs.map +1 -0
  149. package/fesm2015/odx-angular-components-datepicker.mjs +249 -0
  150. package/fesm2015/odx-angular-components-datepicker.mjs.map +1 -0
  151. package/fesm2015/odx-angular-components-select.mjs +22 -28
  152. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  153. package/fesm2015/odx-angular-utils.mjs +21 -21
  154. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  155. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs +17 -41
  156. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  157. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +34 -2
  158. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  159. package/fesm2020/odx-angular-charts-config.mjs +10 -10
  160. package/fesm2020/odx-angular-charts-config.mjs.map +1 -1
  161. package/fesm2020/odx-angular-components-autocomplete.mjs +23 -25
  162. package/fesm2020/odx-angular-components-autocomplete.mjs.map +1 -1
  163. package/fesm2020/odx-angular-components-calendar.mjs +621 -0
  164. package/fesm2020/odx-angular-components-calendar.mjs.map +1 -0
  165. package/fesm2020/odx-angular-components-datepicker.mjs +249 -0
  166. package/fesm2020/odx-angular-components-datepicker.mjs.map +1 -0
  167. package/fesm2020/odx-angular-components-select.mjs +22 -26
  168. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  169. package/fesm2020/odx-angular-utils.mjs +21 -21
  170. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  171. package/package.json +21 -3
  172. package/utils/lib/helpers/index.d.ts +1 -1
  173. package/cdk/autocomplete-control/lib/abstract/index.d.ts +0 -1
  174. package/components/autocomplete/lib/directives/autocomplete-search-field.directive.d.ts +0 -9
  175. package/components/select/lib/directives/select-search-field.directive.d.ts +0 -9
  176. package/esm2020/cdk/autocomplete-control/lib/abstract/base-search-field.directive.mjs +0 -38
  177. package/esm2020/cdk/autocomplete-control/lib/abstract/index.mjs +0 -2
  178. package/esm2020/components/autocomplete/lib/directives/autocomplete-search-field.directive.mjs +0 -26
  179. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +0 -35
@@ -0,0 +1,25 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ import { DateFilter, DateType } from '../models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CalendarService {
5
+ private readonly calendarView$$;
6
+ private readonly activeDate$$;
7
+ private readonly selectedDate$$;
8
+ minDate: Date | null;
9
+ maxDate: Date | null;
10
+ filterFn?: DateFilter | null;
11
+ readonly calendarView$: import("rxjs").Observable<CalendarViewEnum>;
12
+ readonly activeDate$: import("rxjs").Observable<Date>;
13
+ readonly selectedDate$: import("rxjs").Observable<Date | null>;
14
+ setActiveDate(value: DateType | null): void;
15
+ selectDate(value: DateType | null): void;
16
+ get activeDate(): Date;
17
+ get selectedDate(): Date | null;
18
+ changeView(view: CalendarViewEnum): void;
19
+ get calendarCurrentView(): CalendarViewEnum;
20
+ isDateDisabled(date: Date): boolean;
21
+ isPreviousDateSetDisabled(): boolean;
22
+ isNextDateSetDisabled(): boolean;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalendarService, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalendarService>;
25
+ }
@@ -0,0 +1,4 @@
1
+ export * from './calendar-month.service';
2
+ export * from './calendar-year.service';
3
+ export * from './calendar-years.service';
4
+ export * from './calendar.service';
@@ -0,0 +1,2 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ export declare function checkIdenticalDate(currentDate: Date, date: Date, calendarView: CalendarViewEnum): boolean;
@@ -0,0 +1,3 @@
1
+ import { CalendarConfig } from '../calendar.config';
2
+ import { CalendarViewEnum } from '../enums';
3
+ export declare function getA11yLabel(calendarView: CalendarViewEnum, config: CalendarConfig): string;
@@ -0,0 +1,7 @@
1
+ export * from './check-identical-date';
2
+ export * from './get-A11y-label';
3
+ export * from './parse-date';
4
+ export * from './validate-max-date';
5
+ export * from './validate-min-date';
6
+ export * from './validate-next-date-set';
7
+ export * from './validate-previous-date-set';
@@ -0,0 +1,2 @@
1
+ import { DateType } from '../models';
2
+ export declare function parseDate(value: DateType): Date;
@@ -0,0 +1,2 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ export declare function validateMaxDate(maxDate: Date, date: Date, calendarView: CalendarViewEnum): boolean;
@@ -0,0 +1,2 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ export declare function validateMinDate(maxDate: Date, date: Date, calendarView: CalendarViewEnum): boolean;
@@ -0,0 +1,2 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ export declare function validateNextDateSet(maxDate: Date, date: Date, calendarView: CalendarViewEnum): boolean;
@@ -0,0 +1,2 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ export declare function validatePreviousDateSet(minDate: Date, date: Date, calendarView: CalendarViewEnum): boolean;
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/datepicker
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/datepicker`.
@@ -0,0 +1,5 @@
1
+ export * from './lib/datepicker.component';
2
+ export * from './lib/datepicker.config';
3
+ export * from './lib/datepicker.module';
4
+ export * from './lib/directives';
5
+ export * from './lib/models';
@@ -0,0 +1,37 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import { ClickOutsideDirective } from '@odx/angular';
3
+ import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
4
+ import { DateFilter } from '@odx/angular/components/calendar';
5
+ import { DropdownDirective } from '@odx/angular/components/dropdown';
6
+ import { DatepickerInputControlDirective } from './directives';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@odx/angular";
9
+ export declare class DatepickerComponent extends CustomFormControl<Date | null> implements AfterViewInit {
10
+ protected readonly takeUntilDestroyed: <T>() => import("rxjs").MonoTypeOperatorFunction<T>;
11
+ protected readonly clickOutsideDirective: ClickOutsideDirective;
12
+ protected readonly config: {
13
+ inputDateOrder: string;
14
+ inputDateSeparator: string;
15
+ };
16
+ readonly element: ElementRef<HTMLElement>;
17
+ get isOpen(): boolean;
18
+ filterFn: DateFilter | null;
19
+ minDate: Date | null;
20
+ maxDate: Date | null;
21
+ selectedChange: EventEmitter<Date>;
22
+ dropdown: DropdownDirective;
23
+ dropdownTriggerElement: ElementRef<HTMLElement>;
24
+ dateField?: DatepickerInputControlDirective;
25
+ constructor();
26
+ ngAfterViewInit(): void;
27
+ selectDate(value: Date | null): void;
28
+ protected handleDateFieldChanges(): void;
29
+ protected handleDateFieldFocus(): void;
30
+ protected handleClickOutside(): void;
31
+ protected closeDropdown(): void;
32
+ protected clickOutside(): void;
33
+ protected openDatepicker(event: KeyboardEvent): void;
34
+ private updateDateField;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "odx-datepicker", never, { "filterFn": "filterFn"; "minDate": "minDate"; "maxDate": "maxDate"; }, { "selectedChange": "selectedChange"; }, ["dateField"], ["input[odxDatepickerControl]"], true, [{ directive: typeof i1.ClickOutsideDirective; inputs: {}; outputs: {}; }]>;
37
+ }
@@ -0,0 +1,29 @@
1
+ import { DatepickerInputDateOrder } from './models';
2
+ export interface DatepickerConfig {
3
+ /**
4
+ * Date's order ('DMY' | 'MDY' | 'YMD').
5
+ * @default DatepickerInputDateOrder.DMY
6
+ */
7
+ inputDateOrder: DatepickerInputDateOrder;
8
+ /**
9
+ * Single-character date's separator (dot, slash etc.).
10
+ * @default '.'
11
+ */
12
+ inputDateSeparator: string;
13
+ }
14
+ export declare const DatepickerConfig: import("@angular/core").InjectionToken<Partial<{
15
+ inputDateOrder: string;
16
+ inputDateSeparator: string;
17
+ }>>, DatepickerDefaultConfig: {
18
+ inputDateOrder: string;
19
+ inputDateSeparator: string;
20
+ }, injectDatepickerConfig: () => {
21
+ inputDateOrder: string;
22
+ inputDateSeparator: string;
23
+ }, provideDatepickerConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<{
24
+ inputDateOrder: string;
25
+ inputDateSeparator: string;
26
+ }>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
27
+ inputDateOrder: string;
28
+ inputDateSeparator: string;
29
+ }>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./datepicker.component";
3
+ import * as i2 from "./directives/datepicker-input-control.directive";
4
+ import * as i3 from "@odx/angular";
5
+ export declare class DatepickerModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DatepickerModule, never, [typeof i1.DatepickerComponent, typeof i2.DatepickerInputControlDirective], [typeof i3.CoreModule, typeof i1.DatepickerComponent, typeof i2.DatepickerInputControlDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<DatepickerModule>;
9
+ }
@@ -0,0 +1,24 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ReadonlyController } from '@odx/angular';
3
+ import { InputControlDirective } from '@odx/angular/cdk/custom-form-control';
4
+ import { NgxMaskPipe } from 'ngx-mask';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@odx/angular";
7
+ export declare class DatepickerInputControlDirective extends InputControlDirective {
8
+ private readonly maskConfig;
9
+ protected readonly readonlyController: ReadonlyController | null;
10
+ protected readonly config: {
11
+ inputDateOrder: string;
12
+ inputDateSeparator: string;
13
+ };
14
+ protected readonly inputMask: string;
15
+ protected readonly ngxMaskPipe: NgxMaskPipe;
16
+ focused: EventEmitter<FocusEvent>;
17
+ valueChange$: import("rxjs").Observable<string>;
18
+ applyMask(): void;
19
+ get valueAsDate(): Date | null;
20
+ get placeholder(): string;
21
+ protected handleFocus(event: FocusEvent): void;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerInputControlDirective, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatepickerInputControlDirective, "input[odxDatepickerControl]", never, {}, { "focused": "focused"; }, never, never, true, [{ directive: typeof i1.WithTabIndex; inputs: {}; outputs: {}; }]>;
24
+ }
@@ -0,0 +1 @@
1
+ export * from './datepicker-input-control.directive';
@@ -0,0 +1,6 @@
1
+ export type DatepickerInputDateOrder = (typeof DatepickerInputDateOrder)[keyof typeof DatepickerInputDateOrder];
2
+ export declare const DatepickerInputDateOrder: {
3
+ DMY: string;
4
+ MDY: string;
5
+ YMD: string;
6
+ };
@@ -0,0 +1,11 @@
1
+ export type DatepickerInputPattern = typeof DatepickerInputFormat | typeof DatepickerInputMask;
2
+ export declare const DatepickerInputFormat: {
3
+ DAYS: string;
4
+ MONTH: string;
5
+ YEAR: string;
6
+ };
7
+ export declare const DatepickerInputMask: {
8
+ DAYS: string;
9
+ MONTH: string;
10
+ YEAR: string;
11
+ };
@@ -0,0 +1,2 @@
1
+ export * from './datepicker-input-date-order';
2
+ export * from './datepicker-input-pattern';
@@ -0,0 +1,3 @@
1
+ import { DatepickerConfig } from '../datepicker.config';
2
+ export declare function getDatepickerInputFormat(config: DatepickerConfig): string;
3
+ export declare function getDatepickerInputMask(config: DatepickerConfig): string;
@@ -0,0 +1,2 @@
1
+ import { DatepickerConfig } from '../datepicker.config';
2
+ export declare function getDatepickerInputValueAsDate(config: DatepickerConfig, value: string): Date | null;
@@ -0,0 +1,2 @@
1
+ export * from './get-datepicker-input-pattern';
2
+ export * from './get-datepicker-input-value-as-date';
@@ -1 +1 @@
1
- export * from './select-search-field.directive';
1
+ export * from './select-input-control.directive';
@@ -0,0 +1,9 @@
1
+ import { InputControlDirective } from '@odx/angular/cdk/custom-form-control';
2
+ import { DynamicContent } from '@odx/angular/cdk/dynamic-view';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SelectInputControlDirective extends InputControlDirective {
5
+ notFoundContent: DynamicContent | null;
6
+ handleDelete(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectInputControlDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectInputControlDirective, "input[odxSelectSearchField]", never, { "notFoundContent": "odxSelectSearchField"; }, {}, never, never, true, never>;
9
+ }
@@ -1,13 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { StringifyFn } from '@odx/angular';
3
2
  import { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';
4
- import { SelectSearchFieldDirective } from '../directives';
5
3
  import * as i0 from "@angular/core";
6
- export declare class SelectSearchFilterPipe<T> extends BaseSearchFilterPipe<T> implements PipeTransform {
7
- protected readonly hostController: import("@odx/angular/components/select").SelectComponent<unknown> | null;
8
- protected get searchField(): SelectSearchFieldDirective | undefined;
9
- protected queryHandler(query: string): string;
10
- protected get searchBy(): StringifyFn<T>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectSearchFilterPipe<any>, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<SelectSearchFilterPipe<any>, "odxSelectSearchFilter", true>;
4
+ export declare class SelectSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectSearchFilterPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<SelectSearchFilterPipe, "odxSelectSearchFilter", true>;
13
7
  }
@@ -3,7 +3,7 @@ import { AfterViewInit, QueryList, TemplateRef } from '@angular/core';
3
3
  import { IdentityMatcher } from '@odx/angular';
4
4
  import { AutocompleteControl } from '@odx/angular/cdk/autocomplete-control';
5
5
  import { SelectOptionComponent } from './components';
6
- import { SelectSearchFieldDirective } from './directives';
6
+ import { SelectInputControlDirective } from './directives';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class SelectComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {
9
9
  static ngAcceptInputType_multiple: BooleanInput;
@@ -11,7 +11,7 @@ export declare class SelectComponent<T = unknown> extends AutocompleteControl<T
11
11
  protected selectedOption: SelectOptionComponent<T> | null;
12
12
  protected selectedOptionText: string | null;
13
13
  protected options?: QueryList<SelectOptionComponent<T>>;
14
- searchField?: SelectSearchFieldDirective;
14
+ searchField?: SelectInputControlDirective;
15
15
  get selectedOptionContent(): TemplateRef<{
16
16
  $implicit: T | null;
17
17
  }> | string | null;
@@ -1,11 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./select.component";
3
- import * as i2 from "./directives/select-search-field.directive";
3
+ import * as i2 from "./directives/select-input-control.directive";
4
4
  import * as i3 from "./pipes/select-search-filter.pipe";
5
5
  import * as i4 from "./components/select-option/select-option.component";
6
6
  import * as i5 from "@odx/angular";
7
7
  export declare class SelectModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, never, [typeof i1.SelectComponent, typeof i2.SelectSearchFieldDirective, typeof i3.SelectSearchFilterPipe, typeof i4.SelectOptionComponent], [typeof i5.CoreModule, typeof i1.SelectComponent, typeof i2.SelectSearchFieldDirective, typeof i3.SelectSearchFilterPipe, typeof i4.SelectOptionComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, never, [typeof i1.SelectComponent, typeof i2.SelectInputControlDirective, typeof i3.SelectSearchFilterPipe, typeof i4.SelectOptionComponent], [typeof i5.CoreModule, typeof i1.SelectComponent, typeof i2.SelectInputControlDirective, typeof i3.SelectSearchFilterPipe, typeof i4.SelectOptionComponent]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectModule>;
11
11
  }
@@ -1,4 +1,3 @@
1
- export * from './lib/abstract';
2
1
  export * from './lib/autocomplete-control';
3
2
  export * from './lib/pipes';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUtY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuIl19
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
87
87
  type: HostListener,
88
88
  args: ['focusout', ['$event']]
89
89
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsdUJBQXVCLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVUxRixNQUFNLE9BQWdCLG1CQUF1QixTQUFRLGlCQUEyQjtJQW9COUUsSUFBVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBWUQ7UUFDRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFsQ0osd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBT25CLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXRDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFJOUMsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBWW5DLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFNbEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBSTVDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsRUFBRSxPQUFPLEVBQW9CO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDakUsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNwRCxPQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFRUyxjQUFjLENBQUMsT0FBb0M7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVTLFlBQVk7UUFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHUyxjQUFjLENBQUMsS0FBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Z0hBMUZtQixtQkFBbUI7b0dBQW5CLG1CQUFtQix5VkFPNUIsaUJBQWlCO0FBcUI1QjtJQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQzs7c0RBRVI7MkZBOUJMLG1CQUFtQjtrQkFQeEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLFFBQVE7d0JBQzNCLHNCQUFzQixFQUFFLG9CQUFvQjtxQkFDN0M7aUJBQ0Y7MEVBU29CLFFBQVE7c0JBRDFCLFNBQVM7dUJBQUMsaUJBQWlCO2dCQXVCckIsU0FBUztzQkFEZixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixNQUFNO2dCQWtERyxjQUFjO3NCQUR2QixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzLCBTdHJpbmdpZnlGbiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDdXN0b21Gb3JtQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBPcHRpb25Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9vcHRpb24tY29udHJvbCc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIGlzRnVuY3Rpb24sIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQmFzZVNlYXJjaEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9hYnN0cmFjdCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pcy1vcGVuXSc6ICdpc09wZW4nLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkIHx8IG51bGwnLFxuICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRvY29tcGxldGVDb250cm9sPFQ+IGV4dGVuZHMgQ3VzdG9tRm9ybUNvbnRyb2w8VCB8IG51bGw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaXNMb2FkaW5nOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJvdGVjdGVkIGtleU1hbmFnZXI/OiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxPcHRpb25Db250cm9sPFQ+PjtcblxuICBwcm90ZWN0ZWQgc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bj86IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBvcHRpb25zPzogUXVlcnlMaXN0PE9wdGlvbkNvbnRyb2w8VD4+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHVibGljIGFic3RyYWN0IHNlYXJjaEZpZWxkPzogQmFzZVNlYXJjaEZpZWxkRGlyZWN0aXZlO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIHB1YmxpYyBnZXQgaGFzT3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24/LmlzT3BlbjtcbiAgfVxuXG4gIEBUcmFuc2Zvcm0oY29lcmNlQm9vbGVhblByb3BlcnR5KVxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0cmluZ2lmeT86IFN0cmluZ2lmeUZuPFQ+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG5cbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVRdWVyeUxpc3RPcHRpb24odGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmhhbmRsZVNlYXJjaEZpZWxkQ2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbE9wdGlvbkludG9WaWV3KHsgZWxlbWVudCB9OiBPcHRpb25Db250cm9sPFQ+KTogdm9pZCB7XG4gICAgY29uc3QgYmVoYXZpb3IgPSB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPyAnc21vb3RoJyA6IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNGdW5jdGlvbihlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcpKSB7XG4gICAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVRdWVyeUxpc3RPcHRpb24ob3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbnRyb2w8VD4+KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGFuZGxlU2VhcmNoRmllbGRDaGFuZ2VzKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgaW5pdEtleU1hbmFnZXIob3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbnRyb2w8VD4+KTogdm9pZCB7XG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKG9wdGlvbnMpLndpdGhIb21lQW5kRW5kKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzYWJsZVNtb290aFNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbmFibGVTbW9vdGhTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bj8ub3BlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bj8uY2xvc2UoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzT3V0KGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsdUJBQXVCLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLHNDQUFzQyxDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTMUYsTUFBTSxPQUFnQixtQkFBdUIsU0FBUSxpQkFBMkI7SUFvQjlFLElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakMsQ0FBQztJQVlEO1FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBbENKLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQU9uQix1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV0QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBSTlDLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQVluQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTWxCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUk1Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFvQjtRQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pFLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBUVMsY0FBYyxDQUFDLE9BQW9DO1FBQzNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR1MsY0FBYyxDQUFDLEtBQWlCO1FBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dIQTFGbUIsbUJBQW1CO29HQUFuQixtQkFBbUIseVZBTzVCLGlCQUFpQjtBQXFCNUI7SUFBQyxTQUFTLENBQUMscUJBQXFCLENBQUM7O3NEQUVSOzJGQTlCTCxtQkFBbUI7a0JBUHhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixpQkFBaUIsRUFBRSxRQUFRO3dCQUMzQixzQkFBc0IsRUFBRSxvQkFBb0I7cUJBQzdDO2lCQUNGOzBFQVNvQixRQUFRO3NCQUQxQixTQUFTO3VCQUFDLGlCQUFpQjtnQkF1QnJCLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsTUFBTTtnQkFrREcsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcywgU3RyaW5naWZ5Rm4gfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wsIElucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBPcHRpb25Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9vcHRpb24tY29udHJvbCc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIGlzRnVuY3Rpb24sIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtb3Blbl0nOiAnaXNPcGVuJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCB8fCBudWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0b2NvbXBsZXRlQ29udHJvbDxUPiBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPFQgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2lzTG9hZGluZzogQm9vbGVhbklucHV0O1xuXG4gIHByb3RlY3RlZCBrZXlNYW5hZ2VyPzogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8T3B0aW9uQ29udHJvbDxUPj47XG5cbiAgcHJvdGVjdGVkIHNtb290aFNjcm9sbEVuYWJsZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24/OiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgb3B0aW9ucz86IFF1ZXJ5TGlzdDxPcHRpb25Db250cm9sPFQ+PjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBzZWFyY2hGaWVsZD86IElucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBwdWJsaWMgZ2V0IGhhc09wdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5vcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5pc09wZW47XG4gIH1cblxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KClcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdHJpbmdpZnk/OiBTdHJpbmdpZnlGbjxUPjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucykgcmV0dXJuO1xuXG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcih0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuaGFuZGxlUXVlcnlMaXN0T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxPcHRpb25JbnRvVmlldyh7IGVsZW1lbnQgfTogT3B0aW9uQ29udHJvbDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGJlaGF2aW9yID0gdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID8gJ3Ntb290aCcgOiB1bmRlZmluZWQ7XG4gICAgaWYgKGlzRnVuY3Rpb24oZWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KSkge1xuICAgICAgZWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdjZW50ZXInLCBiZWhhdmlvciB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGFuZGxlUXVlcnlMaXN0T3B0aW9uKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db250cm9sPFQ+Pik6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZVNlYXJjaEZpZWxkQ2hhbmdlcygpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBhY3RpdmF0ZVNlbGVjdGVkT3B0aW9uKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGluaXRLZXlNYW5hZ2VyKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db250cm9sPFQ+Pik6IHZvaWQge1xuICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcihvcHRpb25zKS53aXRoSG9tZUFuZEVuZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc2FibGVTbW9vdGhTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5hYmxlU21vb3RoU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd24/Lm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd24/LmNsb3NlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,19 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { inject } from '@angular/core';
2
+ import { inject, InjectionToken } from '@angular/core';
3
3
  import { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER } from '@odx/angular';
4
4
  import { Pure } from '@odx/angular/utils';
5
+ export const ODX_SEARCH_FILTER_HOST = new InjectionToken('@odx/angular/cdk/autocomplete-control::SearchFilterHost');
5
6
  export class BaseSearchFilterPipe {
6
7
  constructor() {
7
8
  this.stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);
8
- this.stringify = inject(ODX_STRINGIFY);
9
+ this.defaultStringify = inject(ODX_STRINGIFY);
10
+ this.hostController = inject(ODX_SEARCH_FILTER_HOST, { optional: true });
11
+ }
12
+ get searchField() {
13
+ return this.hostController?.searchField;
14
+ }
15
+ get stringify() {
16
+ return this.hostController?.stringify ?? this.defaultStringify;
9
17
  }
10
18
  transform(items, searchHandler) {
11
19
  if (this.searchField) {
@@ -13,6 +21,9 @@ export class BaseSearchFilterPipe {
13
21
  }
14
22
  return items;
15
23
  }
24
+ queryHandler(query) {
25
+ return query?.trim() || '';
26
+ }
16
27
  filter(items, query, searchHandler) {
17
28
  if (!items)
18
29
  return null;
@@ -20,7 +31,7 @@ export class BaseSearchFilterPipe {
20
31
  if (query === '')
21
32
  return items;
22
33
  const search = searchHandler ?? this.stringSearchHandler;
23
- return items.filter((item) => search(this.searchBy(item), query));
34
+ return items.filter((item) => search(this.stringify(item), query));
24
35
  }
25
36
  }
26
37
  __decorate([
@@ -29,4 +40,4 @@ __decorate([
29
40
  __metadata("design:paramtypes", [Object, String, Function]),
30
41
  __metadata("design:returntype", Object)
31
42
  ], BaseSearchFilterPipe.prototype, "filter", null);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWFyY2gtZmlsdGVyLXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvcGlwZXMvYmFzZS1zZWFyY2gtZmlsdGVyLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBb0MsTUFBTSxjQUFjLENBQUM7QUFDMUcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzFDLE1BQU0sT0FBZ0Isb0JBQW9CO0lBQTFDO1FBQ21CLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3RELGNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUF5QnZELENBQUM7SUF2QlEsU0FBUyxDQUFDLEtBQWlCLEVBQUUsYUFBbUM7UUFDckUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQU9PLE1BQU0sQ0FBQyxLQUFpQixFQUFFLEtBQWEsRUFBRSxhQUFtQztRQUNsRixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXhCLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUUvQixNQUFNLE1BQU0sR0FBRyxhQUFhLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBRXpELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFaQztJQUFDLElBQUk7Ozs7a0RBV0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9EWF9TVFJJTkdJRlksIE9EWF9TVFJJTkdfU0VBUkNIX0hBTkRMRVIsIFN0cmluZ2lmeUZuLCBTdHJpbmdTZWFyY2hIYW5kbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IFB1cmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQmFzZVNlYXJjaEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vYWJzdHJhY3QnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlYXJjaEZpbHRlclBpcGU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0cmluZ1NlYXJjaEhhbmRsZXIgPSBpbmplY3QoT0RYX1NUUklOR19TRUFSQ0hfSEFORExFUik7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdHJpbmdpZnkgPSBpbmplY3QoT0RYX1NUUklOR0lGWSk7XG5cbiAgcHVibGljIHRyYW5zZm9ybShpdGVtczogVFtdIHwgbnVsbCwgc2VhcmNoSGFuZGxlcj86IFN0cmluZ1NlYXJjaEhhbmRsZXIpOiBUW10gfCBudWxsIHtcbiAgICBpZiAodGhpcy5zZWFyY2hGaWVsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGl0ZW1zLCB0aGlzLnNlYXJjaEZpZWxkLm5hdGl2ZUVsZW1lbnRWYWx1ZSwgc2VhcmNoSGFuZGxlcik7XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgc2VhcmNoRmllbGQoKTogQmFzZVNlYXJjaEZpZWxkRGlyZWN0aXZlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHNlYXJjaEJ5KCk6IFN0cmluZ2lmeUZuPFQ+O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcXVlcnlIYW5kbGVyKHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgQFB1cmVcbiAgcHJpdmF0ZSBmaWx0ZXIoaXRlbXM6IFRbXSB8IG51bGwsIHF1ZXJ5OiBzdHJpbmcsIHNlYXJjaEhhbmRsZXI/OiBTdHJpbmdTZWFyY2hIYW5kbGVyKTogVFtdIHwgbnVsbCB7XG4gICAgaWYgKCFpdGVtcykgcmV0dXJuIG51bGw7XG5cbiAgICBxdWVyeSA9IHRoaXMucXVlcnlIYW5kbGVyKHF1ZXJ5KTtcblxuICAgIGlmIChxdWVyeSA9PT0gJycpIHJldHVybiBpdGVtcztcblxuICAgIGNvbnN0IHNlYXJjaCA9IHNlYXJjaEhhbmRsZXIgPz8gdGhpcy5zdHJpbmdTZWFyY2hIYW5kbGVyO1xuXG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gc2VhcmNoKHRoaXMuc2VhcmNoQnkoaXRlbSksIHF1ZXJ5KSk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWFyY2gtZmlsdGVyLXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvcGlwZXMvYmFzZS1zZWFyY2gtZmlsdGVyLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLHlCQUF5QixFQUFvQyxNQUFNLGNBQWMsQ0FBQztBQUUxRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPMUMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHlEQUF5RCxDQUFDLENBQUM7QUFFcEksTUFBTSxPQUFnQixvQkFBb0I7SUFBMUM7UUFDbUIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFpQ3pGLENBQUM7SUEvQkMsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQWMsU0FBUztRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRSxDQUFDO0lBRU0sU0FBUyxDQUFJLEtBQWlCLEVBQUUsYUFBbUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBR08sTUFBTSxDQUFJLEtBQWlCLEVBQUUsS0FBYSxFQUFFLGFBQW1DO1FBQ3JGLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEIsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRS9CLE1BQU0sTUFBTSxHQUFHLGFBQWEsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFFekQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQVpDO0lBQUMsSUFBSTs7OztrREFXSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9EWF9TVFJJTkdJRlksIE9EWF9TVFJJTkdfU0VBUkNIX0hBTkRMRVIsIFN0cmluZ2lmeUZuLCBTdHJpbmdTZWFyY2hIYW5kbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IElucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBQdXJlIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuaW50ZXJmYWNlIEhvc3RDb250cm9sbGVyIHtcbiAgc2VhcmNoRmllbGQ/OiBJbnB1dENvbnRyb2xEaXJlY3RpdmU7XG4gIHN0cmluZ2lmeT86IFN0cmluZ2lmeUZuPHVua25vd24+O1xufVxuXG5leHBvcnQgY29uc3QgT0RYX1NFQVJDSF9GSUxURVJfSE9TVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIb3N0Q29udHJvbGxlcj4oJ0BvZHgvYW5ndWxhci9jZGsvYXV0b2NvbXBsZXRlLWNvbnRyb2w6OlNlYXJjaEZpbHRlckhvc3QnKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZWFyY2hGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RyaW5nU2VhcmNoSGFuZGxlciA9IGluamVjdChPRFhfU1RSSU5HX1NFQVJDSF9IQU5ETEVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0U3RyaW5naWZ5ID0gaW5qZWN0KE9EWF9TVFJJTkdJRlkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdENvbnRyb2xsZXIgPSBpbmplY3QoT0RYX1NFQVJDSF9GSUxURVJfSE9TVCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgZ2V0IHNlYXJjaEZpZWxkKCk6IElucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdENvbnRyb2xsZXI/LnNlYXJjaEZpZWxkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzdHJpbmdpZnkoKTogU3RyaW5naWZ5Rm48dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RDb250cm9sbGVyPy5zdHJpbmdpZnkgPz8gdGhpcy5kZWZhdWx0U3RyaW5naWZ5O1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybTxUPihpdGVtczogVFtdIHwgbnVsbCwgc2VhcmNoSGFuZGxlcj86IFN0cmluZ1NlYXJjaEhhbmRsZXIpOiBUW10gfCBudWxsIHtcbiAgICBpZiAodGhpcy5zZWFyY2hGaWVsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGl0ZW1zLCB0aGlzLnNlYXJjaEZpZWxkLm5hdGl2ZUVsZW1lbnRWYWx1ZSwgc2VhcmNoSGFuZGxlcik7XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBxdWVyeUhhbmRsZXIocXVlcnk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHF1ZXJ5Py50cmltKCkgfHwgJyc7XG4gIH1cblxuICBAUHVyZVxuICBwcml2YXRlIGZpbHRlcjxUPihpdGVtczogVFtdIHwgbnVsbCwgcXVlcnk6IHN0cmluZywgc2VhcmNoSGFuZGxlcj86IFN0cmluZ1NlYXJjaEhhbmRsZXIpOiBUW10gfCBudWxsIHtcbiAgICBpZiAoIWl0ZW1zKSByZXR1cm4gbnVsbDtcblxuICAgIHF1ZXJ5ID0gdGhpcy5xdWVyeUhhbmRsZXIocXVlcnkpO1xuXG4gICAgaWYgKHF1ZXJ5ID09PSAnJykgcmV0dXJuIGl0ZW1zO1xuXG4gICAgY29uc3Qgc2VhcmNoID0gc2VhcmNoSGFuZGxlciA/PyB0aGlzLnN0cmluZ1NlYXJjaEhhbmRsZXI7XG5cbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBzZWFyY2godGhpcy5zdHJpbmdpZnkoaXRlbSksIHF1ZXJ5KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './lib/control.directive';
2
2
  export * from './lib/custom-form-control';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuIl19
3
+ export * from './lib/input-control.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnB1dC1jb250cm9sLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Directive } from '@angular/core';
2
+ import { injectElement, untilDestroyed } from '@odx/angular/utils';
3
+ import { distinctUntilChanged, fromEvent, map } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class InputControlDirective {
6
+ constructor() {
7
+ this.takeUntilDestroyed = untilDestroyed();
8
+ this.element = injectElement();
9
+ this.valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(distinctUntilChanged(), map(() => this.nativeElementValue));
10
+ }
11
+ get nativeElementValue() {
12
+ return this.element.nativeElement.value;
13
+ }
14
+ set nativeElementValue(value) {
15
+ this.element.nativeElement.value = value;
16
+ }
17
+ focus() {
18
+ this.element.nativeElement.focus();
19
+ }
20
+ blur() {
21
+ this.element.nativeElement.blur();
22
+ }
23
+ reset() {
24
+ this.element.nativeElement.value = '';
25
+ }
26
+ }
27
+ InputControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InputControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ InputControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: InputControlDirective, isStandalone: true, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InputControlDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ standalone: true,
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wvc3JjL2xpYi9pbnB1dC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzVELE1BQU0sT0FBZ0IscUJBQXFCO0lBSDNDO1FBSXFCLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxhQUFhLEVBQW9CLENBQUM7UUFFckQsaUJBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2RSxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ25DLENBQUM7S0FxQkg7SUFuQkMsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsa0JBQWtCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7a0hBNUJtQixxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnB1dENvbnRyb2xEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICBwdWJsaWMgdmFsdWVDaGFuZ2UkID0gZnJvbUV2ZW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKCgpID0+IHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKSxcbiAgKTtcblxuICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbmF0aXZlRWxlbWVudFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxufVxuIl19
@@ -1,18 +1,18 @@
1
1
  import { Directive, ElementRef, inject, NgZone } from '@angular/core';
2
2
  import { untilDestroyed } from '@odx/angular/utils';
3
3
  import { BaseChartDirective, ThemeService } from 'ng2-charts';
4
- import { ChartsThemeServise } from './charts-theme.service';
4
+ import { ChartsThemeService } from './charts-theme.service';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "ng2-charts";
7
7
  export class ChartThemeDirective extends BaseChartDirective {
8
8
  constructor(element, ngzone, parentThemeService) {
9
9
  super(element, ngzone, parentThemeService);
10
- this.chartsThemeServise = inject(ChartsThemeServise);
10
+ this.chartsThemeService = inject(ChartsThemeService);
11
11
  this.takeUntilDestroyed = untilDestroyed();
12
- this.chartsThemeServise.observeThemeChanging$
12
+ this.chartsThemeService.observeThemeChanging$
13
13
  .pipe(this.takeUntilDestroyed())
14
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- .subscribe(() => this.chartsThemeServise.setTheme(this.chart?.config));
15
+ .subscribe(() => this.chartsThemeService.setTheme(this.chart?.config));
16
16
  }
17
17
  }
18
18
  ChartThemeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive });
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
24
24
  standalone: true,
25
25
  }]
26
26
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ThemeService }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUl6RCxZQUFZLE9BQW1CLEVBQUUsTUFBYyxFQUFFLGtCQUFnQztRQUMvRSxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBSjVCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBSXJELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUI7YUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hDLDhEQUE4RDthQUM3RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQWEsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7Z0hBVlUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCYXNlQ2hhcnREaXJlY3RpdmUsIFRoZW1lU2VydmljZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgQ2hhcnRzVGhlbWVTZXJ2aXNlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2NhbnZhc1tvZHhDaGFydF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lRGlyZWN0aXZlIGV4dGVuZHMgQmFzZUNoYXJ0RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFydHNUaGVtZVNlcnZpc2UgPSBpbmplY3QoQ2hhcnRzVGhlbWVTZXJ2aXNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG5nem9uZTogTmdab25lLCBwYXJlbnRUaGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnQsIG5nem9uZSwgcGFyZW50VGhlbWVTZXJ2aWNlKTtcbiAgICB0aGlzLmNoYXJ0c1RoZW1lU2VydmlzZS5vYnNlcnZlVGhlbWVDaGFuZ2luZyRcbiAgICAgIC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYXJ0c1RoZW1lU2VydmlzZS5zZXRUaGVtZSh0aGlzLmNoYXJ0Py5jb25maWcgYXMgYW55KSk7XG4gIH1cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUl6RCxZQUFZLE9BQW1CLEVBQUUsTUFBYyxFQUFFLGtCQUFnQztRQUMvRSxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBSjVCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBSXJELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUI7YUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hDLDhEQUE4RDthQUM3RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQWEsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7Z0hBVlUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCYXNlQ2hhcnREaXJlY3RpdmUsIFRoZW1lU2VydmljZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgQ2hhcnRzVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2NhbnZhc1tvZHhDaGFydF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lRGlyZWN0aXZlIGV4dGVuZHMgQmFzZUNoYXJ0RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFydHNUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ2hhcnRzVGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG5nem9uZTogTmdab25lLCBwYXJlbnRUaGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnQsIG5nem9uZSwgcGFyZW50VGhlbWVTZXJ2aWNlKTtcbiAgICB0aGlzLmNoYXJ0c1RoZW1lU2VydmljZS5vYnNlcnZlVGhlbWVDaGFuZ2luZyRcbiAgICAgIC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYXJ0c1RoZW1lU2VydmljZS5zZXRUaGVtZSh0aGlzLmNoYXJ0Py5jb25maWcgYXMgYW55KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { BaseChartDirective, NgChartsConfiguration, NgChartsModule } from 'ng2-charts';
3
3
  import { ChartThemeDirective } from './charts-theme.directive';
4
- import { ChartsThemeServise } from './charts-theme.service';
4
+ import { ChartsThemeService } from './charts-theme.service';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ChartThemeModule {
7
7
  }
@@ -11,7 +11,7 @@ ChartThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
11
11
  {
12
12
  provide: NgChartsConfiguration,
13
13
  useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
14
- deps: [ChartsThemeServise],
14
+ deps: [ChartsThemeService],
15
15
  },
16
16
  BaseChartDirective,
17
17
  ], imports: [NgChartsModule, NgChartsModule] });
@@ -23,11 +23,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
23
23
  {
24
24
  provide: NgChartsConfiguration,
25
25
  useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
26
- deps: [ChartsThemeServise],
26
+ deps: [ChartsThemeService],
27
27
  },
28
28
  BaseChartDirective,
29
29
  ],
30
30
  exports: [NgChartsModule, ChartThemeDirective],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBYzVELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixZQVhqQixjQUFjLEVBQUUsbUJBQW1CLGFBU25DLGNBQWMsRUFBRSxtQkFBbUI7OEdBRWxDLGdCQUFnQixhQVZoQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixVQUFVLEVBQUUsQ0FBQyxPQUEyQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3hHLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0Qsa0JBQWtCO0tBQ25CLFlBUlMsY0FBYyxFQVNkLGNBQWM7MkZBRWIsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDOUMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7NEJBQ3hHLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO3lCQUMzQjt3QkFDRCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlLCBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sIE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5pbXBvcnQgeyBDaGFydFRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoYXJ0c1RoZW1lU2VydmlzZSB9IGZyb20gJy4vY2hhcnRzLXRoZW1lLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VGYWN0b3J5OiAoc2VydmljZTogQ2hhcnRzVGhlbWVTZXJ2aXNlKSA9PiAoeyBkZWZhdWx0czogc2VydmljZS5nZXRPdmVycmlkZXMsIGdlbmVyYXRlQ29sb3JzOiBmYWxzZSB9KSxcbiAgICAgIGRlcHM6IFtDaGFydHNUaGVtZVNlcnZpc2VdLFxuICAgIH0sXG4gICAgQmFzZUNoYXJ0RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lTW9kdWxlIHt9XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBYzVELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixZQVhqQixjQUFjLEVBQUUsbUJBQW1CLGFBU25DLGNBQWMsRUFBRSxtQkFBbUI7OEdBRWxDLGdCQUFnQixhQVZoQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixVQUFVLEVBQUUsQ0FBQyxPQUEyQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3hHLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0Qsa0JBQWtCO0tBQ25CLFlBUlMsY0FBYyxFQVNkLGNBQWM7MkZBRWIsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDOUMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7NEJBQ3hHLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO3lCQUMzQjt3QkFDRCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlLCBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sIE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5pbXBvcnQgeyBDaGFydFRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoYXJ0c1RoZW1lU2VydmljZSB9IGZyb20gJy4vY2hhcnRzLXRoZW1lLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VGYWN0b3J5OiAoc2VydmljZTogQ2hhcnRzVGhlbWVTZXJ2aWNlKSA9PiAoeyBkZWZhdWx0czogc2VydmljZS5nZXRPdmVycmlkZXMsIGdlbmVyYXRlQ29sb3JzOiBmYWxzZSB9KSxcbiAgICAgIGRlcHM6IFtDaGFydHNUaGVtZVNlcnZpY2VdLFxuICAgIH0sXG4gICAgQmFzZUNoYXJ0RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lTW9kdWxlIHt9XG4iXX0=