@datarailsshared/datarailsshared 1.6.161 → 1.6.163

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.
@@ -12,10 +12,10 @@ import { NG_VALUE_ACCESSOR, FormBuilder, FormsModule, ReactiveFormsModule, FormG
12
12
  import { Observable, BehaviorSubject, distinctUntilChanged, Subject, startWith, takeUntil, noop as noop$3, combineLatest, from, merge as merge$1, fromEvent, map as map$2, filter as filter$1, switchMap as switchMap$1, observeOn, asyncScheduler, withLatestFrom, first as first$1, interval, throwError, finalize as finalize$1, tap as tap$1, defer, firstValueFrom, throttleTime } from 'rxjs';
13
13
  import * as _ from 'lodash';
14
14
  import { isNil, isObject, cloneDeep, find, indexOf, reduce, map as map$1, isNumber, merge, forEach, some, isEqual, orderBy, filter as filter$2, includes, pull, concat, isString, isBoolean, keys } from 'lodash';
15
+ import { transition, style, animate, trigger, state } from '@angular/animations';
15
16
  import { skip, debounceTime, filter, distinctUntilChanged as distinctUntilChanged$1, takeUntil as takeUntil$1, startWith as startWith$1, map, tap, shareReplay, switchMap, first, catchError, finalize, take } from 'rxjs/operators';
16
17
  import * as i6 from '@angular/material/datepicker';
17
18
  import { MatCalendar, DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatDatepickerModule } from '@angular/material/datepicker';
18
- import { transition, style, animate, trigger, state } from '@angular/animations';
19
19
  import * as i1$1 from '@angular/cdk/overlay';
20
20
  import { OverlayConfig } from '@angular/cdk/overlay';
21
21
  import * as i4 from '@angular/cdk/portal';
@@ -236,6 +236,103 @@ class DrSharedUtils {
236
236
  }; }
237
237
  }
238
238
 
239
+ const POPUP_POSITIONS = {
240
+ top: {
241
+ originX: 'center',
242
+ originY: 'top',
243
+ overlayX: 'center',
244
+ overlayY: 'bottom',
245
+ offsetY: -8,
246
+ },
247
+ 'top-left': {
248
+ originX: 'start',
249
+ originY: 'top',
250
+ overlayX: 'start',
251
+ overlayY: 'bottom',
252
+ offsetY: -8,
253
+ },
254
+ 'top-right': {
255
+ originX: 'end',
256
+ originY: 'top',
257
+ overlayX: 'end',
258
+ overlayY: 'bottom',
259
+ offsetY: -8,
260
+ },
261
+ bottom: {
262
+ originX: 'center',
263
+ originY: 'bottom',
264
+ overlayX: 'center',
265
+ overlayY: 'top',
266
+ offsetY: 7,
267
+ },
268
+ 'bottom-left': {
269
+ originX: 'start',
270
+ originY: 'bottom',
271
+ overlayX: 'start',
272
+ overlayY: 'top',
273
+ offsetY: 7,
274
+ },
275
+ 'bottom-right': {
276
+ originX: 'end',
277
+ originY: 'bottom',
278
+ overlayX: 'end',
279
+ overlayY: 'top',
280
+ offsetY: 7,
281
+ },
282
+ left: {
283
+ originX: 'start',
284
+ originY: 'center',
285
+ overlayX: 'end',
286
+ overlayY: 'center',
287
+ offsetX: -8,
288
+ },
289
+ 'left-top': {
290
+ originX: 'start',
291
+ originY: 'top',
292
+ overlayX: 'end',
293
+ overlayY: 'top',
294
+ offsetX: -8,
295
+ },
296
+ 'left-bottom': {
297
+ originX: 'start',
298
+ originY: 'bottom',
299
+ overlayX: 'end',
300
+ overlayY: 'bottom',
301
+ offsetX: -8,
302
+ },
303
+ right: {
304
+ originX: 'end',
305
+ originY: 'center',
306
+ overlayX: 'start',
307
+ overlayY: 'center',
308
+ offsetX: 8,
309
+ },
310
+ 'right-top': {
311
+ originX: 'end',
312
+ originY: 'top',
313
+ overlayX: 'start',
314
+ overlayY: 'top',
315
+ offsetX: 8,
316
+ },
317
+ 'right-bottom': {
318
+ originX: 'end',
319
+ originY: 'bottom',
320
+ overlayX: 'start',
321
+ overlayY: 'bottom',
322
+ offsetX: 8,
323
+ },
324
+ };
325
+ const POPUP_ANIMATION = [
326
+ transition(':enter', [style({ opacity: 0 }), animate(150, style({ opacity: 1 }))]),
327
+ transition(':leave', [animate(150, style({ opacity: 0 }))]),
328
+ ];
329
+ const PRESET_TAGS_LIST = [
330
+ { key: DateTags.TODAY, label: 'Today' },
331
+ { key: DateTags.YESTERDAY, label: 'Yesterday' },
332
+ { key: DateTags.THIS_MONTH, label: 'This month' },
333
+ { key: DateTags.PREV_MONTH, label: 'Prev month' },
334
+ ];
335
+
239
336
  class DrDatePickerService {
240
337
  constructor() {
241
338
  this.isTimeframeSelectionEnabled = false;
@@ -252,6 +349,7 @@ class DrDatePickerService {
252
349
  this.onSameDaySelectedInCalendar$ = new Subject();
253
350
  this.keepPresetTag = false;
254
351
  this.isValueUpdating = false;
352
+ this.availableDateTagPresets = PRESET_TAGS_LIST;
255
353
  this.availableTimeframes = [
256
354
  TimeframeOption.DAY,
257
355
  TimeframeOption.WEEK,
@@ -454,103 +552,6 @@ class DrDatePickerService {
454
552
  type: Injectable
455
553
  }], null, null); })();
