@progressio_resources/gravity-design-system 2.6.20 → 2.6.22

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 (88) hide show
  1. package/esm2022/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.mjs +66 -0
  2. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.component.mjs +129 -0
  3. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.config.mjs +14 -0
  4. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.callbacks.mjs +13 -0
  5. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.mjs +210 -0
  6. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.config.mjs +46 -0
  7. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.component.mjs +130 -0
  8. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.config.mjs +18 -0
  9. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.component.mjs +218 -0
  10. package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.config.mjs +18 -0
  11. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.mjs +134 -0
  12. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.mjs +33 -0
  13. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.mjs +44 -0
  14. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.mjs +190 -0
  15. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.mjs +33 -0
  16. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-datepicker-day-decorator.directive.mjs +30 -0
  17. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.mjs +54 -0
  18. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.mjs +49 -0
  19. package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.mjs +50 -0
  20. package/esm2022/lib/components/gravity-calendar-v2/datepicker/datepicker-animations.mjs +16 -0
  21. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/calc-days-calendar.mjs +16 -0
  22. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-days-calendar.mjs +53 -0
  23. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-months-calendar.mjs +39 -0
  24. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-years-calendar.mjs +36 -0
  25. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-days-calendar.mjs +23 -0
  26. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-months-calendar.mjs +23 -0
  27. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-years-calendar.mjs +43 -0
  28. package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/view-mode.mjs +4 -0
  29. package/esm2022/lib/components/gravity-calendar-v2/datepicker/models/index.mjs +7 -0
  30. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/_defaults.mjs +6 -0
  31. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.actions.mjs +64 -0
  32. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.effects.mjs +128 -0
  33. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.reducer.mjs +301 -0
  34. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.state.mjs +16 -0
  35. package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.store.mjs +20 -0
  36. package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/bs-calendar-utils.mjs +74 -0
  37. package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/matrix-utils.mjs +14 -0
  38. package/esm2022/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.mjs +227 -0
  39. package/esm2022/lib/gravity-design-system.module.mjs +47 -3
  40. package/esm2022/public-api.mjs +2 -1
  41. package/fesm2022/progressio_resources-gravity-design-system.mjs +2458 -33
  42. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  43. package/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.d.ts +41 -0
  44. package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.component.d.ts +40 -0
  45. package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.config.d.ts +6 -0
  46. package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.callbacks.d.ts +6 -0
  47. package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.d.ts +64 -0
  48. package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.config.d.ts +53 -0
  49. package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.component.d.ts +37 -0
  50. package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.config.d.ts +7 -0
  51. package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.component.d.ts +61 -0
  52. package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.config.d.ts +7 -0
  53. package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.d.ts +34 -0
  54. package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.d.ts +14 -0
  55. package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.d.ts +16 -0
  56. package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.d.ts +40 -0
  57. package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.d.ts +14 -0
  58. package/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-datepicker-day-decorator.directive.d.ts +7 -0
  59. package/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.d.ts +23 -0
  60. package/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.d.ts +19 -0
  61. package/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.d.ts +19 -0
  62. package/lib/components/gravity-calendar-v2/datepicker/datepicker-animations.d.ts +3 -0
  63. package/lib/components/gravity-calendar-v2/datepicker/engine/calc-days-calendar.d.ts +2 -0
  64. package/lib/components/gravity-calendar-v2/datepicker/engine/flag-days-calendar.d.ts +12 -0
  65. package/lib/components/gravity-calendar-v2/datepicker/engine/flag-months-calendar.d.ts +12 -0
  66. package/lib/components/gravity-calendar-v2/datepicker/engine/flag-years-calendar.d.ts +13 -0
  67. package/lib/components/gravity-calendar-v2/datepicker/engine/format-days-calendar.d.ts +2 -0
  68. package/lib/components/gravity-calendar-v2/datepicker/engine/format-months-calendar.d.ts +2 -0
  69. package/lib/components/gravity-calendar-v2/datepicker/engine/format-years-calendar.d.ts +4 -0
  70. package/lib/components/gravity-calendar-v2/datepicker/engine/view-mode.d.ts +2 -0
  71. package/lib/components/gravity-calendar-v2/datepicker/models/index.d.ts +86 -0
  72. package/lib/components/gravity-calendar-v2/datepicker/reducer/_defaults.d.ts +3 -0
  73. package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.actions.d.ts +34 -0
  74. package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.effects.d.ts +34 -0
  75. package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
  76. package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.state.d.ts +34 -0
  77. package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.store.d.ts +8 -0
  78. package/lib/components/gravity-calendar-v2/datepicker/utils/bs-calendar-utils.d.ts +13 -0
  79. package/lib/components/gravity-calendar-v2/datepicker/utils/matrix-utils.d.ts +9 -0
  80. package/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.d.ts +49 -0
  81. package/lib/gravity-design-system.module.d.ts +43 -29
  82. package/package.json +1 -1
  83. package/public-api.d.ts +1 -0
  84. package/src/lib/styles/components/_datepicker-v2.scss +9 -0
  85. package/src/lib/styles/foundations/colors/primitives/_hero.primitives.scss +54 -0
  86. package/src/lib/styles/foundations/colors/themes/_hero.theme.scss +68 -7
  87. package/src/lib/styles/foundations/colors/tokens/_hero.tokens.scss +60 -0
  88. package/src/lib/styles/gravity-design-system.scss +1 -0
