@acorex/components 20.7.39 → 20.7.40

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.
@@ -14,6 +14,26 @@ type AXCalendarViewDepth = AXCalendarViewType;
14
14
  * - `select`: month/year dropdowns with prev/next arrows on the edges.
15
15
  */
16
16
  type AXCalendarNavigationLookType = 'classic' | 'select';
17
+ /**
18
+ * Controls how many years appear in the year selector.
19
+ * - A number applies the same range to past and future years.
20
+ * - An object sets past and future ranges separately.
21
+ * `minValue` and `maxValue` take priority when set.
22
+ */
23
+ type AXCalendarYearRange = number | {
24
+ past: number;
25
+ future: number;
26
+ };
27
+ declare function getCalendarYearBounds(options: {
28
+ referenceYear: number;
29
+ yearRange: AXCalendarYearRange;
30
+ minValue?: Date;
31
+ maxValue?: Date;
32
+ getYear: (date: Date) => number;
33
+ }): {
34
+ minYear: number;
35
+ maxYear: number;
36
+ };
17
37
  type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);
18
38
  type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);
19
39
  type AXCalendarCellCssClass = string | {
@@ -208,6 +228,12 @@ declare class AXCalendarComponent extends AXCalendarComponent_base implements Af
208
228
  * - `select`: month/year dropdowns with prev/next arrows on the edges.
209
229
  */
210
230
  look: _angular_core.InputSignal<AXCalendarNavigationLookType>;
231
+ /**
232
+ * Years shown in the year selector when `look` is `select`.
233
+ * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.
234
+ * `minValue` and `maxValue` take priority when set.
235
+ */
236
+ yearRange: _angular_core.InputSignal<AXCalendarYearRange>;
211
237
  protected readonly isRtl: _angular_core.Signal<boolean>;
212
238
  protected calendar: _angular_core.WritableSignal<string>;
213
239
  /** Week column order from the active locale profile (0 = Sun … 6 = Sat). */
@@ -433,7 +459,7 @@ declare class AXCalendarComponent extends AXCalendarComponent_base implements Af
433
459
  */
434
460
  protected getMonthName(date: AXDateTime, style: 'short' | 'long'): string;
435
461
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCalendarComponent, never>;
436
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCalendarComponent, "ax-calendar", never, { "rtl": { "alias": "rtl"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dayCellTemplate": { "alias": "dayCellTemplate"; "required": false; }; "monthCellTemplate": { "alias": "monthCellTemplate"; "required": false; }; "yearCellTemplate": { "alias": "yearCellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; "count": { "alias": "count"; "required": false; }; "id": { "alias": "id"; "required": false; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, { "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"; }, never, ["ax-header", "ax-footer"], true, never>;
462
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCalendarComponent, "ax-calendar", never, { "rtl": { "alias": "rtl"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dayCellTemplate": { "alias": "dayCellTemplate"; "required": false; }; "monthCellTemplate": { "alias": "monthCellTemplate"; "required": false; }; "yearCellTemplate": { "alias": "yearCellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; "count": { "alias": "count"; "required": false; }; "id": { "alias": "id"; "required": false; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "yearRange": { "alias": "yearRange"; "required": false; "isSignal": true; }; }, { "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"; }, never, ["ax-header", "ax-footer"], true, never>;
437
463
  }
438
464
 
439
465
  declare class AXCalendarModule {
@@ -442,5 +468,5 @@ declare class AXCalendarModule {
442
468
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXCalendarModule>;
443
469
  }
444
470
 
445
- export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent };
446
- export type { AXCalendarCellCssClass, AXCalendarDisabledDates, AXCalendarHolidayDates, AXCalendarNavigationLookType, AXCalendarView, AXCalendarViewDepth, AXCalendarViewSlot, AXCalendarViewType, AXDateTimePickerType };
471
+ export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent, getCalendarYearBounds };
472
+ export type { AXCalendarCellCssClass, AXCalendarDisabledDates, AXCalendarHolidayDates, AXCalendarNavigationLookType, AXCalendarView, AXCalendarViewDepth, AXCalendarViewSlot, AXCalendarViewType, AXCalendarYearRange, AXDateTimePickerType };
@@ -4,7 +4,7 @@ import * as polytype from 'polytype';
4
4
  import * as _angular_core from '@angular/core';
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import { MXInputBaseValueComponent, MXLookComponent, AXEvent, AXFocusEvent, AXValueChangedEvent } from '@acorex/cdk/common';
7
- import { MXCalendarBaseComponent, AXDateTimePickerType, AXCalendarNavigationLookType, AXCalendarNavigateEvent } from '@acorex/components/calendar';
7
+ import { MXCalendarBaseComponent, AXDateTimePickerType, AXCalendarNavigationLookType, AXCalendarYearRange, AXCalendarNavigateEvent } from '@acorex/components/calendar';
8
8
  import { AXDateTimeInputComponent } from '@acorex/components/datetime-input';
9
9
  import { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';
10
10
  import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
@@ -71,6 +71,12 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
71
71
  * Day view navigation style of the embedded calendar.
72
72
  */
73
73
  readonly calendarLook: _angular_core.InputSignal<AXCalendarNavigationLookType>;
74
+ /**
75
+ * Years shown in the year selector when `calendarLook` is `select`.
76
+ * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.
77
+ * `minValue` and `maxValue` take priority when set.
78
+ */
79
+ readonly yearRange: _angular_core.InputSignal<AXCalendarYearRange>;
74
80
  /**
75
81
  * Input style of the datetime box.
76
82
  * - `default`: text input with calendar popup.
@@ -161,7 +167,7 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
161
167
  protected _handleInputOnClick(): void;
162
168
  private get __hostName();
163
169
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeBoxComponent, never>;
164
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeBoxComponent, "ax-datetime-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "calendarLook": { "alias": "calendarLook"; "required": false; "isSignal": true; }; "boxLook": { "alias": "boxLook"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onOpened": "onOpened"; "onClosed": "onClosed"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "formatChange": "formatChange"; }, never, ["ax-prefix", "ax-suffix", "ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
170
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeBoxComponent, "ax-datetime-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "calendarLook": { "alias": "calendarLook"; "required": false; "isSignal": true; }; "yearRange": { "alias": "yearRange"; "required": false; "isSignal": true; }; "boxLook": { "alias": "boxLook"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onOpened": "onOpened"; "onClosed": "onClosed"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "formatChange": "formatChange"; }, never, ["ax-prefix", "ax-suffix", "ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
165
171
  }
166
172
 
167
173
  declare class AXDateTimeBoxModule {
@@ -2,7 +2,7 @@ import * as polytype from 'polytype';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { OnInit, InjectionToken } from '@angular/core';
4
4
  import { MXValueComponent, AXValueChangedEvent } from '@acorex/cdk/common';
5
- import { MXCalendarBaseComponent, AXCalendarNavigationLookType, AXDateTimePickerType, AXCalendarNavigateEvent } from '@acorex/components/calendar';
5
+ import { MXCalendarBaseComponent, AXCalendarNavigationLookType, AXCalendarYearRange, AXDateTimePickerType, AXCalendarNavigateEvent } from '@acorex/components/calendar';
6
6
  import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
7
7
  import { AXDateTimeParts, AXDateTime } from '@acorex/core/date-time';
8
8
 
@@ -25,6 +25,12 @@ declare class AXDateTimePickerComponent extends AXDateTimePickerComponent_base i
25
25
  * Day view navigation style of the embedded calendar.
26
26
  */
27
27
  calendarLook: _angular_core.InputSignal<AXCalendarNavigationLookType>;
28
+ /**
29
+ * Years shown in the year selector when `calendarLook` is `select`.
30
+ * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.
31
+ * `minValue` and `maxValue` take priority when set.
32
+ */
33
+ yearRange: _angular_core.InputSignal<AXCalendarYearRange>;
28
34
  protected buttonText: _angular_core.Signal<"dateTime.today" | "dateTime.now">;
29
35
  private defaultConfig;
30
36
  protected pickerHoursMinValue: _angular_core.WritableSignal<number>;
@@ -131,7 +137,7 @@ declare class AXDateTimePickerComponent extends AXDateTimePickerComponent_base i
131
137
  protected internalSetValue(value: Date): Date | null;
132
138
  protected isTodayDisabled(): boolean;
133
139
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimePickerComponent, never>;
134
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimePickerComponent, "ax-datetime-picker", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "calendarLook": { "alias": "calendarLook"; "required": false; "isSignal": true; }; "currentTimeButton": { "alias": "currentTimeButton"; "required": false; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "depthChange": "depthChange"; "typeChange": "typeChange"; "activeViewChange": "activeViewChange"; "disabledDatesChange": "disabledDatesChange"; "holidayDatesChange": "holidayDatesChange"; "onNavigate": "onNavigate"; "onSlotClick": "onSlotClick"; }, never, never, true, never>;
140
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimePickerComponent, "ax-datetime-picker", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "weekdays": { "alias": "weekdays"; "required": false; "isSignal": true; }; "calendarLook": { "alias": "calendarLook"; "required": false; "isSignal": true; }; "yearRange": { "alias": "yearRange"; "required": false; "isSignal": true; }; "currentTimeButton": { "alias": "currentTimeButton"; "required": false; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "depthChange": "depthChange"; "typeChange": "typeChange"; "activeViewChange": "activeViewChange"; "disabledDatesChange": "disabledDatesChange"; "holidayDatesChange": "holidayDatesChange"; "onNavigate": "onNavigate"; "onSlotClick": "onSlotClick"; }, never, never, true, never>;
135
141
  }
136
142
 
137
143
  interface AXDateTimePickerConfig {
@@ -13,6 +13,14 @@ import { AXTranslationService, AXTranslatorPipe } from '@acorex/core/translation
13
13
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
14
14
  import { isPlatformBrowser, NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
15
15
 
16
+ function getCalendarYearBounds(options) {
17
+ const past = typeof options.yearRange === 'number' ? options.yearRange : options.yearRange.past;
18
+ const future = typeof options.yearRange === 'number' ? options.yearRange : options.yearRange.future;
19
+ return {
20
+ minYear: options.minValue ? options.getYear(options.minValue) : options.referenceYear - past,
21
+ maxYear: options.maxValue ? options.getYear(options.maxValue) : options.referenceYear + future,
22
+ };
23
+ }
16
24
  /**
17
25
  * Contains native event
18
26
  * @category Events
@@ -277,6 +285,12 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
277
285
  * - `select`: month/year dropdowns with prev/next arrows on the edges.
278
286
  */
279
287
  this.look = input('select', ...(ngDevMode ? [{ debugName: "look" }] : []));
288
+ /**
289
+ * Years shown in the year selector when `look` is `select`.
290
+ * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.
291
+ * `minValue` and `maxValue` take priority when set.
292
+ */
293
+ this.yearRange = input(80, ...(ngDevMode ? [{ debugName: "yearRange" }] : []));
280
294
  this.isRtl = this.localeService.isRtl;
281
295
  this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
282
296
  /** Week column order from the active locale profile (0 = Sun … 6 = Sat). */
@@ -412,11 +426,14 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
412
426
  text: `@acorex:${this.getMonthName(date, 'short')}`,
413
427
  };
414
428
  });
415
- const currentYear = this._viewStartDate.year;
416
- const minYear = this.minValue
417
- ? this.calendarService.create(this.minValue, this.calendar()).year
418
- : currentYear - 100;
419
- const maxYear = this.maxValue ? this.calendarService.create(this.maxValue, this.calendar()).year : currentYear + 10;
429
+ const referenceYear = this._today.year;
430
+ const { minYear, maxYear } = getCalendarYearBounds({
431
+ referenceYear,
432
+ yearRange: this.yearRange(),
433
+ minValue: this.minValue,
434
+ maxValue: this.maxValue,
435
+ getYear: (date) => this.calendarService.create(date, this.calendar()).year,
436
+ });
420
437
  this._yearOptions = [];
421
438
  for (let year = minYear; year <= maxYear; year++) {
422
439
  this._yearOptions.push({ id: year, text: String(year) });
@@ -935,7 +952,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
935
952
  return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;
936
953
  }
937
954
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
938
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", 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 } }, 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: [
955
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", 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 } }, 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: [
939
956
  {
940
957
  provide: NG_VALUE_ACCESSOR,
941
958
  useExisting: forwardRef(() => AXCalendarComponent),
@@ -1240,7 +1257,7 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1240
1257
  },
1241
1258
  AXUnsubscriber,
1242
1259
  { provide: AXComponent, useExisting: AXCalendarRangeComponent },
1243
- ], 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 (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 (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-range-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-range-between-bg-color: var(--ax-sys-color-primary-surface), .5;--ax-comp-calendar-slot-range-start-end-bg-color: var(--ax-sys-color-primary-surface)}.ax-dark ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-darkest-surface)}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)}ax-calendar-range{display:block;padding:.5rem;color:rgb(var(--ax-comp-calendar-range-text-color));background-color:rgba(var(--ax-comp-calendar-range-bg-color))}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:var(--ax-comp-calendar-range-header-padding-t, .25rem);padding-left:var(--ax-comp-calendar-range-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-range-header-padding-x, .25rem)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight: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:row}@media (min-width: 320px) and (max-width: 640px){ax-calendar-range .ax-calendar-range-body{flex-direction:column}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-between-bg-color))}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{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-start-end-bg-color))}@media (min-width: 768px){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}\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"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1260
+ ], 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 (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 (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-range-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-range-between-bg-color: var(--ax-sys-color-primary-surface), .5;--ax-comp-calendar-slot-range-start-end-bg-color: var(--ax-sys-color-primary-surface)}.ax-dark ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-darkest-surface)}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)}ax-calendar-range{display:block;padding:.5rem;color:rgb(var(--ax-comp-calendar-range-text-color));background-color:rgba(var(--ax-comp-calendar-range-bg-color))}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:var(--ax-comp-calendar-range-header-padding-t, .25rem);padding-left:var(--ax-comp-calendar-range-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-range-header-padding-x, .25rem)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight: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:row}@media (min-width: 320px) and (max-width: 640px){ax-calendar-range .ax-calendar-range-body{flex-direction:column}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-between-bg-color))}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{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-start-end-bg-color))}@media (min-width: 768px){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}\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"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1244
1261
  }
1245
1262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
1246
1263
  type: Component,
@@ -1313,5 +1330,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
1313
1330
  * Generated bundle index. Do not edit.
1314
1331
  */
1315
1332
 
1316
- export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent };
1333
+ export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent, getCalendarYearBounds };
1317
1334
  //# sourceMappingURL=acorex-components-calendar.mjs.map