mis-crystal-design-system 18.1.6-signal → 18.1.6-test-2

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 (87) hide show
  1. package/async-search-dropdown/async-dropdown.component.d.ts +44 -3
  2. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +4 -0
  3. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +14 -5
  4. package/dynamic-form/dynamic-form.component.d.ts +15 -0
  5. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +147 -37
  6. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  7. package/esm2022/chip/chip.component.mjs +4 -4
  8. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -34
  9. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +87 -32
  10. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +6 -3
  11. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +324 -142
  12. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +4 -4
  13. package/esm2022/dynamic-form/dynamic-form.component.mjs +222 -78
  14. package/esm2022/fab/fab.component.mjs +4 -4
  15. package/esm2022/input/mis-input.component.mjs +3 -11
  16. package/esm2022/loader/loader.component.mjs +13 -7
  17. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +4 -4
  18. package/esm2022/phone-input/phone-input.component.mjs +4 -4
  19. package/esm2022/radio-button/radio-button.component.mjs +4 -4
  20. package/esm2022/ske-loader/ske-loader.component.mjs +4 -4
  21. package/esm2022/slider/slider.component.mjs +4 -4
  22. package/esm2022/snackbar/snackbar/snackbar.component.mjs +4 -4
  23. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +23 -19
  24. package/esm2022/table/sort-icons.directive.mjs +24 -5
  25. package/esm2022/table/sub-table/sub-table.component.mjs +18 -5
  26. package/esm2022/table/table.component.mjs +236 -101
  27. package/esm2022/table/table.module.mjs +7 -5
  28. package/esm2022/timepicker/timepicker.component.mjs +41 -14
  29. package/esm2022/timerangepicker/timerangepicker.component.mjs +29 -21
  30. package/esm2022/toast/toast.component.mjs +4 -4
  31. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +4 -4
  32. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +4 -4
  33. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +146 -36
  34. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  35. package/fesm2022/mis-crystal-design-system-checkbox.mjs +3 -3
  36. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  37. package/fesm2022/mis-crystal-design-system-chip.mjs +3 -3
  38. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  39. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +87 -64
  40. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  41. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +328 -143
  42. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  43. package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
  44. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  45. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +221 -77
  46. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  47. package/fesm2022/mis-crystal-design-system-fab.mjs +3 -3
  48. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  49. package/fesm2022/mis-crystal-design-system-input.mjs +2 -10
  50. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  51. package/fesm2022/mis-crystal-design-system-loader.mjs +12 -6
  52. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  53. package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
  54. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  55. package/fesm2022/mis-crystal-design-system-phone-input.mjs +3 -3
  56. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  57. package/fesm2022/mis-crystal-design-system-radio-button.mjs +3 -3
  58. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  59. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +3 -3
  60. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  61. package/fesm2022/mis-crystal-design-system-slider.mjs +3 -3
  62. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  63. package/fesm2022/mis-crystal-design-system-snackbar.mjs +3 -3
  64. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  65. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +22 -18
  66. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  67. package/fesm2022/mis-crystal-design-system-table.mjs +279 -111
  68. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  69. package/fesm2022/mis-crystal-design-system-timepicker.mjs +40 -13
  70. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  71. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +28 -20
  72. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  73. package/fesm2022/mis-crystal-design-system-toast.mjs +3 -3
  74. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  75. package/fesm2022/mis-crystal-design-system-tooltip.mjs +3 -3
  76. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  77. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +3 -3
  78. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  79. package/input/mis-input.component.scss +2 -3
  80. package/loader/loader.component.d.ts +7 -1
  81. package/package.json +12 -12
  82. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -2
  83. package/styles/mis-old-icon-styles.scss +0 -498
  84. package/table/table.component.d.ts +14 -1
  85. package/table/table.module.d.ts +2 -1
  86. package/timepicker/timepicker.component.d.ts +3 -1
  87. package/timerangepicker/timerangepicker.component.d.ts +3 -1
@@ -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,62 @@ dayjs.extend(customParseFormat);
252
252
  dayjs.extend(isSameOrAfter);
253
253
  dayjs.extend(isSameOrBefore);
