@wlcm/angular 18.2.22 → 18.2.24

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/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 +14 -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-bottom-panel/date-range-picker-bottom-panel.component.mjs +19 -0
  34. package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +126 -0
  35. package/datepicker/esm2022/lib/components/range/double-calendar-range-picker/double-calendar-range-picker.component.mjs +168 -0
  36. package/datepicker/esm2022/lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component.mjs +95 -0
  37. package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +92 -0
  38. package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +33 -0
  39. package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +23 -0
  40. package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +5 -0
  41. package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
  42. package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
  43. package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
  44. package/datepicker/esm2022/lib/directives/calendar.directive.mjs +15 -0
  45. package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +103 -0
  46. package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +105 -0
  47. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +81 -0
  48. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +81 -0
  49. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +58 -0
  50. package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +51 -0
  51. package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +64 -0
  52. package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
  53. package/datepicker/esm2022/lib/models/date-picker.models.mjs +29 -0
  54. package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +61 -0
  55. package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +27 -0
  56. package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
  57. package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
  58. package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
  59. package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
  60. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +63 -63
  61. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
  62. package/datepicker/lib/directives/datepicker-input.base.d.ts +1 -1
  63. package/datepicker/lib/directives/datepicker-trigger.base.d.ts +1 -1
  64. package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +1 -1
  65. package/datepicker/lib/models/range/data-range-calendar.models.d.ts +1 -1
  66. package/filters/esm2022/index.mjs +6 -0
  67. package/filters/esm2022/lib/components/filters-group/filters-group.component.mjs +13 -0
  68. package/filters/esm2022/lib/constants/filter.constants.mjs +3 -0
  69. package/filters/esm2022/lib/constants/index.mjs +2 -0
  70. package/filters/esm2022/lib/directives/filter.directive.mjs +11 -0
  71. package/filters/esm2022/lib/directives/index.mjs +2 -0
  72. package/filters/esm2022/lib/filters.module.mjs +20 -0
  73. package/filters/esm2022/lib/models/array-filter.models.mjs +73 -0
  74. package/filters/esm2022/lib/models/filter.models.mjs +39 -0
  75. package/filters/esm2022/lib/models/filters-group.models.mjs +60 -0
  76. package/filters/esm2022/lib/models/index.mjs +4 -0
  77. package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
  78. package/filters/fesm2022/wlcm-angular-filters.mjs +13 -13
  79. package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -1
  80. package/filters/lib/models/filters-group.models.d.ts +1 -1
  81. package/forms/esm2022/index.mjs +13 -0
  82. package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +243 -0
  83. package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +85 -0
  84. package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +87 -0
  85. package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
  86. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +137 -0
  87. package/forms/esm2022/lib/forms/components/index.mjs +9 -0
  88. package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
  89. package/forms/esm2022/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.mjs +19 -0
  90. package/forms/esm2022/lib/forms/components/partials/index.mjs +2 -0
  91. package/forms/esm2022/lib/forms/components/select/select.component.mjs +330 -0
  92. package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
  93. package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
  94. package/forms/esm2022/lib/forms/constants/form-field.constants.mjs +2 -0
  95. package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
  96. package/forms/esm2022/lib/forms/constants/index.mjs +6 -0
  97. package/forms/esm2022/lib/forms/constants/select.constants.mjs +3 -0
  98. package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +64 -0
  99. package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
  100. package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
  101. package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +22 -0
  102. package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
  103. package/forms/esm2022/lib/forms/directives/input.directive.mjs +47 -0
  104. package/forms/esm2022/lib/forms/directives/select-input-binder.directive.mjs +33 -0
  105. package/forms/esm2022/lib/forms/forms.module.mjs +64 -0
  106. package/forms/esm2022/lib/forms/models/_index.mjs +6 -0
  107. package/forms/esm2022/lib/forms/models/autocomplete.models.mjs +10 -0
  108. package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
  109. package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
  110. package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
  111. package/forms/esm2022/lib/forms/models/select.models.mjs +2 -0
  112. package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
  113. package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
  114. package/forms/esm2022/lib/forms/services/index.mjs +3 -0
  115. package/forms/esm2022/lib/forms/services/places.api.mjs +62 -0
  116. package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
  117. package/forms/fesm2022/wlcm-angular-forms.mjs +76 -67
  118. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
  119. package/forms/lib/forms/components/select/select.component.d.ts +1 -0
  120. package/forms/lib/forms/models/autocomplete.models.d.ts +1 -1
  121. package/package.json +1 -1
  122. package/phone-input/esm2022/index.mjs +5 -0
  123. package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +32 -0
  124. package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +107 -0
  125. package/phone-input/esm2022/lib/constants/country-code-options.constants.mjs +20 -0
  126. package/phone-input/esm2022/lib/constants/phone-adapter.constants.mjs +3 -0
  127. package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +155 -0
  128. package/phone-input/esm2022/lib/models/country-code.models.mjs +10 -0
  129. package/phone-input/esm2022/lib/models/phone-adapter.models.mjs +3 -0
  130. package/phone-input/esm2022/lib/models/phone.models.mjs +5 -0
  131. package/phone-input/esm2022/lib/phone-input.module.mjs +20 -0
  132. package/phone-input/esm2022/lib/pipes/phone-code.pipe.mjs +18 -0
  133. package/phone-input/esm2022/wlcm-angular-phone-input.mjs +5 -0
  134. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +16 -16
  135. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
  136. package/search-field/esm2022/index.mjs +3 -0
  137. package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +39 -0
  138. package/search-field/esm2022/lib/search-field.module.mjs +18 -0
  139. package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
  140. package/search-field/fesm2022/wlcm-angular-search-field.mjs +7 -7
  141. package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
  142. package/stepper/esm2022/index.mjs +11 -0
  143. package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
  144. package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
  145. package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
  146. package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
  147. package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
  148. package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
  149. package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
  150. package/stepper/esm2022/lib/models/step.models.mjs +60 -0
  151. package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
  152. package/stepper/esm2022/lib/stepper.module.mjs +34 -0
  153. package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
  154. package/stepper/fesm2022/wlcm-angular-stepper.mjs +25 -25
  155. package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -1
  156. package/stepper/lib/models/step.models.d.ts +1 -1
  157. package/stepper/lib/models/stepper.models.d.ts +1 -1
  158. package/table/esm2022/index.mjs +9 -0
  159. package/table/esm2022/lib/components/table/table.component.mjs +79 -0
  160. package/table/esm2022/lib/components/table-head/table-head.component.mjs +18 -0
  161. package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +41 -0
  162. package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +12 -0
  163. package/table/esm2022/lib/components/table-row/table-row.component.mjs +87 -0
  164. package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +12 -0
  165. package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +12 -0
  166. package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +12 -0
  167. package/table/esm2022/lib/constants/table-row.constants.mjs +3 -0
  168. package/table/esm2022/lib/constants/table.constants.mjs +5 -0
  169. package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +46 -0
  170. package/table/esm2022/lib/models/table-config-manager.models.mjs +18 -0
  171. package/table/esm2022/lib/models/table-row.models.mjs +2 -0
  172. package/table/esm2022/lib/models/table-selection-model.mjs +48 -0
  173. package/table/esm2022/lib/models/table.models.mjs +2 -0
  174. package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +24 -0
  175. package/table/esm2022/lib/table.module.mjs +38 -0
  176. package/table/esm2022/lib/utils/table-errors.utils.mjs +6 -0
  177. package/table/esm2022/wlcm-angular-table.mjs +5 -0
  178. package/table/fesm2022/wlcm-angular-table.mjs +34 -34
  179. package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
@@ -0,0 +1,58 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ import { DateAdapter } from '@angular/material/core';
3
+ import { WlcmDatepickerInputBase } from '../datepicker-input.base';
4
+ import { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/core";
7
+ import * as i2 from "../datepicker-trigger.base";
8
+ export class WlcmDateRangePickerInputBase extends WlcmDatepickerInputBase {
9
+ constructor(element, dateAdapter, dateFormats, trigger) {
10
+ super(element, dateAdapter, dateFormats, trigger);
11
+ this.element = element;
12
+ this.dateAdapter = dateAdapter;
13
+ this.dateFormats = dateFormats;
14
+ this.trigger = trigger;
15
+ this._inputMirror = this.createInputMirror();
16
+ }
17
+ ngAfterViewInit() {
18
+ this.inputElement.parentElement?.appendChild(this._inputMirror);
19
+ this.copyInputElementStyles(this._inputMirror);
20
+ document.fonts.ready.then(() => this.changeInputSize());
21
+ }
22
+ writeValue(value) {
23
+ super.writeValue(value);
24
+ this.updateSelection();
25
+ }
26
+ handleInput() {
27
+ this.changeInputSize();
28
+ super.handleInput();
29
+ }
30
+ updateInputValue(value) {
31
+ super.updateInputValue(value);
32
+ this.changeInputSize();
33
+ }
34
+ changeInputSize() {
35
+ requestAnimationFrame(() => {
36
+ const value = this.currentValue || this.inputElement.placeholder;
37
+ this._inputMirror.innerHTML = value;
38
+ this.inputElement.style.width = `${this._inputMirror.offsetWidth + 2}px`;
39
+ });
40
+ }
41
+ createInputMirror() {
42
+ const inputMirror = document.createElement('div');
43
+ inputMirror.classList.add('wlcm-date-range-picker-input-field-mirror');
44
+ return inputMirror;
45
+ }
46
+ copyInputElementStyles(target) {
47
+ const inputElementStyles = window.getComputedStyle(this.inputElement);
48
+ target.style.fontSize = inputElementStyles.fontSize;
49
+ target.style.fontFamily = inputElementStyles.fontFamily;
50
+ target.style.letterSpacing = inputElementStyles.letterSpacing;
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerInputBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmDateRangePickerInputBase, usesInheritance: true, ngImport: i0 }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateRangePickerInputBase, decorators: [{
56
+ type: Directive
57
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined }, { type: i2.WlcmDatepickerTrigger }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUduRSxNQUFNLE9BQWdCLDRCQUNwQixTQUFRLHVCQUF1QjtJQUsvQixZQUNrQixPQUFxQyxFQUNsQyxXQUE4QixFQUM5QixXQUEyQixFQUMzQixPQUF1QztRQUUxRCxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMbEMsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFnQztRQU5wRCxpQkFBWSxHQUFnQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQVM3RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFrQjtRQUNwQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVEsV0FBVztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFa0IsZ0JBQWdCLENBQUMsS0FBa0I7UUFDcEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNyQixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUV6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFFcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sV0FBVyxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9ELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFFdkUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQW1CO1FBQ2hELE1BQU0sa0JBQWtCLEdBQXdCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUN4RCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFDaEUsQ0FBQzs4R0FqRW1CLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQURqRCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlcklucHV0QmFzZSB9IGZyb20gJy4uL2RhdGVwaWNrZXItaW5wdXQuYmFzZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlclRyaWdnZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2VcbiAgZXh0ZW5kcyBXbGNtRGF0ZXBpY2tlcklucHV0QmFzZVxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgcHJpdmF0ZSBfaW5wdXRNaXJyb3I6IEhUTUxFbGVtZW50ID0gdGhpcy5jcmVhdGVJbnB1dE1pcnJvcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPHVua25vd24+LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50LCBkYXRlQWRhcHRlciwgZGF0ZUZvcm1hdHMsIHRyaWdnZXIpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKHRoaXMuX2lucHV0TWlycm9yKTtcblxuICAgIHRoaXMuY29weUlucHV0RWxlbWVudFN0eWxlcyh0aGlzLl9pbnB1dE1pcnJvcik7XG5cbiAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpID0+IHRoaXMuY2hhbmdlSW5wdXRTaXplKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBoYW5kbGVJbnB1dCgpIHtcbiAgICB0aGlzLmNoYW5nZUlucHV0U2l6ZSgpO1xuXG4gICAgc3VwZXIuaGFuZGxlSW5wdXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZUlucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGFuZ2VJbnB1dFNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5wdXRTaXplKCk6IHZvaWQge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy5jdXJyZW50VmFsdWUgfHwgdGhpcy5pbnB1dEVsZW1lbnQucGxhY2Vob2xkZXI7XG5cbiAgICAgIHRoaXMuX2lucHV0TWlycm9yLmlubmVySFRNTCA9IHZhbHVlO1xuXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3RoaXMuX2lucHV0TWlycm9yLm9mZnNldFdpZHRoICsgMn1weGA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUlucHV0TWlycm9yKCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBpbnB1dE1pcnJvcjogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGlucHV0TWlycm9yLmNsYXNzTGlzdC5hZGQoJ3dsY20tZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZmllbGQtbWlycm9yJyk7XG5cbiAgICByZXR1cm4gaW5wdXRNaXJyb3I7XG4gIH1cblxuICBwcml2YXRlIGNvcHlJbnB1dEVsZW1lbnRTdHlsZXModGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudFN0eWxlczogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuaW5wdXRFbGVtZW50KTtcblxuICAgIHRhcmdldC5zdHlsZS5mb250U2l6ZSA9IGlucHV0RWxlbWVudFN0eWxlcy5mb250U2l6ZTtcbiAgICB0YXJnZXQuc3R5bGUuZm9udEZhbWlseSA9IGlucHV0RWxlbWVudFN0eWxlcy5mb250RmFtaWx5O1xuICAgIHRhcmdldC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gaW5wdXRFbGVtZW50U3R5bGVzLmxldHRlclNwYWNpbmc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
3
+ import { DateAdapter } from '@angular/material/core';
4
+ import { MatCalendar } from '@angular/material/datepicker';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
7
+ import { WLCM_DATEPICKER_CONFIG } from '../../constants/datepicker.constants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/core";
10
+ import * as i2 from "@angular/material/datepicker";
11
+ let WlcmLeftCalendarDirective = class WlcmLeftCalendarDirective extends WlcmDataRangeCalendar {
12
+ constructor(element, dateAdapter, calendar, datepickerConfig) {
13
+ super('left', element, calendar, dateAdapter, datepickerConfig);
14
+ this.element = element;
15
+ this.dateAdapter = dateAdapter;
16
+ this.calendar = calendar;
17
+ this.datepickerConfig = datepickerConfig;
18
+ this.handleYearChange();
19
+ this.handleMonthChange();
20
+ }
21
+ handleYearChange() {
22
+ this.calendar.yearSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
23
+ }
24
+ handleMonthChange() {
25
+ this.calendar.monthSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmLeftCalendarDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: forwardRef(() => MatCalendar) }, { token: WLCM_DATEPICKER_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmLeftCalendarDirective, isStandalone: true, selector: "[wlcmLeftCalendar]", providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }], usesInheritance: true, ngImport: i0 }); }
29
+ };
30
+ WlcmLeftCalendarDirective = __decorate([
31
+ UntilDestroy(),
32
+ __metadata("design:paramtypes", [ElementRef,
33
+ DateAdapter,
34
+ MatCalendar, Object])
35
+ ], WlcmLeftCalendarDirective);
36
+ export { WlcmLeftCalendarDirective };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmLeftCalendarDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[wlcmLeftCalendar]',
41
+ standalone: true,
42
+ providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }],
43
+ }]
44
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
45
+ type: Inject,
46
+ args: [forwardRef(() => MatCalendar)]
47
+ }] }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [WLCM_DATEPICKER_CONFIG]
50
+ }] }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1jYWxlbmRhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3JhZ25lL2xlZnQtY2FsZW5kYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVN2RSxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLHFCQUFxQjtJQUNsRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCLEVBQ2xDLGdCQUFzQztRQUV6RixLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMaEQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQUl6RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDOzhHQXBCVSx5QkFBeUIsdUVBSTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFDN0Isc0JBQXNCO2tHQUxyQix5QkFBeUIsaUVBRnpCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7O0FBRTlGLHlCQUF5QjtJQU5yQyxZQUFZLEVBQUU7cUNBUWMsVUFBVTtRQUNILFdBQVc7UUFDeUIsV0FBVztHQUp0RSx5QkFBeUIsQ0FxQnJDOzsyRkFyQlkseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUM7aUJBQzFHOzswQkFLSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OzBCQUNwQyxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV2xjbURhdGFSYW5nZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhbmdlL2RhdGEtcmFuZ2UtY2FsZW5kYXIubW9kZWxzJztcbmltcG9ydCB7IFdMQ01fREFURVBJQ0tFUl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGF0ZXBpY2tlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZS1waWNrZXIubW9kZWxzJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbUxlZnRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbUxlZnRDYWxlbmRhckRpcmVjdGl2ZSkgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21MZWZ0Q2FsZW5kYXJEaXJlY3RpdmUgZXh0ZW5kcyBXbGNtRGF0YVJhbmdlQ2FsZW5kYXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWF0Q2FsZW5kYXIpKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+LFxuICAgIEBJbmplY3QoV0xDTV9EQVRFUElDS0VSX0NPTkZJRykgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVwaWNrZXJDb25maWc6IFdsY21EYXRlcGlja2VyQ29uZmlnXG4gICkge1xuICAgIHN1cGVyKCdsZWZ0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyLCBkYXRlcGlja2VyQ29uZmlnKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxuXG4gIGhhbmRsZU1vbnRoQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXIubW9udGhTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,64 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
3
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
4
+ import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
5
+ import { MatCalendar, yearsPerPage } from '@angular/material/datepicker';
6
+ import { DateAdapter } from '@angular/material/core';
7
+ import { WLCM_DATEPICKER_CONFIG } from '../../constants/datepicker.constants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/core";
10
+ import * as i2 from "@angular/material/datepicker";
11
+ let WlcmRightCalendarDirective = class WlcmRightCalendarDirective extends WlcmDataRangeCalendar {
12
+ constructor(element, dateAdapter, calendar, datepickerConfig) {
13
+ super('right', element, calendar, dateAdapter, datepickerConfig);
14
+ this.element = element;
15
+ this.dateAdapter = dateAdapter;
16
+ this.calendar = calendar;
17
+ this.datepickerConfig = datepickerConfig;
18
+ this.handleYearChange();
19
+ this.handleMonthChange();
20
+ }
21
+ handleYearChange() {
22
+ this.calendar.yearSelected
23
+ .pipe(untilDestroyed(this))
24
+ .subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
25
+ }
26
+ handleMonthChange() {
27
+ this.calendar.monthSelected
28
+ .pipe(untilDestroyed(this))
29
+ .subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
30
+ }
31
+ nextMonth() {
32
+ this.dateChange.emit(this.calendar.activeDate);
33
+ }
34
+ prevYear() {
35
+ this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage), -1));
36
+ }
37
+ nextYear() {
38
+ this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage), -1));
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmRightCalendarDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: forwardRef(() => MatCalendar) }, { token: WLCM_DATEPICKER_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmRightCalendarDirective, isStandalone: true, selector: "[wlcmRightCalendar]", providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }], usesInheritance: true, ngImport: i0 }); }
42
+ };
43
+ WlcmRightCalendarDirective = __decorate([
44
+ UntilDestroy(),
45
+ __metadata("design:paramtypes", [ElementRef,
46
+ DateAdapter,
47
+ MatCalendar, Object])
48
+ ], WlcmRightCalendarDirective);
49
+ export { WlcmRightCalendarDirective };
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmRightCalendarDirective, decorators: [{
51
+ type: Directive,
52
+ args: [{
53
+ selector: '[wlcmRightCalendar]',
54
+ standalone: true,
55
+ providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }],
56
+ }]
57
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
58
+ type: Inject,
59
+ args: [forwardRef(() => MatCalendar)]
60
+ }] }, { type: undefined, decorators: [{
61
+ type: Inject,
62
+ args: [WLCM_DATEPICKER_CONFIG]
63
+ }] }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtY2FsZW5kYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9yYWduZS9yaWdodC1jYWxlbmRhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVN2RSxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEyQixTQUFRLHFCQUFxQjtJQUNuRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCLEVBQ2xDLGdCQUFzQztRQUV6RixLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMakQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQUl6RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZO2FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO2FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRVEsU0FBUztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDekQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDdkQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDOzhHQXBEVSwwQkFBMEIsdUVBSTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFDN0Isc0JBQXNCO2tHQUxyQiwwQkFBMEIsa0VBRjFCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7O0FBRS9GLDBCQUEwQjtJQU50QyxZQUFZLEVBQUU7cUNBUWMsVUFBVTtRQUNILFdBQVc7UUFDeUIsV0FBVztHQUp0RSwwQkFBMEIsQ0FxRHRDOzsyRkFyRFksMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFLENBQUM7aUJBQzNHOzswQkFLSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OzBCQUNwQyxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRhUmFuZ2VDYWxlbmRhciB9IGZyb20gJy4uLy4uL21vZGVscy9yYW5nZS9kYXRhLXJhbmdlLWNhbGVuZGFyLm1vZGVscyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgeWVhcnNQZXJQYWdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV0xDTV9EQVRFUElDS0VSX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kYXRlcGlja2VyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRlLXBpY2tlci5tb2RlbHMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3bGNtUmlnaHRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbVJpZ2h0Q2FsZW5kYXJEaXJlY3RpdmUpIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtUmlnaHRDYWxlbmRhckRpcmVjdGl2ZSBleHRlbmRzIFdsY21EYXRhUmFuZ2VDYWxlbmRhciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYXRDYWxlbmRhcikpIHByb3RlY3RlZCBvdmVycmlkZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RGF0ZT4sXG4gICAgQEluamVjdChXTENNX0RBVEVQSUNLRVJfQ09ORklHKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZXBpY2tlckNvbmZpZzogV2xjbURhdGVwaWNrZXJDb25maWdcbiAgKSB7XG4gICAgc3VwZXIoJ3JpZ2h0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyLCBkYXRlcGlja2VyQ29uZmlnKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChkYXRlOiBEYXRlKSA9PiB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIC0xKSkpO1xuICB9XG5cbiAgaGFuZGxlTW9udGhDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhci5tb250aFNlbGVjdGVkXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgLTEpKSk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHByZXZZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyhcbiAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSxcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICd5ZWFyJyA/IC0xIDogLXllYXJzUGVyUGFnZVxuICAgICAgICApLFxuICAgICAgICAtMVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0WWVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoXG4gICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJZZWFycyhcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAxIDogeWVhcnNQZXJQYWdlXG4gICAgICAgICksXG4gICAgICAgIC0xXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,67 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
5
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
6
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
7
+ import { WlcmDatepickerInputBase } from '../datepicker-input.base';
8
+ import { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/core";
11
+ import * as i2 from "@angular/material/datepicker";
12
+ import * as i3 from "../datepicker-trigger.base";
13
+ let WlcmDatepickerInputDirective = class WlcmDatepickerInputDirective extends WlcmDatepickerInputBase {
14
+ constructor(element, dateAdapter, dateFormats, selectionModel, trigger) {
15
+ super(element, dateAdapter, dateFormats, trigger);
16
+ this.element = element;
17
+ this.dateAdapter = dateAdapter;
18
+ this.dateFormats = dateFormats;
19
+ this.selectionModel = selectionModel;
20
+ this.trigger = trigger;
21
+ this.handleSelectionChange();
22
+ this.handleClosePanel();
23
+ }
24
+ updateSelection() {
25
+ let date = this.parseCurrentValue();
26
+ this.selectionModel.updateSelection(date, this);
27
+ }
28
+ handleClosePanel() {
29
+ this.trigger.closed.pipe(untilDestroyed(this)).subscribe(() => this._touched?.());
30
+ }
31
+ handleSelectionChange() {
32
+ this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
33
+ this.updateInputValue(selection);
34
+ this._changed?.(selection);
35
+ this._touched?.();
36
+ });
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS }, { token: i2.MatDateSelectionModel }, { token: i3.WlcmDatepickerTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmDatepickerInputDirective, isStandalone: true, selector: "[wlcmDatepickerInput]", host: { classAttribute: "wlcm-form-field-input" }, providers: [
40
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
41
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
42
+ ], exportAs: ["wlcmDatepickerInput"], usesInheritance: true, ngImport: i0 }); }
43
+ };
44
+ WlcmDatepickerInputDirective = __decorate([
45
+ UntilDestroy(),
46
+ __metadata("design:paramtypes", [ElementRef,
47
+ DateAdapter, Object, MatDateSelectionModel,
48
+ WlcmDatepickerTrigger])
49
+ ], WlcmDatepickerInputDirective);
50
+ export { WlcmDatepickerInputDirective };
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDatepickerInputDirective, decorators: [{
52
+ type: Directive,
53
+ args: [{
54
+ selector: '[wlcmDatepickerInput]',
55
+ exportAs: 'wlcmDatepickerInput',
56
+ host: { class: 'wlcm-form-field-input' },
57
+ standalone: true,
58
+ providers: [
59
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
60
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
61
+ ],
62
+ }]
63
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: [MAT_DATE_FORMATS]
66
+ }] }, { type: i2.MatDateSelectionModel }, { type: i3.WlcmDatepickerTrigger }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3NpbmdsZS9kYXRlcGlja2VyLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFhNUQsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFDWCxTQUFRLHVCQUF1QjtJQUcvQixZQUNxQixPQUFtQixFQUNuQixXQUE4QixFQUNKLFdBQTJCLEVBQzlELGNBQWtELEVBQ3pDLE9BQStEO1FBRWxGLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQU4vQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNKLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUM5RCxtQkFBYyxHQUFkLGNBQWMsQ0FBb0M7UUFDekMsWUFBTyxHQUFQLE9BQU8sQ0FBd0Q7UUFJbEYsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVRLGVBQWU7UUFDdEIsSUFBSSxJQUFJLEdBQWdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRWpELElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtZQUMxRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTNCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwQ1UsNEJBQTRCLHVFQU83QixnQkFBZ0I7a0dBUGYsNEJBQTRCLHVIQUw1QjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNwRyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUN6Rzs7QUFFVSw0QkFBNEI7SUFYeEMsWUFBWSxFQUFFO3FDQWdCaUIsVUFBVTtRQUNOLFdBQVcsVUFFakIscUJBQXFCO1FBQ25CLHFCQUFxQjtHQVR4Qyw0QkFBNEIsQ0FxQ3hDOzsyRkFyQ1ksNEJBQTRCO2tCQVZ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtvQkFDeEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNwRyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3pHO2lCQUNGOzswQkFRSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2luZ2xlL2RhdGVwaWNrZXItcGFuZWwvZGF0ZXBpY2tlci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZVNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VySW5wdXRCYXNlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci1pbnB1dC5iYXNlJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyVHJpZ2dlciB9IGZyb20gJy4uL2RhdGVwaWNrZXItdHJpZ2dlci5iYXNlJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbURhdGVwaWNrZXJJbnB1dF0nLFxuICBleHBvcnRBczogJ3dsY21EYXRlcGlja2VySW5wdXQnLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1mb3JtLWZpZWxkLWlucHV0JyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21EYXRlcGlja2VySW5wdXREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21EYXRlcGlja2VySW5wdXREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtRGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlPFQ+XG4gIGV4dGVuZHMgV2xjbURhdGVwaWNrZXJJbnB1dEJhc2VcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIHByb3RlY3RlZCBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPERhdGUgfCBudWxsPixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQ8VD4+XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIGRhdGVBZGFwdGVyLCBkYXRlRm9ybWF0cywgdHJpZ2dlcik7XG5cbiAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVDbG9zZVBhbmVsKCk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgbGV0IGRhdGU6IERhdGUgfCBudWxsID0gdGhpcy5wYXJzZUN1cnJlbnRWYWx1ZSgpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC51cGRhdGVTZWxlY3Rpb24oZGF0ZSwgdGhpcyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fdG91Y2hlZD8uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb25DaGFuZ2VkLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoeyBzZWxlY3Rpb24gfSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHNlbGVjdGlvbik7XG5cbiAgICAgIHRoaXMuX2NoYW5nZWQ/LihzZWxlY3Rpb24pO1xuXG4gICAgICB0aGlzLl90b3VjaGVkPy4oKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { DateFnsAdapter } from '@angular/material-date-fns-adapter';
3
+ import { format } from 'date-fns';
4
+ import * as i0 from "@angular/core";
5
+ function range(length, valueFunction) {
6
+ const valuesArray = Array(length);
7
+ for (let i = 0; i < length; i++) {
8
+ valuesArray[i] = valueFunction(i);
9
+ }
10
+ return valuesArray;
11
+ }
12
+ export class WlcmDateAdapter extends DateFnsAdapter {
13
+ getDayOfWeekNames(style) {
14
+ const formatString = style === 'long' ? 'EEEE' : 'EEEEEE';
15
+ return range(7, (i) => format(new Date(2017, 0, i + 1), formatString));
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateAdapter }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDateAdapter, decorators: [{
21
+ type: Injectable
22
+ }] });
23
+ export var WlcmDateValidation;
24
+ (function (WlcmDateValidation) {
25
+ WlcmDateValidation["Format"] = "WlcmInvalidDateFormat";
26
+ WlcmDateValidation["MinDate"] = "WlcmDateIsBeforeMinDate";
27
+ WlcmDateValidation["MaxDate"] = "WlcmDateIsAfterMaxDate";
28
+ })(WlcmDateValidation || (WlcmDateValidation = {}));
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsQyxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDbkUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBR0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUN4QyxpQkFBaUIsQ0FBQyxLQUFrQztRQUMzRCxNQUFNLFlBQVksR0FBRyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUUxRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBTFUsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOztBQVNYLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsc0RBQWdDLENBQUE7SUFDaEMseURBQW1DLENBQUE7SUFDbkMsd0RBQWtDLENBQUE7QUFDcEMsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVGbnNBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtZGF0ZS1mbnMtYWRhcHRlcic7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5cbmZ1bmN0aW9uIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzQXJyYXk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXbGNtRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlRm5zQWRhcHRlciB7XG4gIG92ZXJyaWRlIGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZm9ybWF0U3RyaW5nID0gc3R5bGUgPT09ICdsb25nJyA/ICdFRUVFJyA6ICdFRUVFRUUnO1xuXG4gICAgcmV0dXJuIHJhbmdlKDcsIChpKSA9PiBmb3JtYXQobmV3IERhdGUoMjAxNywgMCwgaSArIDEpLCBmb3JtYXRTdHJpbmcpKTtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBXbGNtRGF0ZVZhbGlkYXRpb24ge1xuICBGb3JtYXQgPSAnV2xjbUludmFsaWREYXRlRm9ybWF0JyxcbiAgTWluRGF0ZSA9ICdXbGNtRGF0ZUlzQmVmb3JlTWluRGF0ZScsXG4gIE1heERhdGUgPSAnV2xjbURhdGVJc0FmdGVyTWF4RGF0ZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2xjbURhdGVwaWNrZXJDb25maWcge1xuICBtaW5EYXRlPzogU2lnbmFsPERhdGUgfCB1bmRlZmluZWQ+O1xuXG4gIG1heERhdGU/OiBTaWduYWw8RGF0ZSB8IHVuZGVmaW5lZD47XG5cbiAgc2VsZWN0T25seT86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,61 @@
1
+ import { Directive, ElementRef, effect, input, output } from '@angular/core';
2
+ import { MatCalendar, yearsPerPage } from '@angular/material/datepicker';
3
+ import { isBefore, startOfDay, isAfter } from 'date-fns';
4
+ import { DateAdapter } from '@angular/material/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/datepicker";
7
+ import * as i2 from "@angular/material/core";
8
+ export class WlcmDataRangeCalendar {
9
+ constructor(location, element, calendar, dateAdapter, datepickerConfig) {
10
+ this.element = element;
11
+ this.calendar = calendar;
12
+ this.dateAdapter = dateAdapter;
13
+ this.datepickerConfig = datepickerConfig;
14
+ this.dateChange = output();
15
+ this.viewChange = output();
16
+ this.disabled = input(false);
17
+ this.location = location;
18
+ effect(() => {
19
+ if (this.disabled()) {
20
+ this.element.nativeElement.classList.add('wlcm-calendar-disabled');
21
+ }
22
+ else {
23
+ this.element.nativeElement.classList.remove('wlcm-calendar-disabled');
24
+ }
25
+ });
26
+ this.handleConfigValues();
27
+ }
28
+ get minDate() {
29
+ return this.datepickerConfig.minDate?.();
30
+ }
31
+ get maxDate() {
32
+ return this.datepickerConfig.maxDate?.();
33
+ }
34
+ prevMonth() {
35
+ this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, -1));
36
+ }
37
+ nextMonth() {
38
+ this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, 1));
39
+ }
40
+ prevYear() {
41
+ this.dateChange.emit(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage));
42
+ }
43
+ nextYear() {
44
+ this.dateChange.emit(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage));
45
+ }
46
+ handleConfigValues() {
47
+ this.calendar.dateFilter = (date) => {
48
+ if (this.minDate && isBefore(startOfDay(date), startOfDay(this.minDate)))
49
+ return false;
50
+ if (this.maxDate && isAfter(startOfDay(date), startOfDay(this.maxDate)))
51
+ return false;
52
+ return true;
53
+ };
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDataRangeCalendar, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: WlcmDataRangeCalendar, inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange", viewChange: "viewChange" }, ngImport: i0 }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDataRangeCalendar, decorators: [{
59
+ type: Directive
60
+ }], ctorParameters: () => [{ type: undefined }, { type: i0.ElementRef }, { type: i1.MatCalendar }, { type: i2.DateAdapter }, { type: undefined }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1yYW5nZS1jYWxlbmRhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9tb2RlbHMvcmFuZ2UvZGF0YS1yYW5nZS1jYWxlbmRhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQW1CLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFHckQsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUNFLFFBQTBCLEVBQ25CLE9BQWdDLEVBQzdCLFFBQTJCLEVBQzNCLFdBQThCLEVBQzlCLGdCQUFzQztRQUh6QyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQVh6QyxlQUFVLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRTlDLGVBQVUsR0FBc0MsTUFBTSxFQUFFLENBQUM7UUFFekQsYUFBUSxHQUF5QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFTckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNyRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUN6RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDdkQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBVyxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFeEYsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUV2RixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBdkVVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dFNpZ25hbCwgT3V0cHV0RW1pdHRlclJlZiwgZWZmZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJWaWV3LCB5ZWFyc1BlclBhZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIubW9kZWxzJztcbmltcG9ydCB7IGlzQmVmb3JlLCBzdGFydE9mRGF5LCBpc0FmdGVyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgV2xjbURhdGFSYW5nZUNhbGVuZGFyIHtcbiAgcHVibGljIGxvY2F0aW9uITogJ2xlZnQnIHwgJ3JpZ2h0JztcblxuICByZWFkb25seSBkYXRlQ2hhbmdlOiBPdXRwdXRFbWl0dGVyUmVmPERhdGU+ID0gb3V0cHV0KCk7XG5cbiAgcmVhZG9ubHkgdmlld0NoYW5nZTogT3V0cHV0RW1pdHRlclJlZjxNYXRDYWxlbmRhclZpZXc+ID0gb3V0cHV0KCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2F0aW9uOiAnbGVmdCcgfCAncmlnaHQnLFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+LFxuICAgIHByb3RlY3RlZCBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgcHJvdGVjdGVkIGRhdGVwaWNrZXJDb25maWc6IFdsY21EYXRlcGlja2VyQ29uZmlnLFxuICApIHtcbiAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3bGNtLWNhbGVuZGFyLWRpc2FibGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd3bGNtLWNhbGVuZGFyLWRpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhhbmRsZUNvbmZpZ1ZhbHVlcygpO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlckNvbmZpZy5taW5EYXRlPy4oKTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlKCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRhdGVwaWNrZXJDb25maWcubWF4RGF0ZT8uKCk7XG4gIH1cblxuICBwcmV2TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsIC0xKSk7XG4gIH1cblxuICBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByZXZZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ3llYXInID8gLTEgOiAteWVhcnNQZXJQYWdlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgbmV4dFllYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQoXG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyWWVhcnMoXG4gICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSxcbiAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAxIDogeWVhcnNQZXJQYWdlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlQ29uZmlnVmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXIuZGF0ZUZpbHRlciA9IChkYXRlOiBEYXRlKTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAodGhpcy5taW5EYXRlICYmIGlzQmVmb3JlKHN0YXJ0T2ZEYXkoZGF0ZSksIHN0YXJ0T2ZEYXkodGhpcy5taW5EYXRlISkpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLm1heERhdGUgJiYgaXNBZnRlcihzdGFydE9mRGF5KGRhdGUpLCBzdGFydE9mRGF5KHRoaXMubWF4RGF0ZSEpKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { computed, signal } from '@angular/core';
2
+ import { untilDestroyed } from '@ngneat/until-destroy';
3
+ export class WlcmDateRangePicker {
4
+ constructor(localSelectionModel, rangeSelectionStrategy) {
5
+ this.localSelectionModel = localSelectionModel;
6
+ this.rangeSelectionStrategy = rangeSelectionStrategy;
7
+ this._isComplete = signal(false);
8
+ this.isComplete = computed(() => this._isComplete());
9
+ this.handleSelectionChanged();
10
+ }
11
+ calendarSelection(event) {
12
+ const newSelection = this.rangeSelectionStrategy.selectionFinished(event.value, this.localSelectionModel.selection, event.event);
13
+ this.localSelectionModel.updateSelection(newSelection, this);
14
+ }
15
+ calendarDragDrop(event) {
16
+ this.localSelectionModel.updateSelection(event.value, this);
17
+ }
18
+ get selected() {
19
+ return this.localSelectionModel.selection;
20
+ }
21
+ handleSelectionChanged() {
22
+ this.localSelectionModel.selectionChanged
23
+ .pipe(untilDestroyed(this))
24
+ .subscribe(() => this._isComplete.set(this.localSelectionModel.isComplete()));
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvbW9kZWxzL3JhbmdlL2RhdGUtcmFuZ2UtcGlja2VyLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE1BQU0sT0FBZ0IsbUJBQW1CO0lBS3ZDLFlBQ1ksbUJBQTJELEVBQzNELHNCQUEyRDtRQUQzRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdDO1FBQzNELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBcUM7UUFON0QsZ0JBQVcsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRELGVBQVUsR0FBb0IsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBTXhFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFNRCxpQkFBaUIsQ0FBQyxLQUF3QztRQUN4RCxNQUFNLFlBQVksR0FBb0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixDQUNqRixLQUFLLENBQUMsS0FBSyxFQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUE0QztRQUMzRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0I7YUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgU2lnbmFsLCBzaWduYWwsIFR5cGUsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXREYXRlU2VsZWN0aW9uTW9kZWwsXG4gIERhdGVSYW5nZSxcbiAgTWF0Q2FsZW5kYXJVc2VyRXZlbnQsXG4gIE1hdERhdGVSYW5nZVNlbGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdsY21EYXRlUmFuZ2VQaWNrZXIge1xuICBwcm90ZWN0ZWQgX2lzQ29tcGxldGU6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBpc0NvbXBsZXRlOiBTaWduYWw8Ym9vbGVhbj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pc0NvbXBsZXRlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBsb2NhbFNlbGVjdGlvbk1vZGVsOiBNYXREYXRlU2VsZWN0aW9uTW9kZWw8RGF0ZVJhbmdlPERhdGU+PixcbiAgICBwcm90ZWN0ZWQgcmFuZ2VTZWxlY3Rpb25TdHJhdGVneTogTWF0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3k8RGF0ZT4sXG4gICkge1xuICAgIHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZCgpO1xuICB9XG5cbiAgYWJzdHJhY3QgYXBwbHkoKTogdm9pZDtcblxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xuXG4gIGNhbGVuZGFyU2VsZWN0aW9uKGV2ZW50OiBNYXRDYWxlbmRhclVzZXJFdmVudDxEYXRlIHwgbnVsbD4pOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTZWxlY3Rpb246IERhdGVSYW5nZTxEYXRlPiA9IHRoaXMucmFuZ2VTZWxlY3Rpb25TdHJhdGVneS5zZWxlY3Rpb25GaW5pc2hlZChcbiAgICAgIGV2ZW50LnZhbHVlLFxuICAgICAgdGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbixcbiAgICAgIGV2ZW50LmV2ZW50LFxuICAgICk7XG5cbiAgICB0aGlzLmxvY2FsU2VsZWN0aW9uTW9kZWwudXBkYXRlU2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgdGhpcyk7XG4gIH1cblxuICBjYWxlbmRhckRyYWdEcm9wKGV2ZW50OiBNYXRDYWxlbmRhclVzZXJFdmVudDxEYXRlUmFuZ2U8RGF0ZT4+KTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLnVwZGF0ZVNlbGVjdGlvbihldmVudC52YWx1ZSwgdGhpcyk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWQoKTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbFNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsU2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uQ2hhbmdlZFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2lzQ29tcGxldGUuc2V0KHRoaXMubG9jYWxTZWxlY3Rpb25Nb2RlbC5pc0NvbXBsZXRlKCkpKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdsY21EYXRlUmFuZ2VQaWNrZXJDb25maWcge1xuICBoZWFkZXJDb21wb25lbnQ/OiBUeXBlPHVua25vd24+O1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export var WlcmDateRangeValidation;
2
+ (function (WlcmDateRangeValidation) {
3
+ WlcmDateRangeValidation["StartExceedsEnd"] = "wlcmDateRangeStartExceedsEnd";
4
+ })(WlcmDateRangeValidation || (WlcmDateRangeValidation = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS12YWxpZGF0aW9uLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL21vZGVscy9yYW5nZS9kYXRlLXJhbmdlLXZhbGlkYXRpb24ubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHVCQUVYO0FBRkQsV0FBWSx1QkFBdUI7SUFDakMsMkVBQWdELENBQUE7QUFDbEQsQ0FBQyxFQUZXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFFbEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBXbGNtRGF0ZVJhbmdlVmFsaWRhdGlvbiB7XG4gIFN0YXJ0RXhjZWVkc0VuZCA9ICd3bGNtRGF0ZVJhbmdlU3RhcnRFeGNlZWRzRW5kJyxcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { WlcmDateValidation } from '../../models/date-picker.models';
2
+ export function WlcmDateRangeInputValidator() {
3
+ return (control) => {
4
+ const formGroup = control;
5
+ let errors = {};
6
+ for (const childControl of Object.values(formGroup.controls)) {
7
+ errors = { ...errors, ...childControl.errors };
8
+ }
9
+ errors = Object.keys(errors).length > 0 ? errors : null;
10
+ if (errors instanceof Object && errors[WlcmDateValidation.Format] && errors['required']) {
11
+ errors['required'] = false;
12
+ }
13
+ return errors;
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC52YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvdXRpbHMvcmFuZ2UvZGF0ZS1yYW5nZS1pbnB1dC52YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQWMsT0FBb0IsQ0FBQztRQUVsRCxJQUFJLE1BQU0sR0FBNEIsRUFBRSxDQUFDO1FBRXpDLEtBQUssTUFBTSxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxDQUFDO1FBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFeEQsSUFBSSxNQUFNLFlBQVksTUFBTSxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4RixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV2xjbURhdGVWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBXbGNtRGF0ZVJhbmdlSW5wdXRWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBjb25zdCBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IGNvbnRyb2wgYXMgRm9ybUdyb3VwO1xuXG4gICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB7fTtcblxuICAgIGZvciAoY29uc3QgY2hpbGRDb250cm9sIG9mIE9iamVjdC52YWx1ZXMoZm9ybUdyb3VwLmNvbnRyb2xzKSkge1xuICAgICAgZXJyb3JzID0geyAuLi5lcnJvcnMsIC4uLmNoaWxkQ29udHJvbC5lcnJvcnMgfTtcbiAgICB9XG5cbiAgICBlcnJvcnMgPSBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiBudWxsO1xuXG4gICAgaWYgKGVycm9ycyBpbnN0YW5jZW9mIE9iamVjdCAmJiBlcnJvcnNbV2xjbURhdGVWYWxpZGF0aW9uLkZvcm1hdF0gJiYgZXJyb3JzWydyZXF1aXJlZCddKSB7XG4gICAgICBlcnJvcnNbJ3JlcXVpcmVkJ10gPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class DateRangePickerErrors {
2
+ static throwNoStartInputError() {
3
+ throw new Error('The input element with the wlcmDateRangePickerInputStart directive is missing');
4
+ }
5
+ static throwNoEndInputError() {
6
+ throw new Error('The input element with the wlcmDateRangePickerInputEnd directive is missing');
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvdXRpbHMvcmFuZ2UvZGF0ZS1yYW5nZS1waWNrZXItZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLHNCQUFzQjtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLCtFQUErRSxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0I7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJFcnJvcnMge1xuICBzdGF0aWMgdGhyb3dOb1N0YXJ0SW5wdXRFcnJvcigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBpbnB1dCBlbGVtZW50IHdpdGggdGhlIHdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0IGRpcmVjdGl2ZSBpcyBtaXNzaW5nJyk7XG4gIH1cblxuICBzdGF0aWMgdGhyb3dOb0VuZElucHV0RXJyb3IoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgaW5wdXQgZWxlbWVudCB3aXRoIHRoZSB3bGNtRGF0ZVJhbmdlUGlja2VySW5wdXRFbmQgZGlyZWN0aXZlIGlzIG1pc3NpbmcnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2xjbS1hbmd1bGFyLWRhdGVwaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL3dsY20tYW5ndWxhci1kYXRlcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19