mis-crystal-design-system 18.1.6-signal → 18.1.7-signal-1

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 (26) hide show
  1. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +4 -0
  2. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +7 -5
  3. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -34
  4. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +60 -18
  5. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +255 -175
  6. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +4 -4
  7. package/esm2022/input/mis-input.component.mjs +1 -9
  8. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +4 -4
  9. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +23 -19
  10. package/esm2022/table/table.component.mjs +15 -3
  11. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +60 -50
  12. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  13. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +254 -174
  14. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  15. package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
  16. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  17. package/fesm2022/mis-crystal-design-system-input.mjs +0 -8
  18. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  19. package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
  20. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  21. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +22 -18
  22. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  23. package/fesm2022/mis-crystal-design-system-table.mjs +14 -3
  24. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  25. package/package.json +13 -13
  26. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, signal, computed, Component, Inject, HostListener, input, output, Injector, Directive, Self, Optional, NgModule } from '@angular/core';
2
+ import { InjectionToken, signal, computed, effect, Component, Inject, HostListener, input, output, Injector, Directive, Self, Optional, NgModule } from '@angular/core';
3
3
  import dayjs from 'dayjs';
4
4
  import timezone from 'dayjs/plugin/timezone';
5
5
  import utc from 'dayjs/plugin/utc';
@@ -102,7 +102,7 @@ function TzDrpContainerComponent_div_3_Template(rf, ctx) { if (rf & 1) {
102
102
  let tmp_1_0;
103
103
  const ctx_r3 = i0.ɵɵnextContext();
104
104
  i0.ɵɵadvance();
105
- i0.ɵɵproperty("ngForOf", (tmp_1_0 = ctx_r3.data == null ? null : ctx_r3.data.dpConfig == null ? null : ctx_r3.data.dpConfig.ranges) !== null && tmp_1_0 !== undefined ? tmp_1_0 : i0.ɵɵpureFunction0(2, _c1));
105
+ i0.ɵɵproperty("ngForOf", (tmp_1_0 = (tmp_1_0 = ctx_r3.data()) == null ? null : tmp_1_0.dpConfig == null ? null : tmp_1_0.dpConfig.ranges) !== null && tmp_1_0 !== undefined ? tmp_1_0 : i0.ɵɵpureFunction0(2, _c1));
106
106
  i0.ɵɵadvance(2);
107
107
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx_r3.selectedItemLabel() === "Custom Range"));
108
108
  } }
@@ -252,9 +252,11 @@ dayjs.extend(customParseFormat);
252
252
  dayjs.extend(isSameOrAfter);
253
253
  dayjs.extend(isSameOrBefore);
