@acorex/components 22.1.0-next.8 → 22.1.0

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 (66) hide show
  1. package/fesm2022/acorex-components-alert.mjs +2 -2
  2. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  3. package/fesm2022/acorex-components-audio-wave.mjs +15 -0
  4. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  5. package/fesm2022/acorex-components-calendar.mjs +321 -118
  6. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  7. package/fesm2022/acorex-components-combo-box.mjs +259 -37
  8. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  9. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs +16548 -0
  10. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs.map +1 -0
  11. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +51 -0
  12. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +1 -0
  13. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +85 -0
  14. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +1 -0
  15. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs → acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs} +7 -20
  16. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs.map +1 -0
  17. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs +65 -0
  18. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs.map +1 -0
  19. package/fesm2022/acorex-components-conversation.mjs +1 -17608
  20. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  21. package/fesm2022/acorex-components-data-table.mjs +57 -23
  22. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  23. package/fesm2022/acorex-components-decorators.mjs +2 -2
  24. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  25. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  26. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  27. package/fesm2022/acorex-components-fab.mjs +5 -5
  28. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  29. package/fesm2022/acorex-components-image-editor.mjs +600 -409
  30. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  31. package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
  32. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  33. package/fesm2022/acorex-components-lookup.mjs +1259 -169
  34. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  35. package/fesm2022/acorex-components-menu.mjs +11 -5
  36. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  37. package/fesm2022/acorex-components-notification.mjs +6 -6
  38. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  39. package/fesm2022/acorex-components-popover.mjs +33 -0
  40. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  41. package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
  42. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  43. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  44. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  45. package/fesm2022/acorex-components-select-box.mjs +38 -11
  46. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  47. package/fesm2022/acorex-components-tabs.mjs +2 -2
  48. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  49. package/fesm2022/acorex-components-tree-view.mjs +45 -3
  50. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  51. package/lookup/README.md +19 -8
  52. package/package.json +4 -3
  53. package/types/acorex-components-audio-wave.d.ts +3 -0
  54. package/types/acorex-components-calendar.d.ts +41 -9
  55. package/types/acorex-components-combo-box.d.ts +50 -10
  56. package/types/acorex-components-conversation.d.ts +1232 -1782
  57. package/types/acorex-components-data-table.d.ts +12 -2
  58. package/types/acorex-components-image-editor.d.ts +54 -49
  59. package/types/acorex-components-loading-dialog.d.ts +12 -4
  60. package/types/acorex-components-lookup.d.ts +286 -71
  61. package/types/acorex-components-popover.d.ts +8 -0
  62. package/types/acorex-components-select-box.d.ts +11 -0
  63. package/types/acorex-components-tree-view.d.ts +11 -1
  64. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
  65. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
  66. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map +0 -1
@@ -1,10 +1,9 @@
1
1
  import { AXRangeChangedEvent, AXItemClickEvent, MXBaseComponent, MXValueComponent, MXInteractiveComponent, AXRippleDirective, AXValuableComponent, AXComponent } from '@acorex/cdk/common';
2
2
  import { AXCalendarService, AXDateTimeRange, AXDateTimeModule } from '@acorex/core/date-time';
3
- import * as i2 from '@acorex/core/format';
4
- import { AXFormatService, AXFormatModule } from '@acorex/core/format';
5
3
  import { AXUnsubscriber } from '@acorex/core/utils';
