@wlcm/angular 18.2.25 → 18.2.26

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 (188) hide show
  1. package/button/esm2022/index.mjs +3 -0
  2. package/button/esm2022/lib/button.module.mjs +16 -0
  3. package/button/esm2022/lib/components/button/button.component.mjs +37 -0
  4. package/button/esm2022/lib/models/button.models.mjs +2 -0
  5. package/button/esm2022/wlcm-angular-button.mjs +5 -0
  6. package/button/fesm2022/wlcm-angular-button.mjs +7 -7
  7. package/button/fesm2022/wlcm-angular-button.mjs.map +1 -1
  8. package/core/esm2022/index.mjs +17 -0
  9. package/core/esm2022/lib/components/default-loader/default-loader.component.mjs +12 -0
  10. package/core/esm2022/lib/components/icons/calendar-icon/calendar-icon.component.mjs +12 -0
  11. package/core/esm2022/lib/components/icons/chevron-down-icon/chevron-down-icon.component.mjs +12 -0
  12. package/core/esm2022/lib/components/icons/close-icon/close-icon.component.mjs +12 -0
  13. package/core/esm2022/lib/components/icons/search-icon/search-icon.component.mjs +12 -0
  14. package/core/esm2022/lib/components/loader/loader.component.mjs +32 -0
  15. package/core/esm2022/lib/constants/_index.mjs +3 -0
  16. package/core/esm2022/lib/constants/http.constants.mjs +6 -0
  17. package/core/esm2022/lib/constants/icon.contants.mjs +15 -0
  18. package/core/esm2022/lib/constants/loader.constants.mjs +7 -0
  19. package/core/esm2022/lib/directives/_index.mjs +2 -0
  20. package/core/esm2022/lib/directives/icon.directive.mjs +49 -0
  21. package/core/esm2022/lib/models/_index.mjs +3 -0
  22. package/core/esm2022/lib/models/icon.models.mjs +7 -0
  23. package/core/esm2022/lib/models/option.models.mjs +17 -0
  24. package/core/esm2022/lib/services/scroll-detection.api.mjs +27 -0
  25. package/core/esm2022/lib/utils/paginated-data-emulator.utils.mjs +20 -0
  26. package/core/esm2022/lib/utils/stream.utils.mjs +16 -0
  27. package/core/esm2022/wlcm-angular-core.mjs +5 -0
  28. package/core/fesm2022/wlcm-angular-core.mjs +24 -24
  29. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
  30. package/datepicker/esm2022/index.mjs +11 -0
  31. package/datepicker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +63 -0
  32. package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +87 -0
  33. package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +174 -0
  34. package/datepicker/esm2022/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +19 -0
  35. package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +124 -0
  36. package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +92 -0
  37. package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +33 -0
  38. package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +23 -0
  39. package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +3 -0
  40. package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
  41. package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
  42. package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
  43. package/datepicker/esm2022/lib/directives/calendar.directive.mjs +15 -0
  44. package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +103 -0
  45. package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +109 -0
  46. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +81 -0
  47. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +81 -0
  48. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +56 -0
  49. package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +51 -0
  50. package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +64 -0
  51. package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
  52. package/datepicker/esm2022/lib/models/date-picker.models.mjs +29 -0
  53. package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +61 -0
  54. package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +2 -0
  55. package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
  56. package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
  57. package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
  58. package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
  59. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +728 -824
  60. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
  61. package/datepicker/index.d.ts +1 -4
  62. package/datepicker/lib/components/range/{double-calendar-range-picker/double-calendar-range-picker.component.d.ts → date-range-picker/date-range-picker.component.d.ts} +16 -12
  63. package/datepicker/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +3 -3
  64. package/datepicker/lib/components/range/date-range-picker-input/date-range-picker-input.component.d.ts +5 -5
  65. package/datepicker/lib/constants/datepicker.constants.d.ts +1 -1
  66. package/datepicker/lib/constants/range/date-range-picker.constants.d.ts +1 -2
  67. package/datepicker/lib/directives/datepicker-input.base.d.ts +1 -1
  68. package/datepicker/lib/directives/datepicker-trigger.base.d.ts +4 -3
  69. package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +1 -1
  70. package/datepicker/lib/models/range/data-range-calendar.models.d.ts +1 -1
  71. package/datepicker/lib/models/range/date-range-picker.models.d.ts +1 -15
  72. package/filters/esm2022/index.mjs +6 -0
  73. package/filters/esm2022/lib/components/filters-group/filters-group.component.mjs +13 -0
  74. package/filters/esm2022/lib/constants/filter.constants.mjs +3 -0
  75. package/filters/esm2022/lib/constants/index.mjs +2 -0
  76. package/filters/esm2022/lib/directives/filter.directive.mjs +11 -0
  77. package/filters/esm2022/lib/directives/index.mjs +2 -0
  78. package/filters/esm2022/lib/filters.module.mjs +20 -0
  79. package/filters/esm2022/lib/models/array-filter.models.mjs +73 -0
  80. package/filters/esm2022/lib/models/filter.models.mjs +39 -0
  81. package/filters/esm2022/lib/models/filters-group.models.mjs +60 -0
  82. package/filters/esm2022/lib/models/index.mjs +4 -0
  83. package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
  84. package/filters/fesm2022/wlcm-angular-filters.mjs +13 -13
  85. package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -1
  86. package/filters/lib/models/filters-group.models.d.ts +1 -1
  87. package/forms/esm2022/index.mjs +13 -0
  88. package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +242 -0
  89. package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +85 -0
  90. package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +87 -0
  91. package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
  92. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +137 -0
  93. package/forms/esm2022/lib/forms/components/index.mjs +9 -0
  94. package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
  95. package/forms/esm2022/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.mjs +19 -0
  96. package/forms/esm2022/lib/forms/components/partials/index.mjs +2 -0
  97. package/forms/esm2022/lib/forms/components/select/select.component.mjs +317 -0
  98. package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
  99. package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
  100. package/forms/esm2022/lib/forms/constants/form-field.constants.mjs +2 -0
  101. package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
  102. package/forms/esm2022/lib/forms/constants/index.mjs +6 -0
  103. package/forms/esm2022/lib/forms/constants/select.constants.mjs +3 -0
  104. package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +64 -0
  105. package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
  106. package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
  107. package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +22 -0
  108. package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
  109. package/forms/esm2022/lib/forms/directives/input.directive.mjs +47 -0
  110. package/forms/esm2022/lib/forms/directives/select-input-binder.directive.mjs +33 -0
  111. package/forms/esm2022/lib/forms/forms.module.mjs +64 -0
  112. package/forms/esm2022/lib/forms/models/_index.mjs +6 -0
  113. package/forms/esm2022/lib/forms/models/autocomplete.models.mjs +10 -0
  114. package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
  115. package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
  116. package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
  117. package/forms/esm2022/lib/forms/models/select.models.mjs +2 -0
  118. package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
  119. package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
  120. package/forms/esm2022/lib/forms/services/index.mjs +3 -0
  121. package/forms/esm2022/lib/forms/services/places.api.mjs +62 -0
  122. package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
  123. package/forms/fesm2022/wlcm-angular-forms.mjs +67 -76
  124. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
  125. package/forms/lib/forms/components/select/select.component.d.ts +0 -1
  126. package/forms/lib/forms/models/autocomplete.models.d.ts +1 -1
  127. package/package.json +1 -1
  128. package/phone-input/esm2022/index.mjs +5 -0
  129. package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +32 -0
  130. package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +107 -0
  131. package/phone-input/esm2022/lib/constants/country-code-options.constants.mjs +20 -0
  132. package/phone-input/esm2022/lib/constants/phone-adapter.constants.mjs +3 -0
  133. package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +155 -0
  134. package/phone-input/esm2022/lib/models/country-code.models.mjs +10 -0
  135. package/phone-input/esm2022/lib/models/phone-adapter.models.mjs +3 -0
  136. package/phone-input/esm2022/lib/models/phone.models.mjs +5 -0
  137. package/phone-input/esm2022/lib/phone-input.module.mjs +20 -0
  138. package/phone-input/esm2022/lib/pipes/phone-code.pipe.mjs +18 -0
  139. package/phone-input/esm2022/wlcm-angular-phone-input.mjs +5 -0
  140. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +16 -16
  141. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
  142. package/search-field/esm2022/index.mjs +3 -0
  143. package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +39 -0
  144. package/search-field/esm2022/lib/search-field.module.mjs +18 -0
  145. package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
  146. package/search-field/fesm2022/wlcm-angular-search-field.mjs +7 -7
  147. package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
  148. package/stepper/esm2022/index.mjs +11 -0
  149. package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
  150. package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
  151. package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
  152. package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
  153. package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
  154. package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
  155. package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
  156. package/stepper/esm2022/lib/models/step.models.mjs +60 -0
  157. package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
  158. package/stepper/esm2022/lib/stepper.module.mjs +34 -0
  159. package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
  160. package/stepper/fesm2022/wlcm-angular-stepper.mjs +25 -25
  161. package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -1
  162. package/stepper/lib/models/step.models.d.ts +1 -1
  163. package/stepper/lib/models/stepper.models.d.ts +1 -1
  164. package/styles/components/datepicker/date-range-picker/_date-range-picker-body.scss +1 -1
  165. package/styles/components/datepicker/date-range-picker/_date-range-picker-input.scss +0 -1
  166. package/table/esm2022/index.mjs +9 -0
  167. package/table/esm2022/lib/components/table/table.component.mjs +79 -0
  168. package/table/esm2022/lib/components/table-head/table-head.component.mjs +18 -0
  169. package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +41 -0
  170. package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +12 -0
  171. package/table/esm2022/lib/components/table-row/table-row.component.mjs +87 -0
  172. package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +12 -0
  173. package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +12 -0
  174. package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +12 -0
  175. package/table/esm2022/lib/constants/table-row.constants.mjs +3 -0
  176. package/table/esm2022/lib/constants/table.constants.mjs +5 -0
  177. package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +46 -0
  178. package/table/esm2022/lib/models/table-config-manager.models.mjs +18 -0
  179. package/table/esm2022/lib/models/table-row.models.mjs +2 -0
  180. package/table/esm2022/lib/models/table-selection-model.mjs +48 -0
  181. package/table/esm2022/lib/models/table.models.mjs +2 -0
  182. package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +24 -0
  183. package/table/esm2022/lib/table.module.mjs +38 -0
  184. package/table/esm2022/lib/utils/table-errors.utils.mjs +6 -0
  185. package/table/esm2022/wlcm-angular-table.mjs +5 -0
  186. package/table/fesm2022/wlcm-angular-table.mjs +34 -34
  187. package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
  188. package/datepicker/lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component.d.ts +0 -27