456
554
 
457
- const POPUP_POSITIONS = {
458
- top: {
459
- originX: 'center',
460
- originY: 'top',
461
- overlayX: 'center',
462
- overlayY: 'bottom',
463
- offsetY: -8,
464
- },
465
- 'top-left': {
466
- originX: 'start',
467
- originY: 'top',
468
- overlayX: 'start',
469
- overlayY: 'bottom',
470
- offsetY: -8,
471
- },
472
- 'top-right': {
473
- originX: 'end',
474
- originY: 'top',
475
- overlayX: 'end',
476
- overlayY: 'bottom',
477
- offsetY: -8,
478
- },
479
- bottom: {
480
- originX: 'center',
481
- originY: 'bottom',
482
- overlayX: 'center',
483
- overlayY: 'top',
484
- offsetY: 7,
485
- },
486
- 'bottom-left': {
487
- originX: 'start',
488
- originY: 'bottom',
489
- overlayX: 'start',
490
- overlayY: 'top',
491
- offsetY: 7,
492
- },
493
- 'bottom-right': {
494
- originX: 'end',
495
- originY: 'bottom',
496
- overlayX: 'end',
497
- overlayY: 'top',
498
- offsetY: 7,
499
- },
500
- left: {
501
- originX: 'start',
502
- originY: 'center',
503
- overlayX: 'end',
504
- overlayY: 'center',
505
- offsetX: -8,
506
- },
507
- 'left-top': {
508
- originX: 'start',
509
- originY: 'top',
510
- overlayX: 'end',
511
- overlayY: 'top',
512
- offsetX: -8,
513
- },
514
- 'left-bottom': {
515
- originX: 'start',
516
- originY: 'bottom',
517
- overlayX: 'end',
518
- overlayY: 'bottom',
519
- offsetX: -8,
520
- },
521
- right: {
522
- originX: 'end',
523
- originY: 'center',
524
- overlayX: 'start',
525
- overlayY: 'center',
526
- offsetX: 8,
527
- },
528
- 'right-top': {
529
- originX: 'end',
530
- originY: 'top',
531
- overlayX: 'start',
532
- overlayY: 'top',
533
- offsetX: 8,
534
- },
535
- 'right-bottom': {
536
- originX: 'end',
537
- originY: 'bottom',
538
- overlayX: 'start',
539
- overlayY: 'bottom',
540
- offsetX: 8,
541
- },
542
- };
543
- const POPUP_ANIMATION = [
544
- transition(':enter', [style({ opacity: 0 }), animate(150, style({ opacity: 1 }))]),
545
- transition(':leave', [animate(150, style({ opacity: 0 }))]),
546
- ];
547
- const PRESET_TAGS_LIST = [
548
- { key: DateTags.TODAY, label: 'Today' },
549
- { key: DateTags.YESTERDAY, label: 'Yesterday' },
550
- { key: DateTags.THIS_MONTH, label: 'This month' },
551
- { key: DateTags.PREV_MONTH, label: 'Prev month' },
552
- ];
553
-
554
555
  function WeekSelectorComponent_div_4_Template(rf, ctx) { if (rf & 1) {
555
556
  const _r3 = i0.ɵɵgetCurrentView();
556
557
  i0.ɵɵelementStart(0, "div", 5);
@@ -1849,17 +1850,17 @@ class DrShowTimeframePipe {
1849
1850
  const _c0$I = ["class", "component"];
1850
1851
  const _c1$i = function (a0) { return { "dr-datepicker-preset-date__tags__tag--selected": a0 }; };
1851
1852
  function DrDatePickerCustomHeaderComponent_div_0_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
1852
- const _r6 = i0.ɵɵgetCurrentView();
1853
+ const _r7 = i0.ɵɵgetCurrentView();
1853
1854
  i0.ɵɵelementStart(0, "div", 14);
1854
- i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_div_0_div_1_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const tag_r4 = restoredCtx.$implicit; const ctx_r5 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r5.onSelectPresetTag(tag_r4)); });
1855
+ i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_div_0_div_1_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r7); const tag_r5 = restoredCtx.$implicit; const ctx_r6 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r6.onSelectPresetTag(tag_r5)); });
1855
1856
  i0.ɵɵtext(1);
1856
1857
  i0.ɵɵelementEnd();
1857
1858
  } if (rf & 2) {
1858
- const tag_r4 = ctx.$implicit;
1859
- const ctx_r3 = i0.ɵɵnextContext(3);
1860
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1$i, tag_r4.key === ctx_r3.selectedPresetTag))("drTooltip", ctx_r3.selectedPresetTag === tag_r4.key ? "Unselect preset" : "")("drTooltipPosition", "top");
1859
+ const tag_r5 = ctx.$implicit;
1860
+ const ctx_r4 = i0.ɵɵnextContext(3);
1861
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1$i, tag_r5.key === ctx_r4.selectedPresetTag))("drTooltip", ctx_r4.selectedPresetTag === tag_r5.key ? "Unselect preset" : "")("drTooltipPosition", "top");
1861
1862
  i0.ɵɵadvance(1);
1862
- i0.ɵɵtextInterpolate1(" ", tag_r4.label, " ");
1863
+ i0.ɵɵtextInterpolate1(" ", tag_r5.label, " ");
1863
1864
  } }
1864
1865
  function DrDatePickerCustomHeaderComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
1865
1866
  i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
@@ -1868,40 +1869,47 @@ function DrDatePickerCustomHeaderComponent_div_0_div_1_Template(rf, ctx) { if (r
1868
1869
  } if (rf & 2) {
1869
1870
  const ctx_r2 = i0.ɵɵnextContext(2);
1870
1871
  i0.ɵɵadvance(2);
1871
- i0.ɵɵproperty("ngForOf", ctx_r2.presetTagList);
1872
+ i0.ɵɵproperty("ngForOf", ctx_r2.datePickerService.availableDateTagPresets);
1873
+ } }
1874
+ function DrDatePickerCustomHeaderComponent_div_0_dr_select_2_Template(rf, ctx) { if (rf & 1) {
1875
+ const _r9 = i0.ɵɵgetCurrentView();
1876
+ i0.ɵɵelementStart(0, "dr-select", 15);
1877
+ i0.ɵɵlistener("ngModelChange", function DrDatePickerCustomHeaderComponent_div_0_dr_select_2_Template_dr_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.setTimeframe($event)); });
1878
+ i0.ɵɵpipe(1, "drShowTimeframePipe");
1879
+ i0.ɵɵelementEnd();
1880
+ } if (rf & 2) {
1881
+ const ctx_r3 = i0.ɵɵnextContext(2);
1882
+ i0.ɵɵproperty("ngModel", ctx_r3.selectedTimeframe)("items", i0.ɵɵpipeBind2(1, 2, ctx_r3.timeframeOptions, ctx_r3.datePickerService.availableTimeframes));
1872
1883
  } }