4
+ import { NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
6
5
  import * as i0 from '@angular/core';
7
- import { inject, EventEmitter, Input, Output, Injectable, input, linkedSignal, computed, signal, effect, forwardRef, HostListener, HostBinding, ViewEncapsulation, Component, ViewChild, NgModule } from '@angular/core';
6
+ import { inject, EventEmitter, Input, Output, Injectable, input, linkedSignal, computed, signal, effect, forwardRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ViewChild, NgModule } from '@angular/core';
8
7
  import * as i1 from '@angular/forms';
9
8
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
10
9
  import { classes } from 'polytype';
@@ -12,7 +11,8 @@ import { AXLocaleService } from '@acorex/core/locale';
12
11
  import { AXTranslationService, AXTranslatorPipe } from '@acorex/core/translation';
13
12
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
14
13
  import { AXTooltipDirective } from '@acorex/components/tooltip';
15
- import { isPlatformBrowser, NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
14
+ import * as i2 from '@acorex/core/format';
15
+ import { AXFormatService, AXFormatModule } from '@acorex/core/format';
16
16
 
17
17
  function getCalendarYearBounds(options) {
18
18
  const past = typeof options.yearRange === 'number' ? options.yearRange : options.yearRange.past;
@@ -228,24 +228,32 @@ const CALENDAR_OUTPUTS = [
228
228
  * @category Components
229
229
  */
230
230
  class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {
231
+ weekdayLabel(index) {
232
+ const labelLength = this.localeService.activeProfile().calendar.week.weekdayLabelLength ?? 2;
233
+ const short = this.translateService.translateSync(`@acorex:dateTime.weekdays.short.${index}`);
234
+ const shortChars = [...short];
235
+ if (shortChars.length >= labelLength) {
236
+ return shortChars.slice(0, labelLength).join('');
237
+ }
238
+ const long = this.translateService.translateSync(`@acorex:dateTime.weekdays.long.${index}`);
239
+ return [...long.replace(/\s/g, '')].slice(0, labelLength).join('');
240
+ }
231
241
  get displayRange() {
232
- return this.views.length > 0
233
- ? new AXDateTimeRange(this.views[0]?.range.startTime, this.views[this.views.length - 1]?.range.endTime)
234
- : null;
242
+ if (!this.views.length || !this._viewStartDate) {
243
+ return null;
244
+ }
245
+ if (this.activeView === 'day') {
246
+ const lastMonth = this._viewStartDate.add('month', this.count - 1);
247
+ return new AXDateTimeRange(this._viewStartDate.startOf('month'), lastMonth.endOf('month'));
248
+ }
249
+ return new AXDateTimeRange(this.views[0]?.range.startTime, this.views[this.views.length - 1]?.range.endTime);
235
250
  }
236
251
  #holidayEffect;
237
252
  /**
238
253
  * @ignore
239
254
  */
240
255
  _initValues() {
241
- this._today = this.calendarService.create(new Date(), this.calendar());
242
- }
243
- /**
244
- * Maps a date to a 1-based grid column using the active week layout.
245
- */
246
- _getWeekColumn(date) {
247
- const columnIndex = this.weekLayout().indexOf(date.weekdayIndex);
248
- return columnIndex >= 0 ? columnIndex + 1 : date.dayOfWeek;
256
+ this._today = this.calendarService.create(new Date(), this.calendarSystem());
249
257
  }
250
258
  /**
251
259
  * Defers refresh so explicit `type` input can sync after locale profile changes.
@@ -294,6 +302,9 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
294
302
  this.isRtl = this.localeService.isRtl;
295
303
  this.calendar = linkedSignal(() => this.localeService.activeProfile().calendar.system, /* @ts-ignore */
296
304
  ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
305
+ /** Explicit `type` input wins over the locale profile calendar. */
306
+ this.calendarSystem = computed(() => this.type || this.calendar(), /* @ts-ignore */
307
+ ...(ngDevMode ? [{ debugName: "calendarSystem" }] : /* istanbul ignore next */ []));
297
308
  /** Week column order from the active locale profile (0 = Sun … 6 = Sat). */
298
309
  this.weekLayout = computed(() => {
299
310
  const custom = this.weekdays();
@@ -307,7 +318,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
307
318
  /**
308
319
  * @ignore
309
320
  */
310
- this._today = this.calendarService.create(new Date(), this.calendar());
321
+ this._today = this.calendarService.create(new Date(), this.calendarSystem());
311
322
  /**
312
323
  * @ignore
313
324
  */
@@ -355,7 +366,9 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
355
366
  const rangeKey = this._viewRangeKey();
356
367
  if (!func || !rangeKey || !this._viewStartDate)
357
368
  return;
358
- const displayRange = this._setDisplayRange(this._viewStartDate);
369
+ const displayRange = this.activeView === 'day'
370
+ ? this._getDayGridRange(this._viewStartDate.startOf('month')).range
371
+ : this._setDisplayRange(this._viewStartDate);
359
372
  const loadRange = {
360
373
  from: displayRange.startTime.date,
361
374
  end: displayRange.endTime.date,
@@ -388,7 +401,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
388
401
  });
389
402
  this.minValueChange.subscribe((e) => {
390
403
  if (this._viewStartDate.isBefore(e)) {
391
- this._viewStartDate = this.calendarService.create(e, this.calendar());
404
+ this._viewStartDate = this.calendarService.create(e, this.calendarSystem());
392
405
  this.render();
393
406
  }
394
407
  });
@@ -407,7 +420,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
407
420
  this.navTo(this.value);
408
421
  }
409
422
  else if (this.minValue) {
410
- const min = this.calendarService.create(this.minValue, this.calendar());
423
+ const min = this.calendarService.create(this.minValue, this.calendarSystem());
411
424
  this.navTo(this._today.isBefore(min) ? this.minValue : this._today);
412
425
  }
413
426
  else {
@@ -458,20 +471,18 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
458
471
  _updateSelectOptions() {
459
472
  if (!this._viewStartDate)
460
473
  return;
461
- this._monthOptions = Array.from({ length: 12 }, (_, i) => {
462
- const date = this._viewStartDate.set('month', i + 1);
463
- return {
464
- id: i + 1,
465
- text: `@acorex:${this.getMonthName(date, 'short')}`,
466
- };
467
- });
474
+ const calendarName = this.calendarSystem();
475
+ this._monthOptions = Array.from({ length: 12 }, (_, i) => ({
476
+ id: i + 1,
477
+ text: this.monthLabel(calendarName, i),
478
+ }));
468
479
  const referenceYear = this._today.year;
469
480
  const { minYear, maxYear } = getCalendarYearBounds({
470
481
  referenceYear,
471
482
  yearRange: this.yearRange(),
472
483
  minValue: this.minValue,
473
484
  maxValue: this.maxValue,
474
- getYear: (date) => this.calendarService.create(date, this.calendar()).year,
485
+ getYear: (date) => this.calendarService.create(date, this.calendarSystem()).year,
475
486
  });
476
487
  this._yearOptions = [];
477
488
  for (let year = minYear; year <= maxYear; year++) {
@@ -481,13 +492,18 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
481
492
  const yearId = this._viewStartDate.year;
482
493
  this._selectedMonthOption = this._monthOptions.find((month) => month.id === monthId) ?? {
483
494
  id: monthId,
484
- text: `@acorex:${this.getMonthName(this._viewStartDate, 'short')}`,
495
+ text: this.monthLabel(calendarName, monthId - 1),
485
496
  };
486
497
  this._selectedYearOption = this._yearOptions.find((year) => year.id === yearId) ?? {
487
498
  id: yearId,
488
499
  text: String(yearId),
489
500
  };
490
501
  }
502
+ _createMonthDate(year, month, day) {
503
+ const monthStart = this.calendarService.create({ year, month, day: 1 }, this.calendar());
504
+ const safeDay = Math.min(day, monthStart.endOf('month').dayOfMonth);
505
+ return this.calendarService.create({ year, month, day: safeDay }, this.calendar());
506
+ }
491
507
  /**
492
508
  * @ignore
493
509
  */
@@ -498,7 +514,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
498
514
  if (month == null)
499
515
  return;
500
516
  this._navUserInteraction = true;
501
- this.navTo(this._viewStartDate.set('month', month));
517
+ this.navTo(this._createMonthDate(this._viewStartDate.year, month, this._viewStartDate.dayOfMonth));
502
518
  this._navUserInteraction = false;
503
519
  }
504
520
  /**
@@ -525,6 +541,21 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
525
541
  return val.id ?? null;
526
542
  return val != null ? Number(val) : null;
527
543
  }
544
+ /**
545
+ * Builds the day grid for a single month (no leading/trailing days from adjacent months).
546
+ */
547
+ _getDayGridRange(current) {
548
+ const monthStart = current.startOf('month');
549
+ const monthEnd = current.endOf('month');
550
+ const daysInMonth = monthEnd.dayOfMonth;
551
+ const startsOn = this.localeService.activeProfile().calendar.week.startsOn;
552
+ const firstDayOffset = (monthStart.weekdayIndex - startsOn + 7) % 7;
553
+ const weekCount = Math.ceil((firstDayOffset + daysInMonth) / 7);
554
+ return {
555
+ range: new AXDateTimeRange(monthStart, monthEnd),
556
+ weekCount,
557
+ };
558
+ }
528
559
  /**
529
560
  * @ignore
530
561
  */
@@ -538,11 +569,11 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
538
569
  year: min,
539
570
  month: 1,
540
571
  day: 1,
541
- }, this.calendar()), this.calendarService.create({
572
+ }, this.calendarSystem()), this.calendarService.create({
542
573
  year: max,
543
574
  month: 12,
544
575
  day: 28,
545
- }, this.calendar()));
576
+ }, this.calendarSystem()));
546
577
  }
547
578
  case 'month':
548
579
  return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));
@@ -554,14 +585,18 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
554
585
  * @ignore
555
586
  */