254
254
  class TzDrpContainerComponent {
255
- constructor(data, toast) {
255
+ /**
256
+ * Parse date string using configured format with fallback
257
+ */
258
+ parseDateWithMultipleFormats(dateString) {
259
+ if (!dateString || dateString === 'Invalid Date' || dateString === 'undefined' || dateString === 'null') {
260
+ return dayjs('invalid');
261
+ }
262
+ // First try the configured format
263
+ const configuredFormat = this.data().dpConfig?.format;
264
+ if (configuredFormat) {
265
+ try {
266
+ const parsed = dayjs(dateString, configuredFormat);
267
+ if (parsed.isValid()) {
268
+ return parsed;
269
+ }
270
+ }
271
+ catch (error) {
272
+ // Continue to fallback formats
273
+ }
274
+ }
275
+ // Fallback to common formats if configured format fails
276
+ const fallbackFormats = [
277
+ 'DD/MMM/YYYY',
278
+ 'DD/MM/YYYY',
279
+ 'DD-MMM-YYYY',
280
+ 'DD-MM-YYYY',
281
+ 'YYYY-MM-DD'
282
+ ];
283
+ for (const format of fallbackFormats) {
284
+ try {
285
+ const parsed = dayjs(dateString, format);
286
+ if (parsed.isValid()) {
287
+ return parsed;
288
+ }
289
+ }
290
+ catch (error) {
291
+ // Continue to next format
292
+ }
293
+ }
294
+ // If all formats fail, try parsing without format (let dayjs guess)
295
+ try {
296
+ const parsed = dayjs(dateString);
297
+ if (parsed.isValid()) {
298
+ return parsed;
299
+ }
300
+ }
301
+ catch (error) {
302
+ console.warn('Failed to parse date with any format:', dateString, error);
303
+ }
304
+ return dayjs('invalid');
305
+ }
306
+ constructor(injectedData, toast) {
307
+ this.injectedData = injectedData;
256
308
  this.toast = toast;
257
309
  this.CUSTOM_RANGE_LABEL = "Custom Range";
310
+ this.data = signal(this.injectedData);
258
311
  this.dayjsInstance = (...args) => {
259
312
  return dayjs(...args);
260
313
  };
@@ -289,17 +342,23 @@ class TzDrpContainerComponent {
289
342
  this.currentMonthNumber = computed(() => this.currentMonthNumberSignal());
290
343
  this.currentMonth = computed(() => this.currentMonthSignal());
291
344
  this.currentYearNumber = computed(() => this.currentYearNumberSignal());
292
- this.currentMonthDates = computed(() => this.currentMonthDatesSignal());
293
345
  this.nextMonthNumber = computed(() => this.nextMonthNumberSignal());
294
346
  this.nextMonth = computed(() => this.nextMonthSignal());
295
347
  this.nextYearNumber = computed(() => this.nextYearNumberSignal());
296
- this.nextMonthDates = computed(() => this.nextMonthDatesSignal());
297
348
  this.isPreviousMonthDisabled = computed(() => this.isPreviousMonthDisabledSignal());
298
349
  this.isNextMonthDisabled = computed(() => this.isNextMonthDisabledSignal());
299
350
  this.selectionStarted = computed(() => this.selectionStartedSignal());
300
351
  this.localSelectedDates = computed(() => this.localSelectedDatesSignal());
301
352
  this.isDatesValid = computed(() => this.isDatesValidSignal());
302
353
  this.selectedItemLabel = computed(() => this.selectedItemLabelSignal());
354
+ this.currentMonthDates = computed(() => {
355
+ // Dependencies: currentMonthNumberSignal, currentYearNumberSignal, localSelectedDatesSignal
356
+ return this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal());
357
+ });
358
+ this.nextMonthDates = computed(() => {
359
+ // Dependencies: nextMonthNumberSignal, nextYearNumberSignal, localSelectedDatesSignal
360
+ return this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal());
361
+ });
303
362
  // Time functionality computed properties
304
363
  this.startHour = computed(() => this.startHourSignal());
305
364
  this.startMinute = computed(() => this.startMinuteSignal());
@@ -309,21 +368,21 @@ class TzDrpContainerComponent {
309
368
  this.endAmPm = computed(() => this.endAmPmSignal());
310
369
  this.startHour24 = computed(() => this.startHour24Signal());
311
370
  this.endHour24 = computed(() => this.endHour24Signal());
312
- this.data = data;
313
- this.localSelectedDatesSignal.set(this.data.dates);
371
+ this.data = signal(this.injectedData);
372
+ this.localSelectedDatesSignal.set(this.data().dates);
314
373
  this.isDatesValidSignal.set(false);
315
- if (this.data.dates.startDate && this.data.dates.endDate) {
374
+ if (this.data().dates.startDate && this.data().dates.endDate) {
316
375
  this.isDatesValidSignal.set(true);
317
376
  }
318
377
  // Initialize selectedItemLabel from data.selectedRangeLabel if available
319
- if (this.data.selectedRangeLabel) {
320
- this.selectedItemLabelSignal.set(this.data.selectedRangeLabel);
378
+ if (this.data().selectedRangeLabel) {
379
+ this.selectedItemLabelSignal.set(this.data().selectedRangeLabel);
321
380
  }
322
381
  // Initialize dayjsInstance with timezone handling
323
- if (this.data?.dpConfig?.timezone) {
382
+ if (this.data()?.dpConfig?.timezone) {
324
383
  this.dayjsInstance = (...args) => {
325
384
  try {
326
- return dayjs.tz(args[0], args[1] || 'DD/MM/YYYY', this.data.dpConfig.timezone);
385
+ return dayjs.tz(args[0], args[1] || 'DD/MM/YYYY', this.data().dpConfig.timezone);
327
386
  }
328
387
  catch (error) {
329
388
  console.warn('Error parsing date with timezone:', error, 'args:', args);
@@ -342,18 +401,19 @@ class TzDrpContainerComponent {
342
401
  label: `${day[0]}${day.slice(1).toLowerCase()}`,
343
402
  isCurrentDay: this.dayjsInstance().day() === index
344
403
  })));
345
- if (!this.data?.dpConfig?.format) {
346
- this.data.dpConfig = {
347
- ...this.data.dpConfig,
404
+ if (!this.data()?.dpConfig?.format) {
405
+ this.data().dpConfig = {
406
+ ...this.data().dpConfig,
348
407
  format: DATE_FORMAT
349
408
  };
350
409
  }
410
+ // Update calendar from initial selected dates
411
+ this.updateCalendarFromSelectedDates();
351
412
  }
352
413
  ngOnInit() {
353
- this.currentDateInstance();
354
414
  this.calculateMinMaxDays();
355
415
  this.initializeTimeValues();
356
- if (this.data?.showPrevMonth && !this.isPreviousMonthDisabled) {
416
+ if (this.data()?.showPrevMonth && !this.isPreviousMonthDisabled) {
357
417
  this.navigateMonth('PREVIOUS');
358
418
  }
359
419
  }
@@ -363,53 +423,13 @@ class TzDrpContainerComponent {
363
423
  closeOnEsc() {
364
424
  this.cancelDatePicker();
365
425
  }
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
426
  calculateMinMaxDays() {
407
427
  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');
428
+ const minDate = !!this.data().dpConfig.minDate ? this.dayjsInstance(this.data().dpConfig.minDate, this.data().dpConfig.format) : dayjs('invalid');
409
429
  if (minDate.isValid()) {
410
430
  this.isPreviousMonthDisabledSignal.set(minDate.isSameOrAfter(currentInstance, "month"));
411
431
  }
412
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
432
+ const maxDate = !!this.data().dpConfig.maxDate ? this.dayjsInstance(this.data().dpConfig.maxDate, this.data().dpConfig.format) : dayjs('invalid');
413
433
  if (maxDate.isValid()) {
414
434
  this.isNextMonthDisabledSignal.set(maxDate.isSameOrBefore(currentInstance, "month"));
415
435
  }
@@ -424,8 +444,8 @@ class TzDrpContainerComponent {
424
444
  }
425
445
  this.currentMonthNumberSignal.set(thisMonth.month());
426
446
  this.nextMonthNumberSignal.set(thisMonth.clone().add(1, "month").month());
427
- this.currentMonthSignal.set(getMonth(this.currentMonthNumber()));
428
- this.nextMonthSignal.set(getMonth(this.nextMonthNumber()));
447
+ this.currentMonthSignal.set(getMonth(this.currentMonthNumberSignal()));
448
+ this.nextMonthSignal.set(getMonth(this.nextMonthNumberSignal()));
429
449
  if (this.nextMonthNumberSignal() === 0 && direction === "PREVIOUS") {
430
450
  this.currentYearNumberSignal.set(this.currentYearNumberSignal() - 1);
431
451
  }
@@ -445,35 +465,65 @@ class TzDrpContainerComponent {
445
465
  this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
446
466
  this.calculateMinMaxDays();
447
467
  }
468
+ /**
469
+ * Update calendar month/year based on selected dates
470
+ * This method is called whenever localSelectedDatesSignal changes to keep calendar in sync
471
+ */
472
+ updateCalendarFromSelectedDates() {
473
+ const localSelectedDates = this.localSelectedDatesSignal();
474
+ let selectedStartDate;
475
+ if (localSelectedDates?.startDate) {
476
+ selectedStartDate = this.parseDateWithMultipleFormats(localSelectedDates.startDate);
477
+ }
478
+ else {
479
+ selectedStartDate = dayjs('invalid');
480
+ }
481
+ if (selectedStartDate.isValid()) {
482
+ this.currentYearNumberSignal.set(selectedStartDate.year());
483
+ this.nextYearNumberSignal.set(selectedStartDate.add(1, "month").year());
484
+ this.currentMonthNumberSignal.set(selectedStartDate.get("month"));
485
+ this.nextMonthNumberSignal.set(selectedStartDate.add(1, "month").month());
486
+ const selectedEndDate = localSelectedDates?.endDate ? this.parseDateWithMultipleFormats(localSelectedDates.endDate) : null;
487
+ if (selectedEndDate && selectedEndDate.isValid() && selectedEndDate.isAfter(selectedStartDate, 'month')) {
488
+ this.nextMonthNumberSignal.set(selectedEndDate.month());
489
+ this.nextYearNumberSignal.set(selectedEndDate.year());
490
+ }
491
+ // Update month labels
492
+ this.currentMonthSignal.set(getMonth(this.currentMonthNumberSignal()));
493
+ this.nextMonthSignal.set(getMonth(this.nextMonthNumberSignal()));
494
+ // Update calendar dates to reflect the selected dates
495
+ this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
496
+ this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal()));
497
+ }
498
+ }
448
499
  generateDates(month, currentYearNumber) {
449
500
  let dates = [];
450
501
  const daysInMonth = dayjs().year(currentYearNumber).month(month).daysInMonth();
451
502
  for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
452
503
  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);
504
+ const dateString = date.format(this.data().dpConfig.format);
505
+ let isDisabledDay = this.data().datesDisabled.some(d => d === dateString);
455
506
  // Parse min/max dates safely - try date-only format first, then full format
456
507
  let minDate = null;
457
508
  let maxDate = null;
458
- if (this.data.dpConfig.minDate) {
509
+ if (this.data().dpConfig.minDate) {
459
510
  try {
460
- // Extract date part only for comparison
461
- const minDateStr = this.data.dpConfig.minDate.split(' ')[0];
462
- minDate = dayjs(minDateStr, 'DD/MM/YYYY');
511
+ const minDateStr = this.data().dpConfig.minDate.split(' ')[0];
512
+ minDate = this.parseDateWithMultipleFormats(minDateStr);
463
513
  if (!minDate.isValid()) {
464
- minDate = dayjs(this.data.dpConfig.minDate, this.data.dpConfig.format);
514
+ minDate = dayjs(this.data().dpConfig.minDate, this.data().dpConfig.format);
465
515
  }
466
516
  }
467
517
  catch (error) {
468
518
  console.warn('Error parsing min date:', error);
469
519
  }
470
520
  }
471
- if (this.data.dpConfig.maxDate) {
521
+ if (this.data().dpConfig.maxDate) {
472
522
  try {
473
- const maxDateStr = this.data.dpConfig.maxDate.split(' ')[0];
474
- maxDate = dayjs(maxDateStr, 'DD/MM/YYYY');
523
+ const maxDateStr = this.data().dpConfig.maxDate.split(' ')[0];
524
+ maxDate = this.parseDateWithMultipleFormats(maxDateStr);
475
525
  if (!maxDate.isValid()) {
476
- maxDate = dayjs(this.data.dpConfig.maxDate, this.data.dpConfig.format);
526
+ maxDate = dayjs(this.data().dpConfig.maxDate, this.data().dpConfig.format);
477
527
  }
478
528
  }
479
529
  catch (error) {
@@ -486,32 +536,63 @@ class TzDrpContainerComponent {
486
536
  if (!isDisabledDay && maxDate && maxDate.isValid()) {
487
537
  isDisabledDay = maxDate.isBefore(date, "day");
488
538
  }
489
- if (this.data?.dpConfig?.maxAllowedRange > 0 &&
539
+ if (this.data()?.dpConfig?.maxAllowedRange > 0 &&
490
540
  !isDisabledDay &&
491
541
  (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');
542
+ const startDate = this.parseDateWithMultipleFormats(this.localSelectedDatesSignal()?.startDate).startOf('day');
543
+ const maxEndDate = startDate.clone().add(this.data().dpConfig.maxAllowedRange - 1, 'days');
494
544
  isDisabledDay = date.isAfter(maxEndDate, 'day');
495
545
  }
496
- const isCurrentDay = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
497
- this.dayjsInstance().format(this.data.dpConfig.format);
546
+ const isCurrentDay = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data().dpConfig.format) ===
547
+ this.dayjsInstance().format(this.data().dpConfig.format);
498
548
  // Extract date part for comparison (handle both date-only and datetime formats)
499
- const startDateString = this.localSelectedDatesSignal()?.startDate?.split(' ')[0] || this.localSelectedDatesSignal()?.startDate;
500
- const endDateString = this.localSelectedDatesSignal()?.endDate?.split(' ')[0] || this.localSelectedDatesSignal()?.endDate;
501
- // Use the custom format for comparison instead of hardcoded DD/MM/YYYY
502
- const dateFormatted = date.format(this.data.dpConfig.format);
549
+ let startDateString = this.localSelectedDatesSignal()?.startDate;
550
+ let endDateString = this.localSelectedDatesSignal()?.endDate;
551
+ // Only extract date part if the format contains time components
552
+ if (this.data().dpConfig.format.includes('HH') || this.data().dpConfig.format.includes('mm') || this.data().dpConfig.format.includes('A')) {
553
+ // For datetime formats, we need to extract just the date part
554
+ // Try to parse the full string and then format it as date-only for comparison
555
+ if (startDateString) {
556
+ const parsedStart = this.parseDateWithMultipleFormats(startDateString);
557
+ if (parsedStart.isValid()) {
558
+ // Extract date part by finding the time boundary - handle spaces in date part
559
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
560
+ if (timeStartMatch) {
561
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
562
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
563
+ startDateString = parsedStart.format(dateOnlyFormat);
564
+ }
565
+ }
566
+ }
567
+ if (endDateString) {
568
+ const parsedEnd = this.parseDateWithMultipleFormats(endDateString);
569
+ if (parsedEnd.isValid()) {
570
+ // Extract date part by finding the time boundary - handle spaces in date part
571
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
572
+ if (timeStartMatch) {
573
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
574
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
575
+ endDateString = parsedEnd.format(dateOnlyFormat);
576
+ }
577
+ }
578
+ }
579
+ }
580
+ // Parse the selected dates to get proper dayjs instances for comparison
581
+ const startDateParsed = startDateString ? this.parseDateWithMultipleFormats(startDateString) : null;
582
+ const endDateParsed = endDateString ? this.parseDateWithMultipleFormats(endDateString) : null;
503
583
  const isSelectedStartDay = !isDisabledDay &&
504
- (startDateString ?? false) &&
505
- dateFormatted === startDateString;
584
+ startDateParsed &&
585
+ startDateParsed.isValid() &&
586
+ date.isSame(startDateParsed, 'day');
506
587
  const isSelectedEndDay = !isDisabledDay &&
507
- (endDateString ?? false) &&
508
- dateFormatted === endDateString;
509
- // 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 &&
588
+ endDateParsed &&
589
+ endDateParsed.isValid() &&
590
+ date.isSame(endDateParsed, 'day');
591
+ // For range calculation, use the already parsed dates
592
+ const isAfterSelectedStartDate = startDateParsed ? this.dayjsInstance(date).isAfter(startDateParsed, "day") : false;
593
+ const isBeforeSelectedEndDate = endDateParsed ? this.dayjsInstance(date).isBefore(endDateParsed, "day") : false;
594
+ const inRangeDay = startDateParsed && endDateParsed &&
595
+ startDateParsed.isValid() && endDateParsed.isValid() &&
515
596
  isAfterSelectedStartDate &&
516
597
  isBeforeSelectedEndDate;
517
598
  dates.push({
@@ -521,7 +602,7 @@ class TzDrpContainerComponent {
521
602
  isSelectedStartDay,
522
603
  isSelectedEndDay,
523
604
  inRangeDay,
524
- toastMessage: this.data.messages.find(q => date.format(this.data.dpConfig.format) === q.date)?.message || "",
605
+ toastMessage: this.data().messages.find(q => date.format(this.data().dpConfig.format) === q.date)?.message || "",
525
606
  isDisabledDay
526
607
  });
527
608
  }
@@ -531,64 +612,134 @@ class TzDrpContainerComponent {
531
612
  return dates;
532
613
  }
533
614
  selectDay(from, day) {
534
- if (day.date <= 0) {
615
+ if (day.date <= 0)
535
616
  return;
536
- }
537
617
  if (!day.isDisabledDay) {
538
618
  this.selectedItemLabelSignal.set(this.CUSTOM_RANGE_LABEL);
539
- if (this.selectionStarted()) {
619
+ if (this.selectionStartedSignal()) {
540
620
  const dayjsDay = dayjs()
541
621
  .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
542
622
  .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
543
623
  .date(day.date);
544
624
  // 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
- });
554
- 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
- this.isDatesValidSignal.set(true);
558
- return;
625
+ let startDateString = this.localSelectedDatesSignal().startDate;
626
+ // Only extract date part if the format contains time components
627
+ if (this.data().dpConfig.format.includes('HH') || this.data().dpConfig.format.includes('mm') || this.data().dpConfig.format.includes('A')) {
628
+ // For datetime formats, we need to extract just the date part
629
+ // Try to parse the full string and then format it as date-only for comparison
630
+ if (startDateString) {
631
+ const parsedStart = this.parseDateWithMultipleFormats(startDateString);
632
+ if (parsedStart.isValid()) {
633
+ // Extract date part by finding the time boundary - handle spaces in date part
634
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
635
+ if (timeStartMatch) {
636
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
637
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
638
+ startDateString = parsedStart.format(dateOnlyFormat);
639
+ }
640
+ }
641
+ }
559
642
  }
643
+ const startDate = startDateString ? this.parseDateWithMultipleFormats(startDateString) : null;
560
644
  // If the selected date is before the start date, make it the new start date
561
645
  if (startDate && dayjsDay.isBefore(startDate, "day")) {
646
+ let formattedDate = dayjsDay.format(this.data().dpConfig.format);
647
+ // If time is enabled, append current time to the date
648
+ if (this.data().dpConfig.enableTime === true) {
649
+ const now = dayjs();
650
+ // Extract date part from the configured format - handle spaces in date part
651
+ // Look for the pattern where time starts (HH, mm, ss, A, a)
652
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
653
+ if (timeStartMatch) {
654
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
655
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
656
+ const timeOnlyFormat = this.data().dpConfig.format.substring(timeStartIndex + timeStartMatch[1].length);
657
+ const dateString = dayjsDay.format(dateOnlyFormat);
658
+ const timeString = now.format(timeOnlyFormat);
659
+ formattedDate = dateString + timeStartMatch[1] + timeString;
660
+ }
661
+ else {
662
+ // Fallback if no time pattern found
663
+ formattedDate = dayjsDay.format(this.data().dpConfig.format);
664
+ }
665
+ }
562
666
  this.localSelectedDatesSignal.set({
563
- startDate: dayjsDay.format(this.data.dpConfig.format),
667
+ startDate: formattedDate,
564
668
  endDate: null,
565
669
  selectedRangeLabel: this.CUSTOM_RANGE_LABEL
566
670
  });
567
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
568
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
671
+ this.updateCalendarFromSelectedDates();
569
672
  return;
570
673
  }
571
674
  this.selectionStartedSignal.set(false);
675
+ let formattedEndDate = dayjsDay.format(this.data().dpConfig.format);
676
+ // If time is enabled, append current time to the date
677
+ if (this.data().dpConfig.enableTime === true) {
678
+ const now = dayjs();
679
+ // Extract date part from the configured format - handle spaces in date part
680
+ // Look for the pattern where time starts (HH, mm, ss, A, a)
681
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
682
+ if (timeStartMatch) {
683
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
684
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
685
+ const timeOnlyFormat = this.data().dpConfig.format.substring(timeStartIndex + timeStartMatch[1].length);
686
+ const dateString = dayjsDay.format(dateOnlyFormat);
687
+ const timeString = now.format(timeOnlyFormat);
688
+ formattedEndDate = dateString + timeStartMatch[1] + timeString;
689
+ }
690
+ else {
691
+ // Fallback if no time pattern found
692
+ formattedEndDate = dayjsDay.format(this.data().dpConfig.format);
693
+ }
694
+ }
572
695
  this.localSelectedDatesSignal.set({
573
696
  ...this.localSelectedDatesSignal(),
574
- endDate: dayjsDay.format(this.data.dpConfig.format),
697
+ endDate: formattedEndDate,
575
698
  selectedRangeLabel: this.CUSTOM_RANGE_LABEL
576
699
  });
700
+ this.updateCalendarFromSelectedDates();
577
701
  }
578
702
  else {
579
703
  this.selectionStartedSignal.set(true);
704
+ let formattedStartDate = dayjs()
705
+ .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
706
+ .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
707
+ .date(day.date)
708
+ .format(this.data().dpConfig.format);
709
+ // If time is enabled, append current time to the date
710
+ if (this.data().dpConfig.enableTime === true) {
711
+ const now = dayjs();
712
+ // Extract date part from the configured format - handle spaces in date part
713
+ // Look for the pattern where time starts (HH, mm, ss, A, a)
714
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
715
+ if (timeStartMatch) {
716
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
717
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
718
+ const timeOnlyFormat = this.data().dpConfig.format.substring(timeStartIndex + timeStartMatch[1].length);
719
+ const dateString = dayjs()
720
+ .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
721
+ .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
722
+ .date(day.date)
723
+ .format(dateOnlyFormat);
724
+ const timeString = now.format(timeOnlyFormat);
725
+ formattedStartDate = dateString + timeStartMatch[1] + timeString;
726
+ }
727
+ else {
728
+ // Fallback if no time pattern found
729
+ formattedStartDate = dayjs()
730
+ .year(from === "LEFT" ? this.currentYearNumberSignal() : this.nextYearNumberSignal())
731
+ .month(from === "LEFT" ? this.currentMonthNumberSignal() : this.nextMonthNumberSignal())
732
+ .date(day.date)
733
+ .format(this.data().dpConfig.format);
734
+ }
735
+ }
580
736
  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),
737
+ startDate: formattedStartDate,
586
738
  endDate: null,
587
739
  selectedRangeLabel: this.CUSTOM_RANGE_LABEL
588
740
  });
741
+ this.updateCalendarFromSelectedDates();
589
742
  }
590
- this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumber(), this.currentYearNumber()));
591
- this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumber(), this.nextYearNumber()));
592
743
  this.isDatesValidSignal.set(false);
593
744
  if (this.localSelectedDatesSignal().startDate && this.localSelectedDatesSignal().endDate) {
594
745
  this.isDatesValidSignal.set(true);
@@ -603,11 +754,11 @@ class TzDrpContainerComponent {
603
754
  return;
604
755
  let startDate = this.dayjsInstance(item.value[0]);
605
756
  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');
757
+ const startDateStr = startDate.format(this.data().dpConfig.format);
758
+ const endDateStr = endDate.format(this.data().dpConfig.format);
759
+ const isAnyDateDisabled = this.data().datesDisabled.some((date) => this.dayjsInstance(date, this.data().dpConfig.format).isBetween(startDateStr, endDateStr, null, '[]'));
760
+ const minDate = !!this.data().dpConfig.minDate ? this.dayjsInstance(this.data().dpConfig.minDate, this.data().dpConfig.format) : dayjs('invalid');
761
+ const maxDate = !!this.data().dpConfig.maxDate ? this.dayjsInstance(this.data().dpConfig.maxDate, this.data().dpConfig.format) : dayjs('invalid');
611
762
  const isWithinLimits = (!minDate.isValid() || !startDate.isBefore(minDate, "day")) &&
612
763
  (!maxDate.isValid() || !endDate.isAfter(maxDate, "day"));
613
764
  if (!isWithinLimits || isAnyDateDisabled) {
@@ -630,10 +781,10 @@ class TzDrpContainerComponent {
630
781
  endDate: endDateStr,
631
782
  selectedRangeLabel: item.label
632
783
  });
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()));
784
+ this.currentMonthSignal.set(getMonth(this.currentMonthNumberSignal()));
785
+ this.nextMonthSignal.set(getMonth(this.nextMonthNumberSignal()));
786
+ this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
787
+ this.nextMonthDatesSignal.set(this.generateDates(this.nextMonthNumberSignal(), this.nextYearNumberSignal()));
637
788
  this.isDatesValidSignal.set(!!(this.localSelectedDatesSignal().startDate && this.localSelectedDatesSignal().endDate));
638
789
  }
639
790
  resetRange() {
@@ -650,7 +801,7 @@ class TzDrpContainerComponent {
650
801
  }
651
802
  applyDates() {
652
803
  // If time is enabled, append time to the dates before applying
653
- if (this.data.dpConfig.enableTime === true) {
804
+ if (this.data().dpConfig.enableTime === true) {
654
805
  let startTime;
655
806
  let endTime;
656
807
  if (this.is12HourFormat()) {
@@ -662,21 +813,51 @@ class TzDrpContainerComponent {
662
813
  endTime = this.formatTime(this.endHour24(), this.endMinute(), '');
663
814
  }
664
815
  // 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;
816
+ const localDates = this.localSelectedDatesSignal();
817
+ let startDateOnly = localDates.startDate;
818
+ let endDateOnly = localDates.endDate;
819
+ // Only extract date part if the format contains time components
820
+ if (this.data().dpConfig.format.includes('HH') || this.data().dpConfig.format.includes('mm') || this.data().dpConfig.format.includes('A')) {
821
+ // For datetime formats, we need to extract just the date part
822
+ // Try to parse the full string and then format it as date-only for comparison
823
+ if (startDateOnly) {
824
+ const parsedStart = this.parseDateWithMultipleFormats(startDateOnly);
825
+ if (parsedStart.isValid()) {
826
+ // Extract date part by finding the time boundary - handle spaces in date part
827
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
828
+ if (timeStartMatch) {
829
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
830
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
831
+ startDateOnly = parsedStart.format(dateOnlyFormat);
832
+ }
833
+ }
834
+ }
835
+ if (endDateOnly) {
836
+ const parsedEnd = this.parseDateWithMultipleFormats(endDateOnly);
837
+ if (parsedEnd.isValid()) {
838
+ // Extract date part by finding the time boundary - handle spaces in date part
839
+ const timeStartMatch = this.data().dpConfig.format.match(/(\s+)(HH|mm|ss|A|a)/);
840
+ if (timeStartMatch) {
841
+ const timeStartIndex = this.data().dpConfig.format.indexOf(timeStartMatch[0]);
842
+ const dateOnlyFormat = this.data().dpConfig.format.substring(0, timeStartIndex);
843
+ endDateOnly = parsedEnd.format(dateOnlyFormat);
844
+ }
845
+ }
846
+ }
847
+ }
667
848
  const startDateWithTime = startDateOnly + ' ' + startTime;
668
849
  const endDateWithTime = endDateOnly + ' ' + endTime;
669
- this.data.dateChange({
850
+ this.data().dateChange({
670
851
  startDate: startDateWithTime,
671
852
  endDate: endDateWithTime
672
853
  });
673
854
  }
674
855
  else {
675
- this.data.dateChange(this.localSelectedDatesSignal());
856
+ this.data().dateChange(this.localSelectedDatesSignal());
676
857
  }
677
858
  }
678
859
  cancelDatePicker() {
679
- this.data.close();
860
+ this.data().close();
680
861
  }
681
862
  // Time-related methods
682
863
  onStartHourInput() {
@@ -735,7 +916,7 @@ class TzDrpContainerComponent {
735
916
  return minute;
736
917
  }
737
918
  is12HourFormat() {
738
- return this.data.dpConfig.format.includes('A') || this.data.dpConfig.format.includes('a');
919
+ return this.data().dpConfig.format.includes('A') || this.data().dpConfig.format.includes('a');
739
920
  }
740
921
  formatTime(hour, minute, amPm) {
741
922
  if (this.is12HourFormat()) {
@@ -750,7 +931,7 @@ class TzDrpContainerComponent {
750
931
  // Initialize time values from existing selected dates if they contain time
751
932
  let startTimeInitialized = false;
752
933
  let endTimeInitialized = false;
753
- if (this.data.dpConfig.enableTime && this.localSelectedDatesSignal().startDate) {
934
+ if (this.data().dpConfig.enableTime && this.localSelectedDatesSignal().startDate && typeof this.localSelectedDatesSignal().startDate === 'string') {
754
935
  const startDateParts = this.localSelectedDatesSignal().startDate.split(' ');
755
936
  if (startDateParts.length > 1) {
756
937
  const timePart = startDateParts.slice(1).join(' '); // Handle multiple spaces
@@ -758,7 +939,7 @@ class TzDrpContainerComponent {
758
939
  startTimeInitialized = true;
759
940
  }
760
941
  }
761
- if (this.data.dpConfig.enableTime && this.localSelectedDatesSignal().endDate) {
942
+ if (this.data().dpConfig.enableTime && this.localSelectedDatesSignal().endDate && typeof this.localSelectedDatesSignal().endDate === 'string') {
762
943
  const endDateParts = this.localSelectedDatesSignal().endDate.split(' ');
763
944
  if (endDateParts.length > 1) {
764
945
  const timePart = endDateParts.slice(1).join(' '); // Handle multiple spaces
@@ -767,7 +948,7 @@ class TzDrpContainerComponent {
767
948
  }
768
949
  }
769
950
  // If no existing time found, set current time as default
770
- if (this.data.dpConfig.enableTime) {
951
+ if (this.data().dpConfig.enableTime) {
771
952
  if (!startTimeInitialized) {
772
953
  this.setCurrentTimeAsDefault(true);
773
954
  }
@@ -994,9 +1175,10 @@ class TzDrpContainerComponent {
994
1175
  i0.ɵɵtext(38, "Apply");
995
1176
  i0.ɵɵelementEnd()()();
996
1177
  } if (rf & 2) {
1178
+ let tmp_1_0;
997
1179
  i0.ɵɵproperty("cdkTrapFocusAutoCapture", true);
998
1180
  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);
1181
+ 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
1182
  i0.ɵɵadvance(3);
1001
1183
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c0, ctx.isPreviousMonthDisabled()));
1002
1184
  i0.ɵɵadvance(4);
@@ -1016,14 +1198,14 @@ class TzDrpContainerComponent {
1016
1198
  i0.ɵɵadvance(2);
1017
1199
  i0.ɵɵproperty("ngForOf", ctx.nextMonthDates());
1018
1200
  i0.ɵɵadvance();
1019
- i0.ɵɵproperty("ngIf", ctx.data.dpConfig.enableTime === true);
1201
+ i0.ɵɵproperty("ngIf", ctx.data().dpConfig.enableTime === true);
1020
1202
  i0.ɵɵadvance(4);
1021
1203
  i0.ɵɵproperty("disabled", !ctx.isDatesValid());
1022
1204
  } }, 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
1205
  }
1024
1206
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDrpContainerComponent, [{
1025
1207
  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"] }]
1208
+ 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
1209
  }], () => [{ type: undefined, decorators: [{
1028
1210
  type: Inject,
1029
1211
  args: [CONTAINER_DATA]
@@ -1099,16 +1281,19 @@ class TzDaterangepickerDirective {
1099
1281
  backdropClass: "cdk-overlay-transparent-backdrop"
1100
1282
  });
1101
1283
  this.overlayRef = this.overlay.create(config);
1284
+ // Get current values at the time of opening
1285
+ const currentSelectedDates = this.selectedDates();
1286
+ const currentSelectedRangeLabel = this.selectedRangeLabel();
1102
1287
  const tempRef = new ComponentPortal(TzDrpContainerComponent, this.viewContainerRef, Injector.create({
1103
1288
  providers: [
1104
1289
  {
1105
1290
  provide: CONTAINER_DATA,
1106
1291
  useValue: {
1107
1292
  messages: this.dateMessages(),
1108
- dates: this.control?.control.value || this.selectedDates(),
1293
+ dates: currentSelectedDates,
1109
1294
  dpConfig: this.dpConfig(),
1110
1295
  datesDisabled: this.datesDisabled(),
1111
- selectedRangeLabel: this.selectedRangeLabel(),
1296
+ selectedRangeLabel: currentSelectedRangeLabel,
1112
1297
  dateChange: this.applyDate.bind(this),
1113
1298
  close: this.close.bind(this)
1114
1299
  }