1873
1884
  function DrDatePickerCustomHeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
1874
- const _r8 = i0.ɵɵgetCurrentView();
1875
1885
  i0.ɵɵelementStart(0, "div", 8);
1876
1886
  i0.ɵɵtemplate(1, DrDatePickerCustomHeaderComponent_div_0_div_1_Template, 3, 1, "div", 9);
1877
- i0.ɵɵelementStart(2, "dr-select", 10);
1878
- i0.ɵɵlistener("ngModelChange", function DrDatePickerCustomHeaderComponent_div_0_Template_dr_select_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.setTimeframe($event)); });
1879
- i0.ɵɵpipe(3, "drShowTimeframePipe");
1880
- i0.ɵɵelementEnd()();
1887
+ i0.ɵɵtemplate(2, DrDatePickerCustomHeaderComponent_div_0_dr_select_2_Template, 2, 5, "dr-select", 10);
1888
+ i0.ɵɵelementEnd();
1881
1889
  } if (rf & 2) {
1882
1890
  const ctx_r0 = i0.ɵɵnextContext();
1883
1891
  i0.ɵɵadvance(1);
1884
1892
  i0.ɵɵproperty("ngIf", ctx_r0.datePickerService.isUsingDateTagPresets);
1885
1893
  i0.ɵɵadvance(1);
1886
- i0.ɵɵproperty("ngModel", ctx_r0.selectedTimeframe)("items", i0.ɵɵpipeBind2(3, 3, ctx_r0.timeframeOptions, ctx_r0.datePickerService.availableTimeframes));
1894
+ i0.ɵɵproperty("ngIf", ctx_r0.datePickerService.isUsingTimeFrameSelect);
1887
1895
  } }
1888
1896
  function DrDatePickerCustomHeaderComponent_div_11_div_2_Template(rf, ctx) { if (rf & 1) {
1889
- const _r13 = i0.ɵɵgetCurrentView();
1890
- i0.ɵɵelementStart(0, "div", 18);
1891
- i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_div_11_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r13); const quarter_r11 = restoredCtx.$implicit; const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.onSelectQuarter(quarter_r11)); });
1897
+ const _r14 = i0.ɵɵgetCurrentView();
1898
+ i0.ɵɵelementStart(0, "div", 19);
1899
+ i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_div_11_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r14); const quarter_r12 = restoredCtx.$implicit; const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.onSelectQuarter(quarter_r12)); });
1892
1900
  i0.ɵɵtext(1);
1893
1901
  i0.ɵɵelementEnd();
1894
1902
  } if (rf & 2) {
1895
- const quarter_r11 = ctx.$implicit;
1896
- const ctx_r10 = i0.ɵɵnextContext(2);
1897
- i0.ɵɵclassMap(quarter_r11 === ctx_r10.selectedQuarter ? "selected" : "");
1898
- i0.ɵɵclassProp("quarter-selector--disabled", ctx_r10.isQuarterDisabled(quarter_r11));
1903
+ const quarter_r12 = ctx.$implicit;
1904
+ const ctx_r11 = i0.ɵɵnextContext(2);
1905
+ i0.ɵɵclassMap(quarter_r12 === ctx_r11.selectedQuarter ? "selected" : "");
1906
+ i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12));
1899
1907
  i0.ɵɵadvance(1);
1900
- i0.ɵɵtextInterpolate1(" Q", quarter_r11, " ");
1908
+ i0.ɵɵtextInterpolate1(" Q", quarter_r12, " ");
1901
1909
  } }
1902
1910
  function DrDatePickerCustomHeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
1903
- i0.ɵɵelementStart(0, "div", 15, 16);
1904
- i0.ɵɵtemplate(2, DrDatePickerCustomHeaderComponent_div_11_div_2_Template, 2, 5, "div", 17);
1911
+ i0.ɵɵelementStart(0, "div", 16, 17);
1912
+ i0.ɵɵtemplate(2, DrDatePickerCustomHeaderComponent_div_11_div_2_Template, 2, 5, "div", 18);
1905
1913
  i0.ɵɵelementEnd();
1906
1914
  } if (rf & 2) {
1907
1915
  const ctx_r1 = i0.ɵɵnextContext();
@@ -1974,7 +1982,6 @@ class DrDatePickerCustomHeaderComponent {
1974
1982
  this.timeframeSelection = false;
1975
1983
  this.periodMonthLabel = '';
1976
1984
  this.periodYearLabel = '';
1977
- this.presetTagList = PRESET_TAGS_LIST;
1978
1985
  this.calendarView = CalendarView;
1979
1986
  this.cfr = inject(ComponentFactoryResolver);
1980
1987
  this.injector = inject(Injector);
@@ -2122,8 +2129,8 @@ class DrDatePickerCustomHeaderComponent {
2122
2129
  calendar.insertBefore(selector.location.nativeElement, calendar.firstChild);
2123
2130
  }
2124
2131
  /** @nocollapse */ static { this.ɵfac = function DrDatePickerCustomHeaderComponent_Factory(t) { return new (t || DrDatePickerCustomHeaderComponent)(i0.ɵɵdirectiveInject(i6.MatCalendar), i0.ɵɵdirectiveInject(i1$4.DateAdapter), i0.ɵɵdirectiveInject(MAT_DATE_FORMATS), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(DrDatePickerService)); }; }
2125
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerCustomHeaderComponent, selectors: [["dr-date-picker_custom-header", 8, "component"]], attrs: _c0$I, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", 3, "click"]], template: function DrDatePickerCustomHeaderComponent_Template(rf, ctx) { if (rf & 1) {
2126
- i0.ɵɵtemplate(0, DrDatePickerCustomHeaderComponent_div_0_Template, 4, 6, "div", 0);
2132
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerCustomHeaderComponent, selectors: [["dr-date-picker_custom-header", 8, "component"]], attrs: _c0$I, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", 3, "click"]], template: function DrDatePickerCustomHeaderComponent_Template(rf, ctx) { if (rf & 1) {
2133
+ i0.ɵɵtemplate(0, DrDatePickerCustomHeaderComponent_div_0_Template, 3, 2, "div", 0);
2127
2134
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
2128
2135
  i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_Template_div_click_2_listener() { return ctx.pagingClicked(false); });
2129
2136
  i0.ɵɵelement(3, "i", 3);
@@ -2153,7 +2160,7 @@ class DrDatePickerCustomHeaderComponent {
2153
2160
  }
2154
2161
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDatePickerCustomHeaderComponent, [{
2155
2162
  type: Component,
2156
- args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div\n *ngFor=\"let tag of presetTagList\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}\n"] }]
2163
+ args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}\n"] }]
2157
2164
  }], function () { return [{ type: i6.MatCalendar }, { type: i1$4.DateAdapter }, { type: CustomDateFormat, decorators: [{
2158
2165
  type: Inject,
2159
2166
  args: [MAT_DATE_FORMATS]
@@ -4920,17 +4927,17 @@ class DrLinkComponent {
4920
4927
  const _c0$A = ["class", "component"];
4921
4928
  const _c1$f = function (a0) { return { "dr-datepicker-preset-date__tags__tag--selected": a0 }; };
4922
4929
  function DrFiscalMonthCalendarHeaderComponent_div_0_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
4923
- const _r6 = i0.ɵɵgetCurrentView();
4930
+ const _r7 = i0.ɵɵgetCurrentView();
4924
4931
  i0.ɵɵelementStart(0, "div", 14);
4925
- i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_div_0_div_1_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const tag_r4 = restoredCtx.$implicit; const ctx_r5 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r5.onSelectPresetTag(tag_r4)); });
4932
+ i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_div_0_div_1_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r7); const tag_r5 = restoredCtx.$implicit; const ctx_r6 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r6.onSelectPresetTag(tag_r5)); });
4926
4933
  i0.ɵɵtext(1);
4927
4934
  i0.ɵɵelementEnd();
4928
4935
  } if (rf & 2) {
4929
- const tag_r4 = ctx.$implicit;
4930
- const ctx_r3 = i0.ɵɵnextContext(3);
4931
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1$f, tag_r4.key === ctx_r3.selectedPresetTag))("drTooltip", ctx_r3.selectedPresetTag === tag_r4.key ? "Unselect preset" : "")("drTooltipPosition", "top");
4936
+ const tag_r5 = ctx.$implicit;
4937
+ const ctx_r4 = i0.ɵɵnextContext(3);
4938
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1$f, tag_r5.key === ctx_r4.selectedPresetTag))("drTooltip", ctx_r4.selectedPresetTag === tag_r5.key ? "Unselect preset" : "")("drTooltipPosition", "top");
4932
4939
  i0.ɵɵadvance(1);
4933
- i0.ɵɵtextInterpolate1(" ", tag_r4.label, " ");
4940
+ i0.ɵɵtextInterpolate1(" ", tag_r5.label, " ");
4934
4941
  } }
4935
4942
  function DrFiscalMonthCalendarHeaderComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
4936
4943
  i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
@@ -4939,40 +4946,47 @@ function DrFiscalMonthCalendarHeaderComponent_div_0_div_1_Template(rf, ctx) { if
4939
4946
  } if (rf & 2) {
4940
4947
  const ctx_r2 = i0.ɵɵnextContext(2);
4941
4948
  i0.ɵɵadvance(2);
4942
- i0.ɵɵproperty("ngForOf", ctx_r2.presetTagList);
4949
+ i0.ɵɵproperty("ngForOf", ctx_r2.datePickerService.availableDateTagPresets);
4950
+ } }
4951
+ function DrFiscalMonthCalendarHeaderComponent_div_0_dr_select_2_Template(rf, ctx) { if (rf & 1) {
4952
+ const _r9 = i0.ɵɵgetCurrentView();
4953
+ i0.ɵɵelementStart(0, "dr-select", 15);
4954
+ i0.ɵɵlistener("ngModelChange", function DrFiscalMonthCalendarHeaderComponent_div_0_dr_select_2_Template_dr_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.setTimeframe($event)); });
4955
+ i0.ɵɵpipe(1, "drShowTimeframePipe");
4956
+ i0.ɵɵelementEnd();
4957
+ } if (rf & 2) {
4958
+ const ctx_r3 = i0.ɵɵnextContext(2);
4959
+ i0.ɵɵproperty("ngModel", ctx_r3.selectedTimeframe)("items", i0.ɵɵpipeBind2(1, 2, ctx_r3.timeframeOptions, ctx_r3.datePickerService.availableTimeframes));
4943
4960
  } }
4944
4961
  function DrFiscalMonthCalendarHeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
4945
- const _r8 = i0.ɵɵgetCurrentView();
4946
4962
  i0.ɵɵelementStart(0, "div", 8);
4947
4963
  i0.ɵɵtemplate(1, DrFiscalMonthCalendarHeaderComponent_div_0_div_1_Template, 3, 1, "div", 9);
4948
- i0.ɵɵelementStart(2, "dr-select", 10);
4949
- i0.ɵɵlistener("ngModelChange", function DrFiscalMonthCalendarHeaderComponent_div_0_Template_dr_select_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.setTimeframe($event)); });
4950
- i0.ɵɵpipe(3, "drShowTimeframePipe");
4951
- i0.ɵɵelementEnd()();
4964
+ i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_0_dr_select_2_Template, 2, 5, "dr-select", 10);
4965
+ i0.ɵɵelementEnd();
4952
4966
  } if (rf & 2) {
4953
4967
  const ctx_r0 = i0.ɵɵnextContext();
4954
4968
  i0.ɵɵadvance(1);
4955
4969
  i0.ɵɵproperty("ngIf", ctx_r0.datePickerService.isUsingDateTagPresets);
4956
4970
  i0.ɵɵadvance(1);
4957
- i0.ɵɵproperty("ngModel", ctx_r0.selectedTimeframe)("items", i0.ɵɵpipeBind2(3, 3, ctx_r0.timeframeOptions, ctx_r0.datePickerService.availableTimeframes));
4971
+ i0.ɵɵproperty("ngIf", ctx_r0.datePickerService.isUsingTimeFrameSelect);
4958
4972
  } }
4959
4973
  function DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template(rf, ctx) { if (rf & 1) {
4960
- const _r13 = i0.ɵɵgetCurrentView();
4961
- i0.ɵɵelementStart(0, "div", 18);
4962
- i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r13); const quarter_r11 = restoredCtx.$implicit; const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.onSelectQuarter(quarter_r11)); });
4974
+ const _r14 = i0.ɵɵgetCurrentView();
4975
+ i0.ɵɵelementStart(0, "div", 19);
4976
+ i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r14); const quarter_r12 = restoredCtx.$implicit; const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.onSelectQuarter(quarter_r12)); });
4963
4977
  i0.ɵɵtext(1);
4964
4978
  i0.ɵɵelementEnd();
4965
4979
  } if (rf & 2) {
4966
- const quarter_r11 = ctx.$implicit;
4967
- const ctx_r10 = i0.ɵɵnextContext(2);
4968
- i0.ɵɵclassMap(quarter_r11 === ctx_r10.selectedQuarter ? "selected" : "");
4969
- i0.ɵɵclassProp("quarter-selector--disabled", ctx_r10.isQuarterDisabled(quarter_r11));
4980
+ const quarter_r12 = ctx.$implicit;
4981
+ const ctx_r11 = i0.ɵɵnextContext(2);
4982
+ i0.ɵɵclassMap(quarter_r12 === ctx_r11.selectedQuarter ? "selected" : "");
4983
+ i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12));
4970
4984
  i0.ɵɵadvance(1);
4971
- i0.ɵɵtextInterpolate1(" Q", quarter_r11, " ");
4985
+ i0.ɵɵtextInterpolate1(" Q", quarter_r12, " ");
4972
4986
  } }
4973
4987
  function DrFiscalMonthCalendarHeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
4974
- i0.ɵɵelementStart(0, "div", 15, 16);
4975
- i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2, 5, "div", 17);
4988
+ i0.ɵɵelementStart(0, "div", 16, 17);
4989
+ i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2, 5, "div", 18);
4976
4990
  i0.ɵɵelementEnd();
4977
4991
  } if (rf & 2) {
4978
4992
  const ctx_r1 = i0.ɵɵnextContext();
@@ -5010,8 +5024,8 @@ class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHeaderCompo
5010
5024
  });
5011
5025
  }
5012
5026
  /** @nocollapse */ static { this.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory; return function DrFiscalMonthCalendarHeaderComponent_Factory(t) { return (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory || (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(DrFiscalMonthCalendarHeaderComponent)))(t || DrFiscalMonthCalendarHeaderComponent); }; }(); }
5013
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$A, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", 3, "click"]], template: function DrFiscalMonthCalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
5014
- i0.ɵɵtemplate(0, DrFiscalMonthCalendarHeaderComponent_div_0_Template, 4, 6, "div", 0);
5027
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$A, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", 3, "click"]], template: function DrFiscalMonthCalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
5028
+ i0.ɵɵtemplate(0, DrFiscalMonthCalendarHeaderComponent_div_0_Template, 3, 2, "div", 0);
5015
5029
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
5016
5030
  i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_Template_div_click_2_listener() { return ctx.pagingClicked(false); });
5017
5031
  i0.ɵɵelement(3, "i", 3);
@@ -5041,7 +5055,7 @@ class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHeaderCompo
5041
5055
  }
5042
5056
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrFiscalMonthCalendarHeaderComponent, [{
5043
5057
  type: Component,
5044
- args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div\n *ngFor=\"let tag of presetTagList\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}\n"] }]
5058
+ args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}\n"] }]
5045
5059
  }], null, null); })();
5046
5060
 
5047
5061
  function DrFiscalMonthCalendarPickerComponent_i_0_Template(rf, ctx) { if (rf & 1) {
@@ -5258,9 +5272,17 @@ class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
5258
5272
  this.datePickerService.availableTimeframes = value;
5259
5273
  }
5260
5274
  }
5275
+ set availableDateTagPresets(value) {
5276
+ if (value && value.length) {
5277
+ this.datePickerService.availableDateTagPresets = value;
5278
+ }
5279
+ }
5261
5280
  set isUsingDateTagPresets(flag) {
5262
5281
  this.datePickerService.isUsingDateTagPresets = flag;
5263
5282
  }
5283
+ set isUsingTimeFrameSelect(flag) {
5284
+ this.datePickerService.isUsingTimeFrameSelect = flag;
5285
+ }
5264
5286
  set presetTag(tag) {
5265
5287
  this.datePickerService.presetTag$.next(tag);
5266
5288
  }
@@ -5391,7 +5413,7 @@ class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
5391
5413
  }
5392
5414
  }
5393
5415
  /** @nocollapse */ static { this.ɵfac = function DrDatePickerWithTimeframeComponent_Factory(t) { return new (t || DrDatePickerWithTimeframeComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$4.DateAdapter), i0.ɵɵdirectiveInject(DrDatePickerService)); }; }
5394
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerWithTimeframeComponent, selectors: [["dr-date-picker-with-timeframe"]], inputs: { dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", presetTag: "presetTag", datepickerTooltip: "datepickerTooltip", datepickerTooltipPosition: "datepickerTooltipPosition", datepickerTooltipTimeout: "datepickerTooltipTimeout", isOpen: "isOpen" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, features: [i0.ɵɵProvidersFeature([
5416
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerWithTimeframeComponent, selectors: [["dr-date-picker-with-timeframe"]], inputs: { dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", availableDateTagPresets: "availableDateTagPresets", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", isUsingTimeFrameSelect: "isUsingTimeFrameSelect", presetTag: "presetTag", datepickerTooltip: "datepickerTooltip", datepickerTooltipPosition: "datepickerTooltipPosition", datepickerTooltipTimeout: "datepickerTooltipTimeout", isOpen: "isOpen" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, features: [i0.ɵɵProvidersFeature([
5395
5417
  { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },
5396
5418
  { provide: DateAdapter, useClass: CustomDateAdapter },
5397
5419
  { provide: DrDatePickerService },
@@ -5444,10 +5466,14 @@ class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
5444
5466
  type: Input
5445
5467
  }], availableTimeframes: [{
5446
5468
  type: Input
5469
+ }], availableDateTagPresets: [{
5470
+ type: Input
5447
5471
  }], paginationDebounce: [{
5448
5472
  type: Input
5449
5473
  }], isUsingDateTagPresets: [{
5450
5474
  type: Input
5475
+ }], isUsingTimeFrameSelect: [{
5476
+ type: Input
5451
5477
  }], presetTag: [{
5452
5478
  type: Input
5453
5479
  }], datepickerTooltip: [{