254
254
  class TzDrpContainerComponent {
255
- constructor(data, toast) {
255
+ constructor(injectedData, toast) {
256
+ this.injectedData = injectedData;
256
257
  this.toast = toast;
257
258
  this.CUSTOM_RANGE_LABEL = "Custom Range";
259
+ this.data = signal(this.injectedData);
258
260
  this.dayjsInstance = (...args) => {
259
261
  return dayjs(...args);
260
262
  };
@@ -289,17 +291,23 @@ class TzDrpContainerComponent {
289
291
  this.currentMonthNumber = computed(() => this.currentMonthNumberSignal());
290
292
  this.currentMonth = computed(() => this.currentMonthSignal());
291
293
  this.currentYearNumber = computed(() => this.currentYearNumberSignal());
292
- this.currentMonthDates = computed(() => this.currentMonthDatesSignal());
293
294
  this.nextMonthNumber = computed(() => this.nextMonthNumberSignal());
294
295
  this.nextMonth = computed(() => this.nextMonthSignal());
295
296
  this.nextYearNumber = computed(() => this.nextYearNumberSignal());
296
- this.nextMonthDates = computed(() => this.nextMonthDatesSignal());
297
297
  this.isPreviousMonthDisabled = computed(() => this.isPreviousMonthDisabledSignal());
298
298
  this.isNextMonthDisabled = computed(() => this.isNextMonthDisabledSignal());
299
299
  this.selectionStarted = computed(() => this.selectionStartedSignal());
300
300
  this.localSelectedDates = computed(() => this.localSelectedDatesSignal());
301
301
  this.isDatesValid = computed(() => this.isDatesValidSignal());
302
302
  this.selectedItemLabel = computed(() => this.selectedItemLabelSignal());
303
+ this.currentMonthDates = computed(() => {
304
+ // Dependencies: currentMonthNumberSignal, currentYearNumberSignal, localSelectedDatesSignal
305
+ return this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal());
306
+ });
307
+ this.nextMonthDates = computed(() => {
308
+ // Dependencies: nextMonthNumberSignal, nextYearNumberSignal, localSelectedDatesSignal
309
+ return this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal());
310
+ });
303
311
  // Time functionality computed properties
304
312
  this.startHour = computed(() => this.startHourSignal());
305
313
  this.startMinute = computed(() => this.startMinuteSignal());
@@ -309,21 +317,21 @@ class TzDrpContainerComponent {
309
317
  this.endAmPm = computed(() => this.endAmPmSignal());
310
318
  this.startHour24 = computed(() => this.startHour24Signal());
311
319
  this.endHour24 = computed(() => this.endHour24Signal());
312
- this.data = data;
313
- this.localSelectedDatesSignal.set(this.data.dates);
320
+ this.data = signal(this.injectedData);
321
+ this.localSelectedDatesSignal.set(this.data().dates);
314
322
  this.isDatesValidSignal.set(false);
315
- if (this.data.dates.startDate && this.data.dates.endDate) {
323
+ if (this.data().dates.startDate && this.data().dates.endDate) {
316
324
  this.isDatesValidSignal.set(true);
317
325
  }
318
326
  // Initialize selectedItemLabel from data.selectedRangeLabel if available
319
- if (this.data.selectedRangeLabel) {
320
- this.selectedItemLabelSignal.set(this.data.selectedRangeLabel);
327
+ if (this.data().selectedRangeLabel) {
328
+ this.selectedItemLabelSignal.set(this.data().selectedRangeLabel);
321
329
  }
322
330
  // Initialize dayjsInstance with timezone handling
323
- if (this.data?.dpConfig?.timezone) {
331
+ if (this.data()?.dpConfig?.timezone) {
324
332
  this.dayjsInstance = (...args) => {
325
333
  try {
326
- return dayjs.tz(args[0], args[1] || 'DD/MM/YYYY', this.data.dpConfig.timezone);
334
+ return dayjs.tz(args[0], args[1] || 'DD/MM/YYYY', this.data().dpConfig.timezone);
327
335
  }
328
336
  catch (error) {
329
337
  console.warn('Error parsing date with timezone:', error, 'args:', args);
@@ -342,18 +350,45 @@ class TzDrpContainerComponent {
342
350
  label: `${day[0]}${day.slice(1).toLowerCase()}`,
343
351
  isCurrentDay: this.dayjsInstance().day() === index
344
352
  })));
345
- if (!this.data?.dpConfig?.format) {
346
- this.data.dpConfig = {
347
- ...this.data.dpConfig,
353
+ if (!this.data()?.dpConfig?.format) {
354
+ this.data().dpConfig = {
355
+ ...this.data().dpConfig,
348
356
  format: DATE_FORMAT
349
357
  };
350
358
  }
359
+ effect(() => {
360
+ const localSelectedDates = this.localSelectedDatesSignal();
361
+ let selectedStartDate;
362
+ if (localSelectedDates?.startDate) {
363
+ // Use the robust helper for parsing
364
+ selectedStartDate = this.parseDateWithMultipleFormats(localSelectedDates.startDate);
365
+ }
366
+ else {
367
+ selectedStartDate = dayjs('invalid');
368
+ }
369
+ if (selectedStartDate.isValid()) {
370
+ this.currentYearNumberSignal.set(selectedStartDate.year());
371
+ this.nextYearNumberSignal.set(selectedStartDate.add(1, "month").year());
372
+ this.currentMonthNumberSignal.set(selectedStartDate.get("month"));
373
+ this.nextMonthNumberSignal.set(selectedStartDate.add(1, "month").month());
374
+ const selectedEndDate = localSelectedDates?.endDate ? this.parseDateWithMultipleFormats(localSelectedDates.endDate) : null;
375
+ // Logic for next month being set by end date
376
+ if (selectedEndDate && selectedEndDate.isValid() && selectedEndDate.isAfter(selectedStartDate, 'month')) {
377
+ this.nextMonthNumberSignal.set(selectedEndDate.month());
378
+ this.nextYearNumberSignal.set(selectedEndDate.year());
379
+ }
380
+ // Note: The original had complex logic for currentMonthNumber === -1.
381
+ // Since dayjs.add/subtract handles rollovers, the separate check is usually unnecessary,
382
+ // but we kept it for the end of month logic (month() returns 0-11).
383
+ // The original logic is redundant now, but if required, it would be implemented here
384
+ // before setting currentMonthSignal and nextMonthSignal (which are now computed, so they react anyway).
385
+ }
386
+ }, { allowSignalWrites: true });
351
387
  }
352
388
  ngOnInit() {
353
- this.currentDateInstance();
354
389
  this.calculateMinMaxDays();
355
390
  this.initializeTimeValues();
356
- if (this.data?.showPrevMonth && !this.isPreviousMonthDisabled) {
391
+ if (this.data()?.showPrevMonth && !this.isPreviousMonthDisabled) {
357
392
  this.navigateMonth('PREVIOUS');
358
393
  }
359
394
  }
@@ -363,53 +398,13 @@ class TzDrpContainerComponent {
363
398
  closeOnEsc() {
364
399
  this.cancelDatePicker();
365
400
  }
366
- currentDateInstance() {
367
- if (!this.localSelectedDatesSignal()?.startDate) {
368
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
369
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal()));
370
- return;
371
- }
372
- // Extract date part for parsing (handle both date-only and datetime formats)
373
- const startDateString = this.localSelectedDatesSignal()?.startDate?.split(' ')[0] || this.localSelectedDatesSignal()?.startDate;
374
- const endDateString = this.localSelectedDatesSignal()?.endDate?.split(' ')[0] || this.localSelectedDatesSignal()?.endDate;
375
- // Validate date strings before parsing
376
- if (!startDateString || startDateString === 'Invalid Date' || startDateString === 'undefined' || startDateString === 'null') {
377
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
378
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal()));
379
- return;
380
- }
381
- const selectedStartDate = this.dayjsInstance(startDateString, 'DD/MM/YYYY');
382
- const selectedEndDate = endDateString ? this.dayjsInstance(endDateString, 'DD/MM/YYYY') : null;
383
- if (selectedStartDate.isValid()) {
384
- this.currentYearNumberSignal.set(selectedStartDate.year());
385
- this.nextYearNumberSignal.set(selectedStartDate.add(1, "month").year());
386
- this.currentMonthNumberSignal.set(selectedStartDate.get("month"));
387
- this.nextMonthNumberSignal.set(selectedStartDate.add(1, "month").month());
388
- if (this.currentMonthNumberSignal() === -1) {
389
- this.currentMonthNumberSignal.set(11);
390
- }
391
- if (this.nextMonthNumberSignal() === -1) {
392
- this.nextMonthNumberSignal.set(11);
393
- }
394
- this.currentMonthSignal.set(getMonth(this.currentMonthNumberSignal()));
395
- this.nextMonthSignal.set(getMonth(this.nextMonthNumberSignal()));
396
- }
397
- // If we have an end date, use it to determine the next month
398
- if (selectedEndDate && selectedEndDate.isValid() && selectedEndDate.isAfter(selectedStartDate, 'month')) {
399
- this.nextMonthNumberSignal.set(selectedEndDate.month());
400
- this.nextYearNumberSignal.set(selectedEndDate.year());
401
- this.nextMonthSignal.set(getMonth(this.nextMonthNumberSignal()));
402
- }
403
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
404
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal()));
405
- }
406
401
  calculateMinMaxDays() {
407
402
  const currentInstance = this.dayjsInstance().year(this.currentYearNumberSignal()).month(this.currentMonthNumberSignal());
408
- const minDate = !!this.data.dpConfig.minDate ? this.dayjsInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
403
+ const minDate = !!this.data().dpConfig.minDate ? this.dayjsInstance(this.data().dpConfig.minDate, this.data().dpConfig.format) : dayjs('invalid');
409
404
  if (minDate.isValid()) {
410
405
  this.isPreviousMonthDisabledSignal.set(minDate.isSameOrAfter(currentInstance, "month"));
411
406
  }
412
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
407
+ const maxDate = !!this.data().dpConfig.maxDate ? this.dayjsInstance(this.data().dpConfig.maxDate, this.data().dpConfig.format) : dayjs('invalid');
413
408
  if (maxDate.isValid()) {
414
409
  this.isNextMonthDisabledSignal.set(maxDate.isSameOrBefore(currentInstance, "month"));
415
410
  }
@@ -445,40 +440,64 @@ class TzDrpContainerComponent {
445
440
  this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
446
441
  this.calculateMinMaxDays();
447
442
  }
443
+ parseDateWithMultipleFormats(dateString) {
444
+ if (!dateString || dateString === 'Invalid Date' || dateString === 'undefined' || dateString === 'null') {
445
+ return dayjs('invalid');
446
+ }
447
+ const configuredFormat = this.data()?.dpConfig?.format;
448
+ if (configuredFormat) {
449
+ try {
450
+ const parsed = dayjs(dateString, configuredFormat);
451
+ if (parsed.isValid()) {
452
+ return parsed;
453
+ }
454
+ }
455
+ catch (error) {
456
+ // Continue to fallback formats
457
+ }
458
+ }
459
+ const fallbackFormats = [
460
+ 'DD/MMM/YYYY', 'DD/MM/YYYY', 'DD-MMM-YYYY', 'DD-MM-YYYY', 'YYYY-MM-DD'
461
+ ];
462
+ for (const format of fallbackFormats) {
463
+ try {
464
+ const parsed = dayjs(dateString, format);
465
+ if (parsed.isValid()) {
466
+ return parsed;
467
+ }
468
+ }
469
+ catch (error) {
470
+ // Continue to next format
471
+ }
472
+ }
473
+ try {
474
+ const parsed = dayjs(dateString);
475
+ if (parsed.isValid()) {
476
+ return parsed;
477
+ }
478
+ }
479
+ catch (error) {
480
+ console.warn('Failed to parse date with any format:', dateString, error);
481
+ }
482
+ return dayjs('invalid');
483
+ }
448
484
  generateDates(month, currentYearNumber) {
449
485
  let dates = [];
450
486
  const daysInMonth = dayjs().year(currentYearNumber).month(month).daysInMonth();
451
487
  for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
452
488
  const date = dayjs().year(currentYearNumber).month(month).date(currentDate);
453
- const dateString = date.format(this.data.dpConfig.format);
454
- let isDisabledDay = this.data.datesDisabled.some(d => d === dateString);
489
+ const dateString = date.format(this.data().dpConfig.format);
490
+ let isDisabledDay = this.data().datesDisabled.some(d => d === dateString);
455
491
  // Parse min/max dates safely - try date-only format first, then full format
456
492
  let minDate = null;
457
493
  let maxDate = null;
458
- if (this.data.dpConfig.minDate) {
459
- try {
460
- // Extract date part only for comparison
461
- const minDateStr = this.data.dpConfig.minDate.split(' ')[0];
462
- minDate = dayjs(minDateStr, 'DD/MM/YYYY');
463
- if (!minDate.isValid()) {
464
- minDate = dayjs(this.data.dpConfig.minDate, this.data.dpConfig.format);
465
- }
466
- }
467
- catch (error) {
468
- console.warn('Error parsing min date:', error);
469
- }
494
+ if (this.data().dpConfig.minDate) {
495
+ const minDateStr = this.data().dpConfig.minDate.split(' ')[0];
496
+ minDate = this.parseDateWithMultipleFormats(minDateStr);
470
497
  }
471
- if (this.data.dpConfig.maxDate) {
472
- try {
473
- const maxDateStr = this.data.dpConfig.maxDate.split(' ')[0];
474
- maxDate = dayjs(maxDateStr, 'DD/MM/YYYY');
475
- if (!maxDate.isValid()) {
476
- maxDate = dayjs(this.data.dpConfig.maxDate, this.data.dpConfig.format);
477
- }
478
- }
479
- catch (error) {
480
- console.warn('Error parsing max date:', error);
481
- }
498
+ if (this.data().dpConfig.maxDate) {
499
+ const maxDateStr = this.data().dpConfig.maxDate.split(' ')[0];
500
+ maxDate = this.parseDateWithMultipleFormats(maxDateStr);
482
501
  }
483
502
  if (!isDisabledDay && minDate && minDate.isValid()) {
484
503
  isDisabledDay = minDate.isAfter(date, "day");
@@ -486,32 +505,34 @@ class TzDrpContainerComponent {
486
505
  if (!isDisabledDay && maxDate && maxDate.isValid()) {
487
506
  isDisabledDay = maxDate.isBefore(date, "day");
488
507
  }
489
- if (this.data?.dpConfig?.maxAllowedRange > 0 &&
508
+ if (this.data()?.dpConfig?.maxAllowedRange > 0 &&
490
509
  !isDisabledDay &&
491
510
  (this.localSelectedDatesSignal()?.startDate ?? false) && (!(this.localSelectedDatesSignal().endDate ?? false))) {
492
- const startDate = dayjs(this.localSelectedDatesSignal().startDate, this.data.dpConfig.format).startOf('day');
493
- const maxEndDate = startDate.clone().add(this.data.dpConfig.maxAllowedRange - 1, 'days');
511
+ const startDate = this.parseDateWithMultipleFormats(this.localSelectedDatesSignal()?.startDate).startOf('day');
512
+ const maxEndDate = startDate.clone().add(this.data().dpConfig.maxAllowedRange - 1, 'days');
494
513
  isDisabledDay = date.isAfter(maxEndDate, 'day');
495
514
  }
496
- const isCurrentDay = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
497
- this.dayjsInstance().format(this.data.dpConfig.format);
515
+ const isCurrentDay = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data().dpConfig.format) ===
516
+ this.dayjsInstance().format(this.data().dpConfig.format);
498
517
  // Extract date part for comparison (handle both date-only and datetime formats)
499
518
  const startDateString = this.localSelectedDatesSignal()?.startDate?.split(' ')[0] || this.localSelectedDatesSignal()?.startDate;
500
519
  const endDateString = this.localSelectedDatesSignal()?.endDate?.split(' ')[0] || this.localSelectedDatesSignal()?.endDate;
501
520
  // Use the custom format for comparison instead of hardcoded DD/MM/YYYY
502
- const dateFormatted = date.format(this.data.dpConfig.format);
521
+ const startDateParsed = startDateString ? this.parseDateWithMultipleFormats(startDateString) : null;
522
+ const endDateParsed = endDateString ? this.parseDateWithMultipleFormats(endDateString) : null;
503
523
  const isSelectedStartDay = !isDisabledDay &&
504
- (startDateString ?? false) &&
505
- dateFormatted === startDateString;
524
+ startDateParsed &&
525
+ startDateParsed.isValid() &&
526
+ date.isSame(startDateParsed, 'day');
506
527
  const isSelectedEndDay = !isDisabledDay &&
507
- (endDateString ?? false) &&
508
- dateFormatted === endDateString;
528
+ endDateParsed &&
529
+ endDateParsed.isValid() &&
530
+ date.isSame(endDateParsed, 'day');
509
531
  // For range calculation, parse dates properly using custom format
510
- const startDate = startDateString ? dayjs(startDateString, this.data.dpConfig.format) : null;
511
- const endDate = endDateString ? dayjs(endDateString, this.data.dpConfig.format) : null;
512
- const isAfterSelectedStartDate = startDate ? this.dayjsInstance(date).isAfter(startDate, "day") : false;
513
- const isBeforeSelectedEndDate = endDate ? this.dayjsInstance(date).isBefore(endDate, "day") : false;
514
- const inRangeDay = startDate && endDate &&
532
+ const isAfterSelectedStartDate = startDateParsed ? this.dayjsInstance(date).isAfter(startDateParsed, "day") : false;
533
+ const isBeforeSelectedEndDate = endDateParsed ? this.dayjsInstance(date).isBefore(endDateParsed, "day") : false;
534
+ const inRangeDay = startDateParsed && endDateParsed &&
535
+ startDateParsed.isValid() && endDateParsed.isValid() &&
515
536
  isAfterSelectedStartDate &&
516
537
  isBeforeSelectedEndDate;
517
538
  dates.push({
@@ -521,7 +542,7 @@ class TzDrpContainerComponent {
521
542
  isSelectedStartDay,
522
543
  isSelectedEndDay,
523
544
  inRangeDay,
524
- toastMessage: this.data.messages.find(q => date.format(this.data.dpConfig.format) === q.date)?.message || "",
545
+ toastMessage: this.data().messages.find(q => date.format(this.data().dpConfig.format) === q.date)?.message || "",
525
546
  isDisabledDay
526
547
  });
527
548
  }
@@ -536,78 +557,100 @@ class TzDrpContainerComponent {
536
557
  }
537
558
  if (!day.isDisabledDay) {
538
559
  this.selectedItemLabelSignal.set(this.CUSTOM_RANGE_LABEL);
539
- if (this.selectionStarted()) {
540
- const dayjsDay = dayjs()
541
- .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
542
- .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
543
- .date(day.date);
544
- // Extract date part from existing start date for comparison
545
- const startDateString = this.localSelectedDatesSignal().startDate?.split(' ')[0] || this.localSelectedDatesSignal().startDate;
546
- const startDate = startDateString ? dayjs(startDateString, this.data.dpConfig.format) : null;
547
- // If the selected date is the same as the start date, make it a single day selection
548
- if (startDate && dayjsDay.isSame(startDate, "day")) {
549
- this.localSelectedDatesSignal.set({
550
- startDate: dayjsDay.format(this.data.dpConfig.format),
551
- endDate: dayjsDay.format(this.data.dpConfig.format),
552
- selectedRangeLabel: this.CUSTOM_RANGE_LABEL
553
- });
560
+ // Calculate the day being selected
561
+ const dayjsDay = dayjs()
562
+ .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
563
+ .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
564
+ .date(day.date);
565
+ let formattedDate = dayjsDay.format(this.data().dpConfig.format);
566
+ this.localSelectedDatesSignal.update(current => {
567
+ let updatedDates = { ...current };
568
+ // Start Date for comparison (using helper for robust check)
569
+ const startDate = current.startDate ? this.parseDateWithMultipleFormats(current.startDate) : null;
570
+ // FIX 4: Append time if enabled
571
+ if (this.data().dpConfig.enableTime === true) {
572
+ // The time is set to NOW, as per original non-signal component's logic
573
+ formattedDate = this.appendCurrentTime(dayjsDay);
574
+ }
575
+ if (this.selectionStarted()) {
576
+ // If the selected date is the same as the start date (New in your previous signal code, but valid)
577
+ if (startDate && dayjsDay.isSame(startDate, "day")) {
578
+ this.selectionStartedSignal.set(false);
579
+ this.isDatesValidSignal.set(true); // Manually setting validity (can be computed later)
580
+ return {
581
+ startDate: formattedDate,
582
+ endDate: formattedDate,
583
+ selectedRangeLabel: this.CUSTOM_RANGE_LABEL
584
+ };
585
+ }
586
+ // If the selected date is before the start date, make it the new start date
587
+ if (startDate && dayjsDay.isBefore(startDate, "day")) {
588
+ // Start selection over
589
+ this.selectionStartedSignal.set(true);
590
+ this.isDatesValidSignal.set(false);
591
+ return {
592
+ startDate: formattedDate,
593
+ endDate: null,
594
+ selectedRangeLabel: this.CUSTOM_RANGE_LABEL
595
+ };
596
+ }
597
+ // End selection
554
598
  this.selectionStartedSignal.set(false);
555
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
556
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
557
599
  this.isDatesValidSignal.set(true);
558
- return;
600
+ return {
601
+ ...current,
602
+ endDate: formattedDate,
603
+ selectedRangeLabel: this.CUSTOM_RANGE_LABEL
604
+ };
559
605
  }
560
- // If the selected date is before the start date, make it the new start date
561
- if (startDate && dayjsDay.isBefore(startDate, "day")) {
562
- this.localSelectedDatesSignal.set({
563
- startDate: dayjsDay.format(this.data.dpConfig.format),
606
+ else {
607
+ // Start selection
608
+ this.selectionStartedSignal.set(true);
609
+ this.isDatesValidSignal.set(false);
610
+ return {
611
+ startDate: formattedDate,
564
612
  endDate: null,
565
613
  selectedRangeLabel: this.CUSTOM_RANGE_LABEL
566
- });
567
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
568
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
569
- return;
614
+ };
570
615
  }
571
- this.selectionStartedSignal.set(false);
572
- this.localSelectedDatesSignal.set({
573
- ...this.localSelectedDatesSignal(),
574
- endDate: dayjsDay.format(this.data.dpConfig.format),
575
- selectedRangeLabel: this.CUSTOM_RANGE_LABEL
576
- });
577
- }
578
- else {
579
- this.selectionStartedSignal.set(true);
580
- this.localSelectedDatesSignal.set({
581
- startDate: dayjs()
582
- .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
583
- .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
584
- .date(day.date)
585
- .format(this.data.dpConfig.format),
586
- endDate: null,
587
- selectedRangeLabel: this.CUSTOM_RANGE_LABEL
588
- });
589
- }
590
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
591
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
592
- this.isDatesValidSignal.set(false);
593
- if (this.localSelectedDatesSignal().startDate && this.localSelectedDatesSignal().endDate) {
594
- this.isDatesValidSignal.set(true);
595
- }
616
+ });
617
+ // The date arrays are COMPUTED, so no need for manual set()
618
+ this.isDatesValidSignal.set(!!(this.localSelectedDatesSignal().startDate && this.localSelectedDatesSignal().endDate));
596
619
  }
597
620
  if (day.toastMessage) {
598
621
  this.toast.displayMsg(day.toastMessage, 4000);
599
622
  }
600
623
  }
624
+ // Helper method to append current time (replicates original selectDay complex formatting logic)
625
+ appendCurrentTime(date) {
626
+ if (!this.data().dpConfig.enableTime)
627
+ return date.format(this.data().dpConfig.format);
628
+ // This complex formatting logic must be replicated exactly for backward compatibility
629
+ const now = dayjs();
630
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
631
+ if (timeStartMatch) {
632
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
633
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
634
+ const timeOnlyFormat = this.data().dpConfig.format.substring(timeStartIndex + timeStartMatch[1].length);
635
+ const dateString = date.format(dateOnlyFormat);
636
+ const timeString = now.format(timeOnlyFormat);
637
+ return dateString + timeStartMatch[1] + timeString;
638
+ }
639
+ // Fallback if no time pattern found
640
+ return date.format(this.data().dpConfig.format);
641
+ }
601
642
  selectRange(item) {
602
643
  if (!item)
603
644
  return;
604
645
  let startDate = this.dayjsInstance(item.value[0]);
605
646
  let endDate = this.dayjsInstance(item.value[1]);
606
- const startDateStr = startDate.format(this.data.dpConfig.format);
607
- const endDateStr = endDate.format(this.data.dpConfig.format);
608
- const isAnyDateDisabled = this.data.datesDisabled.some((date) => this.dayjsInstance(date, this.data.dpConfig.format).isBetween(startDateStr, endDateStr, null, '[]'));
609
- const minDate = !!this.data.dpConfig.minDate ? this.dayjsInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
610
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
647
+ const startDateStr = startDate.format(this.data().dpConfig.format);
648
+ const endDateStr = endDate.format(this.data().dpConfig.format);
649
+ // Note: The original datesDisabled check uses the custom dayjsInstance, which is good.
650
+ const isAnyDateDisabled = this.data().datesDisabled.some((date) => this.dayjsInstance(date, this.data().dpConfig.format).isBetween(startDateStr, endDateStr, null, '[]'));
651
+ // FIX 4: Use robust parsing for minDate/maxDate comparison
652
+ const minDate = !!this.data().dpConfig.minDate ? this.parseDateWithMultipleFormats(this.data().dpConfig.minDate) : dayjs('invalid');
653
+ const maxDate = !!this.data().dpConfig.maxDate ? this.parseDateWithMultipleFormats(this.data().dpConfig.maxDate) : dayjs('invalid');
611
654
  const isWithinLimits = (!minDate.isValid() || !startDate.isBefore(minDate, "day")) &&
612
655
  (!maxDate.isValid() || !endDate.isAfter(maxDate, "day"));
613
656
  if (!isWithinLimits || isAnyDateDisabled) {
@@ -617,6 +660,7 @@ class TzDrpContainerComponent {
617
660
  this.selectedItemLabelSignal.set(item.label);
618
661
  this.currentMonthNumberSignal.set(startDate.month());
619
662
  this.currentYearNumberSignal.set(startDate.year());
663
+ // Month/Year rollover logic is kept as is to match original functionality
620
664
  if (this.currentMonthNumberSignal() === 11) {
621
665
  this.nextMonthNumberSignal.set(0);
622
666
  this.nextYearNumberSignal.set(this.currentYearNumberSignal() + 1);
@@ -630,10 +674,8 @@ class TzDrpContainerComponent {
630
674
  endDate: endDateStr,
631
675
  selectedRangeLabel: item.label
632
676
  });
633
- this.currentMonthSignal.set(getMonth(this.currentMonthNumber()));
634
- this.nextMonthSignal.set(getMonth(this.nextMonthNumber()));
635
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
636
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
677
+ // The month/date computed properties (currentMonth, currentMonthDates, etc.)
678
+ // update automatically now.
637
679
  this.isDatesValidSignal.set(!!(this.localSelectedDatesSignal().startDate && this.localSelectedDatesSignal().endDate));
638
680
  }
639
681
  resetRange() {
@@ -648,11 +690,13 @@ class TzDrpContainerComponent {
648
690
  this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
649
691
  this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
650
692
  }
693
+ // TzDrpContainerComponent (Signal-Migrated)
651
694
  applyDates() {
652
695
  // If time is enabled, append time to the dates before applying
653
- if (this.data.dpConfig.enableTime === true) {
696
+ if (this.data().dpConfig.enableTime === true) {
654
697
  let startTime;
655
698
  let endTime;
699
+ // Use signal accessors
656
700
  if (this.is12HourFormat()) {
657
701
  startTime = this.formatTime(this.startHour(), this.startMinute(), this.startAmPm());
658
702
  endTime = this.formatTime(this.endHour(), this.endMinute(), this.endAmPm());
@@ -661,22 +705,57 @@ class TzDrpContainerComponent {
661
705
  startTime = this.formatTime(this.startHour24(), this.startMinute(), '');
662
706
  endTime = this.formatTime(this.endHour24(), this.endMinute(), '');
663
707
  }
664
- // Extract only the date part (before any existing time) and append the selected time
665
- const startDateOnly = this.localSelectedDatesSignal().startDate?.split(' ')[0] || this.localSelectedDatesSignal().startDate;
666
- const endDateOnly = this.localSelectedDatesSignal().endDate?.split(' ')[0] || this.localSelectedDatesSignal().endDate;
708
+ const localDates = this.localSelectedDatesSignal();
709
+ let startDateOnly = localDates.startDate;
710
+ let endDateOnly = localDates.endDate;
711
+ // FIX 4: Use robust parsing/formatting for date part extraction
712
+ if (startDateOnly) {
713
+ const parsedStart = this.parseDateWithMultipleFormats(startDateOnly);
714
+ // This is a complex date format extraction in the original, simplified here
715
+ // by taking the date part only (assuming time is always separated by space)
716
+ // For true fidelity, the original logic for date part extraction with time must be preserved.
717
+ if (parsedStart.isValid()) {
718
+ // Preserve original date formatting logic: extract only the date part
719
+ // using the configured format elements BEFORE the time components.
720
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
721
+ if (timeStartMatch) {
722
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
723
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
724
+ startDateOnly = parsedStart.format(dateOnlyFormat);
725
+ }
726
+ else {
727
+ // Fallback to splitting if format is date-only
728
+ startDateOnly = startDateOnly.split(' ')[0];
729
+ }
730
+ }
731
+ }
732
+ if (endDateOnly) {
733
+ const parsedEnd = this.parseDateWithMultipleFormats(endDateOnly);
734
+ if (parsedEnd.isValid()) {
735
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
736
+ if (timeStartMatch) {
737
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
738
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
739
+ endDateOnly = parsedEnd.format(dateOnlyFormat);
740
+ }
741
+ else {
742
+ endDateOnly = endDateOnly.split(' ')[0];
743
+ }
744
+ }
745
+ }
667
746
  const startDateWithTime = startDateOnly + ' ' + startTime;
668
747
  const endDateWithTime = endDateOnly + ' ' + endTime;
669
- this.data.dateChange({
748
+ this.data().dateChange({
670
749
  startDate: startDateWithTime,
671
750
  endDate: endDateWithTime
672
751
  });
673
752
  }
674
753
  else {
675
- this.data.dateChange(this.localSelectedDatesSignal());
754
+ this.data().dateChange(this.localSelectedDatesSignal());
676
755
  }
677
756
  }
678
757
  cancelDatePicker() {
679
- this.data.close();
758
+ this.data().close();
680
759
  }
681
760
  // Time-related methods
682
761
  onStartHourInput() {
@@ -735,7 +814,7 @@ class TzDrpContainerComponent {
735
814
  return minute;
736
815
  }
737
816
  is12HourFormat() {
738
- return this.data.dpConfig.format.includes('A') || this.data.dpConfig.format.includes('a');
817
+ return this.data().dpConfig.format.includes('A') || this.data().dpConfig.format.includes('a');
739
818
  }
740
819
  formatTime(hour, minute, amPm) {
741
820
  if (this.is12HourFormat()) {
@@ -750,7 +829,7 @@ class TzDrpContainerComponent {
750
829
  // Initialize time values from existing selected dates if they contain time
751
830
  let startTimeInitialized = false;
752
831
  let endTimeInitialized = false;
753
- if (this.data.dpConfig.enableTime && this.localSelectedDatesSignal().startDate) {
832
+ if (this.data().dpConfig.enableTime && this.localSelectedDatesSignal().startDate) {
754
833
  const startDateParts = this.localSelectedDatesSignal().startDate.split(' ');
755
834
  if (startDateParts.length > 1) {
756
835
  const timePart = startDateParts.slice(1).join(' '); // Handle multiple spaces
@@ -758,7 +837,7 @@ class TzDrpContainerComponent {
758
837
  startTimeInitialized = true;
759
838
  }
760
839
  }
761
- if (this.data.dpConfig.enableTime && this.localSelectedDatesSignal().endDate) {
840
+ if (this.data().dpConfig.enableTime && this.localSelectedDatesSignal().endDate) {
762
841
  const endDateParts = this.localSelectedDatesSignal().endDate.split(' ');
763
842
  if (endDateParts.length > 1) {
764
843
  const timePart = endDateParts.slice(1).join(' '); // Handle multiple spaces
@@ -767,7 +846,7 @@ class TzDrpContainerComponent {
767
846
  }
768
847
  }
769
848
  // If no existing time found, set current time as default
770
- if (this.data.dpConfig.enableTime) {
849
+ if (this.data().dpConfig.enableTime) {
771
850
  if (!startTimeInitialized) {
772
851
  this.setCurrentTimeAsDefault(true);
773
852
  }
@@ -994,9 +1073,10 @@ class TzDrpContainerComponent {
994
1073
  i0.ɵɵtext(38, "Apply");
995
1074
  i0.ɵɵelementEnd()()();
996
1075
  } if (rf & 2) {
1076
+ let tmp_1_0;
997
1077
  i0.ɵɵproperty("cdkTrapFocusAutoCapture", true);
998
1078
  i0.ɵɵadvance(3);
999
- i0.ɵɵproperty("ngIf", (ctx.data == null ? null : ctx.data.dpConfig == null ? null : ctx.data.dpConfig.ranges == null ? null : ctx.data.dpConfig.ranges.length) > 0);
1079
+ i0.ɵɵproperty("ngIf", ((tmp_1_0 = ctx.data()) == null ? null : tmp_1_0.dpConfig == null ? null : tmp_1_0.dpConfig.ranges == null ? null : tmp_1_0.dpConfig.ranges.length) > 0);
1000
1080
  i0.ɵɵadvance(3);
1001
1081
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c0, ctx.isPreviousMonthDisabled()));
1002
1082
  i0.ɵɵadvance(4);
@@ -1016,14 +1096,14 @@ class TzDrpContainerComponent {
1016
1096
  i0.ɵɵadvance(2);
1017
1097
  i0.ɵɵproperty("ngForOf", ctx.nextMonthDates());
1018
1098
  i0.ɵɵadvance();
1019
- i0.ɵɵproperty("ngIf", ctx.data.dpConfig.enableTime === true);
1099
+ i0.ɵɵproperty("ngIf", ctx.data().dpConfig.enableTime === true);
1020
1100
  i0.ɵɵadvance(4);
1021
1101
  i0.ɵɵproperty("disabled", !ctx.isDatesValid());
1022
1102
  } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.MinValidator, i3.MaxValidator, i3.NgModel, i4.ButtonDirective, i5.CdkTrapFocus], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.daterangepicker-container[_ngcontent-%COMP%]{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-primary, #E0E0E0);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%]{max-width:100vw;border:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]{display:flex;gap:24px;padding:16px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__ranges[_ngcontent-%COMP%]{display:flex;flex-direction:column}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .mis-btn[_ngcontent-%COMP%]{background:none;outline:none;border:none;cursor:pointer;border-radius:4px;vertical-align:middle;text-align:center;box-sizing:border-box;display:flex;align-items:center;text-decoration:none;justify-content:center;padding:10px 16px;font-size:16px;line-height:24px;background-color:transparent;color:var(--brand-primary, #0937B2)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .active-range[_ngcontent-%COMP%]{background-color:var(--brand-primary-lightest, #CBDDFB)}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]{flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;background-color:#fff;width:100%;max-height:68vh;overflow-y:auto;border-radius:30px;gap:24px;padding:10% 0 30%;box-shadow:0 -4px 8px 10000px #0000001f;scrollbar-width:none;-ms-overflow-style:none}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__left[_ngcontent-%COMP%], .daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__right[_ngcontent-%COMP%]{display:flex;flex-direction:column}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__left[_ngcontent-%COMP%], .daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__right[_ngcontent-%COMP%]{width:90%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%]{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:10%}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 auto;font-size:4vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon.disabled-month[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]:not(.disabled-month):hover{cursor:pointer;background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]:nth-child(1){transform:rotate(180deg)}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]{width:7%}}@media only screen and (min-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .mobile_view[_ngcontent-%COMP%]{display:none}}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .pc_view[_ngcontent-%COMP%]{display:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%]{height:100%;width:252px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%]{width:100%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%]{width:100%;display:flex;padding-bottom:10px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%]{width:36px;height:18px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%]{margin:0 auto}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:var(--text-secondary, #6A737D)}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:3vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px;color:var(--text-primary, #181F33)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]{flex:0 0 14.2857142857%;width:14.2857142857%;height:14.2857142857%;aspect-ratio:1}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%]{cursor:default}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%]:hover{background-color:transparent}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-secondary, #6A737D)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-start-day):not(.selected-end-day) > span[_ngcontent-%COMP%]{color:var(--text-primary, #181F33)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:var(--brand-primary-lightest, #CBDDFB);cursor:pointer}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:var(--text-primary, #181F33)}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:3.4vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.selected-day[_ngcontent-%COMP%]{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.disabled-day[_ngcontent-%COMP%]{color:var(--text-secondary, #6A737D)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-same-day[_ngcontent-%COMP%]{background-color:var(--brand-primary, #0937B2);border-radius:50%!important}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-same-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-start-day[_ngcontent-%COMP%]{background-color:var(--brand-primary, #0937B2);border-radius:20px 4px 4px 20px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-start-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-end-day[_ngcontent-%COMP%]{background-color:var(--brand-primary, #0937B2);border-radius:0 20px 20px 0}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-end-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .in-range-day[_ngcontent-%COMP%]:not(.disabled-day){background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%]{border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;background-color:#f8f9fa;display:flex;gap:24px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%]{flex:1}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;font-weight:600;color:#333}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .time-input[_ngcontent-%COMP%]{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .time-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--brand-primary, #0937B2);box-shadow:0 0 0 2px #0937b233}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .time-input.hour-input[_ngcontent-%COMP%], .daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .time-input.minute-input[_ngcontent-%COMP%]{width:50px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .time-separator[_ngcontent-%COMP%]{font-size:16px;font-weight:600;color:#666}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .am-pm-selector[_ngcontent-%COMP%]{padding:7.1px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__time[_ngcontent-%COMP%] .time-section[_ngcontent-%COMP%] .time-inputs[_ngcontent-%COMP%] .am-pm-selector[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--brand-primary, #0937B2)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;gap:24px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%]{justify-content:space-evenly;padding:2% 0;background-color:var(--bg-primary, #FFFFFF);position:fixed;bottom:0;left:0;width:100%;height:8vh;border-top:2px solid var(--text-disabled, #C8CDD3)}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%] #mobile-footer-btn[_ngcontent-%COMP%]{width:36%;font-size:3.8vw}}"] }); }
1023
1103
  }
1024
1104
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDrpContainerComponent, [{
1025
1105
  type: Component,
1026
- args: [{ selector: "mis-tz-drp", template: "<div class=\"daterangepicker-container\" aria-label=\"date range picker\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <div class=\"daterangepicker-container__view\">\n <div tabindex=\"-1\" cdkFocusInitial></div>\n <div *ngIf=\"data?.dpConfig?.ranges?.length > 0\" class=\"daterangepicker-container__ranges\">\n <div *ngFor=\"let item of data?.dpConfig?.ranges ?? []\" >\n <button\n [ngClass]=\"{'active-range' : selectedItemLabel() === item.label}\"\n (click)=\"selectRange(item)\"\n class=\"mis-btn\"\n >\n {{ item.label }}\n </button>\n </div>\n <div> <button class=\"mis-btn\" [ngClass]=\"{'active-range' : selectedItemLabel() === 'Custom Range'}\" (click)=\"resetRange()\">Custom Range</button> </div>\n </div>\n <div class=\"datepicker__left\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div\n class=\"daterangepicker-container__arrow__icon\"\n tabindex=\"0\"\n (click)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n (keyup.enter)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n aria-label=\"Previous Month\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n <span> {{ currentMonth() }} {{ currentYearNumber() }} </span>\n <div></div>\n <!-- Button visible in mobile view -->\n <div\n class=\"daterangepicker-container__arrow__icon mobile_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n aria-label=\"Next Month\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\" \n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of currentMonthDates()\"\n (click)=\"selectDay('LEFT', day)\"\n (keyup.enter)=\"selectDay('LEFT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, currentMonth(), currentYearNumber())\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"datepicker__right\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div></div>\n <span> {{ nextMonth() }} {{ nextYearNumber() }} </span>\n <div\n class=\"daterangepicker-container__arrow__icon pc_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of nextMonthDates()\"\n (click)=\"selectDay('RIGHT', day)\"\n (keyup.enter)=\"selectDay('RIGHT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, nextMonth(), nextYearNumber())\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Time Selection Section -->\n <div class=\"daterangepicker-container__time\" *ngIf=\"data.dpConfig.enableTime === true\">\n <div class=\"time-section\">\n <h4>From</h4>\n <div class=\"time-inputs\">\n <input \n type=\"number\" \n [ngModel]=\"is12HourFormat() ? startHour() : startHour24()\" \n (ngModelChange)=\"is12HourFormat() ? startHourSignal.set($event) : startHour24Signal.set($event); onStartHourInput()\"\n [min]=\"is12HourFormat() ? 1 : 0\" \n [max]=\"is12HourFormat() ? 12 : 23\" \n step=\"1\"\n class=\"time-input hour-input\"\n placeholder=\"HH\">\n <span class=\"time-separator\">:</span>\n <input \n type=\"number\" \n [ngModel]=\"startMinute()\" (ngModelChange)=\"startMinuteSignal.set($event)\" \n (input)=\"onStartMinuteInput()\"\n min=\"0\" \n max=\"59\" \n step=\"1\"\n class=\"time-input minute-input\"\n placeholder=\"MM\">\n <select \n [ngModel]=\"startAmPm()\" (ngModelChange)=\"startAmPmSignal.set($event)\" \n class=\"am-pm-selector\"\n *ngIf=\"is12HourFormat()\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n \n <div class=\"time-section\">\n <h4>To</h4>\n <div class=\"time-inputs\">\n <input \n type=\"number\" \n [ngModel]=\"is12HourFormat() ? endHour() : endHour24()\" \n (ngModelChange)=\"is12HourFormat() ? endHourSignal.set($event) : endHour24Signal.set($event); onEndHourInput()\"\n [min]=\"is12HourFormat() ? 1 : 0\" \n [max]=\"is12HourFormat() ? 12 : 23\" \n step=\"1\"\n class=\"time-input hour-input\"\n placeholder=\"HH\">\n <span class=\"time-separator\">:</span>\n <input \n type=\"number\" \n [ngModel]=\"endMinute()\" (ngModelChange)=\"endMinuteSignal.set($event)\" \n (input)=\"onEndMinuteInput()\"\n min=\"0\" \n max=\"59\" \n step=\"1\"\n class=\"time-input minute-input\"\n placeholder=\"MM\">\n <select \n [ngModel]=\"endAmPm()\" (ngModelChange)=\"endAmPmSignal.set($event)\" \n class=\"am-pm-selector\"\n *ngIf=\"is12HourFormat()\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n </div>\n \n <div class=\"daterangepicker__footer\">\n <button mis-button type=\"none\" id='mobile-footer-btn' (click)=\"cancelDatePicker()\">Cancel</button>\n <button mis-button type=\"primary\" id=\"mobile-footer-btn\" (click)=\"applyDates()\" [disabled]=\"!isDatesValid()\">Apply</button>\n </div>\n</div>", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.daterangepicker-container{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-primary, #E0E0E0);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}@media only screen and (max-width: 900px){.daterangepicker-container{max-width:100vw;border:none}}.daterangepicker-container .daterangepicker-container__view{display:flex;gap:24px;padding:16px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__ranges{display:flex;flex-direction:column}.daterangepicker-container .daterangepicker-container__view .mis-btn{background:none;outline:none;border:none;cursor:pointer;border-radius:4px;vertical-align:middle;text-align:center;box-sizing:border-box;display:flex;align-items:center;text-decoration:none;justify-content:center;padding:10px 16px;font-size:16px;line-height:24px;background-color:transparent;color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker-container__view .active-range{background-color:var(--brand-primary-lightest, #CBDDFB)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view{flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;background-color:#fff;width:100%;max-height:68vh;overflow-y:auto;border-radius:30px;gap:24px;padding:10% 0 30%;box-shadow:0 -4px 8px 10000px #0000001f;scrollbar-width:none;-ms-overflow-style:none}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__view::-webkit-scrollbar{display:none}}.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{display:flex;flex-direction:column}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{width:90%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:10%}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{margin:0 auto;font-size:4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{width:7%}}@media only screen and (min-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .mobile_view{display:none}}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .pc_view{display:none}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{height:100%;width:252px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{width:100%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{width:36px;height:18px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{margin:0 auto}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:var(--text-secondary, #6A737D)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:3vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-wrap:wrap}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{width:36px;height:36px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{flex:0 0 14.2857142857%;width:14.2857142857%;height:14.2857142857%;aspect-ratio:1}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day{cursor:default}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day:hover{background-color:transparent}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day>span{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day)>span{color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:var(--brand-primary-lightest, #CBDDFB);cursor:pointer}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:var(--text-primary, #181F33)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:3.4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.selected-day{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.disabled-day{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day{background-color:var(--brand-primary, #0937B2);border-radius:50%!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day{background-color:var(--brand-primary, #0937B2);border-radius:20px 4px 4px 20px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day{background-color:var(--brand-primary, #0937B2);border-radius:0 20px 20px 0}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .in-range-day:not(.disabled-day){background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__time{border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;background-color:#f8f9fa;display:flex;gap:24px}.daterangepicker-container .daterangepicker-container__time .time-section{flex:1}.daterangepicker-container .daterangepicker-container__time .time-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#333}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs{display:flex;align-items:center;gap:8px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input:focus{outline:none;border-color:var(--brand-primary, #0937B2);box-shadow:0 0 0 2px #0937b233}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input.hour-input,.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input.minute-input{width:50px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-separator{font-size:16px;font-weight:600;color:#666}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .am-pm-selector{padding:7.1px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .am-pm-selector:focus{outline:none;border-color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker__footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;gap:24px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker__footer{justify-content:space-evenly;padding:2% 0;background-color:var(--bg-primary, #FFFFFF);position:fixed;bottom:0;left:0;width:100%;height:8vh;border-top:2px solid var(--text-disabled, #C8CDD3)}.daterangepicker-container .daterangepicker__footer #mobile-footer-btn{width:36%;font-size:3.8vw}}\n"] }]
1106
+ args: [{ selector: "mis-tz-drp", template: "<div class=\"daterangepicker-container\" aria-label=\"date range picker\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <div class=\"daterangepicker-container__view\">\n <div tabindex=\"-1\" cdkFocusInitial></div>\n <div *ngIf=\"data()?.dpConfig?.ranges?.length > 0\" class=\"daterangepicker-container__ranges\">\n <div *ngFor=\"let item of data()?.dpConfig?.ranges ?? []\" >\n <button\n [ngClass]=\"{'active-range' : selectedItemLabel() === item.label}\"\n (click)=\"selectRange(item)\"\n class=\"mis-btn\"\n >\n {{ item.label }}\n </button>\n </div>\n <div> <button class=\"mis-btn\" [ngClass]=\"{'active-range' : selectedItemLabel() === 'Custom Range'}\" (click)=\"resetRange()\">Custom Range</button> </div>\n </div>\n <div class=\"datepicker__left\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div\n class=\"daterangepicker-container__arrow__icon\"\n tabindex=\"0\"\n (click)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n (keyup.enter)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n aria-label=\"Previous Month\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n <span> {{ currentMonth() }} {{ currentYearNumber() }} </span>\n <div></div>\n <!-- Button visible in mobile view -->\n <div\n class=\"daterangepicker-container__arrow__icon mobile_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n aria-label=\"Next Month\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\" \n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of currentMonthDates()\"\n (click)=\"selectDay('LEFT', day)\"\n (keyup.enter)=\"selectDay('LEFT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, currentMonth(), currentYearNumber())\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"datepicker__right\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div></div>\n <span> {{ nextMonth() }} {{ nextYearNumber() }} </span>\n <div\n class=\"daterangepicker-container__arrow__icon pc_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of nextMonthDates()\"\n (click)=\"selectDay('RIGHT', day)\"\n (keyup.enter)=\"selectDay('RIGHT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, nextMonth(), nextYearNumber())\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Time Selection Section -->\n <div class=\"daterangepicker-container__time\" *ngIf=\"data().dpConfig.enableTime === true\">\n <div class=\"time-section\">\n <h4>From</h4>\n <div class=\"time-inputs\">\n <input \n type=\"number\" \n [ngModel]=\"is12HourFormat() ? startHour() : startHour24()\" \n (ngModelChange)=\"is12HourFormat() ? startHourSignal.set($event) : startHour24Signal.set($event); onStartHourInput()\"\n [min]=\"is12HourFormat() ? 1 : 0\" \n [max]=\"is12HourFormat() ? 12 : 23\" \n step=\"1\"\n class=\"time-input hour-input\"\n placeholder=\"HH\">\n <span class=\"time-separator\">:</span>\n <input \n type=\"number\" \n [ngModel]=\"startMinute()\" (ngModelChange)=\"startMinuteSignal.set($event)\" \n (input)=\"onStartMinuteInput()\"\n min=\"0\" \n max=\"59\" \n step=\"1\"\n class=\"time-input minute-input\"\n placeholder=\"MM\">\n <select \n [ngModel]=\"startAmPm()\" (ngModelChange)=\"startAmPmSignal.set($event)\" \n class=\"am-pm-selector\"\n *ngIf=\"is12HourFormat()\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n \n <div class=\"time-section\">\n <h4>To</h4>\n <div class=\"time-inputs\">\n <input \n type=\"number\" \n [ngModel]=\"is12HourFormat() ? endHour() : endHour24()\" \n (ngModelChange)=\"is12HourFormat() ? endHourSignal.set($event) : endHour24Signal.set($event); onEndHourInput()\"\n [min]=\"is12HourFormat() ? 1 : 0\" \n [max]=\"is12HourFormat() ? 12 : 23\" \n step=\"1\"\n class=\"time-input hour-input\"\n placeholder=\"HH\">\n <span class=\"time-separator\">:</span>\n <input \n type=\"number\" \n [ngModel]=\"endMinute()\" (ngModelChange)=\"endMinuteSignal.set($event)\" \n (input)=\"onEndMinuteInput()\"\n min=\"0\" \n max=\"59\" \n step=\"1\"\n class=\"time-input minute-input\"\n placeholder=\"MM\">\n <select \n [ngModel]=\"endAmPm()\" (ngModelChange)=\"endAmPmSignal.set($event)\" \n class=\"am-pm-selector\"\n *ngIf=\"is12HourFormat()\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n </div>\n \n <div class=\"daterangepicker__footer\">\n <button mis-button type=\"none\" id='mobile-footer-btn' (click)=\"cancelDatePicker()\">Cancel</button>\n <button mis-button type=\"primary\" id=\"mobile-footer-btn\" (click)=\"applyDates()\" [disabled]=\"!isDatesValid()\">Apply</button>\n </div>\n</div>", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.daterangepicker-container{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-primary, #E0E0E0);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}@media only screen and (max-width: 900px){.daterangepicker-container{max-width:100vw;border:none}}.daterangepicker-container .daterangepicker-container__view{display:flex;gap:24px;padding:16px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__ranges{display:flex;flex-direction:column}.daterangepicker-container .daterangepicker-container__view .mis-btn{background:none;outline:none;border:none;cursor:pointer;border-radius:4px;vertical-align:middle;text-align:center;box-sizing:border-box;display:flex;align-items:center;text-decoration:none;justify-content:center;padding:10px 16px;font-size:16px;line-height:24px;background-color:transparent;color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker-container__view .active-range{background-color:var(--brand-primary-lightest, #CBDDFB)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view{flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;background-color:#fff;width:100%;max-height:68vh;overflow-y:auto;border-radius:30px;gap:24px;padding:10% 0 30%;box-shadow:0 -4px 8px 10000px #0000001f;scrollbar-width:none;-ms-overflow-style:none}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__view::-webkit-scrollbar{display:none}}.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{display:flex;flex-direction:column}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{width:90%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:10%}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{margin:0 auto;font-size:4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{width:7%}}@media only screen and (min-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .mobile_view{display:none}}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .pc_view{display:none}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{height:100%;width:252px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{width:100%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{width:36px;height:18px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{margin:0 auto}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:var(--text-secondary, #6A737D)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:3vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-wrap:wrap}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{width:36px;height:36px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{flex:0 0 14.2857142857%;width:14.2857142857%;height:14.2857142857%;aspect-ratio:1}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day{cursor:default}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day:hover{background-color:transparent}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day>span{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day)>span{color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:var(--brand-primary-lightest, #CBDDFB);cursor:pointer}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:var(--text-primary, #181F33)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:3.4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.selected-day{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.disabled-day{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day{background-color:var(--brand-primary, #0937B2);border-radius:50%!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day{background-color:var(--brand-primary, #0937B2);border-radius:20px 4px 4px 20px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day{background-color:var(--brand-primary, #0937B2);border-radius:0 20px 20px 0}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day>span{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .in-range-day:not(.disabled-day){background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__time{border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;background-color:#f8f9fa;display:flex;gap:24px}.daterangepicker-container .daterangepicker-container__time .time-section{flex:1}.daterangepicker-container .daterangepicker-container__time .time-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#333}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs{display:flex;align-items:center;gap:8px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input:focus{outline:none;border-color:var(--brand-primary, #0937B2);box-shadow:0 0 0 2px #0937b233}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input.hour-input,.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-input.minute-input{width:50px}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .time-separator{font-size:16px;font-weight:600;color:#666}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .am-pm-selector{padding:7.1px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer}.daterangepicker-container .daterangepicker-container__time .time-section .time-inputs .am-pm-selector:focus{outline:none;border-color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker__footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;gap:24px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker__footer{justify-content:space-evenly;padding:2% 0;background-color:var(--bg-primary, #FFFFFF);position:fixed;bottom:0;left:0;width:100%;height:8vh;border-top:2px solid var(--text-disabled, #C8CDD3)}.daterangepicker-container .daterangepicker__footer #mobile-footer-btn{width:36%;font-size:3.8vw}}\n"] }]
1027
1107
  }], () => [{ type: undefined, decorators: [{
1028
1108
  type: Inject,
1029
1109
  args: [CONTAINER_DATA]