@@ -0,0 +1,49 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BsNavigationDirection } from '../../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../bs-datepicker-navigation-view/bs-datepicker-navigation-view.component";
6
+ export class BsMonthCalendarViewComponent {
7
+ constructor() {
8
+ this.onNavigate = new EventEmitter();
9
+ this.onViewMode = new EventEmitter();
10
+ this.onSelect = new EventEmitter();
11
+ this.onHover = new EventEmitter();
12
+ }
13
+ navigateTo(event) {
14
+ const step = BsNavigationDirection.DOWN === event ? -1 : 1;
15
+ this.onNavigate.emit({ step: { year: step } });
16
+ }
17
+ viewMonth(month) {
18
+ this.onSelect.emit(month);
19
+ }
20
+ hoverMonth(cell, isHovered) {
21
+ this.onHover.emit({ cell, isHovered });
22
+ }
23
+ changeViewMode(event) {
24
+ this.onViewMode.emit(event);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsMonthCalendarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: { calendar: "calendar", calendarIndex: "calendarIndex", showNavigationArrows: "showNavigationArrows", size: "size" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode", onSelect: "onSelect", onHover: "onHover" }, ngImport: i0, template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\"\n [type]=\"'months'\"></bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <div class=\"calendar-body\">\n <hr>\n <div class=\"months\" *ngFor=\"let row of calendar?.months\">\n <article class=\"hr-body-text sm-regular\"\n [class.disabled]=\"month.isDisabled\"\n [class.is-highlighted]=\"month.isHovered\"\n [class.selected]=\"month.isSelected\"\n [class.today]=\"month.isToday\"\n\n (click)=\"viewMonth(month)\" *ngFor=\"let month of row\"\n (mouseenter)=\"hoverMonth(month, true)\" (mouseleave)=\"hoverMonth(month, false)\">\n {{ month.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".gt-calendar-view-head,.gt-calendar-view-body{width:var(--calendar-width)}.calendar-body{background-color:var(--bg-calender-primary);margin-top:8px}hr{border:2px solid var(--divider-menu-active-primary);margin:0 0 20px;opacity:1}.months{align-items:center;display:flex;justify-content:space-between}.months article{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--on-bg-button-pressed-tertiary);cursor:pointer;display:flex;height:var(--month-article-height);justify-content:center;width:var(--month-article-width)}.months article.disabled{color:var(--on-bg-disabled);cursor:default}.months article.today{border-color:var(--bg-number-calendar-hover-primary)}.months article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.months article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.BsDatepickerNavigationViewComponent, selector: "bs-datepicker-navigation-view", inputs: ["calendar", "calendarIndex", "showNavigationArrows", "isDisabled", "type"], outputs: ["onNavigate", "onViewMode"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsMonthCalendarViewComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'bs-month-calendar-view', template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\"\n [type]=\"'months'\"></bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <div class=\"calendar-body\">\n <hr>\n <div class=\"months\" *ngFor=\"let row of calendar?.months\">\n <article class=\"hr-body-text sm-regular\"\n [class.disabled]=\"month.isDisabled\"\n [class.is-highlighted]=\"month.isHovered\"\n [class.selected]=\"month.isSelected\"\n [class.today]=\"month.isToday\"\n\n (click)=\"viewMonth(month)\" *ngFor=\"let month of row\"\n (mouseenter)=\"hoverMonth(month, true)\" (mouseleave)=\"hoverMonth(month, false)\">\n {{ month.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".gt-calendar-view-head,.gt-calendar-view-body{width:var(--calendar-width)}.calendar-body{background-color:var(--bg-calender-primary);margin-top:8px}hr{border:2px solid var(--divider-menu-active-primary);margin:0 0 20px;opacity:1}.months{align-items:center;display:flex;justify-content:space-between}.months article{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--on-bg-button-pressed-tertiary);cursor:pointer;display:flex;height:var(--month-article-height);justify-content:center;width:var(--month-article-width)}.months article.disabled{color:var(--on-bg-disabled);cursor:default}.months article.today{border-color:var(--bg-number-calendar-hover-primary)}.months article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.months article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"] }]
32
+ }], propDecorators: { calendar: [{
33
+ type: Input
34
+ }], calendarIndex: [{
35
+ type: Input
36
+ }], showNavigationArrows: [{
37
+ type: Input
38
+ }], size: [{
39
+ type: Input
40
+ }], onNavigate: [{
41
+ type: Output
42
+ }], onViewMode: [{
43
+ type: Output
44
+ }], onSelect: [{
45
+ type: Output
46
+ }], onHover: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtbW9udGhzLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1tb250aHMtY2FsZW5kYXItdmlldy9icy1tb250aHMtY2FsZW5kYXItdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLW1vbnRocy1jYWxlbmRhci12aWV3L2JzLW1vbnRocy1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUVMLHFCQUFxQixFQUt0QixNQUFNLGNBQWMsQ0FBQzs7OztBQU90QixNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBV1ksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDckQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0tBa0J4RDtJQWhCQyxVQUFVLENBQUMsS0FBNEI7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQTJCLEVBQUUsU0FBa0I7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQTJCO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQTZCLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQTNCVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1U0NmekMsaWxDQXlCQTs7NEZEVmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnNEYXRlcGlja2VyVmlld01vZGUsXG4gIEJzTmF2aWdhdGlvbkRpcmVjdGlvbixcbiAgQnNOYXZpZ2F0aW9uRXZlbnQsXG4gIENhbGVuZGFyQ2VsbFZpZXdNb2RlbCxcbiAgQ2VsbEhvdmVyRXZlbnQsXG4gIE1vbnRoc0NhbGVuZGFyVmlld01vZGVsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW1vbnRoLWNhbGVuZGFyLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnMtbW9udGhzLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icy1tb250aHMtY2FsZW5kYXItdmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzTW9udGhDYWxlbmRhclZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBjYWxlbmRhciE6IE1vbnRoc0NhbGVuZGFyVmlld01vZGVsO1xuICBASW5wdXQoKSBjYWxlbmRhckluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoKSBzaG93TmF2aWdhdGlvbkFycm93cyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNpemUhOiAnc20nIHwgJ21kJyB8ICcnO1xuXG4gIEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxCc05hdmlnYXRpb25FdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uVmlld01vZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEJzRGF0ZXBpY2tlclZpZXdNb2RlPigpO1xuXG4gIEBPdXRwdXQoKSBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJDZWxsVmlld01vZGVsPigpO1xuICBAT3V0cHV0KCkgb25Ib3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q2VsbEhvdmVyRXZlbnQ+KCk7XG5cbiAgbmF2aWdhdGVUbyhldmVudDogQnNOYXZpZ2F0aW9uRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IEJzTmF2aWdhdGlvbkRpcmVjdGlvbi5ET1dOID09PSBldmVudCA/IC0xIDogMTtcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdCh7c3RlcDoge3llYXI6IHN0ZXB9fSk7XG4gIH1cblxuICB2aWV3TW9udGgobW9udGg6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChtb250aCk7XG4gIH1cblxuICBob3Zlck1vbnRoKGNlbGw6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCwgaXNIb3ZlcmVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5vbkhvdmVyLmVtaXQoe2NlbGwsIGlzSG92ZXJlZH0pO1xuICB9XG5cbiAgY2hhbmdlVmlld01vZGUoZXZlbnQ6IEJzRGF0ZXBpY2tlclZpZXdNb2RlKTogdm9pZCB7XG4gICAgdGhpcy5vblZpZXdNb2RlLmVtaXQoZXZlbnQgYXMgQnNEYXRlcGlja2VyVmlld01vZGUpO1xuICB9XG59XG4iLCI8IS0tbmF2aWdhdGlvbi0tPlxuPGRpdiBjbGFzcz1cImd0LWNhbGVuZGFyLXZpZXctaGVhZFwiPlxuICA8YnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCIgW2NhbGVuZGFySW5kZXhdPVwiY2FsZW5kYXJJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25BcnJvd3NdPVwic2hvd05hdmlnYXRpb25BcnJvd3NcIiAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmlld01vZGUpPVwiY2hhbmdlVmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInbW9udGhzJ1wiPjwvYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXc+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImd0LWNhbGVuZGFyLXZpZXctYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxuICAgIDxocj5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGhzXCIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYWxlbmRhcj8ubW9udGhzXCI+XG4gICAgICA8YXJ0aWNsZSBjbGFzcz1cImhyLWJvZHktdGV4dCBzbS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJtb250aC5pc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5pcy1oaWdobGlnaHRlZF09XCJtb250aC5pc0hvdmVyZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1vbnRoLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnRvZGF5XT1cIm1vbnRoLmlzVG9kYXlcIlxuXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld01vbnRoKG1vbnRoKVwiICpuZ0Zvcj1cImxldCBtb250aCBvZiByb3dcIlxuICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJNb250aChtb250aCwgdHJ1ZSlcIiAobW91c2VsZWF2ZSk9XCJob3Zlck1vbnRoKG1vbnRoLCBmYWxzZSlcIj5cbiAgICAgICAge3sgbW9udGgubGFiZWwgfX1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { yearsPerCalendar } from '../../engine/format-years-calendar';
3
+ import { BsNavigationDirection } from '../../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../bs-datepicker-navigation-view/bs-datepicker-navigation-view.component";
7
+ export class BsYearsCalendarViewComponent {
8
+ constructor() {
9
+ this.onNavigate = new EventEmitter();
10
+ this.onViewMode = new EventEmitter();
11
+ this.onSelect = new EventEmitter();
12
+ this.onHover = new EventEmitter();
13
+ }
14
+ navigateTo(event) {
15
+ const step = BsNavigationDirection.DOWN === event ? -1 : 1;
16
+ this.onNavigate.emit({ step: { year: step * yearsPerCalendar } });
17
+ }
18
+ viewYear(year) {
19
+ this.onSelect.emit(year);
20
+ }
21
+ hoverYear(cell, isHovered) {
22
+ this.onHover.emit({ cell, isHovered });
23
+ }
24
+ changeViewMode(event) {
25
+ this.onViewMode.emit(event);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsYearsCalendarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: { calendar: "calendar", calendarIndex: "calendarIndex", showNavigationArrows: "showNavigationArrows", size: "size" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode", onSelect: "onSelect", onHover: "onHover" }, ngImport: i0, template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\"></bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <div class=\"calendar-body\">\n <hr>\n <div class=\"years\" *ngFor=\"let row of calendar?.years\">\n <article class=\"hr-body-text sm-regular\"\n [class.disabled]=\"year.isDisabled\"\n [class.is-highlighted]=\"year.isHovered\"\n [class.selected]=\"year.isSelected\"\n [class.today]=\"year.isToday\"\n\n (click)=\"viewYear(year)\" *ngFor=\"let year of row\"\n (mouseenter)=\"hoverYear(year, true)\" (mouseleave)=\"hoverYear(year, false)\">\n {{ year.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".calendar-body{background-color:var(--bg-calender-primary);margin-top:8px}hr{border:2px solid var(--divider-menu-active-primary);margin:0 0 20px;opacity:1}.years{align-items:center;display:flex;justify-content:space-between}.years article{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--on-bg-button-pressed-tertiary);cursor:pointer;display:flex;height:35px;justify-content:center;width:45px}.years article.disabled{color:var(--on-bg-disabled);cursor:default}.years article.today{border-color:var(--bg-number-calendar-hover-primary)}.years article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.years article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.BsDatepickerNavigationViewComponent, selector: "bs-datepicker-navigation-view", inputs: ["calendar", "calendarIndex", "showNavigationArrows", "isDisabled", "type"], outputs: ["onNavigate", "onViewMode"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsYearsCalendarViewComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'bs-years-calendar-view', template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\"></bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <div class=\"calendar-body\">\n <hr>\n <div class=\"years\" *ngFor=\"let row of calendar?.years\">\n <article class=\"hr-body-text sm-regular\"\n [class.disabled]=\"year.isDisabled\"\n [class.is-highlighted]=\"year.isHovered\"\n [class.selected]=\"year.isSelected\"\n [class.today]=\"year.isToday\"\n\n (click)=\"viewYear(year)\" *ngFor=\"let year of row\"\n (mouseenter)=\"hoverYear(year, true)\" (mouseleave)=\"hoverYear(year, false)\">\n {{ year.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".calendar-body{background-color:var(--bg-calender-primary);margin-top:8px}hr{border:2px solid var(--divider-menu-active-primary);margin:0 0 20px;opacity:1}.years{align-items:center;display:flex;justify-content:space-between}.years article{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--on-bg-button-pressed-tertiary);cursor:pointer;display:flex;height:35px;justify-content:center;width:45px}.years article.disabled{color:var(--on-bg-disabled);cursor:default}.years article.today{border-color:var(--bg-number-calendar-hover-primary)}.years article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.years article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"] }]
33
+ }], propDecorators: { calendar: [{
34
+ type: Input
35
+ }], calendarIndex: [{
36
+ type: Input
37
+ }], showNavigationArrows: [{
38
+ type: Input
39
+ }], size: [{
40
+ type: Input
41
+ }], onNavigate: [{
42
+ type: Output
43
+ }], onViewMode: [{
44
+ type: Output
45
+ }], onSelect: [{
46
+ type: Output
47
+ }], onHover: [{
48
+ type: Output
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcvYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcvYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFFTCxxQkFBcUIsRUFLdEIsTUFBTSxjQUFjLENBQUM7Ozs7QUFPdEIsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQVdZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFdEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQ3JELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztLQWtCeEQ7SUFoQkMsVUFBVSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLGdCQUFnQixFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBMkI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUEyQixFQUFFLFNBQWtCO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUEyQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQTNCVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1U0NoQnpDLGdpQ0F3QkE7OzRGRFJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx3QkFBd0I7OEJBS3pCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7eWVhcnNQZXJDYWxlbmRhcn0gZnJvbSAnLi4vLi4vZW5naW5lL2Zvcm1hdC15ZWFycy1jYWxlbmRhcic7XG5pbXBvcnQge1xuICBCc0RhdGVwaWNrZXJWaWV3TW9kZSxcbiAgQnNOYXZpZ2F0aW9uRGlyZWN0aW9uLFxuICBCc05hdmlnYXRpb25FdmVudCxcbiAgQ2FsZW5kYXJDZWxsVmlld01vZGVsLFxuICBDZWxsSG92ZXJFdmVudCxcbiAgWWVhcnNDYWxlbmRhclZpZXdNb2RlbFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy15ZWFycy1jYWxlbmRhci12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icy15ZWFycy1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNZZWFyc0NhbGVuZGFyVmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNhbGVuZGFyITogWWVhcnNDYWxlbmRhclZpZXdNb2RlbDtcbiAgQElucHV0KCkgY2FsZW5kYXJJbmRleCE6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd05hdmlnYXRpb25BcnJvd3MhOiBib29sZWFuO1xuICBASW5wdXQoKSBzaXplITogJ3NtJyB8ICdtZCcgfCAnJztcblxuICBAT3V0cHV0KCkgb25OYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QnNOYXZpZ2F0aW9uRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblZpZXdNb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxCc0RhdGVwaWNrZXJWaWV3TW9kZT4oKTtcblxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyQ2VsbFZpZXdNb2RlbD4oKTtcbiAgQE91dHB1dCgpIG9uSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPENlbGxIb3ZlckV2ZW50PigpO1xuXG4gIG5hdmlnYXRlVG8oZXZlbnQ6IEJzTmF2aWdhdGlvbkRpcmVjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXAgPSBCc05hdmlnYXRpb25EaXJlY3Rpb24uRE9XTiA9PT0gZXZlbnQgPyAtMSA6IDE7XG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe3N0ZXA6IHt5ZWFyOiBzdGVwICogeWVhcnNQZXJDYWxlbmRhcn19KTtcbiAgfVxuXG4gIHZpZXdZZWFyKHllYXI6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh5ZWFyKTtcbiAgfVxuXG4gIGhvdmVyWWVhcihjZWxsOiBDYWxlbmRhckNlbGxWaWV3TW9kZWwsIGlzSG92ZXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMub25Ib3Zlci5lbWl0KHtjZWxsLCBpc0hvdmVyZWR9KTtcbiAgfVxuXG4gIGNoYW5nZVZpZXdNb2RlKGV2ZW50OiBCc0RhdGVwaWNrZXJWaWV3TW9kZSk6IHZvaWQge1xuICAgIHRoaXMub25WaWV3TW9kZS5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPCEtLW5hdmlnYXRpb24tLT5cbjxkaXYgY2xhc3M9XCJndC1jYWxlbmRhci12aWV3LWhlYWRcIj5cbiAgPGJzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiIFtjYWxlbmRhckluZGV4XT1cImNhbGVuZGFySW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQXJyb3dzXT1cInNob3dOYXZpZ2F0aW9uQXJyb3dzXCIgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZpZXdNb2RlKT1cImNoYW5nZVZpZXdNb2RlKCRldmVudClcIiBbdHlwZV09XCIneWVhcnMnXCI+PC9icy1kYXRlcGlja2VyLW5hdmlnYXRpb24tdmlldz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3QtY2FsZW5kYXItdmlldy1ib2R5XCI+XG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XG4gICAgPGhyPlxuICAgIDxkaXYgY2xhc3M9XCJ5ZWFyc1wiICpuZ0Zvcj1cImxldCByb3cgb2YgY2FsZW5kYXI/LnllYXJzXCI+XG4gICAgICA8YXJ0aWNsZSBjbGFzcz1cImhyLWJvZHktdGV4dCBzbS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJ5ZWFyLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmlzLWhpZ2hsaWdodGVkXT1cInllYXIuaXNIb3ZlcmVkXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ5ZWFyLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnRvZGF5XT1cInllYXIuaXNUb2RheVwiXG5cbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3WWVhcih5ZWFyKVwiICpuZ0Zvcj1cImxldCB5ZWFyIG9mIHJvd1wiXG4gICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlclllYXIoeWVhciwgdHJ1ZSlcIiAobW91c2VsZWF2ZSk9XCJob3ZlclllYXIoeWVhciwgZmFsc2UpXCI+XG4gICAgICAgIHt7IHllYXIubGFiZWwgfX1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { animate, style, state, transition, trigger } from '@angular/animations';
2
+ export const DATEPICKER_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';
3
+ export const datepickerAnimation = trigger('datepickerAnimation', [
4
+ state('animated-down', style({ height: '*', overflow: 'hidden' })),
5
+ transition('* => animated-down', [
6
+ style({ height: 0, overflow: 'hidden' }),
7
+ animate(DATEPICKER_ANIMATION_TIMING)
8
+ ]),
9
+ state('animated-up', style({ height: '*', overflow: 'hidden' })),
10
+ transition('* => animated-up', [
11
+ style({ height: '*', overflow: 'hidden' }),
12
+ animate(DATEPICKER_ANIMATION_TIMING)
13
+ ]),
14
+ transition('* => unanimated', animate('0s'))
15
+ ]);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUVMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsa0NBQWtDLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQzlCLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtJQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDakUsVUFBVSxDQUFDLG9CQUFvQixFQUFFO1FBQy9CLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQztLQUNyQyxDQUFDO0lBQ0YsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtRQUM3QixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsMkJBQTJCLENBQUM7S0FDckMsQ0FBQztJQUNGLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3R5bGUsXG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSxcbiAgc3RhdGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBEQVRFUElDS0VSX0FOSU1BVElPTl9USU1JTkcgPSAnMjIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknO1xuXG5leHBvcnQgY29uc3QgZGF0ZXBpY2tlckFuaW1hdGlvbjogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhID1cbiAgdHJpZ2dlcignZGF0ZXBpY2tlckFuaW1hdGlvbicsIFtcbiAgICBzdGF0ZSgnYW5pbWF0ZWQtZG93bicsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG92ZXJmbG93OiAnaGlkZGVuJ30pKSxcbiAgICB0cmFuc2l0aW9uKCcqID0+IGFuaW1hdGVkLWRvd24nLCBbXG4gICAgICBzdHlsZSh7IGhlaWdodDogMCwgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pLFxuICAgICAgYW5pbWF0ZShEQVRFUElDS0VSX0FOSU1BVElPTl9USU1JTkcpXG4gICAgXSksXG4gICAgc3RhdGUoJ2FuaW1hdGVkLXVwJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3ZlcmZsb3c6ICdoaWRkZW4nfSkpLFxuICAgIHRyYW5zaXRpb24oJyogPT4gYW5pbWF0ZWQtdXAnLCBbXG4gICAgICBzdHlsZSh7IGhlaWdodDogJyonLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICBhbmltYXRlKERBVEVQSUNLRVJfQU5JTUFUSU9OX1RJTUlORylcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCcqID0+IHVuYW5pbWF0ZWQnLCBhbmltYXRlKCcwcycpKVxuICBdKTtcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { getFirstDayOfMonth } from 'ngx-bootstrap/chronos';
2
+ import { getStartingDayOfCalendar } from '../utils/bs-calendar-utils';
3
+ import { createMatrix } from '../utils/matrix-utils';
4
+ export function calcDaysCalendar(startingDate, options) {
5
+ const firstDay = getFirstDayOfMonth(startingDate);
6
+ const initialDate = getStartingDayOfCalendar(firstDay, options);
7
+ const matrixOptions = {
8
+ width: options.width || 0,
9
+ height: options.height || 0,
10
+ initialDate,
11
+ shift: { day: 1 }
12
+ };
13
+ const daysMatrix = createMatrix(matrixOptions, (date) => date);
14
+ return { daysMatrix, month: firstDay };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsYy1kYXlzLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvZW5naW5lL2NhbGMtZGF5cy1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxZQUFrQixFQUFFLE9BQXlCO0lBQzVFLE1BQU0sUUFBUSxHQUFTLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sV0FBVyxHQUFTLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV0RSxNQUFNLGFBQWEsR0FBa0I7UUFDbkMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQztRQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDO1FBQzNCLFdBQVc7UUFDWCxLQUFLLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFDO0tBQ2hCLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBYSxZQUFZLENBQU8sYUFBYSxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyRixPQUFPLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRGaXJzdERheU9mTW9udGh9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQge0RheXNDYWxlbmRhck1vZGVsLCBNb250aFZpZXdPcHRpb25zfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtnZXRTdGFydGluZ0RheU9mQ2FsZW5kYXJ9IGZyb20gJy4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzJztcbmltcG9ydCB7Y3JlYXRlTWF0cml4LCBNYXRyaXhPcHRpb25zfSBmcm9tICcuLi91dGlscy9tYXRyaXgtdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FsY0RheXNDYWxlbmRhcihzdGFydGluZ0RhdGU6IERhdGUsIG9wdGlvbnM6IE1vbnRoVmlld09wdGlvbnMpOiBEYXlzQ2FsZW5kYXJNb2RlbCB7XG4gIGNvbnN0IGZpcnN0RGF5OiBEYXRlID0gZ2V0Rmlyc3REYXlPZk1vbnRoKHN0YXJ0aW5nRGF0ZSk7XG4gIGNvbnN0IGluaXRpYWxEYXRlOiBEYXRlID0gZ2V0U3RhcnRpbmdEYXlPZkNhbGVuZGFyKGZpcnN0RGF5LCBvcHRpb25zKTtcblxuICBjb25zdCBtYXRyaXhPcHRpb25zOiBNYXRyaXhPcHRpb25zID0ge1xuICAgIHdpZHRoOiBvcHRpb25zLndpZHRoIHx8IDAsXG4gICAgaGVpZ2h0OiBvcHRpb25zLmhlaWdodCB8fCAwLFxuICAgIGluaXRpYWxEYXRlLFxuICAgIHNoaWZ0OiB7ZGF5OiAxfVxuICB9O1xuXG4gIGNvbnN0IGRheXNNYXRyaXg6IERhdGVbXVtdID0gY3JlYXRlTWF0cml4PERhdGU+KG1hdHJpeE9wdGlvbnMsIChkYXRlOiBEYXRlKSA9PiBkYXRlKTtcblxuICByZXR1cm4ge2RheXNNYXRyaXgsIG1vbnRoOiBmaXJzdERheX07XG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { isAfter, isBefore, isSameDay, isSameMonth, shiftDate } from 'ngx-bootstrap/chronos';
2
+ import { isMonthDisabled } from '../utils/bs-calendar-utils';
3
+ export function flagDaysCalendar(formattedMonth, options) {
4
+ formattedMonth.weeks.forEach((week) => {
5
+ week.days.forEach((day, dayIndex) => {
6
+ // datepicker
7
+ const isOtherMonth = !isSameMonth(day.date, formattedMonth.month);
8
+ const isHovered = !isOtherMonth && isSameDay(day.date, options.hoveredDate);
9
+ // date range picker
10
+ const isSelectionStart = !isOtherMonth && options.selectedRange && isSameDay(day.date, options.selectedRange[0]);
11
+ const isSelectionEnd = !isOtherMonth && options.selectedRange && isSameDay(day.date, options.selectedRange[1]);
12
+ const isSelected = (!isOtherMonth && isSameDay(day.date, options.selectedDate)) || isSelectionStart || isSelectionEnd;
13
+ const isInRange = !isOtherMonth && !!options.selectedRange && isDateInRange(day.date, options.selectedRange, options.hoveredDate);
14
+ const isDisabled = options.isDisabled || isBefore(day.date, options.minDate, 'day') || isAfter(day.date, options.maxDate, 'day');
15
+ const isToday = !isOtherMonth && isSameDay(day.date, new Date());
16
+ // decide update or not
17
+ const newDay = Object.assign({}, day, {
18
+ isOtherMonth,
19
+ isHovered,
20
+ isSelected,
21
+ isSelectionStart,
22
+ isSelectionEnd,
23
+ isInRange,
24
+ isDisabled,
25
+ isToday
26
+ });
27
+ if (day.isOtherMonth !== newDay.isOtherMonth ||
28
+ day.isHovered !== newDay.isHovered ||
29
+ day.isSelected !== newDay.isSelected ||
30
+ day.isSelectionStart !== newDay.isSelectionStart ||
31
+ day.isSelectionEnd !== newDay.isSelectionEnd ||
32
+ day.isDisabled !== newDay.isDisabled ||
33
+ day.isInRange !== newDay.isInRange) {
34
+ week.days[dayIndex] = newDay;
35
+ }
36
+ });
37
+ });
38
+ formattedMonth.hideLeftArrow = options.isDisabled || (!!options.monthIndex && options.monthIndex > 0 && options.monthIndex !== options.displayMonths);
39
+ formattedMonth.hideRightArrow = options.isDisabled || ((!!options.monthIndex || options.monthIndex === 0) && !!options.displayMonths && options.monthIndex < options.displayMonths && options.monthIndex + 1 !== options.displayMonths);
40
+ formattedMonth.disableLeftArrow = isMonthDisabled(shiftDate(formattedMonth.month, { month: -1 }), options.minDate, options.maxDate);
41
+ formattedMonth.disableRightArrow = isMonthDisabled(shiftDate(formattedMonth.month, { month: 1 }), options.minDate, options.maxDate);
42
+ return formattedMonth;
43
+ }
44
+ function isDateInRange(date, selectedRange, hoveredDate) {
45
+ if (!date || !selectedRange || !selectedRange[0])
46
+ return false;
47
+ if (selectedRange[1])
48
+ return date > selectedRange[0] && date <= selectedRange[1];
49
+ if (hoveredDate)
50
+ return date > selectedRange[0] && date <= hoveredDate;
51
+ return false;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy1kYXlzLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvZW5naW5lL2ZsYWctZGF5cy1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTNGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQWEzRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsY0FBcUMsRUFBRSxPQUF5QztJQUMvRyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQ3hELGFBQWE7WUFDYixNQUFNLFlBQVksR0FBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRSxNQUFNLFNBQVMsR0FBWSxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFckYsb0JBQW9CO1lBQ3BCLE1BQU0sZ0JBQWdCLEdBQVksQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUgsTUFBTSxjQUFjLEdBQVksQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEgsTUFBTSxVQUFVLEdBQVksQ0FBQyxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsSUFBSSxjQUFjLENBQUM7WUFDL0gsTUFBTSxTQUFTLEdBQVksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0ksTUFBTSxVQUFVLEdBQVksT0FBTyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUksTUFBTSxPQUFPLEdBQVksQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTFFLHVCQUF1QjtZQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BDLFlBQVk7Z0JBQ1osU0FBUztnQkFDVCxVQUFVO2dCQUNWLGdCQUFnQjtnQkFDaEIsY0FBYztnQkFDZCxTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsT0FBTzthQUNSLENBQUMsQ0FBQztZQUVILElBQ0UsR0FBRyxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsWUFBWTtnQkFDeEMsR0FBRyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUztnQkFDbEMsR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsVUFBVTtnQkFDcEMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLE1BQU0sQ0FBQyxnQkFBZ0I7Z0JBQ2hELEdBQUcsQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDLGNBQWM7Z0JBQzVDLEdBQUcsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFVBQVU7Z0JBQ3BDLEdBQUcsQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFDbEM7Z0JBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBYyxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEosY0FBYyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFeE8sY0FBYyxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEksY0FBYyxDQUFDLGlCQUFpQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxJLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxJQUFVLEVBQUUsYUFBc0IsRUFBRSxXQUFrQjtJQUMzRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQy9ELElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLElBQUksV0FBVztRQUFFLE9BQU8sSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDO0lBRXZFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF5c0NhbGVuZGFyVmlld01vZGVsLCBEYXlWaWV3TW9kZWwsIFdlZWtWaWV3TW9kZWx9IGZyb20gJy4uL21vZGVscyc7XG5cbmltcG9ydCB7aXNBZnRlciwgaXNCZWZvcmUsIGlzU2FtZURheSwgaXNTYW1lTW9udGgsIHNoaWZ0RGF0ZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcblxuaW1wb3J0IHtpc01vbnRoRGlzYWJsZWR9IGZyb20gJy4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGF5c0NhbGVuZGFyT3B0aW9ucyB7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1pbkRhdGU6IERhdGU7XG4gIG1heERhdGU6IERhdGU7XG4gIGhvdmVyZWREYXRlOiBEYXRlO1xuICBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHNlbGVjdGVkUmFuZ2U6IERhdGVbXTtcbiAgZGlzcGxheU1vbnRoczogbnVtYmVyO1xuICBtb250aEluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGFnRGF5c0NhbGVuZGFyKGZvcm1hdHRlZE1vbnRoOiBEYXlzQ2FsZW5kYXJWaWV3TW9kZWwsIG9wdGlvbnM6IFBhcnRpYWw8RmxhZ0RheXNDYWxlbmRhck9wdGlvbnM+KTogRGF5c0NhbGVuZGFyVmlld01vZGVsIHtcbiAgZm9ybWF0dGVkTW9udGgud2Vla3MuZm9yRWFjaCgod2VlazogV2Vla1ZpZXdNb2RlbCkgPT4ge1xuICAgIHdlZWsuZGF5cy5mb3JFYWNoKChkYXk6IERheVZpZXdNb2RlbCwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgLy8gZGF0ZXBpY2tlclxuICAgICAgY29uc3QgaXNPdGhlck1vbnRoOiBib29sZWFuID0gIWlzU2FtZU1vbnRoKGRheS5kYXRlLCBmb3JtYXR0ZWRNb250aC5tb250aCk7XG4gICAgICBjb25zdCBpc0hvdmVyZWQ6IGJvb2xlYW4gPSAhaXNPdGhlck1vbnRoICYmIGlzU2FtZURheShkYXkuZGF0ZSwgb3B0aW9ucy5ob3ZlcmVkRGF0ZSk7XG5cbiAgICAgIC8vIGRhdGUgcmFuZ2UgcGlja2VyXG4gICAgICBjb25zdCBpc1NlbGVjdGlvblN0YXJ0OiBib29sZWFuID0gIWlzT3RoZXJNb250aCAmJiBvcHRpb25zLnNlbGVjdGVkUmFuZ2UgJiYgaXNTYW1lRGF5KGRheS5kYXRlLCBvcHRpb25zLnNlbGVjdGVkUmFuZ2VbMF0pO1xuICAgICAgY29uc3QgaXNTZWxlY3Rpb25FbmQ6IGJvb2xlYW4gPSAhaXNPdGhlck1vbnRoICYmIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZSAmJiBpc1NhbWVEYXkoZGF5LmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZVsxXSk7XG4gICAgICBjb25zdCBpc1NlbGVjdGVkOiBib29sZWFuID0gKCFpc090aGVyTW9udGggJiYgaXNTYW1lRGF5KGRheS5kYXRlLCBvcHRpb25zLnNlbGVjdGVkRGF0ZSkpIHx8IGlzU2VsZWN0aW9uU3RhcnQgfHwgaXNTZWxlY3Rpb25FbmQ7XG4gICAgICBjb25zdCBpc0luUmFuZ2U6IGJvb2xlYW4gPSAhaXNPdGhlck1vbnRoICYmICEhb3B0aW9ucy5zZWxlY3RlZFJhbmdlICYmIGlzRGF0ZUluUmFuZ2UoZGF5LmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZSwgb3B0aW9ucy5ob3ZlcmVkRGF0ZSk7XG4gICAgICBjb25zdCBpc0Rpc2FibGVkOiBib29sZWFuID0gb3B0aW9ucy5pc0Rpc2FibGVkIHx8IGlzQmVmb3JlKGRheS5kYXRlLCBvcHRpb25zLm1pbkRhdGUsICdkYXknKSB8fCBpc0FmdGVyKGRheS5kYXRlLCBvcHRpb25zLm1heERhdGUsICdkYXknKTtcbiAgICAgIGNvbnN0IGlzVG9kYXk6IGJvb2xlYW4gPSAhaXNPdGhlck1vbnRoICYmIGlzU2FtZURheShkYXkuZGF0ZSwgbmV3IERhdGUoKSk7XG5cbiAgICAgIC8vIGRlY2lkZSB1cGRhdGUgb3Igbm90XG4gICAgICBjb25zdCBuZXdEYXkgPSBPYmplY3QuYXNzaWduKHt9LCBkYXksIHtcbiAgICAgICAgaXNPdGhlck1vbnRoLFxuICAgICAgICBpc0hvdmVyZWQsXG4gICAgICAgIGlzU2VsZWN0ZWQsXG4gICAgICAgIGlzU2VsZWN0aW9uU3RhcnQsXG4gICAgICAgIGlzU2VsZWN0aW9uRW5kLFxuICAgICAgICBpc0luUmFuZ2UsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIGlzVG9kYXlcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRheS5pc090aGVyTW9udGggIT09IG5ld0RheS5pc090aGVyTW9udGggfHxcbiAgICAgICAgZGF5LmlzSG92ZXJlZCAhPT0gbmV3RGF5LmlzSG92ZXJlZCB8fFxuICAgICAgICBkYXkuaXNTZWxlY3RlZCAhPT0gbmV3RGF5LmlzU2VsZWN0ZWQgfHxcbiAgICAgICAgZGF5LmlzU2VsZWN0aW9uU3RhcnQgIT09IG5ld0RheS5pc1NlbGVjdGlvblN0YXJ0IHx8XG4gICAgICAgIGRheS5pc1NlbGVjdGlvbkVuZCAhPT0gbmV3RGF5LmlzU2VsZWN0aW9uRW5kIHx8XG4gICAgICAgIGRheS5pc0Rpc2FibGVkICE9PSBuZXdEYXkuaXNEaXNhYmxlZCB8fFxuICAgICAgICBkYXkuaXNJblJhbmdlICE9PSBuZXdEYXkuaXNJblJhbmdlXG4gICAgICApIHtcbiAgICAgICAgd2Vlay5kYXlzW2RheUluZGV4XSA9IG5ld0RheTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZm9ybWF0dGVkTW9udGguaGlkZUxlZnRBcnJvdyA9IG9wdGlvbnMuaXNEaXNhYmxlZCB8fCAoISFvcHRpb25zLm1vbnRoSW5kZXggJiYgb3B0aW9ucy5tb250aEluZGV4ID4gMCAmJiBvcHRpb25zLm1vbnRoSW5kZXggIT09IG9wdGlvbnMuZGlzcGxheU1vbnRocyk7XG4gIGZvcm1hdHRlZE1vbnRoLmhpZGVSaWdodEFycm93ID0gb3B0aW9ucy5pc0Rpc2FibGVkIHx8ICgoISFvcHRpb25zLm1vbnRoSW5kZXggfHwgb3B0aW9ucy5tb250aEluZGV4ID09PSAwKSAmJiAhIW9wdGlvbnMuZGlzcGxheU1vbnRocyAmJiBvcHRpb25zLm1vbnRoSW5kZXggPCBvcHRpb25zLmRpc3BsYXlNb250aHMgJiYgb3B0aW9ucy5tb250aEluZGV4ICsgMSAhPT0gb3B0aW9ucy5kaXNwbGF5TW9udGhzKTtcblxuICBmb3JtYXR0ZWRNb250aC5kaXNhYmxlTGVmdEFycm93ID0gaXNNb250aERpc2FibGVkKHNoaWZ0RGF0ZShmb3JtYXR0ZWRNb250aC5tb250aCwge21vbnRoOiAtMX0pLCBvcHRpb25zLm1pbkRhdGUsIG9wdGlvbnMubWF4RGF0ZSk7XG4gIGZvcm1hdHRlZE1vbnRoLmRpc2FibGVSaWdodEFycm93ID0gaXNNb250aERpc2FibGVkKHNoaWZ0RGF0ZShmb3JtYXR0ZWRNb250aC5tb250aCwge21vbnRoOiAxfSksIG9wdGlvbnMubWluRGF0ZSwgb3B0aW9ucy5tYXhEYXRlKTtcblxuICByZXR1cm4gZm9ybWF0dGVkTW9udGg7XG59XG5cbmZ1bmN0aW9uIGlzRGF0ZUluUmFuZ2UoZGF0ZTogRGF0ZSwgc2VsZWN0ZWRSYW5nZT86IERhdGVbXSwgaG92ZXJlZERhdGU/OiBEYXRlKTogYm9vbGVhbiB7XG4gIGlmICghZGF0ZSB8fCAhc2VsZWN0ZWRSYW5nZSB8fCAhc2VsZWN0ZWRSYW5nZVswXSkgcmV0dXJuIGZhbHNlO1xuICBpZiAoc2VsZWN0ZWRSYW5nZVsxXSkgcmV0dXJuIGRhdGUgPiBzZWxlY3RlZFJhbmdlWzBdICYmIGRhdGUgPD0gc2VsZWN0ZWRSYW5nZVsxXTtcbiAgaWYgKGhvdmVyZWREYXRlKSByZXR1cm4gZGF0ZSA+IHNlbGVjdGVkUmFuZ2VbMF0gJiYgZGF0ZSA8PSBob3ZlcmVkRGF0ZTtcblxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { isSameMonth, shiftDate } from 'ngx-bootstrap/chronos';
2
+ import { isMonthDisabled, isYearDisabled } from '../utils/bs-calendar-utils';
3
+ export function flagMonthsCalendar(monthCalendar, options) {
4
+ monthCalendar.months.forEach((months, rowIndex) => {
5
+ months.forEach((month, monthIndex) => {
6
+ const isHovered = isSameMonth(month.date, options.hoveredMonth);
7
+ const isToday = isSameMonth(month.date, new Date());
8
+ const isDisabled = options.isDisabled || isMonthDisabled(month.date, options.minDate, options.maxDate);
9
+ let isSelected;
10
+ if (!options.selectedDate && options.selectedRange) {
11
+ isSelected = isSameMonth(month.date, options.selectedRange[0]);
12
+ if (!isSelected) {
13
+ isSelected = isSameMonth(month.date, options.selectedRange[1]);
14
+ }
15
+ }
16
+ else {
17
+ isSelected = isSameMonth(month.date, options.selectedDate);
18
+ }
19
+ const newMonth = Object.assign(month, {
20
+ isHovered,
21
+ isToday,
22
+ isDisabled,
23
+ isSelected
24
+ });
25
+ if (month.isHovered !== newMonth.isHovered ||
26
+ month.isToday !== newMonth.isToday ||
27
+ month.isDisabled !== newMonth.isDisabled ||
28
+ month.isSelected !== newMonth.isSelected) {
29
+ monthCalendar.months[rowIndex][monthIndex] = newMonth;
30
+ }
31
+ });
32
+ });
33
+ monthCalendar.hideLeftArrow = !!options.monthIndex && options.monthIndex > 0 && options.monthIndex !== options.displayMonths;
34
+ monthCalendar.hideRightArrow = (!!options.monthIndex || options.monthIndex === 0) && (!!options.displayMonths || options.displayMonths === 0) && options.monthIndex < options.displayMonths && options.monthIndex + 1 !== options.displayMonths;
35
+ monthCalendar.disableLeftArrow = isYearDisabled(shiftDate(monthCalendar.months[0][0].date, { year: -1 }), options.minDate, options.maxDate);
36
+ monthCalendar.disableRightArrow = isYearDisabled(shiftDate(monthCalendar.months[0][0].date, { year: 1 }), options.minDate, options.maxDate);
37
+ return monthCalendar;
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy1tb250aHMtY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9lbmdpbmUvZmxhZy1tb250aHMtY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RCxPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBYTNFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxhQUFzQyxFQUFFLE9BQTBDO0lBQ25ILGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBK0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7UUFDakYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQTRCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1lBQ2xFLE1BQU0sU0FBUyxHQUFZLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN6RSxNQUFNLE9BQU8sR0FBWSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7WUFDN0QsTUFBTSxVQUFVLEdBQVksT0FBTyxDQUFDLFVBQVUsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVoSCxJQUFJLFVBQW1CLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDbEQsVUFBVSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFL0QsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDZixVQUFVLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNoRTthQUNGO2lCQUFNO2dCQUNMLFVBQVUsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDNUQ7WUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDcEMsU0FBUztnQkFDVCxPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsVUFBVTthQUNYLENBQUMsQ0FBQztZQUVILElBQ0UsS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsU0FBUztnQkFDdEMsS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsT0FBTztnQkFDbEMsS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsVUFBVTtnQkFDeEMsS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsVUFBVSxFQUN4QztnQkFDQSxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxhQUFhLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM3SCxhQUFhLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFFaFAsYUFBYSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFJLGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUksT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNTYW1lTW9udGgsIHNoaWZ0RGF0ZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7Q2FsZW5kYXJDZWxsVmlld01vZGVsLCBNb250aHNDYWxlbmRhclZpZXdNb2RlbH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7aXNNb250aERpc2FibGVkLCBpc1llYXJEaXNhYmxlZH0gZnJvbSAnLi4vdXRpbHMvYnMtY2FsZW5kYXItdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdNb250aENhbGVuZGFyT3B0aW9ucyB7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1pbkRhdGU6IERhdGU7XG4gIG1heERhdGU6IERhdGU7XG4gIGhvdmVyZWRNb250aDogRGF0ZTtcbiAgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBzZWxlY3RlZFJhbmdlOiBEYXRlW107XG4gIGRpc3BsYXlNb250aHM6IG51bWJlcjtcbiAgbW9udGhJbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhZ01vbnRoc0NhbGVuZGFyKG1vbnRoQ2FsZW5kYXI6IE1vbnRoc0NhbGVuZGFyVmlld01vZGVsLCBvcHRpb25zOiBQYXJ0aWFsPEZsYWdNb250aENhbGVuZGFyT3B0aW9ucz4pOiBNb250aHNDYWxlbmRhclZpZXdNb2RlbCB7XG4gIG1vbnRoQ2FsZW5kYXIubW9udGhzLmZvckVhY2goKG1vbnRoczogQ2FsZW5kYXJDZWxsVmlld01vZGVsW10sIHJvd0luZGV4OiBudW1iZXIpID0+IHtcbiAgICBtb250aHMuZm9yRWFjaCgobW9udGg6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCwgbW9udGhJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBpc0hvdmVyZWQ6IGJvb2xlYW4gPSBpc1NhbWVNb250aChtb250aC5kYXRlLCBvcHRpb25zLmhvdmVyZWRNb250aCk7XG4gICAgICBjb25zdCBpc1RvZGF5OiBib29sZWFuID0gaXNTYW1lTW9udGgobW9udGguZGF0ZSwgbmV3IERhdGUoKSk7XG4gICAgICBjb25zdCBpc0Rpc2FibGVkOiBib29sZWFuID0gb3B0aW9ucy5pc0Rpc2FibGVkIHx8IGlzTW9udGhEaXNhYmxlZChtb250aC5kYXRlLCBvcHRpb25zLm1pbkRhdGUsIG9wdGlvbnMubWF4RGF0ZSk7XG5cbiAgICAgIGxldCBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgaWYgKCFvcHRpb25zLnNlbGVjdGVkRGF0ZSAmJiBvcHRpb25zLnNlbGVjdGVkUmFuZ2UpIHtcbiAgICAgICAgaXNTZWxlY3RlZCA9IGlzU2FtZU1vbnRoKG1vbnRoLmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZVswXSk7XG5cbiAgICAgICAgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgICAgaXNTZWxlY3RlZCA9IGlzU2FtZU1vbnRoKG1vbnRoLmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZVsxXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzU2VsZWN0ZWQgPSBpc1NhbWVNb250aChtb250aC5kYXRlLCBvcHRpb25zLnNlbGVjdGVkRGF0ZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdNb250aCA9IE9iamVjdC5hc3NpZ24obW9udGgsIHtcbiAgICAgICAgaXNIb3ZlcmVkLFxuICAgICAgICBpc1RvZGF5LFxuICAgICAgICBpc0Rpc2FibGVkLFxuICAgICAgICBpc1NlbGVjdGVkXG4gICAgICB9KTtcblxuICAgICAgaWYgKFxuICAgICAgICBtb250aC5pc0hvdmVyZWQgIT09IG5ld01vbnRoLmlzSG92ZXJlZCB8fFxuICAgICAgICBtb250aC5pc1RvZGF5ICE9PSBuZXdNb250aC5pc1RvZGF5IHx8XG4gICAgICAgIG1vbnRoLmlzRGlzYWJsZWQgIT09IG5ld01vbnRoLmlzRGlzYWJsZWQgfHxcbiAgICAgICAgbW9udGguaXNTZWxlY3RlZCAhPT0gbmV3TW9udGguaXNTZWxlY3RlZFxuICAgICAgKSB7XG4gICAgICAgIG1vbnRoQ2FsZW5kYXIubW9udGhzW3Jvd0luZGV4XVttb250aEluZGV4XSA9IG5ld01vbnRoO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBtb250aENhbGVuZGFyLmhpZGVMZWZ0QXJyb3cgPSAhIW9wdGlvbnMubW9udGhJbmRleCAmJiBvcHRpb25zLm1vbnRoSW5kZXggPiAwICYmIG9wdGlvbnMubW9udGhJbmRleCAhPT0gb3B0aW9ucy5kaXNwbGF5TW9udGhzO1xuICBtb250aENhbGVuZGFyLmhpZGVSaWdodEFycm93ID0gKCEhb3B0aW9ucy5tb250aEluZGV4IHx8IG9wdGlvbnMubW9udGhJbmRleCA9PT0gMCkgJiYgKCEhb3B0aW9ucy5kaXNwbGF5TW9udGhzIHx8IG9wdGlvbnMuZGlzcGxheU1vbnRocyA9PT0gMCkgJiYgb3B0aW9ucy5tb250aEluZGV4IDwgb3B0aW9ucy5kaXNwbGF5TW9udGhzICYmIG9wdGlvbnMubW9udGhJbmRleCArIDEgIT09IG9wdGlvbnMuZGlzcGxheU1vbnRocztcblxuICBtb250aENhbGVuZGFyLmRpc2FibGVMZWZ0QXJyb3cgPSBpc1llYXJEaXNhYmxlZChzaGlmdERhdGUobW9udGhDYWxlbmRhci5tb250aHNbMF1bMF0uZGF0ZSwge3llYXI6IC0xfSksIG9wdGlvbnMubWluRGF0ZSwgb3B0aW9ucy5tYXhEYXRlKTtcbiAgbW9udGhDYWxlbmRhci5kaXNhYmxlUmlnaHRBcnJvdyA9IGlzWWVhckRpc2FibGVkKHNoaWZ0RGF0ZShtb250aENhbGVuZGFyLm1vbnRoc1swXVswXS5kYXRlLCB7eWVhcjogMX0pLCBvcHRpb25zLm1pbkRhdGUsIG9wdGlvbnMubWF4RGF0ZSk7XG5cbiAgcmV0dXJuIG1vbnRoQ2FsZW5kYXI7XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { isSameYear, shiftDate } from 'ngx-bootstrap/chronos';
2
+ import { isYearDisabled } from '../utils/bs-calendar-utils';
3
+ export function flagYearsCalendar(yearsCalendar, options) {
4
+ yearsCalendar.years.forEach((years, rowIndex) => {
5
+ years.forEach((year, yearIndex) => {
6
+ const isHovered = isSameYear(year.date, options.hoveredYear);
7
+ const isToday = isSameYear(year.date, new Date());
8
+ const isDisabled = options.isDisabled || isYearDisabled(year.date, options.minDate, options.maxDate);
9
+ let isSelected;
10
+ if (!options.selectedDate && options.selectedRange) {
11
+ isSelected = isSameYear(year.date, options.selectedRange[0]);
12
+ if (!isSelected) {
13
+ isSelected = isSameYear(year.date, options.selectedRange[1]);
14
+ }
15
+ }
16
+ else {
17
+ isSelected = isSameYear(year.date, options.selectedDate);
18
+ }
19
+ const newMonth = Object.assign(year, { isHovered, isDisabled, isSelected, isToday });
20
+ if (year.isHovered !== newMonth.isHovered ||
21
+ year.isDisabled !== newMonth.isDisabled ||
22
+ year.isToday !== newMonth.isToday ||
23
+ year.isSelected !== newMonth.isSelected) {
24
+ yearsCalendar.years[rowIndex][yearIndex] = newMonth;
25
+ }
26
+ });
27
+ });
28
+ yearsCalendar.hideLeftArrow = !!options.yearIndex && options.yearIndex > 0 && options.yearIndex !== options.displayMonths;
29
+ yearsCalendar.hideRightArrow = !!options.yearIndex && !!options.displayMonths && options.yearIndex < options.displayMonths && options.yearIndex + 1 !== options.displayMonths;
30
+ const i = yearsCalendar.years.length - 1;
31
+ const j = yearsCalendar.years[i].length - 1;
32
+ yearsCalendar.disableLeftArrow = isYearDisabled(shiftDate(yearsCalendar.years[0][0].date, { year: -1 }), options.minDate, options.maxDate);
33
+ yearsCalendar.disableRightArrow = isYearDisabled(shiftDate(yearsCalendar.years[i][j].date, { year: 1 }), options.minDate, options.maxDate);
34
+ return yearsCalendar;
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy15ZWFycy1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2VuZ2luZS9mbGFnLXllYXJzLWNhbGVuZGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBYzFELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxhQUFxQyxFQUFFLE9BQTBDO0lBQ2pILGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBOEIsRUFBRSxRQUFnQixFQUFFLEVBQUU7UUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQTJCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQy9ELE1BQU0sU0FBUyxHQUFZLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0RSxNQUFNLE9BQU8sR0FBWSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxVQUFVLEdBQVksT0FBTyxDQUFDLFVBQVUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU5RyxJQUFJLFVBQW1CLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDbEQsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFN0QsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDZixVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5RDthQUNGO2lCQUFNO2dCQUNMLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDMUQ7WUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7WUFFbkYsSUFDRSxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxTQUFTO2dCQUNyQyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxVQUFVO2dCQUN2QyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQ3ZDO2dCQUNBLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILGFBQWEsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQzFILGFBQWEsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFFOUssTUFBTSxDQUFDLEdBQVcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sQ0FBQyxHQUFXLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekksYUFBYSxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6SSxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1NhbWVZZWFyLCBzaGlmdERhdGV9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQge0NhbGVuZGFyQ2VsbFZpZXdNb2RlbCwgWWVhcnNDYWxlbmRhclZpZXdNb2RlbH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7aXNZZWFyRGlzYWJsZWR9IGZyb20gJy4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBGbGFnWWVhcnNDYWxlbmRhck9wdGlvbnMge1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICBtaW5EYXRlOiBEYXRlO1xuICBtYXhEYXRlOiBEYXRlO1xuICBob3ZlcmVkWWVhcjogRGF0ZTtcbiAgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBzZWxlY3RlZFJhbmdlOiBEYXRlW107XG4gIGRpc3BsYXlNb250aHM6IG51bWJlcjtcbiAgeWVhckluZGV4OiBudW1iZXI7XG4gIGlzVG9kYXk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGFnWWVhcnNDYWxlbmRhcih5ZWFyc0NhbGVuZGFyOiBZZWFyc0NhbGVuZGFyVmlld01vZGVsLCBvcHRpb25zOiBQYXJ0aWFsPEZsYWdZZWFyc0NhbGVuZGFyT3B0aW9ucz4pOiBZZWFyc0NhbGVuZGFyVmlld01vZGVsIHtcbiAgeWVhcnNDYWxlbmRhci55ZWFycy5mb3JFYWNoKCh5ZWFyczogQ2FsZW5kYXJDZWxsVmlld01vZGVsW10sIHJvd0luZGV4OiBudW1iZXIpID0+IHtcbiAgICB5ZWFycy5mb3JFYWNoKCh5ZWFyOiBDYWxlbmRhckNlbGxWaWV3TW9kZWwsIHllYXJJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBpc0hvdmVyZWQ6IGJvb2xlYW4gPSBpc1NhbWVZZWFyKHllYXIuZGF0ZSwgb3B0aW9ucy5ob3ZlcmVkWWVhcik7XG4gICAgICBjb25zdCBpc1RvZGF5OiBib29sZWFuID0gaXNTYW1lWWVhcih5ZWFyLmRhdGUsIG5ldyBEYXRlKCkpO1xuICAgICAgY29uc3QgaXNEaXNhYmxlZDogYm9vbGVhbiA9IG9wdGlvbnMuaXNEaXNhYmxlZCB8fCBpc1llYXJEaXNhYmxlZCh5ZWFyLmRhdGUsIG9wdGlvbnMubWluRGF0ZSwgb3B0aW9ucy5tYXhEYXRlKTtcblxuICAgICAgbGV0IGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgICBpZiAoIW9wdGlvbnMuc2VsZWN0ZWREYXRlICYmIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZSkge1xuICAgICAgICBpc1NlbGVjdGVkID0gaXNTYW1lWWVhcih5ZWFyLmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWRSYW5nZVswXSk7XG5cbiAgICAgICAgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgICAgaXNTZWxlY3RlZCA9IGlzU2FtZVllYXIoeWVhci5kYXRlLCBvcHRpb25zLnNlbGVjdGVkUmFuZ2VbMV0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpc1NlbGVjdGVkID0gaXNTYW1lWWVhcih5ZWFyLmRhdGUsIG9wdGlvbnMuc2VsZWN0ZWREYXRlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3TW9udGggPSBPYmplY3QuYXNzaWduKHllYXIsIHtpc0hvdmVyZWQsIGlzRGlzYWJsZWQsIGlzU2VsZWN0ZWQsIGlzVG9kYXl9KTtcblxuICAgICAgaWYgKFxuICAgICAgICB5ZWFyLmlzSG92ZXJlZCAhPT0gbmV3TW9udGguaXNIb3ZlcmVkIHx8XG4gICAgICAgIHllYXIuaXNEaXNhYmxlZCAhPT0gbmV3TW9udGguaXNEaXNhYmxlZCB8fFxuICAgICAgICB5ZWFyLmlzVG9kYXkgIT09IG5ld01vbnRoLmlzVG9kYXkgfHxcbiAgICAgICAgeWVhci5pc1NlbGVjdGVkICE9PSBuZXdNb250aC5pc1NlbGVjdGVkXG4gICAgICApIHtcbiAgICAgICAgeWVhcnNDYWxlbmRhci55ZWFyc1tyb3dJbmRleF1beWVhckluZGV4XSA9IG5ld01vbnRoO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICB5ZWFyc0NhbGVuZGFyLmhpZGVMZWZ0QXJyb3cgPSAhIW9wdGlvbnMueWVhckluZGV4ICYmIG9wdGlvbnMueWVhckluZGV4ID4gMCAmJiBvcHRpb25zLnllYXJJbmRleCAhPT0gb3B0aW9ucy5kaXNwbGF5TW9udGhzO1xuICB5ZWFyc0NhbGVuZGFyLmhpZGVSaWdodEFycm93ID0gISFvcHRpb25zLnllYXJJbmRleCAmJiAhIW9wdGlvbnMuZGlzcGxheU1vbnRocyAmJiBvcHRpb25zLnllYXJJbmRleCA8IG9wdGlvbnMuZGlzcGxheU1vbnRocyAmJiBvcHRpb25zLnllYXJJbmRleCArIDEgIT09IG9wdGlvbnMuZGlzcGxheU1vbnRocztcblxuICBjb25zdCBpOiBudW1iZXIgPSB5ZWFyc0NhbGVuZGFyLnllYXJzLmxlbmd0aCAtIDE7XG4gIGNvbnN0IGo6IG51bWJlciA9IHllYXJzQ2FsZW5kYXIueWVhcnNbaV0ubGVuZ3RoIC0gMTtcbiAgeWVhcnNDYWxlbmRhci5kaXNhYmxlTGVmdEFycm93ID0gaXNZZWFyRGlzYWJsZWQoc2hpZnREYXRlKHllYXJzQ2FsZW5kYXIueWVhcnNbMF1bMF0uZGF0ZSwge3llYXI6IC0xfSksIG9wdGlvbnMubWluRGF0ZSwgb3B0aW9ucy5tYXhEYXRlKTtcbiAgeWVhcnNDYWxlbmRhci5kaXNhYmxlUmlnaHRBcnJvdyA9IGlzWWVhckRpc2FibGVkKHNoaWZ0RGF0ZSh5ZWFyc0NhbGVuZGFyLnllYXJzW2ldW2pdLmRhdGUsIHt5ZWFyOiAxfSksIG9wdGlvbnMubWluRGF0ZSwgb3B0aW9ucy5tYXhEYXRlKTtcblxuICByZXR1cm4geWVhcnNDYWxlbmRhcjtcbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { formatDate } from 'ngx-bootstrap/chronos';
2
+ export function formatDaysCalendar(daysCalendar, formatOptions, monthIndex) {
3
+ return {
4
+ month: daysCalendar.month,
5
+ monthTitle: formatDate(daysCalendar.month, formatOptions.monthTitle, formatOptions.locale),
6
+ yearTitle: formatDate(daysCalendar.month, formatOptions.yearTitle, formatOptions.locale),
7
+ weekdays: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
8
+ weeks: daysCalendar.daysMatrix.map((week, weekIndex) => ({
9
+ days: week.map((date, dayIndex) => ({
10
+ date,
11
+ label: formatDate(date, formatOptions.dayLabel, formatOptions.locale),
12
+ monthIndex,
13
+ weekIndex,
14
+ dayIndex
15
+ }))
16
+ })),
17
+ hideLeftArrow: false,
18
+ hideRightArrow: false,
19
+ disableLeftArrow: false,
20
+ disableRightArrow: false
21
+ };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRheXMtY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9lbmdpbmUvZm9ybWF0LWRheXMtY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxZQUErQixFQUFFLGFBQXNDLEVBQUUsVUFBa0I7SUFDNUgsT0FBTztRQUNMLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSztRQUN6QixVQUFVLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQzFGLFNBQVMsRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDeEYsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3BELEtBQUssRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxTQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFFLFFBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELElBQUk7Z0JBQ0osS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUNyRSxVQUFVO2dCQUNWLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUNILGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZXBpY2tlckZvcm1hdE9wdGlvbnMsIERheXNDYWxlbmRhck1vZGVsLCBEYXlzQ2FsZW5kYXJWaWV3TW9kZWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge2Zvcm1hdERhdGV9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXlzQ2FsZW5kYXIoZGF5c0NhbGVuZGFyOiBEYXlzQ2FsZW5kYXJNb2RlbCwgZm9ybWF0T3B0aW9uczogRGF0ZXBpY2tlckZvcm1hdE9wdGlvbnMsIG1vbnRoSW5kZXg6IG51bWJlcik6IERheXNDYWxlbmRhclZpZXdNb2RlbCB7XG4gIHJldHVybiB7XG4gICAgbW9udGg6IGRheXNDYWxlbmRhci5tb250aCxcbiAgICBtb250aFRpdGxlOiBmb3JtYXREYXRlKGRheXNDYWxlbmRhci5tb250aCwgZm9ybWF0T3B0aW9ucy5tb250aFRpdGxlLCBmb3JtYXRPcHRpb25zLmxvY2FsZSksXG4gICAgeWVhclRpdGxlOiBmb3JtYXREYXRlKGRheXNDYWxlbmRhci5tb250aCwgZm9ybWF0T3B0aW9ucy55ZWFyVGl0bGUsIGZvcm1hdE9wdGlvbnMubG9jYWxlKSxcbiAgICB3ZWVrZGF5czogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxuICAgIHdlZWtzOiBkYXlzQ2FsZW5kYXIuZGF5c01hdHJpeC5tYXAoKHdlZWs6IERhdGVbXSwgd2Vla0luZGV4OiBudW1iZXIpID0+ICh7XG4gICAgICBkYXlzOiB3ZWVrLm1hcCgoZGF0ZTogRGF0ZSwgZGF5SW5kZXg6IG51bWJlcikgPT4gKHtcbiAgICAgICAgZGF0ZSxcbiAgICAgICAgbGFiZWw6IGZvcm1hdERhdGUoZGF0ZSwgZm9ybWF0T3B0aW9ucy5kYXlMYWJlbCwgZm9ybWF0T3B0aW9ucy5sb2NhbGUpLFxuICAgICAgICBtb250aEluZGV4LFxuICAgICAgICB3ZWVrSW5kZXgsXG4gICAgICAgIGRheUluZGV4XG4gICAgICB9KSlcbiAgICB9KSksXG4gICAgaGlkZUxlZnRBcnJvdzogZmFsc2UsXG4gICAgaGlkZVJpZ2h0QXJyb3c6IGZhbHNlLFxuICAgIGRpc2FibGVMZWZ0QXJyb3c6IGZhbHNlLFxuICAgIGRpc2FibGVSaWdodEFycm93OiBmYWxzZVxuICB9O1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { formatDate, startOf } from 'ngx-bootstrap/chronos';
2
+ import { createMatrix } from '../utils/matrix-utils';
3
+ const height = 4;
4
+ const width = 3;
5
+ const shift = { month: 1 };
6
+ export function formatMonthsCalendar(viewDate, formatOptions) {
7
+ const initialDate = startOf(viewDate, 'year');
8
+ const matrixOptions = { width, height, initialDate, shift };
9
+ const monthMatrix = createMatrix(matrixOptions, (date) => ({
10
+ date,
11
+ label: formatDate(date, formatOptions.monthLabel, formatOptions.locale)
12
+ }));
13
+ return {
14
+ months: monthMatrix,
15
+ monthTitle: '',
16
+ yearTitle: formatDate(viewDate, formatOptions.yearTitle, formatOptions.locale),
17
+ hideRightArrow: false,
18
+ hideLeftArrow: false,
19
+ disableRightArrow: false,
20
+ disableLeftArrow: false
21
+ };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW1vbnRocy1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2VuZ2luZS9mb3JtYXQtbW9udGhzLWNhbGVuZGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE1BQU0sTUFBTSxHQUFXLENBQUMsQ0FBQztBQUN6QixNQUFNLEtBQUssR0FBVyxDQUFDLENBQUM7QUFDeEIsTUFBTSxLQUFLLEdBQWEsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFFbkMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWMsRUFBRSxhQUFzQztJQUN6RixNQUFNLFdBQVcsR0FBUyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELE1BQU0sYUFBYSxHQUFHLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQThCLFlBQVksQ0FBd0IsYUFBYSxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILElBQUk7UUFDSixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUM7S0FDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPO1FBQ0wsTUFBTSxFQUFFLFdBQVc7UUFDbkIsVUFBVSxFQUFFLEVBQUU7UUFDZCxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDOUUsY0FBYyxFQUFFLEtBQUs7UUFDckIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsaUJBQWlCLEVBQUUsS0FBSztRQUN4QixnQkFBZ0IsRUFBRSxLQUFLO0tBQ3hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckNlbGxWaWV3TW9kZWwsIERhdGVwaWNrZXJGb3JtYXRPcHRpb25zLCBNb250aHNDYWxlbmRhclZpZXdNb2RlbH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Zm9ybWF0RGF0ZSwgc3RhcnRPZn0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7Y3JlYXRlTWF0cml4fSBmcm9tICcuLi91dGlscy9tYXRyaXgtdXRpbHMnO1xuaW1wb3J0IHtUaW1lVW5pdH0gZnJvbSBcIm5neC1ib290c3RyYXAvY2hyb25vcy90eXBlc1wiO1xuXG5jb25zdCBoZWlnaHQ6IG51bWJlciA9IDQ7XG5jb25zdCB3aWR0aDogbnVtYmVyID0gMztcbmNvbnN0IHNoaWZ0OiBUaW1lVW5pdCA9IHttb250aDogMX07XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRNb250aHNDYWxlbmRhcih2aWV3RGF0ZTogRGF0ZSwgZm9ybWF0T3B0aW9uczogRGF0ZXBpY2tlckZvcm1hdE9wdGlvbnMpOiBNb250aHNDYWxlbmRhclZpZXdNb2RlbCB7XG4gIGNvbnN0IGluaXRpYWxEYXRlOiBEYXRlID0gc3RhcnRPZih2aWV3RGF0ZSwgJ3llYXInKTtcbiAgY29uc3QgbWF0cml4T3B0aW9ucyA9IHt3aWR0aCwgaGVpZ2h0LCBpbml0aWFsRGF0ZSwgc2hpZnR9O1xuICBjb25zdCBtb250aE1hdHJpeDogQ2FsZW5kYXJDZWxsVmlld01vZGVsW11bXSA9IGNyZWF0ZU1hdHJpeDxDYWxlbmRhckNlbGxWaWV3TW9kZWw+KG1hdHJpeE9wdGlvbnMsIChkYXRlOiBEYXRlKSA9PiAoe1xuICAgIGRhdGUsXG4gICAgbGFiZWw6IGZvcm1hdERhdGUoZGF0ZSwgZm9ybWF0T3B0aW9ucy5tb250aExhYmVsLCBmb3JtYXRPcHRpb25zLmxvY2FsZSlcbiAgfSkpO1xuXG4gIHJldHVybiB7XG4gICAgbW9udGhzOiBtb250aE1hdHJpeCxcbiAgICBtb250aFRpdGxlOiAnJyxcbiAgICB5ZWFyVGl0bGU6IGZvcm1hdERhdGUodmlld0RhdGUsIGZvcm1hdE9wdGlvbnMueWVhclRpdGxlLCBmb3JtYXRPcHRpb25zLmxvY2FsZSksXG4gICAgaGlkZVJpZ2h0QXJyb3c6IGZhbHNlLFxuICAgIGhpZGVMZWZ0QXJyb3c6IGZhbHNlLFxuICAgIGRpc2FibGVSaWdodEFycm93OiBmYWxzZSxcbiAgICBkaXNhYmxlTGVmdEFycm93OiBmYWxzZVxuICB9O1xufVxuIl19
@@ -0,0 +1,43 @@
1
+ import { formatDate, shiftDate } from 'ngx-bootstrap/chronos';
2
+ import { createMatrix } from '../utils/matrix-utils';
3
+ const height = 3;
4
+ const width = 4;
5
+ export const yearsPerCalendar = height * width;
6
+ export const initialYearShift = (yearsPerCalendar - 1) * -1; // -1 to display current year; * -1 to show previous years
7
+ const shift = { year: 1 };
8
+ export function formatYearsCalendar(viewDate, formatOptions, previousInitialDate, currentSelectedYear) {
9
+ const initialDate = calculateInitialDate(viewDate, previousInitialDate);
10
+ const matrixOptions = { width, height, initialDate, shift };
11
+ const yearsMatrix = createMatrix(matrixOptions, date => ({
12
+ date,
13
+ label: formatDate(date, formatOptions.yearLabel, formatOptions.locale)
14
+ }));
15
+ let yearTitle;
16
+ if (currentSelectedYear) {
17
+ yearTitle = formatDate(currentSelectedYear, formatOptions.yearLabel, formatOptions.locale);
18
+ }
19
+ else {
20
+ yearTitle = formatYearRangeTitle(yearsMatrix, formatOptions);
21
+ }
22
+ return {
23
+ years: yearsMatrix,
24
+ monthTitle: '',
25
+ yearTitle,
26
+ hideLeftArrow: false,
27
+ hideRightArrow: false,
28
+ disableLeftArrow: false,
29
+ disableRightArrow: false
30
+ };
31
+ }
32
+ function calculateInitialDate(viewDate, previousInitialDate) {
33
+ if (previousInitialDate && viewDate.getFullYear() >= previousInitialDate.getFullYear() && viewDate.getFullYear() < previousInitialDate.getFullYear() + yearsPerCalendar) {
34
+ return previousInitialDate;
35
+ }
36
+ return shiftDate(viewDate, { year: initialYearShift });
37
+ }
38
+ function formatYearRangeTitle(yearsMatrix, formatOptions) {
39
+ const from = formatDate(yearsMatrix[0][0].date, formatOptions.yearTitle, formatOptions.locale);
40
+ const to = formatDate(yearsMatrix[height - 1][width - 1].date, formatOptions.yearTitle, formatOptions.locale);
41
+ return `${from} - ${to}`;
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXllYXJzLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvZW5naW5lL2Zvcm1hdC15ZWFycy1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxNQUFNLE1BQU0sR0FBVyxDQUFDLENBQUM7QUFDekIsTUFBTSxLQUFLLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFXLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBEQUEwRDtBQUMvSCxNQUFNLEtBQUssR0FBYSxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUMsQ0FBQztBQUVsQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBYyxFQUFFLGFBQXNDLEVBQUUsbUJBQTBCLEVBQUUsbUJBQTBCO0lBQ2hKLE1BQU0sV0FBVyxHQUFTLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sYUFBYSxHQUFHLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQThCLFlBQVksQ0FBd0IsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RyxJQUFJO1FBQ0osS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDO0tBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUosSUFBSSxTQUFpQixDQUFDO0lBQ3RCLElBQUksbUJBQW1CLEVBQUU7UUFDdkIsU0FBUyxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM1RjtTQUFNO1FBQ0wsU0FBUyxHQUFHLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQTtLQUM3RDtJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsV0FBVztRQUNsQixVQUFVLEVBQUUsRUFBRTtRQUNkLFNBQVM7UUFDVCxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLGlCQUFpQixFQUFFLEtBQUs7S0FDekIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFFBQWMsRUFBRSxtQkFBMEI7SUFDdEUsSUFBSSxtQkFBbUIsSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxHQUFHLGdCQUFnQixFQUFFO1FBQ3ZLLE9BQU8sbUJBQW1CLENBQUM7S0FDNUI7SUFFRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFdBQXNDLEVBQUUsYUFBc0M7SUFDMUcsTUFBTSxJQUFJLEdBQVksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEcsTUFBTSxFQUFFLEdBQVcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0SCxPQUFPLEdBQUcsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhbGVuZGFyQ2VsbFZpZXdNb2RlbCwgRGF0ZXBpY2tlckZvcm1hdE9wdGlvbnMsIFllYXJzQ2FsZW5kYXJWaWV3TW9kZWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge2Zvcm1hdERhdGUsIHNoaWZ0RGF0ZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7Y3JlYXRlTWF0cml4fSBmcm9tICcuLi91dGlscy9tYXRyaXgtdXRpbHMnO1xuaW1wb3J0IHtUaW1lVW5pdH0gZnJvbSBcIm5neC1ib290c3RyYXAvY2hyb25vcy90eXBlc1wiO1xuXG5jb25zdCBoZWlnaHQ6IG51bWJlciA9IDM7XG5jb25zdCB3aWR0aDogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCB5ZWFyc1BlckNhbGVuZGFyOiBudW1iZXIgPSBoZWlnaHQgKiB3aWR0aDtcbmV4cG9ydCBjb25zdCBpbml0aWFsWWVhclNoaWZ0OiBudW1iZXIgPSAoeWVhcnNQZXJDYWxlbmRhciAtIDEpICogLTE7IC8vIC0xIHRvIGRpc3BsYXkgY3VycmVudCB5ZWFyOyAqIC0xIHRvIHNob3cgcHJldmlvdXMgeWVhcnNcbmNvbnN0IHNoaWZ0OiBUaW1lVW5pdCA9IHt5ZWFyOiAxfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFllYXJzQ2FsZW5kYXIodmlld0RhdGU6IERhdGUsIGZvcm1hdE9wdGlvbnM6IERhdGVwaWNrZXJGb3JtYXRPcHRpb25zLCBwcmV2aW91c0luaXRpYWxEYXRlPzogRGF0ZSwgY3VycmVudFNlbGVjdGVkWWVhcj86IERhdGUpOiBZZWFyc0NhbGVuZGFyVmlld01vZGVsIHtcbiAgY29uc3QgaW5pdGlhbERhdGU6IERhdGUgPSBjYWxjdWxhdGVJbml0aWFsRGF0ZSh2aWV3RGF0ZSwgcHJldmlvdXNJbml0aWFsRGF0ZSk7XG4gIGNvbnN0IG1hdHJpeE9wdGlvbnMgPSB7d2lkdGgsIGhlaWdodCwgaW5pdGlhbERhdGUsIHNoaWZ0fTtcbiAgY29uc3QgeWVhcnNNYXRyaXg6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbFtdW10gPSBjcmVhdGVNYXRyaXg8Q2FsZW5kYXJDZWxsVmlld01vZGVsPihtYXRyaXhPcHRpb25zLCBkYXRlID0+ICh7XG4gICAgZGF0ZSxcbiAgICBsYWJlbDogZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXRPcHRpb25zLnllYXJMYWJlbCwgZm9ybWF0T3B0aW9ucy5sb2NhbGUpXG4gIH0pKTtcblxuICBsZXQgeWVhclRpdGxlOiBzdHJpbmc7XG4gIGlmIChjdXJyZW50U2VsZWN0ZWRZZWFyKSB7XG4gICAgeWVhclRpdGxlID0gZm9ybWF0RGF0ZShjdXJyZW50U2VsZWN0ZWRZZWFyLCBmb3JtYXRPcHRpb25zLnllYXJMYWJlbCwgZm9ybWF0T3B0aW9ucy5sb2NhbGUpO1xuICB9IGVsc2Uge1xuICAgIHllYXJUaXRsZSA9IGZvcm1hdFllYXJSYW5nZVRpdGxlKHllYXJzTWF0cml4LCBmb3JtYXRPcHRpb25zKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB5ZWFyczogeWVhcnNNYXRyaXgsXG4gICAgbW9udGhUaXRsZTogJycsXG4gICAgeWVhclRpdGxlLFxuICAgIGhpZGVMZWZ0QXJyb3c6IGZhbHNlLFxuICAgIGhpZGVSaWdodEFycm93OiBmYWxzZSxcbiAgICBkaXNhYmxlTGVmdEFycm93OiBmYWxzZSxcbiAgICBkaXNhYmxlUmlnaHRBcnJvdzogZmFsc2VcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlSW5pdGlhbERhdGUodmlld0RhdGU6IERhdGUsIHByZXZpb3VzSW5pdGlhbERhdGU/OiBEYXRlKTogRGF0ZSB7XG4gIGlmIChwcmV2aW91c0luaXRpYWxEYXRlICYmIHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgPj0gcHJldmlvdXNJbml0aWFsRGF0ZS5nZXRGdWxsWWVhcigpICYmIHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgPCBwcmV2aW91c0luaXRpYWxEYXRlLmdldEZ1bGxZZWFyKCkgKyB5ZWFyc1BlckNhbGVuZGFyKSB7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5pdGlhbERhdGU7XG4gIH1cblxuICByZXR1cm4gc2hpZnREYXRlKHZpZXdEYXRlLCB7eWVhcjogaW5pdGlhbFllYXJTaGlmdH0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRZZWFyUmFuZ2VUaXRsZSh5ZWFyc01hdHJpeDogQ2FsZW5kYXJDZWxsVmlld01vZGVsW11bXSwgZm9ybWF0T3B0aW9uczogRGF0ZXBpY2tlckZvcm1hdE9wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCBmcm9tOiBzdHJpbmcgID0gZm9ybWF0RGF0ZSh5ZWFyc01hdHJpeFswXVswXS5kYXRlLCBmb3JtYXRPcHRpb25zLnllYXJUaXRsZSwgZm9ybWF0T3B0aW9ucy5sb2NhbGUpO1xuICBjb25zdCB0bzogc3RyaW5nID0gZm9ybWF0RGF0ZSh5ZWFyc01hdHJpeFtoZWlnaHQgLSAxXVt3aWR0aCAtIDFdLmRhdGUsIGZvcm1hdE9wdGlvbnMueWVhclRpdGxlLCBmb3JtYXRPcHRpb25zLmxvY2FsZSk7XG5cbiAgcmV0dXJuIGAke2Zyb219IC0gJHt0b31gO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export function canSwitchMode(mode, minMode) {
2
+ return minMode ? mode >= minMode : true;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvZW5naW5lL3ZpZXctbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQTBCLEVBQUUsT0FBOEI7SUFDdEYsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnNEYXRlcGlja2VyVmlld01vZGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuU3dpdGNoTW9kZShtb2RlOiBCc0RhdGVwaWNrZXJWaWV3TW9kZSwgbWluTW9kZT86IEJzRGF0ZXBpY2tlclZpZXdNb2RlKTogYm9vbGVhbiB7XG4gIHJldHVybiBtaW5Nb2RlID8gbW9kZSA+PSBtaW5Nb2RlIDogdHJ1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /** *************** */
2
+ export var BsNavigationDirection;
3
+ (function (BsNavigationDirection) {
4
+ BsNavigationDirection[BsNavigationDirection["UP"] = 0] = "UP";
5
+ BsNavigationDirection[BsNavigationDirection["DOWN"] = 1] = "DOWN";
6
+ })(BsNavigationDirection || (BsNavigationDirection = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkZBLHNCQUFzQjtBQUN0QixNQUFNLENBQU4sSUFBWSxxQkFHWDtBQUhELFdBQVkscUJBQXFCO0lBQy9CLDZEQUFFLENBQUE7SUFDRixpRUFBSSxDQUFBO0FBQ04sQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lVW5pdCB9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5cbmV4cG9ydCB0eXBlIEJzRGF0ZXBpY2tlclZpZXdNb2RlID0gJ2RheScgfCAnbW9udGgnIHwgJ3llYXInO1xuXG4vKiogKioqKioqKioqKioqKioqICovXG4vLyBuYXZpZ2F0aW9uIGJhciBzZXR0aW5nc1xuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uVmlld01vZGVsIHtcbiAgbW9udGhUaXRsZTogc3RyaW5nO1xuICB5ZWFyVGl0bGU6IHN0cmluZztcbiAgaGlkZUxlZnRBcnJvdzogYm9vbGVhbjtcbiAgaGlkZVJpZ2h0QXJyb3c6IGJvb2xlYW47XG4gIGRpc2FibGVMZWZ0QXJyb3c6IGJvb2xlYW47XG4gIGRpc2FibGVSaWdodEFycm93OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyQ2VsbFZpZXdNb2RlbCB7XG4gIGRhdGU6IERhdGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc0hvdmVyZWQ/OiBib29sZWFuO1xuICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgaXNUb2RheT86IGJvb2xlYW47XG59XG5cbi8qKiAqKioqKioqKioqKioqKiogKi9cbi8vIGRheXMgbWF0cml4OiBkYXkgY2VsbCB2aWV3IG1vZGVsXG5leHBvcnQgaW50ZXJmYWNlIERheVZpZXdNb2RlbCBleHRlbmRzIENhbGVuZGFyQ2VsbFZpZXdNb2RlbCB7XG4gIGlzT3RoZXJNb250aD86IGJvb2xlYW47XG4gIGlzSW5SYW5nZT86IGJvb2xlYW47XG4gIGlzU2VsZWN0aW9uU3RhcnQ/OiBib29sZWFuO1xuICBpc1NlbGVjdGlvbkVuZD86IGJvb2xlYW47XG4gIGlzVG9kYXk/OiBib29sZWFuO1xuXG4gIC8vIGRheSBpbmRleFxuICBtb250aEluZGV4PzogbnVtYmVyO1xuICB3ZWVrSW5kZXg/OiBudW1iZXI7XG4gIGRheUluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlZWtWaWV3TW9kZWwge1xuICBkYXlzOiBEYXlWaWV3TW9kZWxbXTtcbiAgaXNIb3ZlcmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXlzQ2FsZW5kYXJWaWV3TW9kZWwgZXh0ZW5kcyBOYXZpZ2F0aW9uVmlld01vZGVsIHtcbiAgd2Vla3M6IFdlZWtWaWV3TW9kZWxbXTtcbiAgbW9udGg6IERhdGU7XG4gIHdlZWtkYXlzOiBzdHJpbmdbXTtcbn1cblxuLyoqICoqKioqKioqKioqKioqKiAqL1xuLy8gbW9udGhzIGNhbGVuZGFyXG5leHBvcnQgaW50ZXJmYWNlIE1vbnRoc0NhbGVuZGFyVmlld01vZGVsIGV4dGVuZHMgTmF2aWdhdGlvblZpZXdNb2RlbCB7XG4gIG1vbnRoczogQ2FsZW5kYXJDZWxsVmlld01vZGVsW11bXTtcbn1cblxuLy8geWVhcnMgY2FsZW5kYXJcbmV4cG9ydCBpbnRlcmZhY2UgWWVhcnNDYWxlbmRhclZpZXdNb2RlbCBleHRlbmRzIE5hdmlnYXRpb25WaWV3TW9kZWwge1xuICB5ZWFyczogQ2FsZW5kYXJDZWxsVmlld01vZGVsW11bXTtcbn1cblxuLyoqICoqKioqKioqKioqKioqKiAqL1xuXG4vLyBkYXlzIERhdGUncyBhcnJheVxuZXhwb3J0IGludGVyZmFjZSBEYXlzQ2FsZW5kYXJNb2RlbCB7XG4gIGRheXNNYXRyaXg6IERhdGVbXVtdO1xuICBtb250aDogRGF0ZTtcbn1cblxuLyoqICoqKioqKioqKioqKioqKiAqL1xuLy8gc29tZSBmdW5jIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgTW9udGhWaWV3T3B0aW9ucyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xufVxuXG4vKiogKioqKioqKioqKioqKioqICovXG4vLyByZW5kZXJpbmcgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBEYXRlcGlja2VyRm9ybWF0T3B0aW9ucyB7XG4gIGxvY2FsZT86IHN0cmluZztcblxuICBtb250aFRpdGxlPzogc3RyaW5nO1xuICB5ZWFyVGl0bGU/OiBzdHJpbmc7XG5cbiAgZGF5TGFiZWw/OiBzdHJpbmc7XG4gIG1vbnRoTGFiZWw/OiBzdHJpbmc7XG4gIHllYXJMYWJlbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlcGlja2VyUmVuZGVyT3B0aW9ucyB7XG4gIGRpc3BsYXlNb250aHM6IG51bWJlcjtcbn1cbi8qKiAqKioqKioqKioqKioqKiogKi9cbmV4cG9ydCBlbnVtIEJzTmF2aWdhdGlvbkRpcmVjdGlvbiB7XG4gIFVQLFxuICBET1dOXG59XG5cbi8vIHVzZWQgZm9yIG5hdmlnYXRpb24gZXZlbnRzLCB0byBjaGFuZ2UgdmlldyBkYXRlIGluIHN0YXRlXG5leHBvcnQgaW50ZXJmYWNlIEJzTmF2aWdhdGlvbkV2ZW50IHtcbiAgZGlyZWN0aW9uPzogQnNOYXZpZ2F0aW9uRGlyZWN0aW9uO1xuICBzdGVwPzogVGltZVVuaXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnNWaWV3TmF2aWdhdGlvbkV2ZW50IHtcbiAgdW5pdD86IFRpbWVVbml0O1xuICB2aWV3TW9kZTogQnNEYXRlcGlja2VyVmlld01vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbEhvdmVyRXZlbnQge1xuICBjZWxsOiBDYWxlbmRhckNlbGxWaWV3TW9kZWw7XG4gIGlzSG92ZXJlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export const defaultMonthOptions = {
2
+ width: 7,
3
+ height: 6
4
+ };
5
+ export const dayInMilliseconds = 24 * 60 * 60 * 1000;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2RlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvcmVkdWNlci9fZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXFCO0lBQ25ELEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9udGhWaWV3T3B0aW9uc1xufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdE1vbnRoT3B0aW9uczogTW9udGhWaWV3T3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcsXG4gIGhlaWdodDogNlxufTtcblxuZXhwb3J0IGNvbnN0IGRheUluTWlsbGlzZWNvbmRzOiBudW1iZXIgPSAyNCAqIDYwICogNjAgKiAxMDAwO1xuIl19
@@ -0,0 +1,64 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BsDatepickerActions {
4
+ static { this.CALCULATE = '[datepicker] calculate dates matrix'; }
5
+ static { this.CHANGE_VIEWMODE = '[datepicker] switch view mode'; }
6
+ static { this.FLAG = '[datepicker] set flags'; }
7
+ static { this.FORMAT = '[datepicker] format datepicker values'; }
8
+ static { this.HOVER = '[datepicker] hover date'; }
9
+ static { this.NAVIGATE_OFFSET = '[datepicker] shift view date'; }
10
+ static { this.NAVIGATE_TO = '[datepicker] change view date'; }
11
+ static { this.SELECT = '[datepicker] select date'; }
12
+ static { this.SELECT_RANGE = '[daterangepicker] select dates range'; }
13
+ static { this.SET_IS_DISABLED = '[datepicker] set is disabled'; }
14
+ static { this.SET_MAX_DATE = '[datepicker] set max date'; }
15
+ static { this.SET_MIN_DATE = '[datepicker] set min date'; }
16
+ static { this.SET_OPTIONS = '[datepicker] update render options'; }
17
+ calculate() {
18
+ return { type: BsDatepickerActions.CALCULATE };
19
+ }
20
+ format() {
21
+ return { type: BsDatepickerActions.FORMAT };
22
+ }
23
+ flag() {
24
+ return { type: BsDatepickerActions.FLAG };
25
+ }
26
+ select(date) {
27
+ return { type: BsDatepickerActions.SELECT, payload: date };
28
+ }
29
+ changeViewMode(event) {
30
+ return { type: BsDatepickerActions.CHANGE_VIEWMODE, payload: event };
31
+ }
32
+ navigateTo(event) {
33
+ return { type: BsDatepickerActions.NAVIGATE_TO, payload: event };
34
+ }
35
+ navigateStep(step) {
36
+ return { type: BsDatepickerActions.NAVIGATE_OFFSET, payload: step };
37
+ }
38
+ setOptions(options) {
39
+ return { type: BsDatepickerActions.SET_OPTIONS, payload: options };
40
+ }
41
+ // date range picker
42
+ selectRange(value) {
43
+ return { type: BsDatepickerActions.SELECT_RANGE, payload: value };
44
+ }
45
+ hoverDay(event) {
46
+ return { type: BsDatepickerActions.HOVER, payload: event.isHovered ? event.cell.date : null };
47
+ }
48
+ minDate(date) {
49
+ return { type: BsDatepickerActions.SET_MIN_DATE, payload: date };
50
+ }
51
+ maxDate(date) {
52
+ return { type: BsDatepickerActions.SET_MAX_DATE, payload: date };
53
+ }
54
+ isDisabled(value) {
55
+ return { type: BsDatepickerActions.SET_IS_DISABLED, payload: value };
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsDatepickerActions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsDatepickerActions, providedIn: 'platform' }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsDatepickerActions, decorators: [{
61
+ type: Injectable,
62
+ args: [{ providedIn: 'platform' }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvcmVkdWNlci9icy1kYXRlcGlja2VyLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNekMsTUFBTSxPQUFPLG1CQUFtQjthQUNkLGNBQVMsR0FBVyxxQ0FBcUMsQUFBaEQsQ0FBaUQ7YUFDMUQsb0JBQWUsR0FBVywrQkFBK0IsQUFBMUMsQ0FBMkM7YUFDMUQsU0FBSSxHQUFXLHdCQUF3QixBQUFuQyxDQUFvQzthQUN4QyxXQUFNLEdBQVcsdUNBQXVDLEFBQWxELENBQW1EO2FBQ3pELFVBQUssR0FBVyx5QkFBeUIsQUFBcEMsQ0FBcUM7YUFDMUMsb0JBQWUsR0FBVyw4QkFBOEIsQUFBekMsQ0FBMEM7YUFDekQsZ0JBQVcsR0FBVywrQkFBK0IsQUFBMUMsQ0FBMkM7YUFDdEQsV0FBTSxHQUFXLDBCQUEwQixBQUFyQyxDQUFzQzthQUM1QyxpQkFBWSxHQUFXLHNDQUFzQyxBQUFqRCxDQUFrRDthQUM5RCxvQkFBZSxHQUFXLDhCQUE4QixBQUF6QyxDQUEwQzthQUN6RCxpQkFBWSxHQUFXLDJCQUEyQixBQUF0QyxDQUF1QzthQUNuRCxpQkFBWSxHQUFXLDJCQUEyQixBQUF0QyxDQUF1QzthQUNuRCxnQkFBVyxHQUFXLG9DQUFvQyxBQUEvQyxDQUFnRDtJQUUzRSxTQUFTO1FBQ1AsT0FBTyxFQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sRUFBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUksRUFBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVztRQUNoQixPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUEyQjtRQUN4QyxPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUE0QjtRQUNyQyxPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFlO1FBQzFCLE9BQU8sRUFBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdDO1FBQ3pDLE9BQU8sRUFBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLFdBQVcsQ0FBQyxLQUF3QztRQUNsRCxPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFxQjtRQUM1QixPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBVztRQUNqQixPQUFPLEVBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFXO1FBQ2pCLE9BQU8sRUFBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWU7UUFDeEIsT0FBTyxFQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQ3JFLENBQUM7K0dBbEVVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRFAsVUFBVTs7NEZBQ3RCLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaW1lVW5pdH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7QWN0aW9ufSBmcm9tICduZ3gtYm9vdHN0cmFwL21pbmktbmdyeCc7XG5pbXBvcnQge0JzRGF0ZXBpY2tlclZpZXdNb2RlLCBCc1ZpZXdOYXZpZ2F0aW9uRXZlbnQsIENlbGxIb3ZlckV2ZW50LCBEYXRlcGlja2VyUmVuZGVyT3B0aW9uc30gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdwbGF0Zm9ybSd9KVxuZXhwb3J0IGNsYXNzIEJzRGF0ZXBpY2tlckFjdGlvbnMge1xuICBzdGF0aWMgcmVhZG9ubHkgQ0FMQ1VMQVRFOiBzdHJpbmcgPSAnW2RhdGVwaWNrZXJdIGNhbGN1bGF0ZSBkYXRlcyBtYXRyaXgnO1xuICBzdGF0aWMgcmVhZG9ubHkgQ0hBTkdFX1ZJRVdNT0RFOiBzdHJpbmcgPSAnW2RhdGVwaWNrZXJdIHN3aXRjaCB2aWV3IG1vZGUnO1xuICBzdGF0aWMgcmVhZG9ubHkgRkxBRzogc3RyaW5nID0gJ1tkYXRlcGlja2VyXSBzZXQgZmxhZ3MnO1xuICBzdGF0aWMgcmVhZG9ubHkgRk9STUFUOiBzdHJpbmcgPSAnW2RhdGVwaWNrZXJdIGZvcm1hdCBkYXRlcGlja2VyIHZhbHVlcyc7XG4gIHN0YXRpYyByZWFkb25seSBIT1ZFUjogc3RyaW5nID0gJ1tkYXRlcGlja2VyXSBob3ZlciBkYXRlJztcbiAgc3RhdGljIHJlYWRvbmx5IE5BVklHQVRFX09GRlNFVDogc3RyaW5nID0gJ1tkYXRlcGlja2VyXSBzaGlmdCB2aWV3IGRhdGUnO1xuICBzdGF0aWMgcmVhZG9ubHkgTkFWSUdBVEVfVE86IHN0cmluZyA9ICdbZGF0ZXBpY2tlcl0gY2hhbmdlIHZpZXcgZGF0ZSc7XG4gIHN0YXRpYyByZWFkb25seSBTRUxFQ1Q6IHN0cmluZyA9ICdbZGF0ZXBpY2tlcl0gc2VsZWN0IGRhdGUnO1xuICBzdGF0aWMgcmVhZG9ubHkgU0VMRUNUX1JBTkdFOiBzdHJpbmcgPSAnW2RhdGVyYW5nZXBpY2tlcl0gc2VsZWN0IGRhdGVzIHJhbmdlJztcbiAgc3RhdGljIHJlYWRvbmx5IFNFVF9JU19ESVNBQkxFRDogc3RyaW5nID0gJ1tkYXRlcGlja2VyXSBzZXQgaXMgZGlzYWJsZWQnO1xuICBzdGF0aWMgcmVhZG9ubHkgU0VUX01BWF9EQVRFOiBzdHJpbmcgPSAnW2RhdGVwaWNrZXJdIHNldCBtYXggZGF0ZSc7XG4gIHN0YXRpYyByZWFkb25seSBTRVRfTUlOX0RBVEU6IHN0cmluZyA9ICdbZGF0ZXBpY2tlcl0gc2V0IG1pbiBkYXRlJztcbiAgc3RhdGljIHJlYWRvbmx5IFNFVF9PUFRJT05TOiBzdHJpbmcgPSAnW2RhdGVwaWNrZXJdIHVwZGF0ZSByZW5kZXIgb3B0aW9ucyc7XG5cbiAgY2FsY3VsYXRlKCk6IEFjdGlvbiB7XG4gICAgcmV0dXJuIHt0eXBlOiBCc0RhdGVwaWNrZXJBY3Rpb25zLkNBTENVTEFURX07XG4gIH1cblxuICBmb3JtYXQoKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuRk9STUFUfTtcbiAgfVxuXG4gIGZsYWcoKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuRkxBR307XG4gIH1cblxuICBzZWxlY3QoZGF0ZT86IERhdGUpOiBBY3Rpb24ge1xuICAgIHJldHVybiB7dHlwZTogQnNEYXRlcGlja2VyQWN0aW9ucy5TRUxFQ1QsIHBheWxvYWQ6IGRhdGV9O1xuICB9XG5cbiAgY2hhbmdlVmlld01vZGUoZXZlbnQ6IEJzRGF0ZXBpY2tlclZpZXdNb2RlKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuQ0hBTkdFX1ZJRVdNT0RFLCBwYXlsb2FkOiBldmVudH07XG4gIH1cblxuICBuYXZpZ2F0ZVRvKGV2ZW50OiBCc1ZpZXdOYXZpZ2F0aW9uRXZlbnQpOiBBY3Rpb24ge1xuICAgIHJldHVybiB7dHlwZTogQnNEYXRlcGlja2VyQWN0aW9ucy5OQVZJR0FURV9UTywgcGF5bG9hZDogZXZlbnR9O1xuICB9XG5cbiAgbmF2aWdhdGVTdGVwKHN0ZXA/OiBUaW1lVW5pdCk6IEFjdGlvbiB7XG4gICAgcmV0dXJuIHt0eXBlOiBCc0RhdGVwaWNrZXJBY3Rpb25zLk5BVklHQVRFX09GRlNFVCwgcGF5bG9hZDogc3RlcH07XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnM6IERhdGVwaWNrZXJSZW5kZXJPcHRpb25zKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuU0VUX09QVElPTlMsIHBheWxvYWQ6IG9wdGlvbnN9O1xuICB9XG5cbiAgLy8gZGF0ZSByYW5nZSBwaWNrZXJcbiAgc2VsZWN0UmFuZ2UodmFsdWU/OiAoRGF0ZSB8IHVuZGVmaW5lZClbXSB8IHVuZGVmaW5lZCk6IEFjdGlvbiB7XG4gICAgcmV0dXJuIHt0eXBlOiBCc0RhdGVwaWNrZXJBY3Rpb25zLlNFTEVDVF9SQU5HRSwgcGF5bG9hZDogdmFsdWV9O1xuICB9XG5cbiAgaG92ZXJEYXkoZXZlbnQ6IENlbGxIb3ZlckV2ZW50KTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuSE9WRVIsIHBheWxvYWQ6IGV2ZW50LmlzSG92ZXJlZCA/IGV2ZW50LmNlbGwuZGF0ZSA6IG51bGx9O1xuICB9XG5cbiAgbWluRGF0ZShkYXRlPzogRGF0ZSk6IEFjdGlvbiB7XG4gICAgcmV0dXJuIHt0eXBlOiBCc0RhdGVwaWNrZXJBY3Rpb25zLlNFVF9NSU5fREFURSwgcGF5bG9hZDogZGF0ZX07XG4gIH1cblxuICBtYXhEYXRlKGRhdGU/OiBEYXRlKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuU0VUX01BWF9EQVRFLCBwYXlsb2FkOiBkYXRlfTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQodmFsdWU/OiBib29sZWFuKTogQWN0aW9uIHtcbiAgICByZXR1cm4ge3R5cGU6IEJzRGF0ZXBpY2tlckFjdGlvbnMuU0VUX0lTX0RJU0FCTEVELCBwYXlsb2FkOiB2YWx1ZX07XG4gIH1cbn1cbiJdfQ==