@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.
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +15 -0
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +321 -118
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +259 -37
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs +16548 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +51 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +85 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +1 -0
- 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
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs +65 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +1 -17608
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +57 -23
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +2 -2
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +5 -5
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +600 -409
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +1259 -169
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +11 -5
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +6 -6
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +33 -0
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +38 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +45 -3
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/lookup/README.md +19 -8
- package/package.json +4 -3
- package/types/acorex-components-audio-wave.d.ts +3 -0
- package/types/acorex-components-calendar.d.ts +41 -9
- package/types/acorex-components-combo-box.d.ts +50 -10
- package/types/acorex-components-conversation.d.ts +1232 -1782
- package/types/acorex-components-data-table.d.ts +12 -2
- package/types/acorex-components-image-editor.d.ts +54 -49
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +286 -71
- package/types/acorex-components-popover.d.ts +8 -0
- package/types/acorex-components-select-box.d.ts +11 -0
- package/types/acorex-components-tree-view.d.ts +11 -1
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
- 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
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
572
|
+
}, this.calendarSystem()), this.calendarService.create({
|
|
542
573
|
year: max,
|
|
543
574
|
month: 12,
|
|
544
575
|
day: 28,
|
|
545
|
-
}, this.
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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 === '
|
|
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
|
-
|
|
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.
|
|
1191
|
+
this._navText1 = '';
|
|
1192
|
+
this._navText2 = '';
|
|
1138
1193
|
/**
|
|
1139
1194
|
* @ignore
|
|
1140
1195
|
*/
|
|
1141
1196
|
this._navUserInteraction = false;
|
|
1142
|
-
/**
|
|
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
|
|
1152
|
-
|
|
1153
|
-
|
|
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
|
-
|
|
1156
|
-
if (!this._calendarService.isValidDate(this.value.end)) {
|
|
1222
|
+
if (!rangeClass) {
|
|
1157
1223
|
return null;
|
|
1158
1224
|
}
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
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
|
-
|
|
1183
|
-
|
|
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
|
-
|
|
1329
|
+
queueMicrotask(() => {
|
|
1330
|
+
this._c1?.render();
|
|
1331
|
+
this._syncNav1();
|
|
1332
|
+
});
|
|
1199
1333
|
}
|
|
1200
1334
|
internalValueChanged(value) {
|
|
1201
1335
|
this._c1.render();
|
|
1202
|
-
this.
|
|
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
|
|
1215
|
-
if (
|
|
1216
|
-
this.
|
|
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
|
-
|
|
1222
|
-
this.
|
|
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
|
-
|
|
1227
|
-
|
|
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
|
-
|
|
1230
|
-
|
|
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.
|
|
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
|
|
1277
|
-
const d1 = this._c1
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
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
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
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
|
|
1321
|
-
if (view
|
|
1322
|
-
this._c2.navTo(
|
|
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
|
|
1325
|
-
this._c2.navTo(
|
|
1519
|
+
else if (view === 'month') {
|
|
1520
|
+
this._c2.navTo(monthStart.add('year', 1));
|
|
1326
1521
|
}
|
|
1327
|
-
else if (view
|
|
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
|
-
],
|
|
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 }]
|