@@ -0,0 +1,174 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ElementRef, Inject, Optional, ViewChild, computed, effect, signal, } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { DefaultMatCalendarRangeStrategy, MAT_DATE_RANGE_SELECTION_STRATEGY, MatCalendar, MatDateSelectionModel, MatDatepickerModule, MatMonthView, } from '@angular/material/datepicker';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import { WlcmDateRangePickerBottomPanelComponent } from '../date-range-picker-bottom-panel/date-range-picker-bottom-panel.component';
7
+ import { Subject, startWith, takeUntil, tap } from 'rxjs';
8
+ import { DateAdapter } from '@angular/material/core';
9
+ import { WlcmDateRangeCalendarHeaderComponent } from '../date-range-calendar-header/date-range-calendar-header.component';
10
+ import { WLCM_DATE_RANGE_PICKER_CONFIG } from '../../../constants/range/date-range-picker.constants';
11
+ import { WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER, WLCM_DATE_RANGE_SELECTION_MODEL, } from '../../../constants/range/date-range-selection-model.constants';
12
+ import { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../../constants/range/date-range-trigger-selection-model.constants';
13
+ import { WlcmLeftCalendarDirective } from '../../../directives/ragne/left-calendar.directive';
14
+ import { WlcmRightCalendarDirective } from '../../../directives/ragne/right-calendar.directive';
15
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
16
+ import { WlcmCalendarDirective } from '../../../directives/calendar.directive';
17
+ import { WLCM_DATEPICKER_CONFIG } from '../../../constants/datepicker.constants';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "../../../directives/datepicker-trigger.base";
20
+ import * as i2 from "@angular/material/core";
21
+ import * as i3 from "@angular/material/datepicker";
22
+ let WlcmDateRangePickerComponent = class WlcmDateRangePickerComponent {
23
+ constructor(rangeConfig, rangeSelectionStrategy, localSelectionModel, triggerSelectionModel, trigger, datepickerConfig, dateAdapter) {
24
+ this.rangeConfig = rangeConfig;
25
+ this.rangeSelectionStrategy = rangeSelectionStrategy;
26
+ this.localSelectionModel = localSelectionModel;
27
+ this.triggerSelectionModel = triggerSelectionModel;
28
+ this.trigger = trigger;
29
+ this.datepickerConfig = datepickerConfig;
30
+ this.dateAdapter = dateAdapter;
31
+ this.headerComponent = WlcmDateRangeCalendarHeaderComponent;
32
+ this._isViewInitialized = false;
33
+ this._isComplete = signal(false);
34
+ this.isComplete = computed(() => this._isComplete());
35
+ this.startDate = signal(new Date());
36
+ this.leftCalendarYearViewActivated = signal(false);
37
+ this.rightCalendarYearViewActivated = signal(false);
38
+ this.handleSelectionChanged();
39
+ this.localSelectionModel.updateSelection(this.triggerSelectionModel.selection, this);
40
+ if (this.triggerSelectionModel.selection.start) {
41
+ this.startDate.set(this.triggerSelectionModel.selection.start);
42
+ }
43
+ if (this.rangeConfig.headerComponent) {
44
+ this.headerComponent = this.rangeConfig.headerComponent;
45
+ }
46
+ effect(() => {
47
+ if (!this._isViewInitialized)
48
+ return;
49
+ this.leftCalendar.activeDate = this.startDate();
50
+ this.rightCalendar.activeDate = this.dateAdapter.addCalendarMonths(this.startDate(), 1);
51
+ this.rightCalendar.startAt = this.dateAdapter.addCalendarMonths(this.startDate(), 1);
52
+ });
53
+ }
54
+ ngAfterViewInit() {
55
+ this._isViewInitialized = true;
56
+ this.leftCalendar.viewChanged.pipe(untilDestroyed(this)).subscribe((view) => {
57
+ this.leftCalendarYearViewActivated.set(view !== 'month');
58
+ });
59
+ this.rightCalendar.viewChanged.pipe(untilDestroyed(this)).subscribe((view) => {
60
+ this.rightCalendarYearViewActivated.set(view !== 'month');
61
+ });
62
+ this.handleRightCalendarPreviewChange();
63
+ }
64
+ calendarSelection(event) {
65
+ const newSelection = this.rangeSelectionStrategy.selectionFinished(event.value, this.localSelectionModel.selection, event.event);
66
+ this.localSelectionModel.updateSelection(newSelection, this);
67
+ }
68
+ calendarDragDrop(event) {
69
+ this.localSelectionModel.updateSelection(event.value, this);
70
+ }
71
+ apply() {
72
+ this.triggerSelectionModel.updateSelection(this.localSelectionModel.selection, this);
73
+ this.trigger.close();
74
+ }
75
+ reset() {
76
+ this.trigger.close();
77
+ }
78
+ get selected() {
79
+ return this.localSelectionModel.selection;
80
+ }
81
+ get leftCalendarActiveCell() {
82
+ return this.leftCalendarElement.nativeElement.querySelector('.mat-calendar-body-active');
83
+ }
84
+ handleSelectionChanged() {
85
+ this.localSelectionModel.selectionChanged
86
+ .pipe(untilDestroyed(this))
87
+ .subscribe(() => this._isComplete.set(this.localSelectionModel.isComplete()));
88
+ }
89
+ handleRightCalendarPreviewChange() {
90
+ const viewChanged = new Subject();
91
+ this.rightCalendar.viewChanged
92
+ .pipe(untilDestroyed(this))
93
+ .pipe(tap(() => viewChanged.next()))
94
+ .pipe(startWith(this.rightCalendar.currentView))
95
+ .subscribe((view) => {
96
+ if (view !== 'month')
97
+ return;
98
+ this.rightCalendar.monthView._matCalendarBody.previewChange
99
+ .pipe(takeUntil(viewChanged), untilDestroyed(this))
100
+ .subscribe(() => {
101
+ if (this.leftCalendar.currentView !== 'month' || !this.leftCalendar.monthView._rangeStart)
102
+ return;
103
+ this.leftCalendar.monthView._previewStart = this.rightCalendar.monthView._previewStart;
104
+ this.leftCalendar.monthView._previewEnd = this.rightCalendar.monthView._previewEnd;
105
+ const activeCell = this.leftCalendarActiveCell;
106
+ if (activeCell && activeCell === document.activeElement)
107
+ activeCell.blur();
108
+ this.leftCalendar.monthView._changeDetectorRef.markForCheck();
109
+ });
110
+ });
111
+ }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerComponent, deps: [{ token: WLCM_DATE_RANGE_PICKER_CONFIG, optional: true }, { token: MAT_DATE_RANGE_SELECTION_STRATEGY }, { token: WLCM_DATE_RANGE_SELECTION_MODEL }, { token: WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL }, { token: i1.WlcmDatepickerTrigger }, { token: WLCM_DATEPICKER_CONFIG }, { token: i2.DateAdapter }], target: i0.ɵɵFactoryTarget.Component }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: WlcmDateRangePickerComponent, isStandalone: true, selector: "wlcm-date-range-picker", providers: [
114
+ {
115
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
116
+ useClass: DefaultMatCalendarRangeStrategy,
117
+ },
118
+ WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER,
119
+ ], viewQueries: [{ propertyName: "leftCalendar", first: true, predicate: WlcmLeftCalendarDirective, descendants: true, read: MatCalendar }, { propertyName: "rightCalendar", first: true, predicate: WlcmRightCalendarDirective, descendants: true, read: MatCalendar }, { propertyName: "leftCalendarElement", first: true, predicate: WlcmLeftCalendarDirective, descendants: true, read: ElementRef }, { propertyName: "monthView", first: true, predicate: MatMonthView, descendants: true }], ngImport: i0, template: "<div class=\"wlcm-date-range-picker-panel\">\n <div class=\"wlcm-date-range-picker-body\">\n <mat-calendar\n wlcmCalendar\n wlcmLeftCalendar\n [selected]=\"selected\"\n [disabled]=\"rightCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n\n <mat-calendar\n wlcmCalendar\n wlcmRightCalendar\n [selected]=\"selected\"\n [disabled]=\"leftCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n </div>\n\n <wlcm-date-range-picker-bottom-panel></wlcm-date-range-picker-bottom-panel>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "directive", type: WlcmCalendarDirective, selector: "[wlcmCalendar]" }, { kind: "directive", type: WlcmLeftCalendarDirective, selector: "[wlcmLeftCalendar]" }, { kind: "directive", type: WlcmRightCalendarDirective, selector: "[wlcmRightCalendar]" }, { kind: "component", type: WlcmDateRangePickerBottomPanelComponent, selector: "wlcm-date-range-picker-bottom-panel" }] }); }
120
+ };
121
+ WlcmDateRangePickerComponent = __decorate([
122
+ UntilDestroy(),
123
+ __metadata("design:paramtypes", [Object, Object, MatDateSelectionModel,
124
+ MatDateSelectionModel,
125
+ WlcmDatepickerTrigger, Object, DateAdapter])
126
+ ], WlcmDateRangePickerComponent);
127
+ export { WlcmDateRangePickerComponent };
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'wlcm-date-range-picker', standalone: true, imports: [
131
+ CommonModule,
132
+ MatDatepickerModule,
133
+ WlcmCalendarDirective,
134
+ WlcmLeftCalendarDirective,
135
+ WlcmRightCalendarDirective,
136
+ WlcmDateRangePickerBottomPanelComponent,
137
+ ], providers: [
138
+ {
139
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
140
+ useClass: DefaultMatCalendarRangeStrategy,
141
+ },
142
+ WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER,
143
+ ], template: "<div class=\"wlcm-date-range-picker-panel\">\n <div class=\"wlcm-date-range-picker-body\">\n <mat-calendar\n wlcmCalendar\n wlcmLeftCalendar\n [selected]=\"selected\"\n [disabled]=\"rightCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n\n <mat-calendar\n wlcmCalendar\n wlcmRightCalendar\n [selected]=\"selected\"\n [disabled]=\"leftCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n </div>\n\n <wlcm-date-range-picker-bottom-panel></wlcm-date-range-picker-bottom-panel>\n</div>\n" }]
144
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
145
+ type: Optional
146
+ }, {
147
+ type: Inject,
148
+ args: [WLCM_DATE_RANGE_PICKER_CONFIG]
149
+ }] }, { type: undefined, decorators: [{
150
+ type: Inject,
151
+ args: [MAT_DATE_RANGE_SELECTION_STRATEGY]
152
+ }] }, { type: i3.MatDateSelectionModel, decorators: [{
153
+ type: Inject,
154
+ args: [WLCM_DATE_RANGE_SELECTION_MODEL]
155
+ }] }, { type: i3.MatDateSelectionModel, decorators: [{
156
+ type: Inject,
157
+ args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
158
+ }] }, { type: i1.WlcmDatepickerTrigger }, { type: undefined, decorators: [{
159
+ type: Inject,
160
+ args: [WLCM_DATEPICKER_CONFIG]
161
+ }] }, { type: i2.DateAdapter }], propDecorators: { leftCalendar: [{
162
+ type: ViewChild,
163
+ args: [WlcmLeftCalendarDirective, { read: MatCalendar }]
164
+ }], rightCalendar: [{
165
+ type: ViewChild,
166
+ args: [WlcmRightCalendarDirective, { read: MatCalendar }]
167
+ }], leftCalendarElement: [{
168
+ type: ViewChild,
169
+ args: [WlcmLeftCalendarDirective, { read: ElementRef }]
170
+ }], monthView: [{
171
+ type: ViewChild,
172
+ args: [MatMonthView]
173
+ }] } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29tcG9uZW50cy9yYW5nZS9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL3JhbmdlL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUdSLFNBQVMsRUFFVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLCtCQUErQixFQUMvQixpQ0FBaUMsRUFDakMsV0FBVyxFQUlYLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsWUFBWSxHQUNiLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUNySSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0Qs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O0FBWTlCLDRCQUE0QjtJQXRCeEMsWUFBWSxFQUFFO3FEQW9Db0IscUJBQXFCO1FBRW5CLHFCQUFxQjtRQUNuQyxxQkFBcUIsVUFFakIsV0FBVztHQW5CekIsNEJBQTRCLENBeUl4Qzs7MkZBeklZLDRCQUE0QjtrQkFyQnhDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsdUNBQXVDO3FCQUN4QyxhQUdVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQ0FBaUM7NEJBQzFDLFFBQVEsRUFBRSwrQkFBK0I7eUJBQzFDO3dCQUNELHdDQUF3QztxQkFDekM7OzBCQVlFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDaEQsTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUV4QyxNQUFNOzJCQUFDLCtCQUErQjs7MEJBRXRDLE1BQU07MkJBQUMsdUNBQXVDOzswQkFHOUMsTUFBTTsyQkFBQyxzQkFBc0I7bUVBMEI2QixZQUFZO3NCQUF4RSxTQUFTO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFRyxhQUFhO3NCQUExRSxTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFQSxtQkFBbUI7c0JBQTlFLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUVqQyxTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgT3B0aW9uYWwsXG4gIFNpZ25hbCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEYXRlUmFuZ2UsXG4gIERlZmF1bHRNYXRDYWxlbmRhclJhbmdlU3RyYXRlZ3ksXG4gIE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSxcbiAgTWF0Q2FsZW5kYXIsXG4gIE1hdENhbGVuZGFyVXNlckV2ZW50LFxuICBNYXRDYWxlbmRhclZpZXcsXG4gIE1hdERhdGVSYW5nZVNlbGVjdGlvblN0cmF0ZWd5LFxuICBNYXREYXRlU2VsZWN0aW9uTW9kZWwsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1hdE1vbnRoVmlldyxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJCb3R0b21QYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbC9kYXRlLXJhbmdlLXBpY2tlci1ib3R0b20tcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZVJhbmdlQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9kYXRlLXJhbmdlLWNhbGVuZGFyLWhlYWRlci9kYXRlLXJhbmdlLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV0xDTV9EQVRFX1JBTkdFX1BJQ0tFUl9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvcmFuZ2UvZGF0ZS1yYW5nZS1waWNrZXIuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIFdMQ01fREFURV9SQU5HRV9TRUxFQ1RJT05fTU9ERUxfUFJPVklERVIsXG4gIFdMQ01fREFURV9SQU5HRV9TRUxFQ1RJT05fTU9ERUwsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9yYW5nZS9kYXRlLXJhbmdlLXNlbGVjdGlvbi1tb2RlbC5jb25zdGFudHMnO1xuaW1wb3J0IHsgV0xDTV9EQVRFX1JBTkdFX1RSSUdHRVJfU0VMRUNUSU9OX01PREVMIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3JhbmdlL2RhdGUtcmFuZ2UtdHJpZ2dlci1zZWxlY3Rpb24tbW9kZWwuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21MZWZ0Q2FsZW5kYXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL3JhZ25lL2xlZnQtY2FsZW5kYXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdsY21SaWdodENhbGVuZGFyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9yYWduZS9yaWdodC1jYWxlbmRhci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVBpY2tlckNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yYW5nZS9kYXRlLXJhbmdlLXBpY2tlci5tb2RlbHMnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5pbXBvcnQgeyBXbGNtQ2FsZW5kYXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2NhbGVuZGFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kYXRlLXBpY2tlci5tb2RlbHMnO1xuaW1wb3J0IHsgV0xDTV9EQVRFUElDS0VSX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9kYXRlcGlja2VyLmNvbnN0YW50cyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1kYXRlLXJhbmdlLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBXbGNtQ2FsZW5kYXJEaXJlY3RpdmUsXG4gICAgV2xjbUxlZnRDYWxlbmRhckRpcmVjdGl2ZSxcbiAgICBXbGNtUmlnaHRDYWxlbmRhckRpcmVjdGl2ZSxcbiAgICBXbGNtRGF0ZVJhbmdlUGlja2VyQm90dG9tUGFuZWxDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSxcbiAgICAgIHVzZUNsYXNzOiBEZWZhdWx0TWF0Q2FsZW5kYXJSYW5nZVN0cmF0ZWd5LFxuICAgIH0sXG4gICAgV0xDTV9EQVRFX1JBTkdFX1NFTEVDVElPTl9NT0RFTF9QUk9WSURFUixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBoZWFkZXJDb21wb25lbnQ6IFR5cGU8dW5rbm93bj4gPSBXbGNtRGF0ZVJhbmdlQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfaXNWaWV3SW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9pc0NvbXBsZXRlOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaXNDb21wbGV0ZTogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faXNDb21wbGV0ZSgpKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdMQ01fREFURV9SQU5HRV9QSUNLRVJfQ09ORklHKSBwcml2YXRlIHJhbmdlQ29uZmlnOiBXbGNtRGF0ZVJhbmdlUGlja2VyQ29uZmlnLFxuICAgIEBJbmplY3QoTUFUX0RBVEVfUkFOR0VfU0VMRUNUSU9OX1NUUkFURUdZKVxuICAgIHByaXZhdGUgcmFuZ2VTZWxlY3Rpb25TdHJhdGVneTogTWF0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3k8RGF0ZT4sXG4gICAgQEluamVjdChXTENNX0RBVEVfUkFOR0VfU0VMRUNUSU9OX01PREVMKVxuICAgIHByb3RlY3RlZCBsb2NhbFNlbGVjdGlvbk1vZGVsOiBNYXREYXRlU2VsZWN0aW9uTW9kZWw8RGF0ZVJhbmdlPERhdGU+PixcbiAgICBASW5qZWN0KFdMQ01fREFURV9SQU5HRV9UUklHR0VSX1NFTEVDVElPTl9NT0RFTClcbiAgICBwcm90ZWN0ZWQgdHJpZ2dlclNlbGVjdGlvbk1vZGVsOiBNYXREYXRlU2VsZWN0aW9uTW9kZWw8RGF0ZVJhbmdlPERhdGU+PixcbiAgICBwcm90ZWN0ZWQgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFdsY21EYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoV0xDTV9EQVRFUElDS0VSX0NPTkZJRykgcHJvdGVjdGVkIGRhdGVwaWNrZXJDb25maWc6IFdsY21EYXRlcGlja2VyQ29uZmlnLFxuICAgIHByb3RlY3RlZCBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT5cbiAgKSB7XG4gICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKCk7XG5cbiAgICB0aGlzLmxvY2FsU2VsZWN0aW9uTW9kZWwudXBkYXRlU2VsZWN0aW9uKHRoaXMudHJpZ2dlclNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiwgdGhpcyk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyU2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0KSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZS5zZXQodGhpcy50cmlnZ2VyU2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yYW5nZUNvbmZpZy5oZWFkZXJDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuaGVhZGVyQ29tcG9uZW50ID0gdGhpcy5yYW5nZUNvbmZpZy5oZWFkZXJDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5faXNWaWV3SW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgdGhpcy5sZWZ0Q2FsZW5kYXIuYWN0aXZlRGF0ZSA9IHRoaXMuc3RhcnREYXRlKCk7XG5cbiAgICAgIHRoaXMucmlnaHRDYWxlbmRhci5hY3RpdmVEYXRlID0gdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLnN0YXJ0RGF0ZSgpLCAxKTtcblxuICAgICAgdGhpcy5yaWdodENhbGVuZGFyLnN0YXJ0QXQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKHRoaXMuc3RhcnREYXRlKCksIDEpO1xuICAgIH0pO1xuICB9XG5cbiAgQFZpZXdDaGlsZChXbGNtTGVmdENhbGVuZGFyRGlyZWN0aXZlLCB7IHJlYWQ6IE1hdENhbGVuZGFyIH0pIGxlZnRDYWxlbmRhciE6IE1hdENhbGVuZGFyPERhdGU+O1xuXG4gIEBWaWV3Q2hpbGQoV2xjbVJpZ2h0Q2FsZW5kYXJEaXJlY3RpdmUsIHsgcmVhZDogTWF0Q2FsZW5kYXIgfSkgcmlnaHRDYWxlbmRhciE6IE1hdENhbGVuZGFyPERhdGU+O1xuXG4gIEBWaWV3Q2hpbGQoV2xjbUxlZnRDYWxlbmRhckRpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxlZnRDYWxlbmRhckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKE1hdE1vbnRoVmlldykgbW9udGhWaWV3ITogTWF0TW9udGhWaWV3PGFueT47XG5cbiAgc3RhcnREYXRlOiBXcml0YWJsZVNpZ25hbDxEYXRlPiA9IHNpZ25hbChuZXcgRGF0ZSgpKTtcblxuICBsZWZ0Q2FsZW5kYXJZZWFyVmlld0FjdGl2YXRlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHJpZ2h0Q2FsZW5kYXJZZWFyVmlld0FjdGl2YXRlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9pc1ZpZXdJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICB0aGlzLmxlZnRDYWxlbmRhci52aWV3Q2hhbmdlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKHZpZXc6IE1hdENhbGVuZGFyVmlldykgPT4ge1xuICAgICAgdGhpcy5sZWZ0Q2FsZW5kYXJZZWFyVmlld0FjdGl2YXRlZC5zZXQodmlldyAhPT0gJ21vbnRoJyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJpZ2h0Q2FsZW5kYXIudmlld0NoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh2aWV3OiBNYXRDYWxlbmRhclZpZXcpID0+IHtcbiAgICAgIHRoaXMucmlnaHRDYWxlbmRhclllYXJWaWV3QWN0aXZhdGVkLnNldCh2aWV3ICE9PSAnbW9udGgnKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlUmlnaHRDYWxlbmRhclByZXZpZXdDaGFuZ2UoKTtcbiAgfVxuXG4gIGNhbGVuZGFyU2VsZWN0aW9uKGV2ZW50OiBNYXRDYWxlbmRhclVzZXJFdmVudDxEYXRlIHwgbnVsbD4pOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTZWxlY3Rpb246IERhdGVSYW5nZTxEYXRlPiA9IHRoaXMucmFuZ2VTZWxlY3Rpb25TdHJhdGVneS5zZWxlY3Rpb25GaW5pc2hlZChcbiAgICAgIGV2ZW50LnZhbHVlLFxuICAgICAgdGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbixcbiAgICAgIGV2ZW50LmV2ZW50XG4gICAgKTtcblxuICAgIHRoaXMubG9jYWxTZWxlY3Rpb25Nb2RlbC51cGRhdGVTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCB0aGlzKTtcbiAgfVxuXG4gIGNhbGVuZGFyRHJhZ0Ryb3AoZXZlbnQ6IE1hdENhbGVuZGFyVXNlckV2ZW50PERhdGVSYW5nZTxEYXRlPj4pOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsU2VsZWN0aW9uTW9kZWwudXBkYXRlU2VsZWN0aW9uKGV2ZW50LnZhbHVlLCB0aGlzKTtcbiAgfVxuXG4gIGFwcGx5KCk6IHZvaWQge1xuICAgIHRoaXMudHJpZ2dlclNlbGVjdGlvbk1vZGVsLnVwZGF0ZVNlbGVjdGlvbih0aGlzLmxvY2FsU2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLCB0aGlzKTtcblxuICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWQoKTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGxlZnRDYWxlbmRhckFjdGl2ZUNlbGwoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5sZWZ0Q2FsZW5kYXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYWxTZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb25DaGFuZ2VkXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faXNDb21wbGV0ZS5zZXQodGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLmlzQ29tcGxldGUoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVSaWdodENhbGVuZGFyUHJldmlld0NoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3Q2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICB0aGlzLnJpZ2h0Q2FsZW5kYXIudmlld0NoYW5nZWRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnBpcGUodGFwKCgpID0+IHZpZXdDaGFuZ2VkLm5leHQoKSkpXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5yaWdodENhbGVuZGFyLmN1cnJlbnRWaWV3KSlcbiAgICAgIC5zdWJzY3JpYmUoKHZpZXc6IE1hdENhbGVuZGFyVmlldykgPT4ge1xuICAgICAgICBpZiAodmlldyAhPT0gJ21vbnRoJykgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMucmlnaHRDYWxlbmRhci5tb250aFZpZXcuX21hdENhbGVuZGFyQm9keS5wcmV2aWV3Q2hhbmdlXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHZpZXdDaGFuZ2VkKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5sZWZ0Q2FsZW5kYXIuY3VycmVudFZpZXcgIT09ICdtb250aCcgfHwgIXRoaXMubGVmdENhbGVuZGFyLm1vbnRoVmlldy5fcmFuZ2VTdGFydCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB0aGlzLmxlZnRDYWxlbmRhci5tb250aFZpZXcuX3ByZXZpZXdTdGFydCA9IHRoaXMucmlnaHRDYWxlbmRhci5tb250aFZpZXcuX3ByZXZpZXdTdGFydDtcblxuICAgICAgICAgICAgdGhpcy5sZWZ0Q2FsZW5kYXIubW9udGhWaWV3Ll9wcmV2aWV3RW5kID0gdGhpcy5yaWdodENhbGVuZGFyLm1vbnRoVmlldy5fcHJldmlld0VuZDtcblxuICAgICAgICAgICAgY29uc3QgYWN0aXZlQ2VsbCA9IHRoaXMubGVmdENhbGVuZGFyQWN0aXZlQ2VsbDtcblxuICAgICAgICAgICAgaWYgKGFjdGl2ZUNlbGwgJiYgYWN0aXZlQ2VsbCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgYWN0aXZlQ2VsbC5ibHVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMubGVmdENhbGVuZGFyLm1vbnRoVmlldy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndsY20tZGF0ZS1yYW5nZS1waWNrZXItcGFuZWxcIj5cbiAgPGRpdiBjbGFzcz1cIndsY20tZGF0ZS1yYW5nZS1waWNrZXItYm9keVwiPlxuICAgIDxtYXQtY2FsZW5kYXJcbiAgICAgIHdsY21DYWxlbmRhclxuICAgICAgd2xjbUxlZnRDYWxlbmRhclxuICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJyaWdodENhbGVuZGFyWWVhclZpZXdBY3RpdmF0ZWQoKVwiXG4gICAgICBbaGVhZGVyQ29tcG9uZW50XT1cImhlYWRlckNvbXBvbmVudFwiXG4gICAgICAoX3VzZXJTZWxlY3Rpb24pPVwiY2FsZW5kYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAoX3VzZXJEcmFnRHJvcCk9XCJjYWxlbmRhckRyYWdEcm9wKCRldmVudClcIlxuICAgICAgKGRhdGVDaGFuZ2UpPVwic3RhcnREYXRlLnNldCgkZXZlbnQpXCJcbiAgICA+PC9tYXQtY2FsZW5kYXI+XG5cbiAgICA8bWF0LWNhbGVuZGFyXG4gICAgICB3bGNtQ2FsZW5kYXJcbiAgICAgIHdsY21SaWdodENhbGVuZGFyXG4gICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImxlZnRDYWxlbmRhclllYXJWaWV3QWN0aXZhdGVkKClcIlxuICAgICAgW2hlYWRlckNvbXBvbmVudF09XCJoZWFkZXJDb21wb25lbnRcIlxuICAgICAgKF91c2VyU2VsZWN0aW9uKT1cImNhbGVuZGFyU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgKF91c2VyRHJhZ0Ryb3ApPVwiY2FsZW5kYXJEcmFnRHJvcCgkZXZlbnQpXCJcbiAgICAgIChkYXRlQ2hhbmdlKT1cInN0YXJ0RGF0ZS5zZXQoJGV2ZW50KVwiXG4gICAgPjwvbWF0LWNhbGVuZGFyPlxuICA8L2Rpdj5cblxuICA8d2xjbS1kYXRlLXJhbmdlLXBpY2tlci1ib3R0b20tcGFuZWw+PC93bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { WlcmDateRangePickerComponent } from '../date-range-picker/date-range-picker.component';
4
+ import { WlcmButtonModule } from '@wlcm/angular/button';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../date-range-picker/date-range-picker.component";
7
+ import * as i2 from "@wlcm/angular/button";
8
+ export class WlcmDateRangePickerBottomPanelComponent {
9
+ constructor(picker) {
10
+ this.picker = picker;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerBottomPanelComponent, deps: [{ token: i1.WlcmDateRangePickerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: WlcmDateRangePickerBottomPanelComponent, isStandalone: true, selector: "wlcm-date-range-picker-bottom-panel", ngImport: i0, template: "<div class=\"wlcm-date-range-picker-bottom-panel\">\n <wlcm-button type=\"paddingless\" (clicked)=\"picker.reset()\">Reset</wlcm-button>\n\n <wlcm-button (clicked)=\"picker.apply()\" [isDisabled]=\"!picker.isComplete()\">\n Apply\n </wlcm-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmButtonModule }, { kind: "component", type: i2.WlcmButtonComponent, selector: "wlcm-button", inputs: ["type", "size", "isDisabled", "isLoading"], outputs: ["clicked"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerBottomPanelComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'wlcm-date-range-picker-bottom-panel', standalone: true, imports: [CommonModule, WlcmButtonModule], template: "<div class=\"wlcm-date-range-picker-bottom-panel\">\n <wlcm-button type=\"paddingless\" (clicked)=\"picker.reset()\">Reset</wlcm-button>\n\n <wlcm-button (clicked)=\"picker.apply()\" [isDisabled]=\"!picker.isComplete()\">\n Apply\n </wlcm-button>\n</div>\n" }]
18
+ }], ctorParameters: () => [{ type: i1.WlcmDateRangePickerComponent }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItYm90dG9tLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2NvbXBvbmVudHMvcmFuZ2UvZGF0ZS1yYW5nZS1waWNrZXItYm90dG9tLXBhbmVsL2RhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL3JhbmdlL2RhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbC9kYXRlLXJhbmdlLXBpY2tlci1ib3R0b20tcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVDQUF1QztJQUNsRCxZQUFzQixNQUFvQztRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUE4QjtJQUFHLENBQUM7OEdBRG5ELHVDQUF1QztrR0FBdkMsdUNBQXVDLCtGQ1pwRCx3UUFPQSx5RERDWSxZQUFZLDhCQUFFLGdCQUFnQjs7MkZBSTdCLHVDQUF1QztrQkFQbkQsU0FBUzsrQkFDRSxxQ0FBcUMsY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHdsY20vYW5ndWxhci9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFdsY21CdXR0b25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1waWNrZXItYm90dG9tLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLWJvdHRvbS1wYW5lbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFdsY21EYXRlUmFuZ2VQaWNrZXJCb3R0b21QYW5lbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBwaWNrZXI6IFdsY21EYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2xjbS1kYXRlLXJhbmdlLXBpY2tlci1ib3R0b20tcGFuZWxcIj5cbiAgPHdsY20tYnV0dG9uIHR5cGU9XCJwYWRkaW5nbGVzc1wiIChjbGlja2VkKT1cInBpY2tlci5yZXNldCgpXCI+UmVzZXQ8L3dsY20tYnV0dG9uPlxuXG4gIDx3bGNtLWJ1dHRvbiAoY2xpY2tlZCk9XCJwaWNrZXIuYXBwbHkoKVwiIFtpc0Rpc2FibGVkXT1cIiFwaWNrZXIuaXNDb21wbGV0ZSgpXCI+XG4gICAgQXBwbHlcbiAgPC93bGNtLWJ1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,124 @@
1
+ import { Component, ContentChild, Host, Inject, ViewContainerRef, forwardRef, inject, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
4
+ import { WLCM_FORM_CONTROL_PROVIDER, WLCM_FORM_FIELD, WLCM_INPUT_BINDER, WlcmFormsModule, } from '@wlcm/angular/forms';
5
+ import { BehaviorSubject, EMPTY, fromEvent, map, merge, switchMap } from 'rxjs';
6
+ import { Overlay } from '@angular/cdk/overlay';
7
+ import { WlcmDateRangePickerComponent } from '../date-range-picker/date-range-picker.component';
8
+ import { ControlContainer } from '@angular/forms';
9
+ import { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER, WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL, } from '../../../constants/range/date-range-trigger-selection-model.constants';
10
+ import { DateRangePickerInputEndDirective } from '../../../directives/ragne/date-range-picker-input-end.directive';
11
+ import { DateRangePickerInputStartDirective } from '../../../directives/ragne/date-range-picker-input-start.directive';
12
+ import { DateRangePickerErrors } from '../../../utils/range/date-range-picker-errors';
13
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/cdk/overlay";
16
+ import * as i2 from "@angular/material/datepicker";
17
+ import * as i3 from "@angular/forms";
18
+ export class WlcmDateRangePickerInputComponent extends WlcmDatepickerTrigger {
19
+ constructor(overlay, viewContainerRef, selectionModel, formField, controlContainer) {
20
+ super(overlay, viewContainerRef, selectionModel);
21
+ this.overlay = overlay;
22
+ this.viewContainerRef = viewContainerRef;
23
+ this.selectionModel = selectionModel;
24
+ this.formField = formField;
25
+ this.controlContainer = controlContainer;
26
+ this._focusStream$ = new BehaviorSubject(EMPTY);
27
+ this._blurStream$ = new BehaviorSubject(EMPTY);
28
+ this.focus$ = this._focusStream$.pipe(switchMap((stream) => stream));
29
+ this.blur$ = this._blurStream$.pipe(switchMap((stream) => stream));
30
+ this.componentType = WlcmDateRangePickerComponent;
31
+ }
32
+ ngAfterContentInit() {
33
+ this.checkInputs();
34
+ this.attachFocusBlurListeners();
35
+ }
36
+ ngAfterViewInit() {
37
+ this.connectedTo = this.formField.inputContainer;
38
+ }
39
+ isFocused() {
40
+ return (this.startInputElement === document.activeElement ||
41
+ this.endInputElement === document.activeElement ||
42
+ this.isOpen);
43
+ }
44
+ focus() {
45
+ if (this.selectOnly())
46
+ return this.open();
47
+ if (!this.isFocused())
48
+ this.startInputElement.focus();
49
+ }
50
+ get control() {
51
+ return this.controlContainer?.control;
52
+ }
53
+ get startInputElement() {
54
+ return this.startInput.element.nativeElement;
55
+ }
56
+ get endInputElement() {
57
+ return this.endInput.element.nativeElement;
58
+ }
59
+ checkInputs() {
60
+ if (!this.startInput)
61
+ DateRangePickerErrors.throwNoStartInputError();
62
+ if (!this.endInput)
63
+ DateRangePickerErrors.throwNoEndInputError();
64
+ }
65
+ attachFocusBlurListeners() {
66
+ const voidFn = () => { };
67
+ const startInputFocus = fromEvent(this.startInputElement, 'focus');
68
+ const endInputFocus = fromEvent(this.endInputElement, 'focus');
69
+ const startInputBlur = fromEvent(this.startInputElement, 'blur');
70
+ const endInputBlur = fromEvent(this.endInputElement, 'blur');
71
+ const focusObservables = [startInputFocus, endInputFocus, this.opened];
72
+ const blurObservables = [startInputBlur, endInputBlur, this.closed];
73
+ this._focusStream$.next(merge(...focusObservables).pipe(map(voidFn)));
74
+ this._blurStream$.next(merge(...blurObservables).pipe(map(() => this.control?.markAsTouched())));
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerInputComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL }, { token: WLCM_FORM_FIELD, host: true }, { token: ControlContainer, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: WlcmDateRangePickerInputComponent, isStandalone: true, selector: "wlcm-date-range-picker-input", host: { classAttribute: "wlcm-date-range-picker-input" }, providers: [
78
+ WLCM_FORM_CONTROL_PROVIDER,
79
+ WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER,
80
+ {
81
+ provide: WLCM_INPUT_BINDER,
82
+ useFactory: () => {
83
+ const input = inject(WlcmDateRangePickerInputComponent, { self: true });
84
+ return { bind: () => input };
85
+ },
86
+ },
87
+ { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDateRangePickerInputComponent) },
88
+ ], queries: [{ propertyName: "startInput", first: true, predicate: DateRangePickerInputStartDirective, descendants: true }, { propertyName: "endInput", first: true, predicate: DateRangePickerInputEndDirective, descendants: true }], exportAs: ["wlcmDateRangePickerInput"], usesInheritance: true, ngImport: i0, template: "<div class=\"wlcm-date-range-picker-inputs-container\">\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputStart]\"></ng-content>\n </div>\n\n <div class=\"wlcm-date-range-picker-input-dash\"></div>\n\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputEnd]\"></ng-content>\n </div>\n</div>\n", styles: [".wlcm-date-range-picker-inputs-container{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }] }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerInputComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'wlcm-date-range-picker-input', host: { class: 'wlcm-date-range-picker-input' }, exportAs: 'wlcmDateRangePickerInput', standalone: true, imports: [CommonModule, WlcmFormsModule, DateRangePickerInputStartDirective, DateRangePickerInputEndDirective], providers: [
93
+ WLCM_FORM_CONTROL_PROVIDER,
94
+ WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER,
95
+ {
96
+ provide: WLCM_INPUT_BINDER,
97
+ useFactory: () => {
98
+ const input = inject(WlcmDateRangePickerInputComponent, { self: true });
99
+ return { bind: () => input };
100
+ },
101
+ },
102
+ { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDateRangePickerInputComponent) },
103
+ ], template: "<div class=\"wlcm-date-range-picker-inputs-container\">\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputStart]\"></ng-content>\n </div>\n\n <div class=\"wlcm-date-range-picker-input-dash\"></div>\n\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputEnd]\"></ng-content>\n </div>\n</div>\n", styles: [".wlcm-date-range-picker-inputs-container{display:flex;align-items:center}\n"] }]
104
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.MatDateSelectionModel, decorators: [{
105
+ type: Inject,
106
+ args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
107
+ }] }, { type: undefined, decorators: [{
108
+ type: Host
109
+ }, {
110
+ type: Inject,
111
+ args: [WLCM_FORM_FIELD]
112
+ }] }, { type: i3.ControlContainer, decorators: [{
113
+ type: Host
114
+ }, {
115
+ type: Inject,
116
+ args: [ControlContainer]
117
+ }] }], propDecorators: { startInput: [{
118
+ type: ContentChild,
119
+ args: [DateRangePickerInputStartDirective]
120
+ }], endInput: [{
121
+ type: ContentChild,
122
+ args: [DateRangePickerInputEndDirective]
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29tcG9uZW50cy9yYW5nZS9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL3JhbmdlL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0L2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLElBQUksRUFDSixNQUFNLEVBRU4sZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUdqQixlQUFlLEdBQ2hCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsZ0RBQWdELEVBQ2hELHVD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dGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBJbmplY3QsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlLCBNYXREYXRlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7XG4gIFdMQ01fRk9STV9DT05UUk9MX1BST1ZJREVSLFxuICBXTENNX0ZPUk1fRklFTEQsXG4gIFdMQ01fSU5QVVRfQklOREVSLFxuICBXbGNtRm9ybUZpZWxkLFxuICBXbGNtRm9ybUZpZWxkSW5wdXQsXG4gIFdsY21Gb3Jtc01vZHVsZSxcbn0gZnJvbSAnQHdsY20vYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIGZyb21FdmVudCwgbWFwLCBtZXJnZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBXTENNX0RBVEVfUkFOR0VfVFJJR0dFUl9TRUxFQ1RJT05fTU9ERUxfUFJPVklERVIsXG4gIFdMQ01fREFURV9SQU5HRV9UUklHR0VSX1NFTEVDVElPTl9NT0RFTCxcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3JhbmdlL2RhdGUtcmFuZ2UtdHJpZ2dlci1zZWxlY3Rpb24tbW9kZWwuY29uc3RhbnRzJztcbmltcG9ydCB7IERhdGVSYW5nZVBpY2tlcklucHV0RW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9yYWduZS9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1lbmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL3JhZ25lL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LXN0YXJ0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJFcnJvcnMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yYW5nZS9kYXRlLXJhbmdlLXBpY2tlci1lcnJvcnMnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQnLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1kYXRlLXJhbmdlLXBpY2tlci1pbnB1dCcgfSxcbiAgZXhwb3J0QXM6ICd3bGNtRGF0ZVJhbmdlUGlja2VySW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtRm9ybXNNb2R1bGUsIERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUsIERhdGVSYW5nZVBpY2tlcklucHV0RW5kRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgV0xDTV9GT1JNX0NPTlRST0xfUFJPVklERVIsXG4gICAgV0xDTV9EQVRFX1JBTkdFX1RSSUdHRVJfU0VMRUNUSU9OX01PREVMX1BST1ZJREVSLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFdMQ01fSU5QVVRfQklOREVSLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGluamVjdChXbGNtRGF0ZVJhbmdlUGlja2VySW5wdXRDb21wb25lbnQsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICAgICAgICByZXR1cm4geyBiaW5kOiAoKSA9PiBpbnB1dCB9O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogV2xjbURhdGVwaWNrZXJUcmlnZ2VyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtRGF0ZVJhbmdlUGlja2VySW5wdXRDb21wb25lbnQpIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dENvbXBvbmVudFxuICBleHRlbmRzIFdsY21EYXRlcGlja2VyVHJpZ2dlcjxXbGNtRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LCBEYXRlUmFuZ2U8RGF0ZT4+XG4gIGltcGxlbWVudHMgV2xjbUZvcm1GaWVsZElucHV0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzU3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8dm9pZD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChFTVBUWSBhcyBPYnNlcnZhYmxlPHZvaWQ+KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ibHVyU3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8dm9pZD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChFTVBUWSBhcyBPYnNlcnZhYmxlPHZvaWQ+KTtcblxuICBmb2N1cyQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLl9mb2N1c1N0cmVhbSQucGlwZShzd2l0Y2hNYXAoKHN0cmVhbTogT2JzZXJ2YWJsZTx1bmtub3duPikgPT4gc3RyZWFtKSk7XG5cbiAgYmx1ciQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLl9ibHVyU3RyZWFtJC5waXBlKHN3aXRjaE1hcCgoc3RyZWFtOiBPYnNlcnZhYmxlPHVua25vd24+KSA9PiBzdHJlYW0pKTtcblxuICBAQ29udGVudENoaWxkKERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUpIHByaXZhdGUgc3RhcnRJbnB1dCE6IERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSkgcHJpdmF0ZSBlbmRJbnB1dCE6IERhdGVSYW5nZVBpY2tlcklucHV0RW5kRGlyZWN0aXZlO1xuXG4gIG92ZXJyaWRlIGNvbXBvbmVudFR5cGU6IFR5cGU8V2xjbURhdGVSYW5nZVBpY2tlckNvbXBvbmVudD4gPSBXbGNtRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjb25uZWN0ZWRUbyE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoV0xDTV9EQVRFX1JBTkdFX1RSSUdHRVJfU0VMRUNUSU9OX01PREVMKVxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPERhdGVSYW5nZTxEYXRlPj4sXG4gICAgQEhvc3QoKSBASW5qZWN0KFdMQ01fRk9STV9GSUVMRCkgcHJpdmF0ZSBmb3JtRmllbGQ6IFdsY21Gb3JtRmllbGQsXG4gICAgQEhvc3QoKSBASW5qZWN0KENvbnRyb2xDb250YWluZXIpIHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgc2VsZWN0aW9uTW9kZWwpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tJbnB1dHMoKTtcblxuICAgIHRoaXMuYXR0YWNoRm9jdXNCbHVyTGlzdGVuZXJzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0ZWRUbyA9IHRoaXMuZm9ybUZpZWxkLmlucHV0Q29udGFpbmVyO1xuICB9XG5cbiAgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0YXJ0SW5wdXRFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IHx8XG4gICAgICB0aGlzLmVuZElucHV0RWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fFxuICAgICAgdGhpcy5pc09wZW5cbiAgICApO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0T25seSgpKSByZXR1cm4gdGhpcy5vcGVuKCk7XG5cbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKCkpIHRoaXMuc3RhcnRJbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbnRyb2woKTogRm9ybUdyb3VwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbCBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGdldCBzdGFydElucHV0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRJbnB1dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBlbmRJbnB1dEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVuZElucHV0LmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJbnB1dHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0SW5wdXQpIERhdGVSYW5nZVBpY2tlckVycm9ycy50aHJvd05vU3RhcnRJbnB1dEVycm9yKCk7XG5cbiAgICBpZiAoIXRoaXMuZW5kSW5wdXQpIERhdGVSYW5nZVBpY2tlckVycm9ycy50aHJvd05vRW5kSW5wdXRFcnJvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hGb2N1c0JsdXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgY29uc3Qgdm9pZEZuID0gKCkgPT4ge307XG5cbiAgICBjb25zdCBzdGFydElucHV0Rm9jdXM6IE9ic2VydmFibGU8RXZlbnQ+ID0gZnJvbUV2ZW50KHRoaXMuc3RhcnRJbnB1dEVsZW1lbnQsICdmb2N1cycpO1xuXG4gICAgY29uc3QgZW5kSW5wdXRGb2N1czogT2JzZXJ2YWJsZTxFdmVudD4gPSBmcm9tRXZlbnQodGhpcy5lbmRJbnB1dEVsZW1lbnQsICdmb2N1cycpO1xuXG4gICAgY29uc3Qgc3RhcnRJbnB1dEJsdXI6IE9ic2VydmFibGU8RXZlbnQ+ID0gZnJvbUV2ZW50KHRoaXMuc3RhcnRJbnB1dEVsZW1lbnQsICdibHVyJyk7XG5cbiAgICBjb25zdCBlbmRJbnB1dEJsdXI6IE9ic2VydmFibGU8RXZlbnQ+ID0gZnJvbUV2ZW50KHRoaXMuZW5kSW5wdXRFbGVtZW50LCAnYmx1cicpO1xuXG4gICAgY29uc3QgZm9jdXNPYnNlcnZhYmxlczogT2JzZXJ2YWJsZTx1bmtub3duPltdID0gW3N0YXJ0SW5wdXRGb2N1cywgZW5kSW5wdXRGb2N1cywgdGhpcy5vcGVuZWRdO1xuXG4gICAgY29uc3QgYmx1ck9ic2VydmFibGVzOiBPYnNlcnZhYmxlPHVua25vd24+W10gPSBbc3RhcnRJbnB1dEJsdXIsIGVuZElucHV0Qmx1ciwgdGhpcy5jbG9zZWRdO1xuXG4gICAgdGhpcy5fZm9jdXNTdHJlYW0kLm5leHQobWVyZ2UoLi4uZm9jdXNPYnNlcnZhYmxlcykucGlwZShtYXAodm9pZEZuKSkpO1xuXG4gICAgdGhpcy5fYmx1clN0cmVhbSQubmV4dChtZXJnZSguLi5ibHVyT2JzZXJ2YWJsZXMpLnBpcGUobWFwKCgpID0+IHRoaXMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpKSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2xjbS1kYXRlLXJhbmdlLXBpY2tlci1pbnB1dHMtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ3bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWlucHV0LWZpZWxkLXdyYXBwZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbd2xjbURhdGVSYW5nZVBpY2tlcklucHV0U3RhcnRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2xjbS1kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1kYXNoXCI+PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIndsY20tZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZmllbGQtd3JhcHBlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3bGNtRGF0ZVJhbmdlUGlja2VySW5wdXRFbmRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,92 @@
1
+ import { Component, ElementRef, Host, Inject, ViewContainerRef, contentChild, forwardRef, inject, } from '@angular/core';
2
+ import { MatDateSelectionModel, MatSingleDateSelectionModel } from '@angular/material/datepicker';
3
+ import { WLCM_FORM_FIELD, WLCM_INPUT_BINDER } from '@wlcm/angular/forms';
4
+ import { WlcmDatepickerInputDirective } from '../../../directives/single/datepicker-input.directive';
5
+ import { WlcmDatepickerPanelComponent } from '../datepicker-panel/datepicker-panel.component';
6
+ import { BehaviorSubject, EMPTY, switchMap, fromEvent, merge, map } from 'rxjs';
7
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
8
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
9
+ import { CommonModule } from '@angular/common';
10
+ import { Overlay } from '@angular/cdk/overlay';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/cdk/overlay";
13
+ import * as i2 from "@angular/material/datepicker";
14
+ export class WlcmDatepickerInputContainerComponent extends WlcmDatepickerTrigger {
15
+ constructor(overlay, viewContainerRef, selectionModel, formField) {
16
+ super(overlay, viewContainerRef, selectionModel);
17
+ this.overlay = overlay;
18
+ this.viewContainerRef = viewContainerRef;
19
+ this.selectionModel = selectionModel;
20
+ this.formField = formField;
21
+ this._focusStream$ = new BehaviorSubject(EMPTY);
22
+ this._blurStream$ = new BehaviorSubject(EMPTY);
23
+ this.focus$ = this._focusStream$.pipe(switchMap((stream) => stream));
24
+ this.blur$ = this._blurStream$.pipe(switchMap((stream) => stream));
25
+ this.inputRef = contentChild(WlcmDatepickerInputDirective, {
26
+ read: ElementRef,
27
+ });
28
+ this.componentType = WlcmDatepickerPanelComponent;
29
+ this.focus = () => {
30
+ if (this.selectOnly())
31
+ return this.open();
32
+ this.inputElement?.focus();
33
+ };
34
+ this.isFocused = () => {
35
+ return this.inputElement === document.activeElement || this.isOpen;
36
+ };
37
+ }
38
+ ngAfterContentInit() {
39
+ this.attachFocusBlurListeners();
40
+ }
41
+ ngAfterViewInit() {
42
+ this.connectedTo = this.formField.inputContainer;
43
+ }
44
+ get inputElement() {
45
+ return this.inputRef()?.nativeElement;
46
+ }
47
+ attachFocusBlurListeners() {
48
+ const voidFn = () => { };
49
+ const inputFocus = fromEvent(this.inputElement, 'focus');
50
+ const inputBlur = fromEvent(this.inputElement, 'blur');
51
+ const focusObservables = [inputFocus, this.opened];
52
+ const blurObservables = [inputBlur, this.closed];
53
+ this._focusStream$.next(merge(...focusObservables).pipe(map(voidFn)));
54
+ this._blurStream$.next(merge(...blurObservables).pipe(map(voidFn)));
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerInputContainerComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.MatDateSelectionModel }, { token: WLCM_FORM_FIELD, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: WlcmDatepickerInputContainerComponent, isStandalone: true, selector: "wlcm-datepicker-input-container", host: { classAttribute: "wlcm-datepicker-input-container" }, providers: [
58
+ {
59
+ provide: WLCM_INPUT_BINDER,
60
+ useFactory: () => {
61
+ const input = inject(WlcmDatepickerInputContainerComponent, { self: true });
62
+ return { bind: () => input };
63
+ },
64
+ },
65
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },
66
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },
67
+ { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent) },
68
+ { provide: MatDateSelectionModel, useClass: MatSingleDateSelectionModel },
69
+ ], queries: [{ propertyName: "inputRef", first: true, predicate: WlcmDatepickerInputDirective, descendants: true, read: ElementRef, isSignal: true }], exportAs: ["wlcmDatepicker"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[wlcmDatepickerInput]\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerInputContainerComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ selector: 'wlcm-datepicker-input-container', host: { class: 'wlcm-datepicker-input-container' }, exportAs: 'wlcmDatepicker', standalone: true, imports: [CommonModule], providers: [
74
+ {
75
+ provide: WLCM_INPUT_BINDER,
76
+ useFactory: () => {
77
+ const input = inject(WlcmDatepickerInputContainerComponent, { self: true });
78
+ return { bind: () => input };
79
+ },
80
+ },
81
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },
82
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },
83
+ { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent) },
84
+ { provide: MatDateSelectionModel, useClass: MatSingleDateSelectionModel },
85
+ ], template: "<ng-content select=\"[wlcmDatepickerInput]\"></ng-content>\n" }]
86
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.MatDateSelectionModel }, { type: undefined, decorators: [{
87
+ type: Host
88
+ }, {
89
+ type: Inject,
90
+ args: [WLCM_FORM_FIELD]
91
+ }] }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29tcG9uZW50cy9zaW5nbGUvZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIvZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29tcG9uZW50cy9zaW5nbGUvZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIvZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FB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QU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7NEJBQy9CLENBQUM7eUJBQ0Y7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNDQUFzQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDN0csRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0NBQXNDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNqSCxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQ0FBc0MsQ0FBQyxFQUFFO3dCQUN4RyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEVBQUU7cUJBQzFFOzswQkEwQkUsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBJbmplY3QsXG4gIFNpZ25hbCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgY29udGVudENoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZVNlbGVjdGlvbk1vZGVsLCBNYXRTaW5nbGVEYXRlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFdMQ01fRk9STV9GSUVMRCwgV0xDTV9JTlBVVF9CSU5ERVIsIFdsY21Gb3JtRmllbGQsIFdsY21Gb3JtRmllbGRJbnB1dCB9IGZyb20gJ0B3bGNtL2FuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvc2luZ2xlL2RhdGVwaWNrZXItaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLXBhbmVsL2RhdGVwaWNrZXItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgRU1QVFksIHN3aXRjaE1hcCwgZnJvbUV2ZW50LCBtZXJnZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlclRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RhdGVwaWNrZXItdHJpZ2dlci5iYXNlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXInLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1kYXRlcGlja2VyLWlucHV0LWNvbnRhaW5lcicgfSxcbiAgZXhwb3J0QXM6ICd3bGNtRGF0ZXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBXTENNX0lOUFVUX0JJTkRFUixcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbmplY3QoV2xjbURhdGVwaWNrZXJJbnB1dENvbnRhaW5lckNvbXBvbmVudCwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gICAgICAgIHJldHVybiB7IGJpbmQ6ICgpID0+IGlucHV0IH07XG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtRGF0ZXBpY2tlcklucHV0Q29udGFpbmVyQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtRGF0ZXBpY2tlcklucHV0Q29udGFpbmVyQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IFdsY21EYXRlcGlja2VyVHJpZ2dlciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbURhdGVwaWNrZXJJbnB1dENvbnRhaW5lckNvbXBvbmVudCkgfSxcbiAgICB7IHByb3ZpZGU6IE1hdERhdGVTZWxlY3Rpb25Nb2RlbCwgdXNlQ2xhc3M6IE1hdFNpbmdsZURhdGVTZWxlY3Rpb25Nb2RlbCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtRGF0ZXBpY2tlcklucHV0Q29udGFpbmVyQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQ8VD4+XG4gIGltcGxlbWVudHMgV2xjbUZvcm1GaWVsZElucHV0LCBBZnRlckNvbnRlbnRJbml0XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzU3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8dm9pZD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChFTVBUWSBhcyBPYnNlcnZhYmxlPHZvaWQ+KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ibHVyU3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8dm9pZD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChFTVBUWSBhcyBPYnNlcnZhYmxlPHZvaWQ+KTtcblxuICBmb2N1cyQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLl9mb2N1c1N0cmVhbSQucGlwZShzd2l0Y2hNYXAoKHN0cmVhbTogT2JzZXJ2YWJsZTx1bmtub3duPikgPT4gc3RyZWFtKSk7XG5cbiAgYmx1ciQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLl9ibHVyU3RyZWFtJC5waXBlKHN3aXRjaE1hcCgoc3RyZWFtOiBPYnNlcnZhYmxlPHVua25vd24+KSA9PiBzdHJlYW0pKTtcblxuICBpbnB1dFJlZjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQ+ID0gY29udGVudENoaWxkKFdsY21EYXRlcGlja2VySW5wdXREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29tcG9uZW50VHlwZSA9IFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNvbm5lY3RlZFRvITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHNlbGVjdGlvbk1vZGVsOiBNYXREYXRlU2VsZWN0aW9uTW9kZWw8RGF0ZT4sXG4gICAgQEhvc3QoKSBASW5qZWN0KFdMQ01fRk9STV9GSUVMRCkgcHJpdmF0ZSBmb3JtRmllbGQ6IFdsY21Gb3JtRmllbGQsXG4gICkge1xuICAgIHN1cGVyKG92ZXJsYXksIHZpZXdDb250YWluZXJSZWYsIHNlbGVjdGlvbk1vZGVsKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF0dGFjaEZvY3VzQmx1ckxpc3RlbmVycygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdGVkVG8gPSB0aGlzLmZvcm1GaWVsZC5pbnB1dENvbnRhaW5lcjtcbiAgfVxuXG4gIGZvY3VzID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnNlbGVjdE9ubHkoKSkgcmV0dXJuIHRoaXMub3BlbigpO1xuXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQ/LmZvY3VzKCk7XG4gIH07XG5cbiAgaXNGb2N1c2VkID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCB0aGlzLmlzT3BlbjtcbiAgfTtcblxuICBwcml2YXRlIGdldCBpbnB1dEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRSZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoRm9jdXNCbHVyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZvaWRGbiA9ICgpID0+IHt9O1xuXG4gICAgY29uc3QgaW5wdXRGb2N1czogT2JzZXJ2YWJsZTxFdmVudD4gPSBmcm9tRXZlbnQodGhpcy5pbnB1dEVsZW1lbnQhLCAnZm9jdXMnKTtcblxuICAgIGNvbnN0IGlucHV0Qmx1cjogT2JzZXJ2YWJsZTxFdmVudD4gPSBmcm9tRXZlbnQodGhpcy5pbnB1dEVsZW1lbnQhLCAnYmx1cicpO1xuXG4gICAgY29uc3QgZm9jdXNPYnNlcnZhYmxlczogT2JzZXJ2YWJsZTx1bmtub3duPltdID0gW2lucHV0Rm9jdXMsIHRoaXMub3BlbmVkXTtcblxuICAgIGNvbnN0IGJsdXJPYnNlcnZhYmxlczogT2JzZXJ2YWJsZTx1bmtub3duPltdID0gW2lucHV0Qmx1ciwgdGhpcy5jbG9zZWRdO1xuXG4gICAgdGhpcy5fZm9jdXNTdHJlYW0kLm5leHQobWVyZ2UoLi4uZm9jdXNPYnNlcnZhYmxlcykucGlwZShtYXAodm9pZEZuKSkpO1xuXG4gICAgdGhpcy5fYmx1clN0cmVhbSQubmV4dChtZXJnZSguLi5ibHVyT2JzZXJ2YWJsZXMpLnBpcGUobWFwKHZvaWRGbikpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3dsY21EYXRlcGlja2VySW5wdXRdXCI+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component, Inject, viewChild } from '@angular/core';
2
+ import { MatCalendar, MatDateSelectionModel, MatDatepickerModule } from '@angular/material/datepicker';
3
+ import { WlcmCalendarHeaderComponent } from '../../calendar-header/calendar-header.component';
4
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
5
+ import { WLCM_DATEPICKER_CONFIG } from '../../../constants/datepicker.constants';
6
+ import { WlcmCalendarDirective } from '../../../directives/calendar.directive';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/datepicker";
10
+ import * as i2 from "../../../directives/datepicker-trigger.base";
11
+ export class WlcmDatepickerPanelComponent {
12
+ constructor(selectionModel, trigger, config) {
13
+ this.selectionModel = selectionModel;
14
+ this.trigger = trigger;
15
+ this.config = config;
16
+ this.headerComponent = WlcmCalendarHeaderComponent;
17
+ this.matCalendar = viewChild(MatCalendar);
18
+ }
19
+ select(date) {
20
+ this.selectionModel.updateSelection(date, this);
21
+ this.trigger.close();
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerPanelComponent, deps: [{ token: i1.MatDateSelectionModel }, { token: i2.WlcmDatepickerTrigger }, { token: WLCM_DATEPICKER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: WlcmDatepickerPanelComponent, isStandalone: true, selector: "wlcm-datepicker-panel", host: { classAttribute: "wlcm-datepicker-panel" }, viewQueries: [{ propertyName: "matCalendar", first: true, predicate: MatCalendar, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-calendar\n wlcmCalendar\n [minDate]=\"config.minDate?.()\"\n [maxDate]=\"config.maxDate?.()\"\n [startAt]=\"selectionModel.selection\"\n [selected]=\"selectionModel.selection\"\n [headerComponent]=\"headerComponent\"\n (selectedChange)=\"select($event)\"\n></mat-calendar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "directive", type: WlcmCalendarDirective, selector: "[wlcmCalendar]" }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerPanelComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'wlcm-datepicker-panel', host: { class: 'wlcm-datepicker-panel' }, standalone: true, imports: [CommonModule, MatDatepickerModule, WlcmCalendarDirective], template: "<mat-calendar\n wlcmCalendar\n [minDate]=\"config.minDate?.()\"\n [maxDate]=\"config.maxDate?.()\"\n [startAt]=\"selectionModel.selection\"\n [selected]=\"selectionModel.selection\"\n [headerComponent]=\"headerComponent\"\n (selectedChange)=\"select($event)\"\n></mat-calendar>\n" }]
29
+ }], ctorParameters: () => [{ type: i1.MatDateSelectionModel }, { type: i2.WlcmDatepickerTrigger }, { type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: [WLCM_DATEPICKER_CONFIG]
32
+ }] }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL3NpbmdsZS9kYXRlcGlja2VyLXBhbmVsL2RhdGVwaWNrZXItcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29tcG9uZW50cy9zaW5nbGUvZGF0ZXBpY2tlci1wYW5lbC9kYXRlcGlja2VyLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDOUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBVS9DLE1BQU0sT0FBTyw0QkFBNEI7SUFLdkMsWUFDWSxjQUEyQyxFQUMzQyxPQUErRCxFQUMvQixNQUE0QjtRQUY1RCxtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBd0Q7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFQOUQsb0JBQWUsR0FBRywyQkFBMkIsQ0FBQztRQUVqRCxnQkFBVyxHQUF1QyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFNN0UsQ0FBQztJQUVKLE1BQU0sQ0FBQyxJQUFVO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0FmVSw0QkFBNEIsNEZBUTdCLHNCQUFzQjtrR0FSckIsNEJBQTRCLGlMQUc0QixXQUFXLGdFQ3BCaEYsZ1NBU0EseURESVksWUFBWSw4QkFBRSxtQkFBbUIsMmJBQUUscUJBQXFCOzsyRkFJdkQsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNFLHVCQUF1QixRQUMzQixFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLENBQUM7OzBCQVloRSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBTaWduYWwsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdERhdGVTZWxlY3Rpb25Nb2RlbCwgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgV2xjbUNhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5pbXBvcnQgeyBXTENNX0RBVEVQSUNLRVJfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2RhdGVwaWNrZXIuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21DYWxlbmRhckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvY2FsZW5kYXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVscyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLWRhdGVwaWNrZXItcGFuZWwnLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1kYXRlcGlja2VyLXBhbmVsJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlLCBXbGNtQ2FsZW5kYXJEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRlcGlja2VyLXBhbmVsLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbURhdGVwaWNrZXJQYW5lbENvbXBvbmVudDxEPiB7XG4gIHByb3RlY3RlZCBoZWFkZXJDb21wb25lbnQgPSBXbGNtQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQ7XG5cbiAgcHVibGljIG1hdENhbGVuZGFyOiBTaWduYWw8TWF0Q2FsZW5kYXI8RD4gfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkKE1hdENhbGVuZGFyKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc2VsZWN0aW9uTW9kZWw6IE1hdERhdGVTZWxlY3Rpb25Nb2RlbDxEYXRlPixcbiAgICBwcm90ZWN0ZWQgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQ8RD4+LFxuICAgIEBJbmplY3QoV0xDTV9EQVRFUElDS0VSX0NPTkZJRykgcHJvdGVjdGVkIGNvbmZpZzogV2xjbURhdGVwaWNrZXJDb25maWdcbiAgKSB7fVxuXG4gIHNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC51cGRhdGVTZWxlY3Rpb24oZGF0ZSwgdGhpcyk7XG5cbiAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgfVxufVxuIiwiPG1hdC1jYWxlbmRhclxuICB3bGNtQ2FsZW5kYXJcbiAgW21pbkRhdGVdPVwiY29uZmlnLm1pbkRhdGU/LigpXCJcbiAgW21heERhdGVdPVwiY29uZmlnLm1heERhdGU/LigpXCJcbiAgW3N0YXJ0QXRdPVwic2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uXCJcbiAgW3NlbGVjdGVkXT1cInNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvblwiXG4gIFtoZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyQ29tcG9uZW50XCJcbiAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdCgkZXZlbnQpXCJcbj48L21hdC1jYWxlbmRhcj5cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
3
+ import { WlcmDateAdapter } from '../models/date-picker.models';
4
+ import { enUS } from 'date-fns/locale';
5
+ export const WLCM_DEFAULT_DATE_FORMATS = {
6
+ parse: {
7
+ dateInput: 'MMM/dd/yyyy',
8
+ },
9
+ display: {
10
+ dateInput: 'MMM/dd/yyyy',
11
+ monthYearLabel: 'MMMM yyyy',
12
+ dateA11yLabel: 'MMM/dd/yyyy',
13
+ monthYearA11yLabel: 'MMM yyyy',
14
+ },
15
+ };
16
+ export const WLCM_DEFAULT_DATEPICKER_PROVIDERS = [
17
+ { provide: MAT_DATE_LOCALE, useValue: enUS },
18
+ { provide: MAT_DATE_FORMATS, useValue: WLCM_DEFAULT_DATE_FORMATS },
19
+ { provide: DateAdapter, useClass: WlcmDateAdapter, deps: [MAT_DATE_LOCALE] },
20
+ ];
21
+ export const WLCM_DATEPICKER_CONFIG = new InjectionToken('WLCM_DATEPICKER_CONFIG', { providedIn: 'root', factory: () => ({ selectOnly: false }) });
22
+ export const WLCM_DATEPICKER_INPUT_CLASS = 'wlcm-datepicker-input';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9jb25zdGFudHMvZGF0ZXBpY2tlci5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RyxPQUFPLEVBQUUsZUFBZSxFQUF3QixNQUFNLDhCQUE4QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBbUI7SUFDdkQsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLGFBQWE7S0FDekI7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsYUFBYTtRQUN4QixjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFhLEVBQUUsYUFBYTtRQUM1QixrQkFBa0IsRUFBRSxVQUFVO0tBQy9CO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFlO0lBQzNELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQzVDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRTtJQUNsRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtDQUM3RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXlDLElBQUksY0FBYyxDQUM1Rix3QkFBd0IsRUFDeEIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FDL0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBXbGNtRGF0ZUFkYXB0ZXIsIFdsY21EYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVscyc7XG5pbXBvcnQgeyBlblVTIH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlJztcblxuZXhwb3J0IGNvbnN0IFdMQ01fREVGQVVMVF9EQVRFX0ZPUk1BVFM6IE1hdERhdGVGb3JtYXRzID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ01NTS9kZC95eXl5JyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ01NTS9kZC95eXl5JyxcbiAgICBtb250aFllYXJMYWJlbDogJ01NTU0geXl5eScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ01NTS9kZC95eXl5JyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU0geXl5eScsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgV0xDTV9ERUZBVUxUX0RBVEVQSUNLRVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IGVuVVMgfSxcbiAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogV0xDTV9ERUZBVUxUX0RBVEVfRk9STUFUUyB9LFxuICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogV2xjbURhdGVBZGFwdGVyLCBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFXSB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFdMQ01fREFURVBJQ0tFUl9DT05GSUc6IEluamVjdGlvblRva2VuPFdsY21EYXRlcGlja2VyQ29uZmlnPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ1dMQ01fREFURVBJQ0tFUl9DT05GSUcnLFxuICB7IHByb3ZpZGVkSW46ICdyb290JywgZmFjdG9yeTogKCkgPT4gKHsgc2VsZWN0T25seTogZmFsc2UgfSkgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBXTENNX0RBVEVQSUNLRVJfSU5QVVRfQ0xBU1MgPSAnd2xjbS1kYXRlcGlja2VyLWlucHV0JztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const WLCM_DATE_RANGE_PICKER_CONFIG = new InjectionToken('WLCM_DATE_RANGE_PICKER_CONFIG', { providedIn: 'root', factory: () => ({}) });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvY29uc3RhbnRzL3JhbmdlL2RhdGUtcmFuZ2UtcGlja2VyLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUE4QyxJQUFJLGNBQWMsQ0FDeEcsK0JBQStCLEVBQy9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFuZ2UvZGF0ZS1yYW5nZS1waWNrZXIubW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IFdMQ01fREFURV9SQU5HRV9QSUNLRVJfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxXbGNtRGF0ZVJhbmdlUGlja2VyQ29uZmlnPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ1dMQ01fREFURV9SQU5HRV9QSUNLRVJfQ09ORklHJyxcbiAgeyBwcm92aWRlZEluOiAncm9vdCcsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfVxuKTtcbiJdfQ==