@recursyve/nice-ui-kit.v2 13.2.0-beta.98 → 14.0.0-beta.100

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 (204) hide show
  1. package/esm2020/lib/api/interceptors/transform-response.interceptor.mjs +3 -3
  2. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  3. package/esm2020/lib/components/alert/alert.module.mjs +4 -4
  4. package/esm2020/lib/components/alert/alert.service.mjs +3 -3
  5. package/esm2020/lib/components/assets-carousel/assets-carousel.component.mjs +33 -17
  6. package/esm2020/lib/components/assets-carousel/assets-carousel.module.mjs +4 -4
  7. package/esm2020/lib/components/async-typeahead/async-typeahead.component.mjs +15 -9
  8. package/esm2020/lib/components/async-typeahead/async-typeahead.module.mjs +4 -4
  9. package/esm2020/lib/components/async-typeahead/providers/async-typeahead.service.mjs +3 -3
  10. package/esm2020/lib/components/base-form/base-form.component.mjs +3 -3
  11. package/esm2020/lib/components/base-form/base-form.module.mjs +4 -4
  12. package/esm2020/lib/components/base-form/form-submit.directive.mjs +3 -3
  13. package/esm2020/lib/components/card/card.component.mjs +3 -3
  14. package/esm2020/lib/components/card/card.module.mjs +4 -4
  15. package/esm2020/lib/components/carousel/carousel.component.mjs +3 -3
  16. package/esm2020/lib/components/carousel/carousel.module.mjs +4 -4
  17. package/esm2020/lib/components/carousel/picture-modal/picture-modal.component.mjs +3 -3
  18. package/esm2020/lib/components/carousel/picture-modal/picture-modal.service.mjs +3 -3
  19. package/esm2020/lib/components/carousel/pipe/carousel-layout.pipe.mjs +3 -3
  20. package/esm2020/lib/components/date-range-picker/components/header/header.component.mjs +57 -0
  21. package/esm2020/lib/components/date-range-picker/components/range-preset/range-preset.component.mjs +107 -0
  22. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +74 -0
  23. package/esm2020/lib/components/date-range-picker/date-range-picker.module.mjs +56 -0
  24. package/esm2020/lib/components/date-range-picker/index.mjs +2 -0
  25. package/esm2020/lib/components/date-range-picker/providers/date-range-picker.service.mjs +17 -0
  26. package/esm2020/lib/components/date-range-picker/public-api.mjs +3 -0
  27. package/esm2020/lib/components/drawer/drawer.component.mjs +3 -3
  28. package/esm2020/lib/components/drawer/drawer.module.mjs +4 -4
  29. package/esm2020/lib/components/drawer/drawer.service.mjs +3 -3
  30. package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +3 -3
  31. package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +4 -4
  32. package/esm2020/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.mjs +6 -6
  33. package/esm2020/lib/components/form-error/control-status.directive.mjs +4 -4
  34. package/esm2020/lib/components/form-error/form-error.component.mjs +3 -3
  35. package/esm2020/lib/components/form-error/form-error.module.mjs +4 -4
  36. package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +3 -3
  37. package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.module.mjs +4 -4
  38. package/esm2020/lib/components/horizontal-stepper/step.component.mjs +3 -3
  39. package/esm2020/lib/components/image-cropper/image-cropper.component.mjs +8 -8
  40. package/esm2020/lib/components/image-cropper/image-cropper.module.mjs +4 -4
  41. package/esm2020/lib/components/layout/layout.component.mjs +3 -3
  42. package/esm2020/lib/components/layout/layout.module.mjs +4 -4
  43. package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
  44. package/esm2020/lib/components/loading-spinner/loading-spinner.module.mjs +4 -4
  45. package/esm2020/lib/components/loading-spinner/loading.directive.mjs +3 -3
  46. package/esm2020/lib/components/lottie/lottie.component.mjs +3 -3
  47. package/esm2020/lib/components/lottie/lottie.module.mjs +4 -4
  48. package/esm2020/lib/components/navigation/directives/show-hint.directive.mjs +163 -0
  49. package/esm2020/lib/components/navigation/horizontal/components/basic/basic.component.mjs +3 -3
  50. package/esm2020/lib/components/navigation/horizontal/components/branch/branch.component.mjs +6 -5
  51. package/esm2020/lib/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
  52. package/esm2020/lib/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
  53. package/esm2020/lib/components/navigation/horizontal/horizontal.component.mjs +6 -5
  54. package/esm2020/lib/components/navigation/navigation.component.mjs +3 -3
  55. package/esm2020/lib/components/navigation/navigation.module.mjs +18 -7
  56. package/esm2020/lib/components/navigation/navigation.service.mjs +3 -3
  57. package/esm2020/lib/components/navigation/navigation.types.mjs +1 -1
  58. package/esm2020/lib/components/navigation/pipes/should-hide.pipe.mjs +31 -0
  59. package/esm2020/lib/components/navigation/pipes/should-show-hint.pipe.mjs +32 -0
  60. package/esm2020/lib/components/navigation/providers/hide-item.resolver.mjs +3 -0
  61. package/esm2020/lib/components/navigation/providers/hint.resolver.mjs +3 -0
  62. package/esm2020/lib/components/navigation/providers/hint.service.mjs +20 -0
  63. package/esm2020/lib/components/navigation/public-api.mjs +3 -1
  64. package/esm2020/lib/components/navigation/vertical/components/aside/aside.component.mjs +3 -3
  65. package/esm2020/lib/components/navigation/vertical/components/basic/basic.component.mjs +8 -6
  66. package/esm2020/lib/components/navigation/vertical/components/collapsable/collapsable.component.mjs +9 -17
  67. package/esm2020/lib/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
  68. package/esm2020/lib/components/navigation/vertical/components/group/group.component.mjs +6 -5
  69. package/esm2020/lib/components/navigation/vertical/components/spacer/spacer.component.mjs +3 -3
  70. package/esm2020/lib/components/navigation/vertical/vertical.component.mjs +33 -16
  71. package/esm2020/lib/components/public-api.mjs +2 -1
  72. package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
  73. package/esm2020/lib/components/search-bar/search-bar.module.mjs +4 -4
  74. package/esm2020/lib/components/sweet-alert/public-api.mjs +2 -1
  75. package/esm2020/lib/components/sweet-alert/sweet-alert.component.mjs +3 -3
  76. package/esm2020/lib/components/sweet-alert/sweet-alert.directive.mjs +37 -0
  77. package/esm2020/lib/components/sweet-alert/sweet-alert.module.mjs +9 -7
  78. package/esm2020/lib/components/sweet-alert/sweet-alert.service.mjs +24 -7
  79. package/esm2020/lib/components/toast/toast.component.mjs +3 -3
  80. package/esm2020/lib/components/toast/toast.module.mjs +4 -4
  81. package/esm2020/lib/components/toast/toast.service.mjs +3 -3
  82. package/esm2020/lib/components/toggle-button-group/toggle-button-group.component.mjs +3 -3
  83. package/esm2020/lib/components/toggle-button-group/toggle-button-group.module.mjs +4 -4
  84. package/esm2020/lib/components/toggle-button-group/toggle-button.component.mjs +3 -3
  85. package/esm2020/lib/components/typeahead/directives/options-scroll.directive.mjs +3 -3
  86. package/esm2020/lib/components/typeahead/directives/options-scroll.module.mjs +4 -4
  87. package/esm2020/lib/components/typeahead/typeahead.component.mjs +3 -3
  88. package/esm2020/lib/components/typeahead/typeahead.module.mjs +4 -4
  89. package/esm2020/lib/directives/autofocus/autofocus.directive.mjs +3 -3
  90. package/esm2020/lib/directives/autofocus/autofocus.module.mjs +4 -4
  91. package/esm2020/lib/directives/autogrow/autogrow.directive.mjs +3 -3
  92. package/esm2020/lib/directives/autogrow/autogrow.module.mjs +4 -4
  93. package/esm2020/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.mjs +39 -0
  94. package/esm2020/lib/directives/chip-async-typeahead/index.mjs +2 -0
  95. package/esm2020/lib/directives/chip-async-typeahead/public-api.mjs +2 -0
  96. package/esm2020/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.mjs +14 -0
  97. package/esm2020/lib/directives/chip-list/chip-list-items/chip-list-items.component.mjs +46 -0
  98. package/esm2020/lib/directives/chip-list/chip-list.constant.mjs +3 -0
  99. package/esm2020/lib/directives/chip-list/chip-list.directive.mjs +127 -0
  100. package/esm2020/lib/directives/chip-list/chip-list.module.mjs +40 -0
  101. package/esm2020/lib/directives/chip-list/index.mjs +2 -0
  102. package/esm2020/lib/directives/chip-list/public-api.mjs +5 -0
  103. package/esm2020/lib/directives/dropzone/dropzone.directive.mjs +3 -3
  104. package/esm2020/lib/directives/dropzone/dropzone.module.mjs +4 -4
  105. package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.directive.mjs +3 -3
  106. package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.module.mjs +4 -4
  107. package/esm2020/lib/directives/material/material.module.mjs +4 -4
  108. package/esm2020/lib/directives/material/nice-material-style.directive.mjs +3 -3
  109. package/esm2020/lib/directives/material/nice-rounded-style.directive.mjs +3 -3
  110. package/esm2020/lib/directives/modals/modal-on-click.directive.mjs +3 -3
  111. package/esm2020/lib/directives/modals/modal-opener.directive.mjs +3 -3
  112. package/esm2020/lib/directives/public-api.mjs +3 -1
  113. package/esm2020/lib/directives/scroll-reset/scroll-reset.directive.mjs +3 -3
  114. package/esm2020/lib/directives/scroll-reset/scroll-reset.module.mjs +4 -4
  115. package/esm2020/lib/directives/scrollbar/scrollbar.directive.mjs +3 -3
  116. package/esm2020/lib/directives/scrollbar/scrollbar.module.mjs +4 -4
  117. package/esm2020/lib/directives/stop-propagation/click-stop-propagation.directive.mjs +3 -3
  118. package/esm2020/lib/directives/stop-propagation/stop-propagation.module.mjs +4 -4
  119. package/esm2020/lib/directives/window/prevent-close-window.directive.mjs +3 -3
  120. package/esm2020/lib/directives/window/window-directive.module.mjs +4 -4
  121. package/esm2020/lib/nice.module.mjs +5 -5
  122. package/esm2020/lib/pipes/boolean.pipe.mjs +3 -3
  123. package/esm2020/lib/pipes/capitalize-first-letter.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/ceil.pipe.mjs +3 -3
  125. package/esm2020/lib/pipes/entries.pipe.mjs +3 -3
  126. package/esm2020/lib/pipes/find-by-key.pipe.mjs +3 -3
  127. package/esm2020/lib/pipes/first-letter.pipe.mjs +3 -3
  128. package/esm2020/lib/pipes/floor.pipe.mjs +3 -3
  129. package/esm2020/lib/pipes/join-if-defined.pipe.mjs +3 -3
  130. package/esm2020/lib/pipes/link.pipe.mjs +3 -3
  131. package/esm2020/lib/pipes/localized-boolean.pipe.mjs +3 -3
  132. package/esm2020/lib/pipes/localized-currency.pipe.mjs +3 -3
  133. package/esm2020/lib/pipes/localized-date-only.pipe.mjs +3 -3
  134. package/esm2020/lib/pipes/localized-date.pipe.mjs +3 -3
  135. package/esm2020/lib/pipes/minutes-to-time.pipe.mjs +3 -3
  136. package/esm2020/lib/pipes/number-to-ordinal-indicator.pipe.mjs +3 -3
  137. package/esm2020/lib/pipes/pad.pipe.mjs +3 -3
  138. package/esm2020/lib/pipes/phone.pipe.mjs +3 -3
  139. package/esm2020/lib/pipes/pipes.module.mjs +4 -4
  140. package/esm2020/lib/pipes/postal-code.pipe.mjs +3 -3
  141. package/esm2020/lib/pipes/range.pipe.mjs +3 -3
  142. package/esm2020/lib/pipes/round.pipe.mjs +3 -3
  143. package/esm2020/lib/pipes/sanitize-bypass.pipe.mjs +3 -3
  144. package/esm2020/lib/pipes/seconds-to-time.pipe.mjs +3 -3
  145. package/esm2020/lib/providers/config/config.module.mjs +4 -4
  146. package/esm2020/lib/providers/config/config.service.mjs +3 -3
  147. package/esm2020/lib/providers/media-watcher/media-watcher.module.mjs +4 -4
  148. package/esm2020/lib/providers/media-watcher/media-watcher.service.mjs +3 -3
  149. package/esm2020/lib/providers/overlay/dynamic-overlay-container.service.mjs +3 -3
  150. package/esm2020/lib/providers/overlay/dynamic-overlay.service.mjs +3 -3
  151. package/esm2020/lib/providers/splash-screen/splash-screen.module.mjs +4 -4
  152. package/esm2020/lib/providers/splash-screen/splash-screen.service.mjs +3 -3
  153. package/esm2020/lib/providers/utils/utils.module.mjs +4 -4
  154. package/esm2020/lib/providers/utils/utils.service.mjs +3 -3
  155. package/fesm2015/recursyve-nice-ui-kit.v2.mjs +2175 -1354
  156. package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
  157. package/fesm2020/recursyve-nice-ui-kit.v2.mjs +2173 -1361
  158. package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
  159. package/lib/components/assets-carousel/assets-carousel.component.d.ts +6 -1
  160. package/lib/components/async-typeahead/async-typeahead.component.d.ts +4 -3
  161. package/lib/components/date-range-picker/components/header/header.component.d.ts +20 -0
  162. package/lib/components/date-range-picker/components/range-preset/range-preset.component.d.ts +23 -0
  163. package/lib/components/date-range-picker/date-range-picker.component.d.ts +29 -0
  164. package/lib/components/date-range-picker/date-range-picker.module.d.ts +18 -0
  165. package/lib/components/date-range-picker/index.d.ts +1 -0
  166. package/lib/components/date-range-picker/providers/date-range-picker.service.d.ts +8 -0
  167. package/lib/components/date-range-picker/public-api.d.ts +2 -0
  168. package/lib/components/form-error/control-status.directive.d.ts +3 -5
  169. package/lib/components/navigation/directives/show-hint.directive.d.ts +36 -0
  170. package/lib/components/navigation/navigation.module.d.ts +13 -10
  171. package/lib/components/navigation/navigation.types.d.ts +8 -1
  172. package/lib/components/navigation/pipes/should-hide.pipe.d.ts +11 -0
  173. package/lib/components/navigation/pipes/should-show-hint.pipe.d.ts +12 -0
  174. package/lib/components/navigation/providers/hide-item.resolver.d.ts +5 -0
  175. package/lib/components/navigation/providers/hint.resolver.d.ts +4 -0
  176. package/lib/components/navigation/providers/hint.service.d.ts +9 -0
  177. package/lib/components/navigation/public-api.d.ts +2 -0
  178. package/lib/components/navigation/vertical/vertical.component.d.ts +6 -2
  179. package/lib/components/public-api.d.ts +1 -0
  180. package/lib/components/sweet-alert/public-api.d.ts +1 -0
  181. package/lib/components/sweet-alert/sweet-alert.directive.d.ts +13 -0
  182. package/lib/components/sweet-alert/sweet-alert.module.d.ts +7 -6
  183. package/lib/components/sweet-alert/sweet-alert.service.d.ts +11 -0
  184. package/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.d.ts +14 -0
  185. package/lib/directives/chip-async-typeahead/index.d.ts +1 -0
  186. package/lib/directives/chip-async-typeahead/public-api.d.ts +1 -0
  187. package/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.d.ts +8 -0
  188. package/lib/directives/chip-list/chip-list-items/chip-list-items.component.d.ts +26 -0
  189. package/lib/directives/chip-list/chip-list.constant.d.ts +2 -0
  190. package/lib/directives/chip-list/chip-list.directive.d.ts +29 -0
  191. package/lib/directives/chip-list/chip-list.module.d.ts +14 -0
  192. package/lib/directives/chip-list/index.d.ts +1 -0
  193. package/lib/directives/chip-list/public-api.d.ts +4 -0
  194. package/lib/directives/public-api.d.ts +2 -0
  195. package/lib/utils/array.utils.d.ts +1 -1
  196. package/package.json +9 -9
  197. package/src/lib/components/assets-carousel/assets-carousel.theme.scss +44 -38
  198. package/src/lib/components/chip-list/chip-list.theme.scss +14 -0
  199. package/src/lib/components/chip-list/components/item-list/item-list.theme.scss +37 -0
  200. package/src/lib/components/date-range-picker/date-range-picker.theme.scss +47 -0
  201. package/src/lib/components/navigation/vertical/styles/appearances/default.theme.scss +38 -0
  202. package/src/lib/components/navigation/vertical/styles/appearances/dense.theme.scss +2 -2
  203. package/src/lib/directives/chip-list/chip-list-items/chip-list-items.theme.scss +35 -0
  204. package/src/lib/nice.theme.scss +7 -0
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject } from "@angular/core";
2
+ import { DateAdapter, MAT_DATE_FORMATS } from "@angular/material/core";
3
+ import { MatCalendar } from "@angular/material/datepicker";
4
+ import { Subject } from "rxjs";
5
+ import { takeUntil } from "rxjs/operators";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/datepicker";
8
+ import * as i2 from "@angular/material/core";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/material/button";
11
+ import * as i5 from "@angular/material/icon";
12
+ import * as i6 from "../range-preset/range-preset.component";
13
+ export class HeaderComponent {
14
+ constructor(calendar, dateAdapter, dateFormats, cdr) {
15
+ this.calendar = calendar;
16
+ this.dateAdapter = dateAdapter;
17
+ this.dateFormats = dateFormats;
18
+ this.destroy$ = new Subject();
19
+ this.toggled = false;
20
+ calendar.stateChanges
21
+ .pipe(takeUntil(this.destroy$))
22
+ .subscribe(() => cdr.markForCheck());
23
+ }
24
+ get periodLabel() {
25
+ return this.dateAdapter
26
+ .format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel)
27
+ .toLocaleUpperCase();
28
+ }
29
+ previousClicked(mode) {
30
+ this.changeDate(mode, -1);
31
+ }
32
+ nextClicked(mode) {
33
+ this.changeDate(mode, 1);
34
+ }
35
+ changeDate(mode, amount) {
36
+ this.calendar.activeDate =
37
+ mode === "month"
38
+ ? this.dateAdapter.addCalendarMonths(this.calendar.activeDate, amount)
39
+ : this.dateAdapter.addCalendarYears(this.calendar.activeDate, amount);
40
+ }
41
+ clickOptions() {
42
+ this.toggled = !this.toggled;
43
+ }
44
+ ngOnDestroy() {
45
+ this.destroy$.next();
46
+ }
47
+ }
48
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.MatCalendar }, { token: i2.DateAdapter }, { token: MAT_DATE_FORMATS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
49
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: HeaderComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"hidden md:block\" fxHide.lt-md>\n <nice-range-preset></nice-range-preset>\n</div>\n<div class=\"block md:hidden\">\n <ng-container *ngIf=\"toggled\">\n <nice-range-preset></nice-range-preset>\n </ng-container>\n</div>\n\n<div class=\"header\">\n <button\n fxHide.gt-md\n mat-icon-button\n (click)=\"clickOptions()\"\n >\n <mat-icon>sort</mat-icon>\n </button>\n <button\n mat-icon-button\n class=\"double-arrow\"\n (click)=\"previousClicked('year')\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <span class=\"header-label\">{{ periodLabel }}</span>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n <button\n mat-icon-button\n class=\"double-arrow\"\n (click)=\"nextClicked('year')\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;align-items:center;padding:.5em}.header-label{flex:1;height:1em;font-weight:500;text-align:center}.double-arrow .mat-icon{margin:-22%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.RangePresetComponent, selector: "nice-range-preset" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: HeaderComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"hidden md:block\" fxHide.lt-md>\n <nice-range-preset></nice-range-preset>\n</div>\n<div class=\"block md:hidden\">\n <ng-container *ngIf=\"toggled\">\n <nice-range-preset></nice-range-preset>\n </ng-container>\n</div>\n\n<div class=\"header\">\n <button\n fxHide.gt-md\n mat-icon-button\n (click)=\"clickOptions()\"\n >\n <mat-icon>sort</mat-icon>\n </button>\n <button\n mat-icon-button\n class=\"double-arrow\"\n (click)=\"previousClicked('year')\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <span class=\"header-label\">{{ periodLabel }}</span>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n <button\n mat-icon-button\n class=\"double-arrow\"\n (click)=\"nextClicked('year')\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;align-items:center;padding:.5em}.header-label{flex:1;height:1em;font-weight:500;text-align:center}.double-arrow .mat-icon{margin:-22%}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.MatCalendar }, { type: i2.DateAdapter }, { type: undefined, decorators: [{
54
+ type: Inject,
55
+ args: [MAT_DATE_FORMATS]
56
+ }] }, { type: i0.ChangeDetectorRef }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQU8zQyxNQUFNLE9BQU8sZUFBZTtJQUt4QixZQUNZLFFBQXdCLEVBQ3hCLFdBQTJCLEVBQ0QsV0FBMkIsRUFDN0QsR0FBc0I7UUFIZCxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFQaEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFekMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVFuQixRQUFRLENBQUMsWUFBWTthQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7YUFDekUsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZUFBZSxDQUFDLElBQXNCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFzQjtRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQXNCLEVBQUUsTUFBYztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7WUFDcEIsSUFBSSxLQUFLLE9BQU87Z0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO2dCQUN0RSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs0R0EzQ1EsZUFBZSx3RUFRWixnQkFBZ0I7Z0dBUm5CLGVBQWUsb0RDWDVCLGl0Q0EyQ0E7MkZEaENhLGVBQWU7a0JBTDNCLFNBQVM7c0NBR1csdUJBQXVCLENBQUMsTUFBTTs7MEJBVTFDLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJoZWFkZXIudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiaGVhZGVyLnN0eWxlLnNjc3NcIl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50PEQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyB0b2dnbGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RD4sXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIGNhbGVuZGFyLnN0YXRlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiBjZHIubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGVyaW9kTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXJcbiAgICAgICAgICAgIC5mb3JtYXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLmRhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpXG4gICAgICAgICAgICAudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJldmlvdXNDbGlja2VkKG1vZGU6IFwibW9udGhcIiB8IFwieWVhclwiKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGF0ZShtb2RlLCAtMSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5leHRDbGlja2VkKG1vZGU6IFwibW9udGhcIiB8IFwieWVhclwiKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGF0ZShtb2RlLCAxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZURhdGUobW9kZTogXCJtb250aFwiIHwgXCJ5ZWFyXCIsIGFtb3VudDogLTEgfCAxKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSA9XG4gICAgICAgICAgICBtb2RlID09PSBcIm1vbnRoXCJcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCBhbW91bnQpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyWWVhcnModGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCBhbW91bnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja09wdGlvbnMoKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlZCA9ICF0aGlzLnRvZ2dsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgZnhIaWRlLmx0LW1kPlxuICAgIDxuaWNlLXJhbmdlLXByZXNldD48L25pY2UtcmFuZ2UtcHJlc2V0PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYmxvY2sgbWQ6aGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvZ2dsZWRcIj5cbiAgICAgICAgPG5pY2UtcmFuZ2UtcHJlc2V0PjwvbmljZS1yYW5nZS1wcmVzZXQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgIDxidXR0b25cbiAgICAgICAgZnhIaWRlLmd0LW1kXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY2xpY2tPcHRpb25zKClcIlxuICAgID5cbiAgICAgICAgPG1hdC1pY29uPnNvcnQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZG91YmxlLWFycm93XCJcbiAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzQ2xpY2tlZCgneWVhcicpXCJcbiAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwcmV2aW91c0NsaWNrZWQoJ21vbnRoJylcIj5cbiAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItbGFiZWxcIj57eyBwZXJpb2RMYWJlbCB9fTwvc3Bhbj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuZXh0Q2xpY2tlZCgnbW9udGgnKVwiPlxuICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZG91YmxlLWFycm93XCJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRDbGlja2VkKCd5ZWFyJylcIlxuICAgID5cbiAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,107 @@
1
+ import { ChangeDetectionStrategy, Component } from "@angular/core";
2
+ import { DateAdapter } from "@angular/material/core";
3
+ import { MatDateRangePicker } from "@angular/material/datepicker";
4
+ import { NiceDateRangePickerServiceService } from "../../providers/date-range-picker.service";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/core";
7
+ import * as i2 from "@angular/material/datepicker";
8
+ import * as i3 from "../../providers/date-range-picker.service";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@angular/material/card";
11
+ import * as i6 from "@angular/material/button";
12
+ import * as i7 from "@ngx-translate/core";
13
+ const customPresets = [
14
+ "today",
15
+ "last_7_days",
16
+ "this_week",
17
+ "this_month",
18
+ "this_year",
19
+ "last_week",
20
+ "last_month",
21
+ "last_year",
22
+ ];
23
+ export class RangePresetComponent {
24
+ constructor(dateAdapter, picker, service) {
25
+ this.dateAdapter = dateAdapter;
26
+ this.picker = picker;
27
+ this.service = service;
28
+ this.customPresets = customPresets;
29
+ this.allowClear$ = this.service.allowClear$;
30
+ }
31
+ clearRange() {
32
+ this.picker.select(null);
33
+ this.picker.select(null);
34
+ this.picker.close();
35
+ }
36
+ selectRange(rangeName) {
37
+ const [start, end] = this.calculateDateRange(rangeName);
38
+ this.picker.select(start);
39
+ this.picker.select(end);
40
+ this.picker.close();
41
+ }
42
+ calculateDateRange(rangeName) {
43
+ const today = this.today;
44
+ const year = this.dateAdapter.getYear(today);
45
+ switch (rangeName) {
46
+ case "today":
47
+ return [today, today];
48
+ case "last_7_days": {
49
+ const start = this.dateAdapter.addCalendarDays(today, -6);
50
+ return [start, today];
51
+ }
52
+ case "this_week": {
53
+ return this.calculateWeek(today);
54
+ }
55
+ case "this_month": {
56
+ return this.calculateMonth(today);
57
+ }
58
+ case "this_year": {
59
+ const start = this.dateAdapter.createDate(year, 0, 1);
60
+ const end = this.dateAdapter.createDate(year, 11, 31);
61
+ return [start, end];
62
+ }
63
+ case "last_week": {
64
+ const thisDayLastWeek = this.dateAdapter.addCalendarDays(today, -7);
65
+ return this.calculateWeek(thisDayLastWeek);
66
+ }
67
+ case "last_month": {
68
+ const thisDayLastMonth = this.dateAdapter.addCalendarMonths(today, -1);
69
+ return this.calculateMonth(thisDayLastMonth);
70
+ }
71
+ case "last_year": {
72
+ const start = this.dateAdapter.createDate(year - 1, 0, 1);
73
+ const end = this.dateAdapter.createDate(year - 1, 11, 31);
74
+ return [start, end];
75
+ }
76
+ default:
77
+ return null;
78
+ }
79
+ }
80
+ calculateMonth(forDay) {
81
+ const year = this.dateAdapter.getYear(forDay);
82
+ const month = this.dateAdapter.getMonth(forDay);
83
+ const start = this.dateAdapter.createDate(year, month, 1);
84
+ const end = this.dateAdapter.addCalendarDays(start, this.dateAdapter.getNumDaysInMonth(forDay) - 1);
85
+ return [start, end];
86
+ }
87
+ calculateWeek(forDay) {
88
+ const deltaStart = this.dateAdapter.getFirstDayOfWeek() - this.dateAdapter.getDayOfWeek(forDay);
89
+ const start = this.dateAdapter.addCalendarDays(forDay, deltaStart);
90
+ const end = this.dateAdapter.addCalendarDays(start, 6);
91
+ return [start, end];
92
+ }
93
+ get today() {
94
+ const today = this.dateAdapter.getValidDateOrNull(new Date());
95
+ if (today === null) {
96
+ throw new Error("date creation failed");
97
+ }
98
+ return today;
99
+ }
100
+ }
101
+ RangePresetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RangePresetComponent, deps: [{ token: i1.DateAdapter }, { token: i2.MatDateRangePicker }, { token: i3.NiceDateRangePickerServiceService }], target: i0.ɵɵFactoryTarget.Component });
102
+ RangePresetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: RangePresetComponent, selector: "nice-range-preset", ngImport: i0, template: "<mat-card class=\"mat-elevation-z3\">\n <button\n *ngIf=\"allowClear$ | async\"\n mat-button\n (click)=\"clearRange()\"\n >\n {{ \"nice_ui_kit.date_range_picker.clear\" | translate }}\n </button>\n\n <button\n *ngFor=\"let item of customPresets\"\n mat-button\n (click)=\"selectRange(item)\"\n >\n {{ \"nice_ui_kit.date_range_picker.presets.\" + item | translate }}\n </button>\n</mat-card>\n", styles: [":host{position:absolute;width:200px;left:-200px}@media screen and (max-width: 959px){:host{z-index:1000;left:50px!important}}button{width:100%;text-align:left;text-transform:unset!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RangePresetComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: "nice-range-preset", changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"mat-elevation-z3\">\n <button\n *ngIf=\"allowClear$ | async\"\n mat-button\n (click)=\"clearRange()\"\n >\n {{ \"nice_ui_kit.date_range_picker.clear\" | translate }}\n </button>\n\n <button\n *ngFor=\"let item of customPresets\"\n mat-button\n (click)=\"selectRange(item)\"\n >\n {{ \"nice_ui_kit.date_range_picker.presets.\" + item | translate }}\n </button>\n</mat-card>\n", styles: [":host{position:absolute;width:200px;left:-200px}@media screen and (max-width: 959px){:host{z-index:1000;left:50px!important}}button{width:100%;text-align:left;text-transform:unset!important}\n"] }]
106
+ }], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.MatDateRangePicker }, { type: i3.NiceDateRangePickerServiceService }]; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtcHJlc2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9jb21wb25lbnRzL3JhbmdlLXByZXNldC9yYW5nZS1wcmVzZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyL2NvbXBvbmVudHMvcmFuZ2UtcHJlc2V0L3JhbmdlLXByZXNldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7QUFFOUYsTUFBTSxhQUFhLEdBQUc7SUFDbEIsT0FBTztJQUNQLGFBQWE7SUFDYixXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7Q0FDZCxDQUFDO0FBVUYsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixZQUNZLFdBQTJCLEVBQzNCLE1BQTZCLEVBQzdCLE9BQTBDO1FBRjFDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFtQztRQU50QyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lB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S0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztpSEF2RlEsb0JBQW9CO3FHQUFwQixvQkFBb0IseURDeEJqQyxnZUFpQkE7MkZET2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBNYXREYXRlUmFuZ2VQaWNrZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xuaW1wb3J0IHsgTmljZURhdGVSYW5nZVBpY2tlclNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9kYXRlLXJhbmdlLXBpY2tlci5zZXJ2aWNlXCI7XG5cbmNvbnN0IGN1c3RvbVByZXNldHMgPSBbXG4gICAgXCJ0b2RheVwiLFxuICAgIFwibGFzdF83X2RheXNcIixcbiAgICBcInRoaXNfd2Vla1wiLFxuICAgIFwidGhpc19tb250aFwiLFxuICAgIFwidGhpc195ZWFyXCIsXG4gICAgXCJsYXN0X3dlZWtcIixcbiAgICBcImxhc3RfbW9udGhcIixcbiAgICBcImxhc3RfeWVhclwiLFxuXTtcblxudHlwZSBDdXN0b21QcmVzZXQgPSB0eXBlb2YgY3VzdG9tUHJlc2V0c1tudW1iZXJdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLXJhbmdlLXByZXNldFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInJhbmdlLXByZXNldC50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJyYW5nZS1wcmVzZXQuc3R5bGUuc2Nzc1wiXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VQcmVzZXRDb21wb25lbnQ8RD4ge1xuICAgIHB1YmxpYyByZWFkb25seSBjdXN0b21QcmVzZXRzID0gY3VzdG9tUHJlc2V0cztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWxsb3dDbGVhciQgPSB0aGlzLnNlcnZpY2UuYWxsb3dDbGVhciQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgcGlja2VyOiBNYXREYXRlUmFuZ2VQaWNrZXI8RD4sXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogTmljZURhdGVSYW5nZVBpY2tlclNlcnZpY2VTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGNsZWFyUmFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGlja2VyLnNlbGVjdChudWxsKTtcbiAgICAgICAgdGhpcy5waWNrZXIuc2VsZWN0KG51bGwpO1xuICAgICAgICB0aGlzLnBpY2tlci5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RSYW5nZShyYW5nZU5hbWU6IEN1c3RvbVByZXNldCk6IHZvaWQge1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLmNhbGN1bGF0ZURhdGVSYW5nZShyYW5nZU5hbWUpO1xuICAgICAgICB0aGlzLnBpY2tlci5zZWxlY3Qoc3RhcnQpO1xuICAgICAgICB0aGlzLnBpY2tlci5zZWxlY3QoZW5kKTtcbiAgICAgICAgdGhpcy5waWNrZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZURhdGVSYW5nZShyYW5nZU5hbWU6IEN1c3RvbVByZXNldCk6IFtzdGFydDogRCwgZW5kOiBEXSB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gdGhpcy50b2RheTtcbiAgICAgICAgY29uc3QgeWVhciA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0WWVhcih0b2RheSk7XG5cbiAgICAgICAgc3dpdGNoIChyYW5nZU5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJ0b2RheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBbdG9kYXksIHRvZGF5XTtcbiAgICAgICAgICAgIGNhc2UgXCJsYXN0XzdfZGF5c1wiOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyh0b2RheSwgLTYpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbc3RhcnQsIHRvZGF5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJ0aGlzX3dlZWtcIjoge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZVdlZWsodG9kYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcInRoaXNfbW9udGhcIjoge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1vbnRoKHRvZGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJ0aGlzX3llYXJcIjoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDAsIDEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZSh5ZWFyLCAxMSwgMzEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbc3RhcnQsIGVuZF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwibGFzdF93ZWVrXCI6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGlzRGF5TGFzdFdlZWsgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyh0b2RheSwgLTcpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZVdlZWsodGhpc0RheUxhc3RXZWVrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJsYXN0X21vbnRoXCI6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGlzRGF5TGFzdE1vbnRoID0gdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0b2RheSwgLTEpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1vbnRoKHRoaXNEYXlMYXN0TW9udGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImxhc3RfeWVhclwiOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciAtIDEsIDAsIDEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZSh5ZWFyIC0gMSwgMTEsIDMxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9udGgoZm9yRGF5OiBEKTogW3N0YXJ0OiBELCBlbmQ6IERdIHtcbiAgICAgICAgY29uc3QgeWVhciA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0WWVhcihmb3JEYXkpO1xuICAgICAgICBjb25zdCBtb250aCA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0TW9udGgoZm9yRGF5KTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbW9udGgsIDEpO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhcbiAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5nZXROdW1EYXlzSW5Nb250aChmb3JEYXkpIC0gMVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlV2Vlayhmb3JEYXk6IEQpOiBbc3RhcnQ6IEQsIGVuZDogRF0ge1xuICAgICAgICBjb25zdCBkZWx0YVN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5nZXRGaXJzdERheU9mV2VlaygpIC0gdGhpcy5kYXRlQWRhcHRlci5nZXREYXlPZldlZWsoZm9yRGF5KTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhmb3JEYXksIGRlbHRhU3RhcnQpO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhzdGFydCwgNik7XG4gICAgICAgIHJldHVybiBbc3RhcnQsIGVuZF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdG9kYXkoKTogRCB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gdGhpcy5kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwobmV3IERhdGUoKSk7XG4gICAgICAgIGlmICh0b2RheSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZGF0ZSBjcmVhdGlvbiBmYWlsZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRvZGF5O1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejNcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImFsbG93Q2xlYXIkIHwgYXN5bmNcIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyUmFuZ2UoKVwiXG4gICAgPlxuICAgICAgICB7eyBcIm5pY2VfdWlfa2l0LmRhdGVfcmFuZ2VfcGlja2VyLmNsZWFyXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY3VzdG9tUHJlc2V0c1wiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJhbmdlKGl0ZW0pXCJcbiAgICA+XG4gICAgICAgIHt7IFwibmljZV91aV9raXQuZGF0ZV9yYW5nZV9waWNrZXIucHJlc2V0cy5cIiArIGl0ZW0gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWNhcmQ+XG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Component, forwardRef, Input, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { FormControl, FormGroup, NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { MatDateRangePicker } from "@angular/material/datepicker";
4
+ import subDays from "date-fns/subDays";
5
+ import { HeaderComponent } from "./components/header/header.component";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/material/datepicker";
9
+ import * as i3 from "@angular/material/form-field";
10
+ import * as i4 from "@angular/forms";
11
+ import * as i5 from "../../pipes/localized-date.pipe";
12
+ export class NiceDateRangePickerComponent {
13
+ constructor() {
14
+ this.HeaderComponent = HeaderComponent;
15
+ this.min = subDays(new Date(), 3);
16
+ this.max = new Date();
17
+ this.nowIsMax = true;
18
+ this.allowClear = true;
19
+ this.formGroup = new FormGroup({
20
+ from: new FormControl(),
21
+ to: new FormControl()
22
+ });
23
+ this.now = new Date();
24
+ }
25
+ ngOnInit() {
26
+ this.value = {
27
+ from: this.min,
28
+ to: this.max
29
+ };
30
+ this.formGroup.patchValue(this.value);
31
+ this.formGroup.valueChanges.subscribe((_) => {
32
+ this.value = this.formGroup.getRawValue();
33
+ this.propage?.(this.value);
34
+ });
35
+ }
36
+ writeValue(value) {
37
+ this.value = value;
38
+ this.formGroup.patchValue(this.value);
39
+ }
40
+ registerOnChange(fn) {
41
+ this.propage = fn;
42
+ }
43
+ registerOnTouched(fn) { }
44
+ }
45
+ NiceDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
+ NiceDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceDateRangePickerComponent, selector: "nice-date-range-picker", inputs: { min: "min", max: "max", nowIsMax: "nowIsMax", allowClear: "allowClear" }, providers: [
47
+ {
48
+ provide: NG_VALUE_ACCESSOR,
49
+ useExisting: forwardRef(() => NiceDateRangePickerComponent),
50
+ multi: true
51
+ }
52
+ ], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDateRangePicker, descendants: true }], ngImport: i0, template: "<div class=\"nice-date-picker-container\">\n <div class=\"nice-date-picker-header\">\n <div class=\"from-to\">\n <ng-container *ngIf=\"value.from\">\n {{ value.from | localizedDate: \"longDate\" }}\n </ng-container>\n <ng-container *ngIf=\"value.to\">\n <div class=\"separator\">-</div>\n {{ value.to | localizedDate: \"longDate\" }}\n </ng-container>\n </div>\n </div>\n\n <mat-date-range-input [formGroup]=\"formGroup\" [max]=\"nowIsMax ? now : null\" [rangePicker]=\"picker\">\n <input formControlName=\"from\" class=\"hidden-input\" matStartDate placeholder=\"Start date\">\n <input formControlName=\"to\" class=\"hidden-input\" matEndDate placeholder=\"End date\">\n </mat-date-range-input>\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n\n <mat-date-range-picker\n [calendarHeaderComponent]=\"HeaderComponent\"\n #picker\n ></mat-date-range-picker>\n</div>\n", styles: ["nice-date-range-picker .mat-date-range-input{width:0;height:0;padding:0;margin:0;border:none;visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.LocalizedDatePipe, name: "localizedDate" }], encapsulation: i0.ViewEncapsulation.None });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: "nice-date-range-picker", encapsulation: ViewEncapsulation.None, providers: [
56
+ {
57
+ provide: NG_VALUE_ACCESSOR,
58
+ useExisting: forwardRef(() => NiceDateRangePickerComponent),
59
+ multi: true
60
+ }
61
+ ], template: "<div class=\"nice-date-picker-container\">\n <div class=\"nice-date-picker-header\">\n <div class=\"from-to\">\n <ng-container *ngIf=\"value.from\">\n {{ value.from | localizedDate: \"longDate\" }}\n </ng-container>\n <ng-container *ngIf=\"value.to\">\n <div class=\"separator\">-</div>\n {{ value.to | localizedDate: \"longDate\" }}\n </ng-container>\n </div>\n </div>\n\n <mat-date-range-input [formGroup]=\"formGroup\" [max]=\"nowIsMax ? now : null\" [rangePicker]=\"picker\">\n <input formControlName=\"from\" class=\"hidden-input\" matStartDate placeholder=\"Start date\">\n <input formControlName=\"to\" class=\"hidden-input\" matEndDate placeholder=\"End date\">\n </mat-date-range-input>\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n\n <mat-date-range-picker\n [calendarHeaderComponent]=\"HeaderComponent\"\n #picker\n ></mat-date-range-picker>\n</div>\n", styles: ["nice-date-range-picker .mat-date-range-input{width:0;height:0;padding:0;margin:0;border:none;visibility:hidden}\n"] }]
62
+ }], propDecorators: { picker: [{
63
+ type: ViewChild,
64
+ args: [MatDateRangePicker]
65
+ }], min: [{
66
+ type: Input
67
+ }], max: [{
68
+ type: Input
69
+ }], nowIsMax: [{
70
+ type: Input
71
+ }], allowClear: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0FBb0J2RSxNQUFNLE9BQU8sNEJBQTRCO0lBYnpDO1FBY29CLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBTTNDLFFBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUc3QixRQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUdqQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR2hCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsY0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUN2QixFQUFFLEVBQUUsSUFBSSxXQUFXLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBQ0ksUUFBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7S0E0QjNCO0lBdkJVLFFBQVE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2QsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBK0I7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUE2QztRQUNqRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7O3lIQWpEakMsNEJBQTRCOzZHQUE1Qiw0QkFBNEIscUlBUjFCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGtFQUtVLGtCQUFrQixnREMzQmpDLG1pQ0F5QkE7MkZERGEsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNJLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzs0QkFDM0QsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBTU8sTUFBTTtzQkFEYixTQUFTO3VCQUFDLGtCQUFrQjtnQkFJdEIsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdERhdGVSYW5nZVBpY2tlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQgc3ViRGF5cyBmcm9tIFwiZGF0ZS1mbnMvc3ViRGF5c1wiO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VEYXRlUmFuZ2VQaWNrZXJWYWx1ZSB7XG4gICAgZnJvbTogRGF0ZTtcbiAgICB0bzogRGF0ZTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1kYXRlLXJhbmdlLXBpY2tlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcImRhdGUtcmFuZ2UtcGlja2VyLnRlbXBsYXRlLmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcImRhdGUtcmFuZ2UtcGlja2VyLnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOaWNlRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgSGVhZGVyQ29tcG9uZW50ID0gSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChNYXREYXRlUmFuZ2VQaWNrZXIpXG4gICAgcHJpdmF0ZSBwaWNrZXI6IE1hdERhdGVSYW5nZVBpY2tlcjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluID0gc3ViRGF5cyhuZXcgRGF0ZSgpLCAzKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heCA9IG5ldyBEYXRlKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBub3dJc01heCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZnJvbTogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICAgIHRvOiBuZXcgRm9ybUNvbnRyb2woKVxuICAgIH0pO1xuICAgIHB1YmxpYyBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIHB1YmxpYyB2YWx1ZTogTmljZURhdGVSYW5nZVBpY2tlclZhbHVlO1xuXG4gICAgcHJpdmF0ZSBwcm9wYWdlOiAodmFsdWU6IE5pY2VEYXRlUmFuZ2VQaWNrZXJWYWx1ZSkgPT4gdm9pZDtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICAgIGZyb206IHRoaXMubWluLFxuICAgICAgICAgICAgdG86IHRoaXMubWF4XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2U/Lih0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IE5pY2VEYXRlUmFuZ2VQaWNrZXJWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogTmljZURhdGVSYW5nZVBpY2tlclZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5pY2UtZGF0ZS1waWNrZXItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5pY2UtZGF0ZS1waWNrZXItaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcm9tLXRvXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWUuZnJvbVwiPlxuICAgICAgICAgICAgICAgIHt7IHZhbHVlLmZyb20gfCBsb2NhbGl6ZWREYXRlOiBcImxvbmdEYXRlXCIgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlLnRvXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPi08L2Rpdj5cbiAgICAgICAgICAgICAgICB7eyB2YWx1ZS50byB8IGxvY2FsaXplZERhdGU6IFwibG9uZ0RhdGVcIiB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW21heF09XCJub3dJc01heCA/IG5vdyA6IG51bGxcIiBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCI+XG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmcm9tXCIgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJTdGFydCBkYXRlXCI+XG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0b1wiIGNsYXNzPVwiaGlkZGVuLWlucHV0XCIgbWF0RW5kRGF0ZSBwbGFjZWhvbGRlcj1cIkVuZCBkYXRlXCI+XG4gICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cblxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG5cbiAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyXG4gICAgICAgICAgICBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiSGVhZGVyQ29tcG9uZW50XCJcbiAgICAgICAgICAgICNwaWNrZXJcbiAgICA+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { ReactiveFormsModule } from "@angular/forms";
4
+ import { MatButtonModule } from "@angular/material/button";
5
+ import { MatCardModule } from "@angular/material/card";
6
+ import { MatDatepickerModule } from "@angular/material/datepicker";
7
+ import { MatFormFieldModule } from "@angular/material/form-field";
8
+ import { MatIconModule } from "@angular/material/icon";
9
+ import { TranslateModule } from "@ngx-translate/core";
10
+ import { NicePipesModule } from "../../pipes";
11
+ import { HeaderComponent } from "./components/header/header.component";
12
+ import { RangePresetComponent } from "./components/range-preset/range-preset.component";
13
+ import { NiceDateRangePickerComponent } from "./date-range-picker.component";
14
+ import { NiceDateRangePickerServiceService } from "./providers/date-range-picker.service";
15
+ import * as i0 from "@angular/core";
16
+ export class NiceDateRangePickerModule {
17
+ }
18
+ NiceDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ NiceDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerModule, declarations: [NiceDateRangePickerComponent, RangePresetComponent, HeaderComponent], imports: [CommonModule,
20
+ MatDatepickerModule,
21
+ MatFormFieldModule,
22
+ MatCardModule,
23
+ MatButtonModule,
24
+ MatIconModule,
25
+ TranslateModule,
26
+ ReactiveFormsModule,
27
+ NicePipesModule], exports: [NiceDateRangePickerComponent] });
28
+ NiceDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerModule, providers: [NiceDateRangePickerServiceService], imports: [CommonModule,
29
+ MatDatepickerModule,
30
+ MatFormFieldModule,
31
+ MatCardModule,
32
+ MatButtonModule,
33
+ MatIconModule,
34
+ TranslateModule,
35
+ ReactiveFormsModule,
36
+ NicePipesModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [
41
+ CommonModule,
42
+ MatDatepickerModule,
43
+ MatFormFieldModule,
44
+ MatCardModule,
45
+ MatButtonModule,
46
+ MatIconModule,
47
+ TranslateModule,
48
+ ReactiveFormsModule,
49
+ NicePipesModule
50
+ ],
51
+ declarations: [NiceDateRangePickerComponent, RangePresetComponent, HeaderComponent],
52
+ providers: [NiceDateRangePickerServiceService],
53
+ exports: [NiceDateRangePickerComponent]
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBa0IxRixNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBSm5CLDRCQUE0QixFQUFFLG9CQUFvQixFQUFFLGVBQWUsYUFWOUUsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixlQUFlLGFBSVQsNEJBQTRCO3VIQUU3Qix5QkFBeUIsYUFIdkIsQ0FBQyxpQ0FBaUMsQ0FBQyxZQVgxQyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWU7MkZBTVYseUJBQXlCO2tCQWhCckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLG9CQUFvQixFQUFFLGVBQWUsQ0FBQztvQkFDbkYsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTmljZVBpcGVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL3BpcGVzXCI7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSYW5nZVByZXNldENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcmFuZ2UtcHJlc2V0L3JhbmdlLXByZXNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5pY2VEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5pY2VEYXRlUmFuZ2VQaWNrZXJTZXJ2aWNlU2VydmljZSB9IGZyb20gXCIuL3Byb3ZpZGVycy9kYXRlLXJhbmdlLXBpY2tlci5zZXJ2aWNlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5pY2VQaXBlc01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbTmljZURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCwgUmFuZ2VQcmVzZXRDb21wb25lbnQsIEhlYWRlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbTmljZURhdGVSYW5nZVBpY2tlclNlcnZpY2VTZXJ2aWNlXSxcbiAgICBleHBvcnRzOiBbTmljZURhdGVSYW5nZVBpY2tlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZURhdGVSYW5nZVBpY2tlck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./public-api";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1waWNrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9wdWJsaWMtYXBpXCI7XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export class NiceDateRangePickerServiceService {
5
+ constructor() {
6
+ this.allowClear$ = new BehaviorSubject(true);
7
+ }
8
+ setAllowClear(allowClear) {
9
+ this.allowClear$.next(allowClear);
10
+ }
11
+ }
12
+ NiceDateRangePickerServiceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerServiceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ NiceDateRangePickerServiceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerServiceService });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDateRangePickerServiceService, decorators: [{
15
+ type: Injectable
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9wcm92aWRlcnMvZGF0ZS1yYW5nZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3ZDLE1BQU0sT0FBTyxpQ0FBaUM7SUFEOUM7UUFFVyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBS2xEO0lBSFUsYUFBYSxDQUFDLFVBQW1CO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzhIQUxRLGlDQUFpQztrSUFBakMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBRDdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlRGF0ZVJhbmdlUGlja2VyU2VydmljZVNlcnZpY2Uge1xuICAgIHB1YmxpYyBhbGxvd0NsZWFyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG5cbiAgICBwdWJsaWMgc2V0QWxsb3dDbGVhcihhbGxvd0NsZWFyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsb3dDbGVhciQubmV4dChhbGxvd0NsZWFyKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from "./date-range-picker.component";
2
+ export * from "./date-range-picker.module";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlXCI7XG4iXX0=
@@ -329,9 +329,9 @@ export class NiceDrawerComponent {
329
329
  this.openedChanged.next(open);
330
330
  }
331
331
  }
332
- NiceDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerComponent, deps: [{ token: i1.AnimationBuilder }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.NiceDrawerService }, { token: i3.NiceUtilsService }], target: i0.ɵɵFactoryTarget.Component });
333
- NiceDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: NiceDrawerComponent, selector: "nice-drawer", inputs: { fixed: "fixed", mode: "mode", width: "width", name: "name", opened: "opened", position: "position", transparentOverlay: "transparentOverlay" }, outputs: { fixedChanged: "fixedChanged", modeChanged: "modeChanged", openedChanged: "openedChanged", positionChanged: "positionChanged" }, host: { listeners: { "mouseenter": "_onMouseenter()", "mouseleave": "_onMouseleave()" }, properties: { "class": "this.classList", "style": "this.styleList" } }, exportAs: ["niceDrawer"], usesOnChanges: true, ngImport: i0, template: "<div class=\"nice-drawer-toggle\">\n <ng-content select=\"[niceDrawerToggle]\"></ng-content>\n</div>\n\n<div class=\"nice-drawer-content\" [style.visibility]=\"opened ? 'visible' : 'hidden'\">\n <ng-content></ng-content>\n</div>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerComponent, decorators: [{
332
+ NiceDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerComponent, deps: [{ token: i1.AnimationBuilder }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.NiceDrawerService }, { token: i3.NiceUtilsService }], target: i0.ɵɵFactoryTarget.Component });
333
+ NiceDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceDrawerComponent, selector: "nice-drawer", inputs: { fixed: "fixed", mode: "mode", width: "width", name: "name", opened: "opened", position: "position", transparentOverlay: "transparentOverlay" }, outputs: { fixedChanged: "fixedChanged", modeChanged: "modeChanged", openedChanged: "openedChanged", positionChanged: "positionChanged" }, host: { listeners: { "mouseenter": "_onMouseenter()", "mouseleave": "_onMouseleave()" }, properties: { "class": "this.classList", "style": "this.styleList" } }, exportAs: ["niceDrawer"], usesOnChanges: true, ngImport: i0, template: "<div class=\"nice-drawer-toggle\">\n <ng-content select=\"[niceDrawerToggle]\"></ng-content>\n</div>\n\n<div class=\"nice-drawer-content\" [style.visibility]=\"opened ? 'visible' : 'hidden'\">\n <ng-content></ng-content>\n</div>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerComponent, decorators: [{
335
335
  type: Component,
336
336
  args: [{ selector: "nice-drawer", encapsulation: ViewEncapsulation.None, exportAs: "niceDrawer", template: "<div class=\"nice-drawer-toggle\">\n <ng-content select=\"[niceDrawerToggle]\"></ng-content>\n</div>\n\n<div class=\"nice-drawer-content\" [style.visibility]=\"opened ? 'visible' : 'hidden'\">\n <ng-content></ng-content>\n</div>\n" }]
337
337
  }], ctorParameters: function () { return [{ type: i1.AnimationBuilder }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.NiceDrawerService }, { type: i3.NiceUtilsService }]; }, propDecorators: { fixed: [{
@@ -5,12 +5,12 @@ import { NiceDrawerComponent } from "./drawer.component";
5
5
  import * as i0 from "@angular/core";
6
6
  export class NiceDrawerModule {
7
7
  }
8
- NiceDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NiceDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerModule, declarations: [NiceDrawerComponent], imports: [CommonModule,
8
+ NiceDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NiceDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerModule, declarations: [NiceDrawerComponent], imports: [CommonModule,
10
10
  MatIconModule], exports: [NiceDrawerComponent] });
11
- NiceDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerModule, imports: [CommonModule,
11
+ NiceDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerModule, imports: [CommonModule,
12
12
  MatIconModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  imports: [
@@ -29,9 +29,9 @@ export class NiceDrawerService {
29
29
  return this._componentRegistry.get(name);
30
30
  }
31
31
  }
32
- NiceDrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
- NiceDrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerService, providedIn: "root" });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceDrawerService, decorators: [{
32
+ NiceDrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
+ NiceDrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerService, providedIn: "root" });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDrawerService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{
37
37
  providedIn: "root"
@@ -22,9 +22,9 @@ export class ExportBottomSheetComponent {
22
22
  strategy.onClickExport();
23
23
  }
24
24
  }
25
- ExportBottomSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ExportBottomSheetComponent, deps: [{ token: MAT_BOTTOM_SHEET_DATA }, { token: i1.MatBottomSheetRef }, { token: i2.ExportBottomSheetService }], target: i0.ɵɵFactoryTarget.Component });
26
- ExportBottomSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ExportBottomSheetComponent, selector: "nice-export-bottom-sheet", ngImport: i0, template: "<mat-nav-list>\n <a *ngFor=\"let strategy of exportBottomSheetConfig.exportStrategies\" mat-list-item (click)=\"clickExport(strategy)\">\n <i [ngClass]=\"getStrategyIcon(strategy)\" mat-list-icon></i>\n <span mat-line>{{ (\"components.export_bottom_sheet.types.\" + strategy.type) | translate }}</span>\n </a>\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatLine, selector: "[mat-line], [matLine]" }, { kind: "directive", type: i4.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ExportBottomSheetComponent, decorators: [{
25
+ ExportBottomSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ExportBottomSheetComponent, deps: [{ token: MAT_BOTTOM_SHEET_DATA }, { token: i1.MatBottomSheetRef }, { token: i2.ExportBottomSheetService }], target: i0.ɵɵFactoryTarget.Component });
26
+ ExportBottomSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: ExportBottomSheetComponent, selector: "nice-export-bottom-sheet", ngImport: i0, template: "<mat-nav-list>\n <a *ngFor=\"let strategy of exportBottomSheetConfig.exportStrategies\" mat-list-item (click)=\"clickExport(strategy)\">\n <i [ngClass]=\"getStrategyIcon(strategy)\" mat-list-icon></i>\n <span mat-line>{{ (\"components.export_bottom_sheet.types.\" + strategy.type) | translate }}</span>\n </a>\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatLine, selector: "[mat-line], [matLine]" }, { kind: "directive", type: i4.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ExportBottomSheetComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: "nice-export-bottom-sheet", template: "<mat-nav-list>\n <a *ngFor=\"let strategy of exportBottomSheetConfig.exportStrategies\" mat-list-item (click)=\"clickExport(strategy)\">\n <i [ngClass]=\"getStrategyIcon(strategy)\" mat-list-icon></i>\n <span mat-line>{{ (\"components.export_bottom_sheet.types.\" + strategy.type) | translate }}</span>\n </a>\n</mat-nav-list>\n" }]
30
30
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -20,15 +20,15 @@ export class NiceExportBottomSheetModule {
20
20
  };
21
21
  }
22
22
  }
23
- NiceExportBottomSheetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceExportBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- NiceExportBottomSheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: NiceExportBottomSheetModule, declarations: [ExportBottomSheetComponent], imports: [CommonModule, MatBottomSheetModule, MatListModule, MatIconModule, TranslateModule], exports: [ExportBottomSheetComponent] });
25
- NiceExportBottomSheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceExportBottomSheetModule, providers: [
23
+ NiceExportBottomSheetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceExportBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ NiceExportBottomSheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceExportBottomSheetModule, declarations: [ExportBottomSheetComponent], imports: [CommonModule, MatBottomSheetModule, MatListModule, MatIconModule, TranslateModule], exports: [ExportBottomSheetComponent] });
25
+ NiceExportBottomSheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceExportBottomSheetModule, providers: [
26
26
  {
27
27
  provide: ExportBottomSheetService,
28
28
  useClass: DefaultExportBottomSheetService
29
29
  }
30
30
  ], imports: [CommonModule, MatBottomSheetModule, MatListModule, MatIconModule, TranslateModule] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceExportBottomSheetModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceExportBottomSheetModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  imports: [CommonModule, MatBottomSheetModule, MatListModule, MatIconModule, TranslateModule],
@@ -2,9 +2,9 @@ import { Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class ExportBottomSheetService {
4
4
  }
5
- ExportBottomSheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ExportBottomSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- ExportBottomSheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ExportBottomSheetService });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ExportBottomSheetService, decorators: [{
5
+ ExportBottomSheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ExportBottomSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ ExportBottomSheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ExportBottomSheetService });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ExportBottomSheetService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
10
  export class DefaultExportBottomSheetService extends ExportBottomSheetService {
@@ -20,9 +20,9 @@ export class DefaultExportBottomSheetService extends ExportBottomSheetService {
20
20
  return "";
21
21
  }
22
22
  }
23
- DefaultExportBottomSheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DefaultExportBottomSheetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
- DefaultExportBottomSheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DefaultExportBottomSheetService });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DefaultExportBottomSheetService, decorators: [{
23
+ DefaultExportBottomSheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: DefaultExportBottomSheetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
+ DefaultExportBottomSheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: DefaultExportBottomSheetService });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: DefaultExportBottomSheetService, decorators: [{
26
26
  type: Injectable
27
27
  }] });
28
28
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWJvdHRvbS1zaGVldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2V4cG9ydC1ib3R0b20tc2hlZXQvcHJvdmlkZXJzL2V4cG9ydC1ib3R0b20tc2hlZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLHdCQUF3Qjs7cUhBQXhCLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRDdDLFVBQVU7O0FBTVgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHdCQUF3QjtJQUNsRSxlQUFlLENBQUMsUUFBd0I7UUFDM0MsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssTUFBTTtnQkFDUCxPQUFPLG1CQUFtQixDQUFDO1lBQy9CLEtBQUssS0FBSztnQkFDTixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssS0FBSztnQkFDTixPQUFPLGlCQUFpQixDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOzs0SEFYUSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFeHBvcnRTdHJhdGVneSB9IGZyb20gXCIuLi9tb2RlbHMvZXhwb3J0LXN0cmF0ZWd5Lm1vZGVsXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFeHBvcnRCb3R0b21TaGVldFNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRTdHJhdGVneUljb24oc3RyYXRlZ3k6IEV4cG9ydFN0cmF0ZWd5KTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdEV4cG9ydEJvdHRvbVNoZWV0U2VydmljZSBleHRlbmRzIEV4cG9ydEJvdHRvbVNoZWV0U2VydmljZSB7XG4gICAgcHVibGljIGdldFN0cmF0ZWd5SWNvbihzdHJhdGVneTogRXhwb3J0U3RyYXRlZ3kpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHN0cmF0ZWd5LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJ4bHN4XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiZmFzIGZhLWZpbGUtZXhjZWxcIjtcbiAgICAgICAgICAgIGNhc2UgXCJwZGZcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJmYXMgZmEtZmlsZS1wZGZcIjtcbiAgICAgICAgICAgIGNhc2UgXCJjc3ZcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJmYXMgZmEtZmlsZS1jc3ZcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG59XG4iXX0=
@@ -75,10 +75,10 @@ export class NiceControlStatusDirective {
75
75
  this.ref.instance.error = text;
76
76
  }
77
77
  }
78
- NiceControlStatusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceControlStatusDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.MatFormField }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
79
- NiceControlStatusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: NiceControlStatusDirective, selector: "[niceControlStatus]", ngImport: i0 });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceControlStatusDirective, decorators: [{
78
+ NiceControlStatusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceControlStatusDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.MatFormField }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
79
+ NiceControlStatusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceControlStatusDirective, selector: "[niceControlStatus]", ngImport: i0 });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceControlStatusDirective, decorators: [{
81
81
  type: Directive,
82
82
  args: [{ selector: "[niceControlStatus]" }]
83
83
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1.MatFormField }, { type: i2.TranslateService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFHaEUsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUNZLEVBQTJCLEVBQzNCLEdBQXFCLEVBQ3JCLFNBQXVCLEVBQ3ZCLGdCQUFrQztRQUhsQyxPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVHLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFzQixDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FB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QUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBOaWNlRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS1lcnJvci5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIltuaWNlQ29udHJvbFN0YXR1c11cIiB9KVxuZXhwb3J0IGNsYXNzIE5pY2VDb250cm9sU3RhdHVzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcmVmOiBDb21wb25lbnRSZWY8TmljZUZvcm1FcnJvckNvbXBvbmVudD47XG4gICAgY29udHJvbDogTmdDb250cm9sO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBmb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5mb3JtRmllbGQuX2NvbnRyb2wubmdDb250cm9sIGFzIE5nQ29udHJvbDtcbiAgICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25DaGFuZ2UoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLnBlbmRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiB0aGlzLmNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkoZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RFcnJvcktleSA9IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwicGF0dGVyblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEVycm9yS2V5ID0gdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRQYXR0ZXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1hc2tcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RFcnJvcktleSA9IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLnJlcXVpcmVkTWFzaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJtaW5sZW5ndGhcIiB8fCBlcnJvciA9PT0gXCJtYXhsZW5ndGhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluOiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0uYWN0dWFsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXSA9PT0gXCJvYmplY3RcIiAmJiAhcGFyYW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yKHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBlcnJvcnMuJHtsYXN0RXJyb3JLZXl9YCwgcGFyYW0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRFcnJvcihcIlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRFcnJvcih0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQoTmljZUZvcm1FcnJvckNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIilcbiAgICAgICAgICAgICAgICAuaXRlbSgwKVxuICAgICAgICAgICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJcIilcbiAgICAgICAgICAgICAgICAuaXRlbSgwKVxuICAgICAgICAgICAgICAgIC5hcHBlbmRDaGlsZCh0aGlzLnJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlZi5pbnN0YW5jZS5lcnJvciA9IHRleHQ7XG4gICAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFHaEUsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUNZLEVBQTJCLEVBQzNCLEdBQXFCLEVBQ3JCLFNBQXVCLEVBQ3ZCLGdCQUFrQztRQUhsQyxPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVHLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFzQixDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FB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QUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBOaWNlRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS1lcnJvci5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIltuaWNlQ29udHJvbFN0YXR1c11cIiB9KVxuZXhwb3J0IGNsYXNzIE5pY2VDb250cm9sU3RhdHVzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWY6IENvbXBvbmVudFJlZjxOaWNlRm9ybUVycm9yQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZm9ybUZpZWxkOiBNYXRGb3JtRmllbGQsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge31cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkLl9jb250cm9sLm5nQ29udHJvbCBhcyBOZ0NvbnRyb2w7XG4gICAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5wZW5kaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXJyb3IgaW4gdGhpcy5jb250cm9sLmVycm9ycykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzLmhhc093blByb3BlcnR5KGVycm9yKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0RXJyb3JLZXkgPSBlcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJhbTogYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcInBhdHRlcm5cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RFcnJvcktleSA9IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLnJlcXVpcmVkUGF0dGVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJtYXNrXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0RXJyb3JLZXkgPSB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5yZXF1aXJlZE1hc2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwibWlubGVuZ3RoXCIgfHwgZXJyb3IgPT09IFwibWF4bGVuZ3RoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLnJlcXVpcmVkTGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJtaW5cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5hY3R1YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWF4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0gPT09IFwib2JqZWN0XCIgJiYgIXBhcmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvcih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZXJyb3JzLiR7bGFzdEVycm9yS2V5fWAsIHBhcmFtKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IoXCJcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RXJyb3IodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yZWYpIHtcbiAgICAgICAgICAgIHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlQ29tcG9uZW50KE5pY2VGb3JtRXJyb3JDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIpXG4gICAgICAgICAgICAgICAgLml0ZW0oMClcbiAgICAgICAgICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyXCIpXG4gICAgICAgICAgICAgICAgLml0ZW0oMClcbiAgICAgICAgICAgICAgICAuYXBwZW5kQ2hpbGQodGhpcy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWYuaW5zdGFuY2UuZXJyb3IgPSB0ZXh0O1xuICAgIH1cbn1cbiJdfQ==