556
587
  dayView(i, applyCellClass) {
557
- const current = this._viewStartDate.add('month', i);
588
+ const monthAnchor = this._viewStartDate.startOf('month').add('month', i);
589
+ const monthStart = monthAnchor;
590
+ const { range, weekCount } = this._getDayGridRange(monthAnchor);
558
591
  const view = {
559
- range: this._setDisplayRange(current),
592
+ range,
560
593
  slots: [],
594
+ weekCount,
561
595
  };
562
596
  this.views.push(view);
597
+ const startsOn = this.localeService.activeProfile().calendar.week.startsOn;
563
598
  const a = view.range.enumerate('day');
564
- view.slots = a.map((d, i) => {
599
+ view.slots = a.map((d) => {
565
600
  let selected = false;
566
601
  if (this.depth === 'day') {
567
602
  selected = this.value && d.equal(this.value, 'day');
@@ -603,6 +638,10 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
603
638
  'ax-state-holiday': r.holiday,
604
639
  // 'ax-state-focused': focused,
605
640
  };
641
+ if (d.compare(monthStart, 'day') === 0) {
642
+ const columnStart = ((d.weekdayIndex - startsOn + 7) % 7) + 1;
643
+ r.cssClass[`ax-column-start-${columnStart}`] = true;
644
+ }
606
645
  if (holidayInfo?.cssClass) {
607
646
  holidayInfo.cssClass.split(' ').forEach((c) => {
608
647
  if (c)
@@ -610,8 +649,6 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
610
649
  });
611
650
  }
612
651
  }
613
- // ax-column-start-1 … ax-column-start-7 (first day of month grid offset)
614
- r.cssClass[`ax-column-start-${this._getWeekColumn(view.range.startTime)}`] = i == 0;
615
652
  if (this.cellClass)
616
653
  applyCellClass(r);
617
654
  return r;
@@ -733,7 +770,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
733
770
  }
734
771
  else if (this.activeView == 'month' && this.depth == 'day') {
735
772
  this.activeView = 'day';
736
- this._footPrint.month = this.calendarService.create(slot.date.date, this.calendar()).monthOfYear;
773
+ this._footPrint.month = this.calendarService.create(slot.date.date, this.calendarSystem()).monthOfYear;
737
774
  this.navTo(slot.date);
738
775
  }
739
776
  else if (this.activeView == 'month' && this.depth == 'month') {
@@ -741,7 +778,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
741
778
  }
742
779
  else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {
743
780
  this.activeView = 'month';
744
- this._footPrint.year = this.calendarService.create(slot.date.date, this.calendar()).year;
781
+ this._footPrint.year = this.calendarService.create(slot.date.date, this.calendarSystem()).year;
745
782
  this.navTo(slot.date);
746
783
  }
747
784
  else if (this.activeView == 'year' && this.depth == 'year') {
@@ -786,7 +823,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
786
823
  if (!value || !this.calendarService.isValidDate(value)) {
787
824
  return null;
788
825
  }
789
- const v = this.calendarService.convert(value, this.calendar());
826
+ const v = this.calendarService.convert(value, this.calendarSystem());
790
827
  if (this.isDisabled(v)) {
791
828
  return null;
792
829
  }
@@ -802,36 +839,26 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
802
839
  * @ignore
803
840
  */
804
841
  internalValueChanged(value) {
805
- const val = this.calendarService.create(value, this.calendar());
842
+ const val = this.calendarService.create(value, this.calendarSystem());
843
+ let viewChanged = false;
806
844
  if (!this._viewStartDate ||
807
845
  val.compare(this.displayRange?.startTime, this.activeView) == -1 ||
808
846
  val.compare(this.displayRange?.endTime, this.activeView) == 1) {
809
- this._viewStartDate = this.calendarService.create(value, this.calendar());
847
+ this._viewStartDate = this.calendarService.create(value, this.calendarSystem());
810
848
  if (this.minValue && this._viewStartDate.isBefore(this.minValue)) {
811
- this._viewStartDate = this.calendarService.create(this.minValue, this.calendar());
849
+ this._viewStartDate = this.calendarService.create(this.minValue, this.calendarSystem());
812
850
  }
851
+ viewChanged = true;
813
852
  }
814
853
  this._footPrint.year = val.year;
815
854
  this._footPrint.month = val.monthOfYear;
816
855
  this._footPrint.day = val.dayOfMonth;
817
- if (isPlatformBrowser(this.platformID)) {
818
- const calendarSlots = Array.from(this.getHostElement().querySelectorAll('.ax-calendar-slot'));
819
- const selectedSlot = this.getHostElement().querySelector('.ax-state-selected');
820
- if (selectedSlot) {
821
- selectedSlot.classList.remove('ax-state-selected');
822
- }
823
- else {
824
- this.render();
825
- }
826
- calendarSlots.forEach((element) => {
827
- element = element;
828
- if (element.textContent == this._footPrint.day) {
829
- element.classList.add('ax-state-selected');
830
- }
831
- });
832
- }
833
- const oldVal = this.oldValue() ? this.calendarService.create(this.oldValue(), this.calendar()) : null;
834
- if (!oldVal || oldVal.monthOfYear !== val.monthOfYear || oldVal.year !== val.year) {
856
+ const oldVal = this.oldValue() ? this.calendarService.create(this.oldValue(), this.calendarSystem()) : null;
857
+ if (viewChanged ||
858
+ !oldVal ||
859
+ oldVal.monthOfYear !== val.monthOfYear ||
860
+ oldVal.year !== val.year ||
861
+ oldVal.dayOfMonth !== val.dayOfMonth) {
835
862
  this.render();
836
863
  }
837
864
  this.oldValue.set(value);
@@ -908,7 +935,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
908
935
  * @returns void
909
936
  */
910
937
  navTo(date) {
911
- const val = this.calendarService.convert(date, this.calendar());
938
+ const val = this.calendarService.convert(date, this.calendarSystem());
912
939
  this._viewStartDate = val.startOf();
913
940
  this.render();
914
941
  //to make sure its rendred and displayRange is not null
@@ -943,7 +970,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
943
970
  _setDate(value) {
944
971
  if (this.readonly || this.disabled)
945
972
  return;
946
- this.commitValue(this.calendarService.convert(value, this.calendar()).startOf().date, true);
973
+ this.commitValue(this.calendarService.convert(value, this.calendarSystem()).startOf().date, true);
947
974
  }
948
975
  /**
949
976
  * @ignore
@@ -987,7 +1014,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
987
1014
  if (this.weekend().length) {
988
1015
  return this.weekend().includes(date.weekdayIndex);
989
1016
  }
990
- const weekend = this.calendarService.resolveCalendar(this.calendar()).weekend;
1017
+ const weekend = this.calendarService.resolveCalendar(this.calendarSystem()).weekend;
991
1018
  return weekend.includes(date.weekdayIndex);
992
1019
  }
993
1020
  /**
@@ -1001,7 +1028,8 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
1001
1028
  };
1002
1029
  if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {
1003
1030
  if (e.ctrlKey) {
1004
- e.code === 'ArrowRight' ? this.next() : this.prev();
1031
+ const moveForward = this.isRtl() ? e.code === 'ArrowLeft' : e.code === 'ArrowRight';
1032
+ moveForward ? this.next() : this.prev();
1005
1033
  setTimeout(() => {
1006
1034
  this.focus();
1007
1035
  }, 50);
@@ -1022,7 +1050,33 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
1022
1050
  * @ignore
1023
1051
  */
1024
1052
  getMonthName(date, style) {
1025
- return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;
1053
+ const system = this.calendarSystem();
1054
+ const monthIndex = this.calendarService.create(date.date, system).monthOfYear - 1;
1055
+ return this.monthLabel(system, monthIndex, style);
1056
+ }
1057
+ monthLabel(system, monthIndex0, style = 'short') {
1058
+ const key = `dateTime.months.${system}.${style}.${monthIndex0}`;
1059
+ const translated = this.translateService.translateSync(key);
1060
+ if (translated && translated !== key && !translated.startsWith('dateTime.months.')) {
1061
+ return translated;
1062
+ }
1063
+ return this.fallbackMonthName(system, monthIndex0, style);
1064
+ }
1065
+ fallbackMonthName(system, monthIndex0, style) {
1066
+ try {
1067
+ const locale = this.localeService.activeProfile().localeInfo.code;
1068
+ const intlCalendar = system === 'solar-hijri' ? 'persian' : 'gregory';
1069
+ const date = system === 'solar-hijri'
1070
+ ? this.calendarService.create({ year: 1400, month: monthIndex0 + 1, day: 15 }, system).date
1071
+ : new Date(2000, monthIndex0, 15);
1072
+ return new Intl.DateTimeFormat(locale, {
1073
+ month: style,
1074
+ calendar: intlCalendar,
1075
+ }).format(date);
1076
+ }
1077
+ catch {
1078
+ return String(monthIndex0 + 1);
1079
+ }
1026
1080
  }
1027
1081
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1028
1082
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXCalendarComponent, isStandalone: true, selector: "ax-calendar", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, yearRange: { classPropertyName: "yearRange", publicName: "yearRange", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", minValueChange: "minValueChange", maxValueChange: "maxValueChange", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", countChange: "countChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
@@ -1037,11 +1091,11 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
1037
1091
  },
1038
1092
  AXUnsubscriber,
1039
1093
  { provide: AXComponent, useExisting: AXCalendarComponent },
1040
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"110\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"72\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties;html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}@layer components{ax-calendar{display:block;width:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:50%}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 1);padding-top:calc(var(--spacing, .25rem) * 1)}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body{display:flex;flex-direction:column;align-items:center;justify-content:center}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing, .25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:calc(var(--spacing, .25rem) * 1);padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-holiday){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color: rgba(var(--ax-sys-color-primary-surface));--tw-outline-style: none;outline-style:none}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color: color-mix(in srgb, #000 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in oklab, var(--color-black, #000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in srgb, #fff 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in oklab, var(--color-white, #fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:50%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:70%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:5%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow: inset 0 0 0 2px var(--tw-inset-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color: rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color: rgba(var(--ax-sys-color-danger-600)) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color: var(--ax-calendar-holiday-color) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):hover:not(.ax-state-disabled,.ax-state-selected){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color{color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){color:var(--ax-calendar-holiday-color)!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .75rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav{display:grid;align-items:center;gap:calc(var(--spacing, .25rem) * 1);grid-template-columns:auto 1fr auto}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-icon{font-size:.875rem}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-prev{justify-self:start}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-center{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{display:inline-block;width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{width:auto;justify-content:flex-start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset}ax-calendar .ax-calendar-footer{display:flex;align-items:center;justify-content:center;margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar .ax-calendar-footer .ax-today-button{display:block;width:100%;cursor:pointer;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style: none;border-style:none}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
1094
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-frame\">\n <ng-content select=\"ax-header\"></ng-content>\n <div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendarSystem(), format: 'MMMM YYYY' } | async\">\n {{ getMonthName(slot.date, 'short') }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"50\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"40\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-header-info ax-calendar-day-nav-center\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'MMMM' } | async }}\n </button>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ weekdayLabel(d) }}</div>\n }\n </div>\n\n <div\n class=\"ax-calendar-slots ax-calendar-slots-day\"\n [ngClass]=\"{ 'ax-default': !dayCellTemplate }\"\n [style.--ax-calendar-day-rows]=\"v.weekCount ?? 5\"\n >\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendarSystem(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n\n</div>", styles: ["@layer properties;@layer components{ax-calendar{margin-inline:auto;display:block;width:100%;max-width:100%}@media(min-width:48rem){ax-calendar{width:calc(var(--spacing, .25rem) * 65)}}ax-calendar .ax-calendar-frame{box-sizing:border-box;width:100%;overflow:hidden;border-radius:14px;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-calendar .ax-calendar-frame>ax-header{flex-shrink:0}ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer{margin-inline:calc(var(--spacing, .25rem) * -2);box-sizing:border-box;display:flex;width:calc(100% + 1rem);flex-shrink:0;align-items:center;justify-content:center;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-top:calc(var(--spacing, .25rem) * 2);margin-top:var(--ax-comp-calendar-footer-margin-t)}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button{display:block;width:100%;cursor:pointer;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-disabled{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface));opacity:var(--ax-comp-calendar-slot-disabled-opacity);background-color:transparent}@supports (color: color-mix(in lab,red,red)){:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-disabled{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:is(:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:is(:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:focus,:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled{cursor:not-allowed}ax-calendar.ax-state-disabled .ax-calendar-header,ax-calendar.ax-state-disabled .ax-calendar-view-header,ax-calendar.ax-state-disabled .ax-calendar-week{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar.ax-state-disabled .ax-calendar-header,ax-calendar.ax-state-disabled .ax-calendar-view-header,ax-calendar.ax-state-disabled .ax-calendar-week{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed}ax-calendar.ax-state-disabled ax-select-box.ax-calendar-month-select,ax-calendar.ax-state-disabled ax-select-box.ax-calendar-year-select{pointer-events:none;cursor:not-allowed;opacity:40%}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 1);padding-top:calc(var(--spacing, .25rem) * 1)}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body{display:flex;width:100%;flex-direction:column;align-items:stretch;justify-content:center}ax-calendar .ax-calendar-body>div{width:100%}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:calc(var(--spacing, .25rem) * 0);padding:calc(var(--spacing, .25rem) * 2)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: rgba(var(--ax-sys-color-light-surface));--tw-outline-style: none;outline-style:none}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: color-mix(in oklab, rgba(var(--ax-sys-color-light-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in srgb, #000 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in oklab, var(--color-black, #000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in srgb, #fff 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in oklab, var(--color-white, #fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface));opacity:1;background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:hover,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:focus-visible{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:hover,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:focus-visible{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-today,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday.ax-has-holiday-color{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-today,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday.ax-has-holiday-color{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:70%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:50%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-state-today{opacity:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-light-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-light-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{background-color:var(--color-darkest);color:var(--color-on-darkest);border-color:var(--color-border-darkest)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-light-surface))!important;--tw-inset-ring-color: rgba(var(--ax-sys-color-secondary-600)) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color: var(--ax-calendar-holiday-color) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-secondary-50))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-secondary-50))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color):hover:not(.ax-state-disabled){background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color):hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color) .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{column-gap:calc(var(--spacing, .25rem) * 0);row-gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--ax-calendar-day-rows, 5),minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .5rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav{display:grid;align-items:center;gap:calc(var(--spacing, .25rem) * 1);grid-template-columns:auto 1fr auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-icon{font-size:.875rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-prev{justify-self:start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-center{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{display:inline-block;height:calc(var(--spacing, .25rem) * 5);width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface))}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{width:auto;justify-content:flex-start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset}}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}.ax-calendar-picker ax-calendar .ax-calendar-frame{width:100%}.ax-calendar-picker ax-picker{flex:1}ax-datetime-picker ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}ax-datetime-picker ax-calendar .ax-calendar-frame{width:100%}.ax-overlay-pane ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}.ax-overlay-pane ax-calendar .ax-calendar-frame{width:100%;border-radius:0;--tw-border-style: none;border-style:none;padding:calc(var(--spacing, .25rem) * 0);background:transparent}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1041
1095
  }
1042
1096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCalendarComponent, decorators: [{
1043
1097
  type: Component,
1044
- args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, inputs: [
1098
+ args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: [
1045
1099
  'rtl',
1046
1100
  'readonly',
1047
1101
  'value',
@@ -1101,7 +1155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
1101
1155
  AXSelectBoxComponent,
1102
1156
  FormsModule,
1103
1157
  AXTooltipDirective,
1104
- ], template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"110\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"72\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties;html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}@layer components{ax-calendar{display:block;width:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:50%}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 1);padding-top:calc(var(--spacing, .25rem) * 1)}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body{display:flex;flex-direction:column;align-items:center;justify-content:center}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing, .25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:calc(var(--spacing, .25rem) * 1);padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-holiday){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color: rgba(var(--ax-sys-color-primary-surface));--tw-outline-style: none;outline-style:none}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color: color-mix(in srgb, #000 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in oklab, var(--color-black, #000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in srgb, #fff 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in oklab, var(--color-white, #fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:50%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:70%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:5%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow: inset 0 0 0 2px var(--tw-inset-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color: rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color: rgba(var(--ax-sys-color-danger-600)) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color: var(--ax-calendar-holiday-color) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):hover:not(.ax-state-disabled,.ax-state-selected){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color{color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){color:var(--ax-calendar-holiday-color)!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .75rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav{display:grid;align-items:center;gap:calc(var(--spacing, .25rem) * 1);grid-template-columns:auto 1fr auto}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-icon{font-size:.875rem}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-prev{justify-self:start}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-center{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{display:inline-block;width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{width:auto;justify-content:flex-start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset}ax-calendar .ax-calendar-footer{display:flex;align-items:center;justify-content:center;margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar .ax-calendar-footer .ax-today-button{display:block;width:100%;cursor:pointer;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style: none;border-style:none}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1158
+ ], template: "<div class=\"ax-calendar-frame\">\n <ng-content select=\"ax-header\"></ng-content>\n <div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendarSystem(), format: 'MMMM YYYY' } | async\">\n {{ getMonthName(slot.date, 'short') }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"50\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [isItemTruncated]=\"false\"\n dropdownWidth=\"40\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-header-info ax-calendar-day-nav-center\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendarSystem(), format: 'MMMM' } | async }}\n </button>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ weekdayLabel(d) }}</div>\n }\n </div>\n\n <div\n class=\"ax-calendar-slots ax-calendar-slots-day\"\n [ngClass]=\"{ 'ax-default': !dayCellTemplate }\"\n [style.--ax-calendar-day-rows]=\"v.weekCount ?? 5\"\n >\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendarSystem(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n\n</div>", styles: ["@layer properties;@layer components{ax-calendar{margin-inline:auto;display:block;width:100%;max-width:100%}@media(min-width:48rem){ax-calendar{width:calc(var(--spacing, .25rem) * 65)}}ax-calendar .ax-calendar-frame{box-sizing:border-box;width:100%;overflow:hidden;border-radius:14px;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-calendar .ax-calendar-frame>ax-header{flex-shrink:0}ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer{margin-inline:calc(var(--spacing, .25rem) * -2);box-sizing:border-box;display:flex;width:calc(100% + 1rem);flex-shrink:0;align-items:center;justify-content:center;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-top:calc(var(--spacing, .25rem) * 2);margin-top:var(--ax-comp-calendar-footer-margin-t)}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button{display:block;width:100%;cursor:pointer;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-disabled{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface));opacity:var(--ax-comp-calendar-slot-disabled-opacity);background-color:transparent}@supports (color: color-mix(in lab,red,red)){:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-disabled{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:is(:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:is(:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:focus,:is(ax-calendar .ax-calendar-frame>ax-footer,ax-calendar .ax-calendar-frame .ax-calendar-footer) .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled{cursor:not-allowed}ax-calendar.ax-state-disabled .ax-calendar-header,ax-calendar.ax-state-disabled .ax-calendar-view-header,ax-calendar.ax-state-disabled .ax-calendar-week{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar.ax-state-disabled .ax-calendar-header,ax-calendar.ax-state-disabled .ax-calendar-view-header,ax-calendar.ax-state-disabled .ax-calendar-week{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed}ax-calendar.ax-state-disabled ax-select-box.ax-calendar-month-select,ax-calendar.ax-state-disabled ax-select-box.ax-calendar-year-select{pointer-events:none;cursor:not-allowed;opacity:40%}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 1);padding-top:calc(var(--spacing, .25rem) * 1)}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body{display:flex;width:100%;flex-direction:column;align-items:stretch;justify-content:center}ax-calendar .ax-calendar-body>div{width:100%}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 4)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex;align-items:center}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:calc(var(--spacing, .25rem) * 0);padding:calc(var(--spacing, .25rem) * 2)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: rgba(var(--ax-sys-color-light-surface));--tw-outline-style: none;outline-style:none}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color: color-mix(in oklab, rgba(var(--ax-sys-color-light-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in srgb, #000 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color: color-mix(in oklab, var(--color-black, #000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in srgb, #fff 30%, transparent)}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){--tw-ring-color: color-mix(in oklab, var(--color-white, #fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface));opacity:1;background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:hover,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:focus-visible{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:hover,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled:focus-visible{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-today,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday.ax-has-holiday-color{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-today,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled.ax-state-holiday.ax-has-holiday-color{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:70%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:50%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-state-today{opacity:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-light-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-light-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{background-color:var(--color-darkest);color:var(--color-on-darkest);border-color:var(--color-border-darkest)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-light-surface))!important;--tw-inset-ring-color: rgba(var(--ax-sys-color-secondary-600)) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color: var(--ax-calendar-holiday-color) !important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-secondary-50))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-secondary-50))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){color:var(--ax-calendar-holiday-color)!important}.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color):hover:not(.ax-state-disabled){background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color):hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color) .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){.ax-dark :is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}@supports (color: color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{column-gap:calc(var(--spacing, .25rem) * 0);row-gap:calc(var(--spacing, .25rem) * 2);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--ax-calendar-day-rows, 5),minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .5rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav{display:grid;align-items:center;gap:calc(var(--spacing, .25rem) * 1);grid-template-columns:auto 1fr auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-icon{font-size:.875rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-prev{justify-self:start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-center{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav,ax-calendar.ax-look-classic .ax-calendar-view-header.ax-calendar-day-nav) .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{display:inline-block;height:calc(var(--spacing, .25rem) * 5);width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface))}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{width:auto;justify-content:flex-start}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{width:auto;flex-shrink:0;flex-grow:0;flex-basis:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset}}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}.ax-calendar-picker ax-calendar .ax-calendar-frame{width:100%}.ax-calendar-picker ax-picker{flex:1}ax-datetime-picker ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}ax-datetime-picker ax-calendar .ax-calendar-frame{width:100%}.ax-overlay-pane ax-calendar{margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%}.ax-overlay-pane ax-calendar .ax-calendar-frame{width:100%;border-radius:0;--tw-border-style: none;border-style:none;padding:calc(var(--spacing, .25rem) * 0);background:transparent}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1105
1159
  }], ctorParameters: () => [], propDecorators: { weekend: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekend", required: false }] }], weekdays: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekdays", required: false }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], yearRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "yearRange", required: false }] }], holidays: [{ type: i0.Input, args: [{ isSignal: true, alias: "holidays", required: false }] }], __hostClass: [{
1106
1160
  type: HostBinding,
1107
1161
  args: ['class']
@@ -1116,8 +1170,8 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1116
1170
  */
1117
1171
  constructor() {
1118
1172
  super();
1119
- this.formatService = inject(AXFormatService);
1120
1173
  this.unsubscriber = inject(AXUnsubscriber);
1174
+ this.isRtl = this.localeService.isRtl;
1121
1175
  this.calendar = linkedSignal(() => this.localeService.activeProfile().calendar.system, /* @ts-ignore */
1122
1176
  ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
1123
1177
  /**
@@ -1134,53 +1188,130 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1134
1188
  * @ignore
1135
1189
  */
1136
1190
  this._calendarService = inject(AXCalendarService);
1137
- this._navText = '';
1191
+ this._navText1 = '';
1192
+ this._navText2 = '';
1138
1193
  /**
1139
1194
  * @ignore
1140
1195
  */
1141
1196
  this._navUserInteraction = false;
1142
- /** w
1197
+ /**
1143
1198
  * @ignore
1144
1199
  */
1145
1200
  this.getCellClass = (date) => {
1146
- //const d = this._calendarService.create(date, this.type);
1147
- // check from value
1148
1201
  if (!this._calendarService.isValidDate(this.value.from)) {
1149
1202
  return null;
1150
1203
  }
1151
- const from = this._calendarService.create(this.value.from, this.type);
1152
- if (this.value.from && date.equal(from, 'day')) {
1153
- return 'ax-range-start';
1204
+ const calendar = this.calendar();
1205
+ const from = this._calendarService.create(this.value.from, calendar).startOf('day');
1206
+ const hasEnd = this._calendarService.isValidDate(this.value.end);
1207
+ const end = hasEnd ? this._calendarService.create(this.value.end, calendar).startOf('day') : null;
1208
+ const dateDay = date.startOf('day');
1209
+ const dateMs = dateDay.date.getTime();
1210
+ const fromMs = from.date.getTime();
1211
+ const endMs = end?.date.getTime();
1212
+ let rangeClass = null;
1213
+ if (dateMs === fromMs) {
1214
+ rangeClass = 'ax-range-start';
1215
+ }
1216
+ else if (endMs != null && dateMs === endMs) {
1217
+ rangeClass = 'ax-range-end';
1218
+ }
1219
+ else if (endMs != null && dateMs > fromMs && dateMs < endMs) {
1220
+ rangeClass = 'ax-range-between';
1154
1221
  }
1155
- // check end value
1156
- if (!this._calendarService.isValidDate(this.value.end)) {
1222
+ if (!rangeClass) {
1157
1223
  return null;
1158
1224
  }
1159
- const end = this._calendarService.create(this.value.end, this.type);
1160
- if (this.value.end && date.equal(end, 'day'))
1161
- return 'ax-range-end';
1162
- if (this.value.from && this.value.end && date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0)
1163
- return 'ax-range-between';
1164
- return null;
1225
+ if (!hasEnd || !end) {
1226
+ return rangeClass;
1227
+ }
1228
+ const weekStart = this.localeService.activeProfile().calendar.week.startsOn;
1229
+ const weekEnd = (weekStart + 6) % 7;
1230
+ const classes = [rangeClass];
1231
+ if (rangeClass !== 'ax-range-start' && date.weekdayIndex !== weekStart) {
1232
+ classes.push('ax-range-continue-start');
1233
+ }
1234
+ if (rangeClass !== 'ax-range-end') {
1235
+ const nextDay = date.add('day', 1);
1236
+ const continuesToNextDay = date.weekdayIndex !== weekEnd && nextDay.compare(from, 'day') >= 0 && nextDay.compare(end, 'day') <= 0;
1237
+ if (continuesToNextDay) {
1238
+ classes.push('ax-range-continue-end');
1239
+ }
1240
+ }
1241
+ return classes.join(' ');
1165
1242
  };
1166
1243
  this.defaultValue = { from: null, end: null };
1167
1244
  this.calendarService.calendarChanges$.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {
1168
1245
  this._refreshCalendars();
1169
1246
  });
1247
+ let previousCalendar = this.localeService.activeProfile().calendar.system;
1170
1248
  this.localeService.profileChanged$.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {
1249
+ const nextCalendar = this.localeService.activeProfile().calendar.system;
1250
+ if (previousCalendar !== nextCalendar &&
1251
+ (this._calendarService.isValidDate(this.value?.from) || this._calendarService.isValidDate(this.value?.end))) {
1252
+ this.commitValue({ from: null, end: null });
1253
+ }
1254
+ previousCalendar = nextCalendar;
1171
1255
  this._refreshCalendars();
1172
1256
  });
1173
1257
  this.typeChange.pipe(this.unsubscriber.takeUntilDestroy).subscribe((value) => {
1174
1258
  this.calendar.set(value);
1175
1259
  this._refreshCalendars();
1176
1260
  });
1261
+ this.translateService.langChanges$.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {
1262
+ this._scheduleNavTextSync();
1263
+ });
1177
1264
  }
1178
1265
  /**
1179
1266
  * @ignore
1180
1267
  */
1181
1268
  _refreshCalendars() {
1182
- this._c1?.render();
1183
- this._c2?.render();
1269
+ // Defer until embedded calendars finish their own locale/calendar refresh microtasks.
1270
+ queueMicrotask(() => {
1271
+ queueMicrotask(() => {
1272
+ this._ensureCalendarsReady();
1273
+ this._syncNav1();
1274
+ this.cdr.markForCheck();
1275
+ });
1276
+ });
1277
+ }
1278
+ /**
1279
+ * @ignore
1280
+ */
1281
+ _scheduleNavTextSync() {
1282
+ queueMicrotask(() => {
1283
+ this._syncNavText();
1284
+ this.cdr.markForCheck();
1285
+ });
1286
+ }
1287
+ /**
1288
+ * @ignore
1289
+ */
1290
+ _ensureCalendarsReady() {
1291
+ const today = this._calendarService.now(this.calendar());
1292
+ if (!this._c1?.displayRange) {
1293
+ this._c1?.navTo(today);
1294
+ }
1295
+ else {
1296
+ this._c1?.render();
1297
+ }
1298
+ if (!this._c2?.displayRange) {
1299
+ const range = this._c1?.displayRange;
1300
+ if (!range) {
1301
+ return;
1302
+ }
1303
+ const monthStart = range.startTime.startOf('month');
1304
+ const view = this._c1.activeView;
1305
+ if (view === 'day') {
1306
+ this._c2?.navTo(monthStart.add('month', 1));
1307
+ }
1308
+ else if (view === 'month') {
1309
+ this._c2?.navTo(monthStart.add('year', 1));
1310
+ }
1311
+ else if (view === 'year') {
1312
+ this._c2?.navTo(range.endTime.add('year', 4));
1313
+ }
1314
+ }
1184
1315
  }
1185
1316
  /**
1186
1317
  * @ignore
@@ -1195,11 +1326,14 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1195
1326
  * @ignore
1196
1327
  */
1197
1328
  ngAfterViewInit() {
1198
- this._syncNav1();
1329
+ queueMicrotask(() => {
1330
+ this._c1?.render();
1331
+ this._syncNav1();
1332
+ });
1199
1333
  }
1200
1334
  internalValueChanged(value) {
1201
1335
  this._c1.render();
1202
- this._c2.render();
1336
+ this._syncNav1();
1203
1337
  }
1204
1338
  /**
1205
1339
  * @ignore
@@ -1211,27 +1345,38 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1211
1345
  isUserInteraction: true,
1212
1346
  nativeEvent: e,
1213
1347
  });
1214
- if (this._c1.activeView == this.depth) {
1215
- if (!this.value.from || (this.value.from && this.value.end)) {
1216
- this.commitValue({ from: e.item, end: null }, true);
1217
- }
1218
- if (this.value.from && e.item <= this.value.from) {
1219
- this.commitValue({ from: e.item, end: this.value.end }, true);
1348
+ if (this._c1.activeView !== this.depth) {
1349
+ if (e.component === this._c1) {
1350
+ this._syncNav1();
1220
1351
  }
1221
- else if (this.value.from && !this.value.end) {
1222
- this.commitValue({ from: this.value.from, end: e.item }, true);
1352
+ if (e.component === this._c2) {
1353
+ this._syncNav2(this._calendarService.create(e.item, this.calendar()));
1223
1354
  }
1355
+ this._c1.render();
1356
+ this._syncNav1();
1357
+ return;
1358
+ }
1359
+ const calendar = this.calendar();
1360
+ const clicked = this._calendarService.create(e.item, calendar).startOf('day');
1361
+ const hasFrom = this._calendarService.isValidDate(this.value?.from);
1362
+ const hasEnd = this._calendarService.isValidDate(this.value?.end);
1363
+ let next;
1364
+ if (!hasFrom || hasEnd) {
1365
+ next = { from: clicked.date, end: null };
1224
1366
  }
1225
1367
  else {
1226
- if (e.component == this._c1) {
1227
- this._syncNav1();
1368
+ const fromDate = this._calendarService.create(this.value.from, calendar).startOf('day');
1369
+ const dayCompare = clicked.compare(fromDate, 'day');
1370
+ if (dayCompare < 0) {
1371
+ next = { from: clicked.date, end: null };
1228
1372
  }
1229
- if (e.component == this._c2) {
1230
- this._syncNav2(this._calendarService.create(e.item, this.type));
1373
+ else {
1374
+ next = { from: fromDate.date, end: clicked.date };
1231
1375
  }
1232
1376
  }
1377
+ this.commitValue(next, true);
1233
1378
  this._c1.render();
1234
- this._c2.render();
1379
+ this._syncNav1();
1235
1380
  }
1236
1381
  /**
1237
1382
  * @ignore
@@ -1246,6 +1391,7 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1246
1391
  else if (view == 'year') {
1247
1392
  this._c1.navTo(d1.add('year', -20));
1248
1393
  }
1394
+ this._syncNav1();
1249
1395
  this._navUserInteraction = false;
1250
1396
  }
1251
1397
  /**
@@ -1261,6 +1407,7 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1261
1407
  else if (view == 'year') {
1262
1408
  this._c1.navTo(d1.add('year', 20));
1263
1409
  }
1410
+ this._syncNav1();
1264
1411
  this._navUserInteraction = false;
1265
1412
  }
1266
1413
  /**
@@ -1273,15 +1420,59 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1273
1420
  * @ignore
1274
1421
  */
1275
1422
  _syncNavText() {
1276
- const view = this._c1.activeView;
1277
- const d1 = this._c1.displayRange.startTime;
1278
- if (view == 'day') {
1279
- const d2 = this._c2.displayRange.endTime;
1280
- this._navText = `${this.formatService.format(d1, 'datetime', { format: 'MMM yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'MMM yyyy' })}`;
1423
+ const view = this._c1?.activeView;
1424
+ const d1 = this._c1?.displayRange?.startTime;
1425
+ const d2 = this._c2?.displayRange?.startTime;
1426
+ if (!view || !d1 || !d2) {
1427
+ return;
1428
+ }
1429
+ if (view === 'day') {
1430
+ this._navText1 = this._formatNavDate(d1);
1431
+ this._navText2 = this._formatNavDate(d2);
1432
+ }
1433
+ else if (view === 'month' || view === 'year') {
1434
+ this._navText1 = String(d1.year);
1435
+ this._navText2 = String(d2.year);
1436
+ }
1437
+ this.cdr.markForCheck();
1438
+ }
1439
+ /**
1440
+ * @ignore
1441
+ */
1442
+ _formatNavDate(date) {
1443
+ const system = this.calendar();
1444
+ const monthIndex = date.monthOfYear - 1;
1445
+ const month = this._monthLabel(system, monthIndex, 'long');
1446
+ return `${month} ${date.year}`;
1447
+ }
1448
+ /**
1449
+ * @ignore
1450
+ */
1451
+ _monthLabel(system, monthIndex0, style = 'short') {
1452
+ const key = `dateTime.months.${system}.${style}.${monthIndex0}`;
1453
+ const translated = this.translateService.translateSync(key);
1454
+ if (translated && translated !== key && !translated.startsWith('dateTime.months.')) {
1455
+ return translated;
1281
1456
  }
1282
- else if (view == 'month' || view == 'year') {
1283
- const d2 = this._c2.displayRange.endTime;
1284
- this._navText = `${this.formatService.format(d1, 'datetime', { format: 'yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'yyyy' })}`;
1457
+ return this._fallbackMonthName(system, monthIndex0, style);
1458
+ }
1459
+ /**
1460
+ * @ignore
1461
+ */
1462
+ _fallbackMonthName(system, monthIndex0, style) {
1463
+ try {
1464
+ const locale = this.localeService.activeProfile().localeInfo.code;
1465
+ const intlCalendar = system === 'solar-hijri' ? 'persian' : 'gregory';
1466
+ const date = system === 'solar-hijri'
1467
+ ? this._calendarService.create({ year: 1400, month: monthIndex0 + 1, day: 15 }, system).date
1468
+ : new Date(2000, monthIndex0, 15);
1469
+ return new Intl.DateTimeFormat(locale, {
1470
+ month: style,
1471
+ calendar: intlCalendar,
1472
+ }).format(date);
1473
+ }
1474
+ catch {
1475
+ return String(monthIndex0 + 1);
1285
1476
  }
1286
1477
  }
1287
1478
  /**
@@ -1316,19 +1507,29 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1316
1507
  * @ignore
1317
1508
  */
1318
1509
  _syncNav1() {
1510
+ const range = this._c1?.displayRange;
1511
+ if (!range) {
1512
+ return;
1513
+ }
1319
1514
  const view = (this._c2.activeView = this._c1.activeView);
1320
- const range = this._c1.displayRange;
1321
- if (view == 'day') {
1322
- this._c2.navTo(range.startTime.add('month', 1));
1515
+ const monthStart = range.startTime.startOf('month');
1516
+ if (view === 'day') {
1517
+ this._c2.navTo(monthStart.add('month', 1));
1323
1518
  }
1324
- else if (view == 'month') {
1325
- this._c2.navTo(range.startTime.add('year', 1));
1519
+ else if (view === 'month') {
1520
+ this._c2.navTo(monthStart.add('year', 1));
1326
1521
  }
1327
- else if (view == 'year') {
1522
+ else if (view === 'year') {
1328
1523
  this._c2.navTo(range.endTime.add('year', 4));
1329
1524
  }
1330
1525
  this._syncNavText();
1331
1526
  }
1527
+ /**
1528
+ * @ignore
1529
+ */
1530
+ handleCalendar2Navigate() {
1531
+ this._syncNavText();
1532
+ }
1332
1533
  /**
1333
1534
  * @ignore
1334
1535
  */
@@ -1342,7 +1543,7 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1342
1543
  }
1343
1544
  }
1344
1545
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1345
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: AXCalendarRangeComponent, isStandalone: true, selector: "ax-calendar-range", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, providers: [
1546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: AXCalendarRangeComponent, isStandalone: true, selector: "ax-calendar-range", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, host: { properties: { "class.ax-state-disabled": "disabled" } }, providers: [
1346
1547
  {
1347
1548
  provide: NG_VALUE_ACCESSOR,
1348
1549
  useExisting: forwardRef(() => AXCalendarRangeComponent),
@@ -1354,7 +1555,7 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1354
1555
  },
1355
1556
  AXUnsubscriber,
1356
1557
  { provide: AXComponent, useExisting: AXCalendarRangeComponent },
1357
- ], viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties;html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}@layer components{ax-calendar-range{display:block;gap:calc(var(--spacing, .25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:column}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:calc(var(--spacing, .25rem) * 0);padding:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:calc(var(--spacing, .25rem) * 0);padding-top:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays", "look", "yearRange", "holidays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1558
+ ], viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon pb-4\"\n (click)=\"handlePrevClick()\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-header-range-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-calendar-range-nav-label ax-calendar-range-nav-label--start\"\n (click)=\"handleNavClick()\"\n >\n {{ _navText1 }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-calendar-range-nav-label ax-calendar-range-nav-label--end\"\n (click)=\"handleNavClick()\"\n >\n {{ _navText2 }}\n </button>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon pb-4\"\n (click)=\"handleNextClick()\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n</div>\n\n<div class=\"ax-calendar-range-body\">\n <div class=\"ax-calendar-range-panel ax-calendar-range-panel--start\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n </div>\n <div class=\"ax-calendar-range-panel ax-calendar-range-panel--end\">\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleCalendar2Navigate()\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n </div>\n</div>\n\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties;@layer components{ax-calendar-range{display:block;gap:calc(var(--spacing, .25rem) * 2);border-radius:14px;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-calendar-range>ax-footer{margin-inline:calc(var(--spacing, .25rem) * -2);box-sizing:border-box;width:calc(100% + 1rem);flex-shrink:0;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-top:calc(var(--spacing, .25rem) * 2);margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar-range.ax-state-disabled{cursor:not-allowed}ax-calendar-range.ax-state-disabled .ax-calendar-range-header{cursor:not-allowed}ax-calendar-range.ax-state-disabled .ax-calendar-range-header button{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar-range.ax-state-disabled .ax-calendar-range-header button{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-start,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-end,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important;opacity:1}@supports (color: color-mix(in lab,red,red)){ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-start,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-end,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-between{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar-range .ax-calendar-range-header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{display:flex;flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-bottom:calc(var(--spacing, .25rem) * 4);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{flex-direction:row}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{align-items:center}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{justify-content:space-between}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{gap:calc(var(--spacing, .25rem) * 6)}}ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface))}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{display:flex}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{width:calc(var(--spacing, .25rem) * 40)}}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;width:100%;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{align-items:flex-start}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{justify-content:space-between}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{gap:calc(var(--spacing, .25rem) * 2)}}ax-calendar-range .ax-calendar-range-panel{display:flex;width:100%;flex-shrink:0;justify-content:center}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-panel{width:calc(var(--spacing, .25rem) * 58)}}ax-calendar-range ax-calendar{margin:calc(var(--spacing, .25rem) * 0);margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-calendar-range ax-calendar .ax-calendar-frame{width:100%;max-width:none;border-radius:0;--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{width:100%}ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:calc(var(--spacing, .25rem) * 58)}}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-week{padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-week>div{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots{padding:calc(var(--spacing, .25rem) * 1)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{row-gap:calc(var(--spacing, .25rem) * 1)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):not(.ax-range-start):not(.ax-range-end){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:var(--color-darkest);color:var(--color-on-darkest);border-color:var(--color-border-darkest);opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start:hover,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end:hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start:not(.ax-range-continue-end),ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end:not(.ax-range-continue-start),ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:not(.ax-range-continue-start):not(.ax-range-continue-end){border-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start.ax-range-continue-end{border-radius:0;border-start-start-radius:var(--radius-lg, .5rem);border-end-start-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end.ax-range-continue-start{border-radius:0;border-start-end-radius:var(--radius-lg, .5rem);border-end-end-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between.ax-range-continue-start.ax-range-continue-end{border-radius:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between.ax-range-continue-start:not(.ax-range-continue-end){border-radius:0;border-start-end-radius:var(--radius-lg, .5rem);border-end-end-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:not(.ax-range-continue-start).ax-range-continue-end{border-radius:0;border-start-start-radius:var(--radius-lg, .5rem);border-end-start-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-end,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-between{opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%;border-color:transparent!important}:is(ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-end):hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between{color:rgba(var(--ax-sys-color-danger-600));border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between:hover{background-color:var(--color-surface);color:var(--color-on-surface);border-color:var(--color-border-surface);color:rgba(var(--ax-sys-color-danger-600))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:not(.ax-range-start):not(.ax-range-end):not(.ax-range-between):hover:not(.ax-state-disabled){background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:var(--ax-calendar-holiday-color)!important;border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%;border-color:transparent!important}:is(ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-end):hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-between{background-color:var(--color-surface)!important;color:var(--color-on-surface)!important;border-color:var(--color-border-surface)!important;color:var(--ax-calendar-holiday-color)!important;border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-between:hover{background-color:var(--color-surface)!important;color:var(--color-on-surface)!important;border-color:var(--color-border-surface)!important;color:var(--ax-calendar-holiday-color)!important}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays", "look", "yearRange", "holidays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
1358
1559
  }
1359
1560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
1360
1561
  type: Component,
@@ -1401,7 +1602,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
1401
1602
  },
1402
1603
  AXUnsubscriber,
1403
1604
  { provide: AXComponent, useExisting: AXCalendarRangeComponent },
1404
- ], imports: [AXCalendarComponent], template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties;html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}@layer components{ax-calendar-range{display:block;gap:calc(var(--spacing, .25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:column}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:calc(var(--spacing, .25rem) * 0);padding:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:calc(var(--spacing, .25rem) * 0);padding-top:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1605
+ ], host: {
1606
+ '[class.ax-state-disabled]': 'disabled',
1607
+ }, imports: [AXCalendarComponent, NgClass], template: "<div class=\"ax-calendar-range-header\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon pb-4\"\n (click)=\"handlePrevClick()\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-header-range-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-calendar-range-nav-label ax-calendar-range-nav-label--start\"\n (click)=\"handleNavClick()\"\n >\n {{ _navText1 }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-calendar-range-nav-label ax-calendar-range-nav-label--end\"\n (click)=\"handleNavClick()\"\n >\n {{ _navText2 }}\n </button>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon pb-4\"\n (click)=\"handleNextClick()\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n</div>\n\n<div class=\"ax-calendar-range-body\">\n <div class=\"ax-calendar-range-panel ax-calendar-range-panel--start\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n </div>\n <div class=\"ax-calendar-range-panel ax-calendar-range-panel--end\">\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleCalendar2Navigate()\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n </div>\n</div>\n\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties;@layer components{ax-calendar-range{display:block;gap:calc(var(--spacing, .25rem) * 2);border-radius:14px;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-calendar-range>ax-footer{margin-inline:calc(var(--spacing, .25rem) * -2);box-sizing:border-box;width:calc(100% + 1rem);flex-shrink:0;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-top:calc(var(--spacing, .25rem) * 2);margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar-range.ax-state-disabled{cursor:not-allowed}ax-calendar-range.ax-state-disabled .ax-calendar-range-header{cursor:not-allowed}ax-calendar-range.ax-state-disabled .ax-calendar-range-header button{cursor:not-allowed;color:rgba(var(--ax-sys-color-on-darkest-surface))}@supports (color: color-mix(in lab,red,red)){ax-calendar-range.ax-state-disabled .ax-calendar-range-header button{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-start,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-end,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-sys-color-on-darkest-surface));background-color:transparent!important;border-color:transparent!important;opacity:1}@supports (color: color-mix(in lab,red,red)){ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-start,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-end,ax-calendar-range.ax-state-disabled ax-calendar .ax-calendar-slot.ax-range-between{color:color-mix(in oklab,rgba(var(--ax-sys-color-on-darkest-surface)) 40%,transparent)}}ax-calendar-range .ax-calendar-range-header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{display:flex;flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-bottom:calc(var(--spacing, .25rem) * 4);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{flex-direction:row}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{align-items:center}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{justify-content:space-between}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{gap:calc(var(--spacing, .25rem) * 6)}}ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface))}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{display:flex}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-header .ax-calendar-range-nav-label{width:calc(var(--spacing, .25rem) * 40)}}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;width:100%;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{align-items:flex-start}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{justify-content:space-between}}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{gap:calc(var(--spacing, .25rem) * 2)}}ax-calendar-range .ax-calendar-range-panel{display:flex;width:100%;flex-shrink:0;justify-content:center}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-panel{width:calc(var(--spacing, .25rem) * 58)}}ax-calendar-range ax-calendar{margin:calc(var(--spacing, .25rem) * 0);margin-inline:calc(var(--spacing, .25rem) * 0);display:block;width:100%;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-calendar-range ax-calendar .ax-calendar-frame{width:100%;max-width:none;border-radius:0;--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{width:100%}ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:calc(var(--spacing, .25rem) * 58)}}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-week{padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-week>div{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots{padding:calc(var(--spacing, .25rem) * 1)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{row-gap:calc(var(--spacing, .25rem) * 1)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):not(.ax-range-start):not(.ax-range-end){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:var(--color-darkest);color:var(--color-on-darkest);border-color:var(--color-border-darkest);opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start:hover,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end:hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start:not(.ax-range-continue-end),ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end:not(.ax-range-continue-start),ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:not(.ax-range-continue-start):not(.ax-range-continue-end){border-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start.ax-range-continue-end{border-radius:0;border-start-start-radius:var(--radius-lg, .5rem);border-end-start-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end.ax-range-continue-start{border-radius:0;border-start-end-radius:var(--radius-lg, .5rem);border-end-end-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between.ax-range-continue-start.ax-range-continue-end{border-radius:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between.ax-range-continue-start:not(.ax-range-continue-end){border-radius:0;border-start-end-radius:var(--radius-lg, .5rem);border-end-end-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between:not(.ax-range-continue-start).ax-range-continue-end{border-radius:0;border-start-start-radius:var(--radius-lg, .5rem);border-end-start-radius:var(--radius-lg, .5rem)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-end,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other.ax-range-between{opacity:100%}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%;border-color:transparent!important}:is(ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-end):hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between{color:rgba(var(--ax-sys-color-danger-600));border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-range-between:hover{background-color:var(--color-surface);color:var(--color-on-surface);border-color:var(--color-border-surface);color:rgba(var(--ax-sys-color-danger-600))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:not(.ax-range-start):not(.ax-range-end):not(.ax-range-between):hover:not(.ax-state-disabled){background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:var(--ax-calendar-holiday-color)!important;border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-end{background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-dark-surface));opacity:100%;border-color:transparent!important}:is(ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-end):hover{background-color:rgba(var(--ax-sys-color-on-lightest-surface));color:rgba(var(--ax-sys-color-dark-surface))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-between{background-color:var(--color-surface)!important;color:var(--color-on-surface)!important;border-color:var(--color-border-surface)!important;color:var(--ax-calendar-holiday-color)!important;border-color:transparent!important}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-range-between:hover{background-color:var(--color-surface)!important;color:var(--color-on-surface)!important;border-color:var(--color-border-surface)!important;color:var(--ax-calendar-holiday-color)!important}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
1405
1608
  }], ctorParameters: () => [], propDecorators: { look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], holidays: [{ type: i0.Input, args: [{ isSignal: true, alias: "holidays", required: false }] }], _c1: [{
1406
1609
  type: ViewChild,
1407
1610
  args: ['c1', { static: true }]