nxt-pick-datetime 21.0.0 → 22.0.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.
@@ -1,11 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, InjectionToken, inject, ElementRef, NgZone, input, output, computed, Component, linkedSignal, viewChild, Injectable, afterRenderEffect, Directive, Pipe, forwardRef, Renderer2, effect, DOCUMENT, Injector, TemplateRef, ViewContainerRef, NgModule } from '@angular/core';
3
- import { take, debounceTime, distinctUntilChanged, filter, concatAll } from 'rxjs/operators';
2
+ import { signal, InjectionToken, inject, ElementRef, NgZone, Injector, DestroyRef, input, output, computed, afterNextRender, Component, linkedSignal, viewChild, Injectable, afterRenderEffect, Directive, Pipe, forwardRef, Renderer2, effect, DOCUMENT, TemplateRef, ViewContainerRef } from '@angular/core';
4
3
  import { CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
5
4
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators } from '@angular/forms';
6
5
  import { Subject, defer, of, merge } from 'rxjs';
7
6
  import { coerceNumberProperty, coerceArray } from '@angular/cdk/coercion';
8
- import { trigger, state, transition, style, animate, group, query, animateChild, keyframes } from '@angular/animations';
7
+ import { debounceTime, distinctUntilChanged, filter, take, concatAll } from 'rxjs/operators';
9
8
  import { NoopScrollStrategy, Overlay, OverlayContainer, OverlayConfig } from '@angular/cdk/overlay';
10
9
  import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal } from '@angular/cdk/portal';
11
10
  import { Location } from '@angular/common';
@@ -14,7 +13,8 @@ import { outputToObservable } from '@angular/core/rxjs-interop';
14
13
  class DateTimeAdapter {
15
14
  constructor() {
16
15
  /** The locale to use for all dates */
17
- this.locale = signal(undefined, ...(ngDevMode ? [{ debugName: "locale" }] : []));
16
+ this.locale = signal(undefined, /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []));
18
18
  /** total milliseconds in a day */
19
19
  this.millisecondsInDay = 86400000;
20
20
  /** total milliseconds in a minute */
@@ -121,45 +121,56 @@ class CalendarBodyComponent {
121
121
  constructor() {
122
122
  this.elmRef = inject(ElementRef);
123
123
  this.ngZone = inject(NgZone);
124
+ this.injector = inject(Injector);
125
+ this.destroyRef = inject(DestroyRef);
124
126
  /**
125
127
  * The cell number of the active cell in the table.
126
128
  */
127
- this.activeCell = input(0, ...(ngDevMode ? [{ debugName: "activeCell" }] : []));
129
+ this.activeCell = input(0, /* @ts-ignore */
130
+ ...(ngDevMode ? [{ debugName: "activeCell" }] : /* istanbul ignore next */ []));
128
131
  /**
129
132
  * The cells to display in the table.
130
133
  */
131
- this.rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : []));
134
+ this.rows = input(/* @ts-ignore */
135
+ ...(ngDevMode ? [undefined, { debugName: "rows" }] : /* istanbul ignore next */ []));
132
136
  /**
133
137
  * The number of columns in the table.
134
138
  */
135
- this.numCols = input(7, ...(ngDevMode ? [{ debugName: "numCols" }] : []));
139
+ this.numCols = input(7, /* @ts-ignore */
140
+ ...(ngDevMode ? [{ debugName: "numCols" }] : /* istanbul ignore next */ []));
136
141
  /**
137
142
  * The ratio (width / height) to use for the cells in the table.
138
143
  */
139
- this.cellRatio = input(1, ...(ngDevMode ? [{ debugName: "cellRatio" }] : []));
144
+ this.cellRatio = input(1, /* @ts-ignore */
145
+ ...(ngDevMode ? [{ debugName: "cellRatio" }] : /* istanbul ignore next */ []));
140
146
  /**
141
147
  * The value in the table that corresponds to today.
142
148
  */
143
- this.todayValue = input(...(ngDevMode ? [undefined, { debugName: "todayValue" }] : []));
149
+ this.todayValue = input(/* @ts-ignore */
150
+ ...(ngDevMode ? [undefined, { debugName: "todayValue" }] : /* istanbul ignore next */ []));
144
151
  /**
145
152
  * The value in the table that is currently selected.
146
153
  */
147
- this.selectedValues = input(...(ngDevMode ? [undefined, { debugName: "selectedValues" }] : []));
154
+ this.selectedValues = input(/* @ts-ignore */
155
+ ...(ngDevMode ? [undefined, { debugName: "selectedValues" }] : /* istanbul ignore next */ []));
148
156
  /**
149
157
  * Current picker select mode
150
158
  */
151
- this.selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : []));
159
+ this.selectMode = input(/* @ts-ignore */
160
+ ...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
152
161
  /**
153
162
  * Emit when a calendar cell is selected
154
163
  */
155
164
  this.select = output();
156
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
165
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
166
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
157
167
  this.isInRangeMode = computed(() => {
158
168
  const selectMode = this.selectMode();
159
169
  return (selectMode === 'range' ||
160
170
  selectMode === 'rangeFrom' ||
161
171
  selectMode === 'rangeTo');
162
- }, ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
172
+ }, /* @ts-ignore */
173
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
163
174
  }
164
175
  selectCell(cell) {
165
176
  this.select.emit(cell);
@@ -227,21 +238,21 @@ class CalendarBodyComponent {
227
238
  * Focus to a active cell
228
239
  */
229
240
  focusActiveCell() {
230
- this.ngZone.runOutsideAngular(() => {
231
- this.ngZone.onStable
232
- .asObservable()
233
- .pipe(take(1))
234
- .subscribe(() => {
235
- this.elmRef.nativeElement
236
- ?.querySelector('.nxt-dt-calendar-cell-active')
237
- ?.focus();
241
+ if (!this.destroyRef.destroyed)
242
+ afterNextRender(() => {
243
+ this.ngZone.runOutsideAngular(() => {
244
+ this.elmRef.nativeElement
245
+ ?.querySelector('.nxt-dt-calendar-cell-active')
246
+ ?.focus();
247
+ });
248
+ }, {
249
+ injector: this.injector
238
250
  });
239
- });
240
251
  }
241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CalendarBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: CalendarBodyComponent, isStandalone: true, selector: "[nxtDateTimeCalendarBody]", inputs: { activeCell: { classPropertyName: "activeCell", publicName: "activeCell", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, numCols: { classPropertyName: "numCols", publicName: "numCols", isSignal: true, isRequired: false, transformFunction: null }, cellRatio: { classPropertyName: "cellRatio", publicName: "cellRatio", isSignal: true, isRequired: false, transformFunction: null }, todayValue: { classPropertyName: "todayValue", publicName: "todayValue", isSignal: true, isRequired: false, transformFunction: null }, selectedValues: { classPropertyName: "selectedValues", publicName: "selectedValues", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select" }, host: { properties: { "class.nxt-dt-calendar-body": "true" } }, exportAs: ["nxtDateTimeCalendarBody"], ngImport: i0, template: "@for (row of rows(); track rowIndex; let rowIndex = $index) {\r\n<tr role=\"row\">\r\n @for (item of row; track colIndex; let colIndex = $index) {\r\n <td class=\"nxt-dt-calendar-cell {{item.cellClass}}\"\r\n [tabindex]=\"isActiveCell(rowIndex, colIndex) ? 0 : -1\"\r\n [class.nxt-dt-calendar-cell-active]=\"isActiveCell(rowIndex, colIndex)\"\r\n [class.nxt-dt-calendar-cell-disabled]=\"!item.enabled\"\r\n [class.nxt-dt-calendar-cell-in-range]=\"isInRange(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-from]=\"isRangeFrom(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-from-long]=\"isInRange(item.value + 7)\"\r\n [class.nxt-dt-calendar-cell-range-to]=\"isRangeTo(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-to-long]=\"isInRange(item.value - 7)\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-disabled]=\"!item.enabled || null\"\r\n [style.width.%]=\"100 / numCols()\"\r\n [style.paddingTop.%]=\"50 * cellRatio() / numCols()\"\r\n [style.paddingBottom.%]=\"50 * cellRatio() / numCols()\"\r\n (click)=\"selectCell(item)\">\r\n <span class=\"nxt-dt-calendar-cell-content\"\r\n [class]=\"{\r\n 'nxt-dt-calendar-cell-out': item.out,\r\n 'nxt-dt-calendar-cell-today': item.value === todayValue(),\r\n 'nxt-dt-calendar-cell-selected': isSelected(item.value)\r\n }\">\r\n {{item.displayValue}}\r\n </span>\r\n </td>\r\n }\r\n</tr>\r\n}\r\n", styles: [""] }); }
252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CalendarBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: CalendarBodyComponent, isStandalone: true, selector: "[nxtDateTimeCalendarBody]", inputs: { activeCell: { classPropertyName: "activeCell", publicName: "activeCell", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, numCols: { classPropertyName: "numCols", publicName: "numCols", isSignal: true, isRequired: false, transformFunction: null }, cellRatio: { classPropertyName: "cellRatio", publicName: "cellRatio", isSignal: true, isRequired: false, transformFunction: null }, todayValue: { classPropertyName: "todayValue", publicName: "todayValue", isSignal: true, isRequired: false, transformFunction: null }, selectedValues: { classPropertyName: "selectedValues", publicName: "selectedValues", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select" }, host: { properties: { "class.nxt-dt-calendar-body": "true" } }, exportAs: ["nxtDateTimeCalendarBody"], ngImport: i0, template: "@for (row of rows(); track rowIndex; let rowIndex = $index) {\r\n<tr role=\"row\">\r\n @for (item of row; track colIndex; let colIndex = $index) {\r\n <td class=\"nxt-dt-calendar-cell {{item.cellClass}}\"\r\n [tabindex]=\"isActiveCell(rowIndex, colIndex) ? 0 : -1\"\r\n [class.nxt-dt-calendar-cell-active]=\"isActiveCell(rowIndex, colIndex)\"\r\n [class.nxt-dt-calendar-cell-disabled]=\"!item.enabled\"\r\n [class.nxt-dt-calendar-cell-in-range]=\"isInRange(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-from]=\"isRangeFrom(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-from-long]=\"isInRange(item.value + 7)\"\r\n [class.nxt-dt-calendar-cell-range-to]=\"isRangeTo(item.value)\"\r\n [class.nxt-dt-calendar-cell-range-to-long]=\"isInRange(item.value - 7)\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-disabled]=\"!item.enabled || null\"\r\n [style.width.%]=\"100 / numCols()\"\r\n [style.paddingTop.%]=\"50 * cellRatio() / numCols()\"\r\n [style.paddingBottom.%]=\"50 * cellRatio() / numCols()\"\r\n (click)=\"selectCell(item)\">\r\n <span class=\"nxt-dt-calendar-cell-content\"\r\n [class]=\"{\r\n 'nxt-dt-calendar-cell-out': item.out,\r\n 'nxt-dt-calendar-cell-today': item.value === todayValue(),\r\n 'nxt-dt-calendar-cell-selected': isSelected(item.value)\r\n }\">\r\n {{item.displayValue}}\r\n </span>\r\n </td>\r\n }\r\n</tr>\r\n}\r\n", styles: [""] }); }
243
254
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CalendarBodyComponent, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CalendarBodyComponent, decorators: [{
245
256
  type: Component,
246
257
  args: [{ selector: '[nxtDateTimeCalendarBody]', exportAs: 'nxtDateTimeCalendarBody', preserveWhitespaces: false, host: {
247
258
  '[class.nxt-dt-calendar-body]': 'true'
@@ -259,13 +270,14 @@ class MonthViewComponent {
259
270
  /**
260
271
  * Whether to hide dates in other months at the start or end of the current month
261
272
  */
262
- this.hideOtherMonths = input(false, ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : []));
273
+ this.hideOtherMonths = input(false, /* @ts-ignore */
274
+ ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : /* istanbul ignore next */ []));
263
275
  this._firstDayOfWeek = 0;
264
276
  /**
265
277
  * Define the first day of a week
266
278
  * Sunday: 0 ~ Saturday: 6
267
279
  */
268
- this.firstDayOfWeek = input(this._firstDayOfWeek, { ...(ngDevMode ? { debugName: "firstDayOfWeek" } : {}), transform: (val) => {
280
+ this.firstDayOfWeek = input(this._firstDayOfWeek, { ...(ngDevMode ? { debugName: "firstDayOfWeek" } : /* istanbul ignore next */ {}), transform: (val) => {
269
281
  if (val >= 0 && val <= 6 && val !== this._firstDayOfWeek) {
270
282
  return this._firstDayOfWeek = val;
271
283
  }
@@ -274,31 +286,33 @@ class MonthViewComponent {
274
286
  /**
275
287
  * The select mode of the picker;
276
288
  */
277
- this.selectMode = input('single', ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
289
+ this.selectMode = input('single', /* @ts-ignore */
290
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
278
291
  /** The currently selected date */
279
- this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: value => {
292
+ this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: value => {
280
293
  value = this.dateTimeAdapter.deserialize(value);
281
294
  return this.getValidDate(value);
282
295
  } });
283
- this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : {}), transform: values => values.map(v => {
296
+ this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : /* istanbul ignore next */ {}), transform: values => values.map(v => {
284
297
  v = this.dateTimeAdapter.deserialize(v);
285
298
  return this.getValidDate(v);
286
299
  }) });
287
- this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : {}), transform: value => {
300
+ this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : /* istanbul ignore next */ {}), transform: value => {
288
301
  value = this.dateTimeAdapter.deserialize(value);
289
302
  return this.getValidDate(value) || this.dateTimeAdapter.now();
290
303
  } });
291
304
  /**
292
305
  * A function used to filter which dates are selectable
293
306
  */
294
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
307
+ this.dateTimeFilter = input(/* @ts-ignore */
308
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
295
309
  /** The minimum selectable date */
296
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => {
310
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => {
297
311
  value = this.dateTimeAdapter.deserialize(value);
298
312
  return this.getValidDate(value);
299
313
  } });
300
314
  /** The maximum selectable date */
301
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => {
315
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => {
302
316
  value = this.dateTimeAdapter.deserialize(value);
303
317
  return this.getValidDate(value);
304
318
  } });
@@ -311,7 +325,8 @@ class MonthViewComponent {
311
325
  return weekdays
312
326
  .slice(firstDayOfWeek)
313
327
  .concat(weekdays.slice(0, firstDayOfWeek));
314
- }, ...(ngDevMode ? [{ debugName: "weekdays" }] : []));
328
+ }, /* @ts-ignore */
329
+ ...(ngDevMode ? [{ debugName: "weekdays" }] : /* istanbul ignore next */ []));
315
330
  this._daysData = computed(() => {
316
331
  if (!this.pickerMoment()) {
317
332
  return;
@@ -347,13 +362,15 @@ class MonthViewComponent {
347
362
  todayDate,
348
363
  firstRowOffset
349
364
  };
350
- }, ...(ngDevMode ? [{ debugName: "_daysData" }] : []));
365
+ }, /* @ts-ignore */
366
+ ...(ngDevMode ? [{ debugName: "_daysData" }] : /* istanbul ignore next */ []));
351
367
  this.days = computed(() => {
352
368
  const days = this._daysData()?.days;
353
369
  if (days != undefined)
354
370
  return this._days = days;
355
371
  return this._days;
356
- }, ...(ngDevMode ? [{ debugName: "days" }] : []));
372
+ }, /* @ts-ignore */
373
+ ...(ngDevMode ? [{ debugName: "days" }] : /* istanbul ignore next */ []));
357
374
  this.activeCell = computed(() => {
358
375
  if (this.pickerMoment()) {
359
376
  return (this.dateTimeAdapter.getDate(this.pickerMoment()) +
@@ -361,12 +378,15 @@ class MonthViewComponent {
361
378
  1);
362
379
  }
363
380
  return;
364
- }, ...(ngDevMode ? [{ debugName: "activeCell" }] : []));
365
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
381
+ }, /* @ts-ignore */
382
+ ...(ngDevMode ? [{ debugName: "activeCell" }] : /* istanbul ignore next */ []));
383
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
384
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
366
385
  this.isInRangeMode = computed(() => (this.selectMode() === 'range' ||
367
386
  this.selectMode() === 'rangeFrom' ||
368
- this.selectMode() === 'rangeTo'), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
369
- this.firstDateOfMonth = linkedSignal({ ...(ngDevMode ? { debugName: "firstDateOfMonth" } : {}), source: () => this.pickerMoment(),
387
+ this.selectMode() === 'rangeTo'), /* @ts-ignore */
388
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
389
+ this.firstDateOfMonth = linkedSignal({ ...(ngDevMode ? { debugName: "firstDateOfMonth" } : /* istanbul ignore next */ {}), source: () => this.pickerMoment(),
370
390
  computation: (val) => this.dateTimeAdapter.createDate(this.dateTimeAdapter.getYear(val), this.dateTimeAdapter.getMonth(val), 1) });
371
391
  /**
372
392
  * The date of the month that today falls on.
@@ -376,7 +396,8 @@ class MonthViewComponent {
376
396
  if (todayDate != undefined)
377
397
  return this._todayDate = todayDate;
378
398
  return this._todayDate;
379
- }, ...(ngDevMode ? [{ debugName: "todayDate" }] : []));
399
+ }, /* @ts-ignore */
400
+ ...(ngDevMode ? [{ debugName: "todayDate" }] : /* istanbul ignore next */ []));
380
401
  /**
381
402
  * An array to hold all selectedDates' value
382
403
  * the value is the day number in current month
@@ -406,7 +427,8 @@ class MonthViewComponent {
406
427
  });
407
428
  }
408
429
  return this._selectedDates = selectedDates;
409
- }, ...(ngDevMode ? [{ debugName: "selectedDates" }] : []));
430
+ }, /* @ts-ignore */
431
+ ...(ngDevMode ? [{ debugName: "selectedDates" }] : /* istanbul ignore next */ []));
410
432
  this._firstRowOffset = 0;
411
433
  // the index of cell that contains the first date of the month
412
434
  this.firstRowOffset = computed(() => {
@@ -414,7 +436,8 @@ class MonthViewComponent {
414
436
  if (firstRowOffset != undefined)
415
437
  return this._firstRowOffset = firstRowOffset;
416
438
  return this._firstRowOffset;
417
- }, ...(ngDevMode ? [{ debugName: "firstRowOffset" }] : []));
439
+ }, /* @ts-ignore */
440
+ ...(ngDevMode ? [{ debugName: "firstRowOffset" }] : /* istanbul ignore next */ []));
418
441
  /**
419
442
  * Callback to invoke when a new date is selected
420
443
  */
@@ -426,7 +449,8 @@ class MonthViewComponent {
426
449
  /** Emits when any date is activated */
427
450
  this.pickerMomentChange = output();
428
451
  /** The body of calendar table */
429
- this.calendarBodyElm = viewChild(CalendarBodyComponent, ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : []));
452
+ this.calendarBodyElm = viewChild(CalendarBodyComponent, /* @ts-ignore */
453
+ ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : /* istanbul ignore next */ []));
430
454
  }
431
455
  /**
432
456
  * Handle a calendarCell selected
@@ -566,10 +590,10 @@ class MonthViewComponent {
566
590
  focusActiveCell() {
567
591
  this.calendarBodyElm()?.focusActiveCell();
568
592
  }
569
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MonthViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
570
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MonthViewComponent, isStandalone: true, selector: "nxt-date-time-month-view", inputs: { hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", userSelection: "userSelection", pickerMomentChange: "pickerMomentChange" }, host: { properties: { "class.nxt-dt-calendar-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<table class=\"nxt-dt-calendar-table nxt-dt-calendar-month-table\"\r\n [class.nxt-dt-calendar-only-current-month]=\"hideOtherMonths()\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr class=\"nxt-dt-weekdays\">\r\n @for (weekday of weekdays(); track weekday.long) {\r\n <th [attr.aria-label]=\"weekday.long\"\r\n class=\"nxt-dt-weekday\"\r\n scope=\"col\">\r\n <span>{{weekday.short}}</span>\r\n </th>\r\n }\r\n </tr>\r\n <tr>\r\n <th class=\"nxt-dt-calendar-table-divider\"\r\n aria-hidden=\"true\"\r\n colspan=\"7\"></th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"days()\"\r\n [todayValue]=\"todayDate()\"\r\n [selectedValues]=\"selectedDates()\"\r\n [selectMode]=\"selectMode()\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\">\r\n </tbody>\r\n</table>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
593
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MonthViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
594
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: MonthViewComponent, isStandalone: true, selector: "nxt-date-time-month-view", inputs: { hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", userSelection: "userSelection", pickerMomentChange: "pickerMomentChange" }, host: { properties: { "class.nxt-dt-calendar-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<table class=\"nxt-dt-calendar-table nxt-dt-calendar-month-table\"\r\n [class.nxt-dt-calendar-only-current-month]=\"hideOtherMonths()\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr class=\"nxt-dt-weekdays\">\r\n @for (weekday of weekdays(); track weekday.long) {\r\n <th [attr.aria-label]=\"weekday.long\"\r\n class=\"nxt-dt-weekday\"\r\n scope=\"col\">\r\n <span>{{weekday.short}}</span>\r\n </th>\r\n }\r\n </tr>\r\n <tr>\r\n <th class=\"nxt-dt-calendar-table-divider\"\r\n aria-hidden=\"true\"\r\n colspan=\"7\"></th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"days()\"\r\n [todayValue]=\"todayDate()\"\r\n [selectedValues]=\"selectedDates()\"\r\n [selectMode]=\"selectMode()\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\">\r\n </tbody>\r\n</table>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
571
595
  }
572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MonthViewComponent, decorators: [{
596
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MonthViewComponent, decorators: [{
573
597
  type: Component,
574
598
  args: [{ selector: 'nxt-date-time-month-view', preserveWhitespaces: false, imports: [
575
599
  CalendarBodyComponent
@@ -581,50 +605,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
581
605
  class DateTimeIntl {
582
606
  constructor() {
583
607
  /** A label for the up second button (used by screen readers). */
584
- this.upSecondLabel = signal($localize `:@@nxt-pick-datetime.up-second:Add a second`, ...(ngDevMode ? [{ debugName: "upSecondLabel" }] : []));
608
+ this.upSecondLabel = signal($localize `:@@nxt-pick-datetime.up-second:Add a second`, /* @ts-ignore */
609
+ ...(ngDevMode ? [{ debugName: "upSecondLabel" }] : /* istanbul ignore next */ []));
585
610
  /** A label for the down second button (used by screen readers). */
586
- this.downSecondLabel = signal($localize `:@@nxt-pick-datetime.down-second:Minus a second`, ...(ngDevMode ? [{ debugName: "downSecondLabel" }] : []));
611
+ this.downSecondLabel = signal($localize `:@@nxt-pick-datetime.down-second:Minus a second`, /* @ts-ignore */
612
+ ...(ngDevMode ? [{ debugName: "downSecondLabel" }] : /* istanbul ignore next */ []));
587
613
  /** A label for the up minute button (used by screen readers). */
588
- this.upMinuteLabel = signal($localize `:@@nxt-pick-datetime.up-minute:Add a minute`, ...(ngDevMode ? [{ debugName: "upMinuteLabel" }] : []));
614
+ this.upMinuteLabel = signal($localize `:@@nxt-pick-datetime.up-minute:Add a minute`, /* @ts-ignore */
615
+ ...(ngDevMode ? [{ debugName: "upMinuteLabel" }] : /* istanbul ignore next */ []));
589
616
  /** A label for the down minute button (used by screen readers). */
590
- this.downMinuteLabel = signal($localize `:@@nxt-pick-datetime.down-minute:Minus a minute`, ...(ngDevMode ? [{ debugName: "downMinuteLabel" }] : []));
617
+ this.downMinuteLabel = signal($localize `:@@nxt-pick-datetime.down-minute:Minus a minute`, /* @ts-ignore */
618
+ ...(ngDevMode ? [{ debugName: "downMinuteLabel" }] : /* istanbul ignore next */ []));
591
619
  /** A label for the up hour button (used by screen readers). */
592
- this.upHourLabel = signal($localize `:@@nxt-pick-datetime.up-hour:Add a hour`, ...(ngDevMode ? [{ debugName: "upHourLabel" }] : []));
620
+ this.upHourLabel = signal($localize `:@@nxt-pick-datetime.up-hour:Add a hour`, /* @ts-ignore */
621
+ ...(ngDevMode ? [{ debugName: "upHourLabel" }] : /* istanbul ignore next */ []));
593
622
  /** A label for the down hour button (used by screen readers). */
594
- this.downHourLabel = signal($localize `:@@nxt-pick-datetime.down-hour:Minus a hour`, ...(ngDevMode ? [{ debugName: "downHourLabel" }] : []));
623
+ this.downHourLabel = signal($localize `:@@nxt-pick-datetime.down-hour:Minus a hour`, /* @ts-ignore */
624
+ ...(ngDevMode ? [{ debugName: "downHourLabel" }] : /* istanbul ignore next */ []));
595
625
  /** A label for the previous month button (used by screen readers) */
596
- this.prevMonthLabel = signal($localize `:@@nxt-pick-datetime.prev-month:Previous month`, ...(ngDevMode ? [{ debugName: "prevMonthLabel" }] : []));
626
+ this.prevMonthLabel = signal($localize `:@@nxt-pick-datetime.prev-month:Previous month`, /* @ts-ignore */
627
+ ...(ngDevMode ? [{ debugName: "prevMonthLabel" }] : /* istanbul ignore next */ []));
597
628
  /** A label for the next month button (used by screen readers) */
598
- this.nextMonthLabel = signal($localize `:@@nxt-pick-datetime.next-month:Next month`, ...(ngDevMode ? [{ debugName: "nextMonthLabel" }] : []));
629
+ this.nextMonthLabel = signal($localize `:@@nxt-pick-datetime.next-month:Next month`, /* @ts-ignore */
630
+ ...(ngDevMode ? [{ debugName: "nextMonthLabel" }] : /* istanbul ignore next */ []));
599
631
  /** A label for the previous year button (used by screen readers) */
600
- this.prevYearLabel = signal($localize `:@@nxt-pick-datetime.prev-year:Previous year`, ...(ngDevMode ? [{ debugName: "prevYearLabel" }] : []));
632
+ this.prevYearLabel = signal($localize `:@@nxt-pick-datetime.prev-year:Previous year`, /* @ts-ignore */
633
+ ...(ngDevMode ? [{ debugName: "prevYearLabel" }] : /* istanbul ignore next */ []));
601
634
  /** A label for the next year button (used by screen readers) */
602
- this.nextYearLabel = signal($localize `:@@nxt-pick-datetime.next-year:Next year`, ...(ngDevMode ? [{ debugName: "nextYearLabel" }] : []));
635
+ this.nextYearLabel = signal($localize `:@@nxt-pick-datetime.next-year:Next year`, /* @ts-ignore */
636
+ ...(ngDevMode ? [{ debugName: "nextYearLabel" }] : /* istanbul ignore next */ []));
603
637
  /** A label for the previous multi-year button (used by screen readers) */
604
- this.prevMultiYearLabel = signal($localize `:@@nxt-pick-datetime.prev-multi-year:Previous 21 years`, ...(ngDevMode ? [{ debugName: "prevMultiYearLabel" }] : []));
638
+ this.prevMultiYearLabel = signal($localize `:@@nxt-pick-datetime.prev-multi-year:Previous 21 years`, /* @ts-ignore */
639
+ ...(ngDevMode ? [{ debugName: "prevMultiYearLabel" }] : /* istanbul ignore next */ []));
605
640
  /** A label for the next multi-year button (used by screen readers) */
606
- this.nextMultiYearLabel = signal($localize `:@@nxt-pick-datetime.next-multi-year:Next 21 years`, ...(ngDevMode ? [{ debugName: "nextMultiYearLabel" }] : []));
641
+ this.nextMultiYearLabel = signal($localize `:@@nxt-pick-datetime.next-multi-year:Next 21 years`, /* @ts-ignore */
642
+ ...(ngDevMode ? [{ debugName: "nextMultiYearLabel" }] : /* istanbul ignore next */ []));
607
643
  /** A label for the 'switch to month view' button (used by screen readers) */
608
- this.switchToMonthViewLabel = signal($localize `:@@nxt-pick-datetime.switch-to-month:Change to month view`, ...(ngDevMode ? [{ debugName: "switchToMonthViewLabel" }] : []));
644
+ this.switchToMonthViewLabel = signal($localize `:@@nxt-pick-datetime.switch-to-month:Change to month view`, /* @ts-ignore */
645
+ ...(ngDevMode ? [{ debugName: "switchToMonthViewLabel" }] : /* istanbul ignore next */ []));
609
646
  /** A label for the 'switch to year view' button (used by screen readers) */
610
- this.switchToMultiYearViewLabel = signal($localize `:@@nxt-pick-datetime.switch-to-year-month:Choose month and year`, ...(ngDevMode ? [{ debugName: "switchToMultiYearViewLabel" }] : []));
647
+ this.switchToMultiYearViewLabel = signal($localize `:@@nxt-pick-datetime.switch-to-year-month:Choose month and year`, /* @ts-ignore */
648
+ ...(ngDevMode ? [{ debugName: "switchToMultiYearViewLabel" }] : /* istanbul ignore next */ []));
611
649
  /** A label for the cancel button */
612
- this.cancelBtnLabel = signal($localize `:@@nxt-pick-datetime.cancel:Cancel`, ...(ngDevMode ? [{ debugName: "cancelBtnLabel" }] : []));
650
+ this.cancelBtnLabel = signal($localize `:@@nxt-pick-datetime.cancel:Cancel`, /* @ts-ignore */
651
+ ...(ngDevMode ? [{ debugName: "cancelBtnLabel" }] : /* istanbul ignore next */ []));
613
652
  /** A label for the set button */
614
- this.setBtnLabel = signal($localize `:@@nxt-pick-datetime.set:Set`, ...(ngDevMode ? [{ debugName: "setBtnLabel" }] : []));
653
+ this.setBtnLabel = signal($localize `:@@nxt-pick-datetime.set:Set`, /* @ts-ignore */
654
+ ...(ngDevMode ? [{ debugName: "setBtnLabel" }] : /* istanbul ignore next */ []));
615
655
  /** A label for the range 'from' in picker info */
616
- this.rangeFromLabel = signal($localize `:@@nxt-pick-datetime.from:From`, ...(ngDevMode ? [{ debugName: "rangeFromLabel" }] : []));
656
+ this.rangeFromLabel = signal($localize `:@@nxt-pick-datetime.from:From`, /* @ts-ignore */
657
+ ...(ngDevMode ? [{ debugName: "rangeFromLabel" }] : /* istanbul ignore next */ []));
617
658
  /** A label for the range 'to' in picker info */
618
- this.rangeToLabel = signal($localize `:@@nxt-pick-datetime.to:To`, ...(ngDevMode ? [{ debugName: "rangeToLabel" }] : []));
659
+ this.rangeToLabel = signal($localize `:@@nxt-pick-datetime.to:To`, /* @ts-ignore */
660
+ ...(ngDevMode ? [{ debugName: "rangeToLabel" }] : /* istanbul ignore next */ []));
619
661
  /** A label for the hour12 button (AM) */
620
- this.hour12AMLabel = signal($localize `:@@nxt-pick-datetime.time-am:AM`, ...(ngDevMode ? [{ debugName: "hour12AMLabel" }] : []));
662
+ this.hour12AMLabel = signal($localize `:@@nxt-pick-datetime.time-am:AM`, /* @ts-ignore */
663
+ ...(ngDevMode ? [{ debugName: "hour12AMLabel" }] : /* istanbul ignore next */ []));
621
664
  /** A label for the hour12 button (PM) */
622
- this.hour12PMLabel = signal($localize `:@@nxt-pick-datetime.time-pm:PM`, ...(ngDevMode ? [{ debugName: "hour12PMLabel" }] : []));
665
+ this.hour12PMLabel = signal($localize `:@@nxt-pick-datetime.time-pm:PM`, /* @ts-ignore */
666
+ ...(ngDevMode ? [{ debugName: "hour12PMLabel" }] : /* istanbul ignore next */ []));
623
667
  }
624
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
625
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeIntl, providedIn: 'root' }); }
668
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
669
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeIntl, providedIn: 'root' }); }
626
670
  }
627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeIntl, decorators: [{
671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeIntl, decorators: [{
628
672
  type: Injectable,
629
673
  args: [{
630
674
  providedIn: 'root'
@@ -642,36 +686,39 @@ class MultiYearViewComponent {
642
686
  /**
643
687
  * The select mode of the picker;
644
688
  */
645
- this.selectMode = input('single', ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
689
+ this.selectMode = input('single', /* @ts-ignore */
690
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
646
691
  /** The currently selected date */
647
- this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: value => {
692
+ this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: value => {
648
693
  value = this.dateTimeAdapter.deserialize(value);
649
694
  return this.getValidDate(value);
650
695
  } });
651
- this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : {}), transform: values => values.map(v => {
696
+ this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : /* istanbul ignore next */ {}), transform: values => values.map(v => {
652
697
  v = this.dateTimeAdapter.deserialize(v);
653
698
  return this.getValidDate(v);
654
699
  }) });
655
700
  /** Settable signal for pickerMoment */
656
701
  // eslint-disable-next-line @angular-eslint/no-input-rename
657
- this._pickerMomentInput = input(undefined, { ...(ngDevMode ? { debugName: "_pickerMomentInput" } : {}), alias: 'pickerMoment' });
658
- this._pickerMoment = linkedSignal({ ...(ngDevMode ? { debugName: "_pickerMoment" } : {}), source: () => this._pickerMomentInput(),
702
+ this._pickerMomentInput = input(undefined, { ...(ngDevMode ? { debugName: "_pickerMomentInput" } : /* istanbul ignore next */ {}), alias: 'pickerMoment' });
703
+ this._pickerMoment = linkedSignal({ ...(ngDevMode ? { debugName: "_pickerMoment" } : /* istanbul ignore next */ {}), source: () => this._pickerMomentInput(),
659
704
  computation: v => v });
660
705
  this.pickerMoment = computed(() => {
661
706
  const value = this.dateTimeAdapter.deserialize(this._pickerMoment());
662
707
  return this.getValidDate(value) || this.dateTimeAdapter.now();
663
- }, ...(ngDevMode ? [{ debugName: "pickerMoment" }] : []));
708
+ }, /* @ts-ignore */
709
+ ...(ngDevMode ? [{ debugName: "pickerMoment" }] : /* istanbul ignore next */ []));
664
710
  /**
665
711
  * A function used to filter which dates are selectable
666
712
  */
667
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
713
+ this.dateTimeFilter = input(/* @ts-ignore */
714
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
668
715
  /** The minimum selectable date */
669
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => {
716
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => {
670
717
  value = this.dateTimeAdapter.deserialize(value);
671
718
  return this.getValidDate(value);
672
719
  } });
673
720
  /** The maximum selectable date */
674
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => {
721
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => {
675
722
  value = this.dateTimeAdapter.deserialize(value);
676
723
  return this.getValidDate(value);
677
724
  } });
@@ -693,13 +740,18 @@ class MultiYearViewComponent {
693
740
  years,
694
741
  todayYear
695
742
  };
696
- }, ...(ngDevMode ? [{ debugName: "yearsData" }] : []));
697
- this.years = computed(() => this.yearsData().years, ...(ngDevMode ? [{ debugName: "years" }] : []));
698
- this.todayYear = computed(() => this.yearsData().todayYear, ...(ngDevMode ? [{ debugName: "todayYear" }] : []));
699
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
743
+ }, /* @ts-ignore */
744
+ ...(ngDevMode ? [{ debugName: "yearsData" }] : /* istanbul ignore next */ []));
745
+ this.years = computed(() => this.yearsData().years, /* @ts-ignore */
746
+ ...(ngDevMode ? [{ debugName: "years" }] : /* istanbul ignore next */ []));
747
+ this.todayYear = computed(() => this.yearsData().todayYear, /* @ts-ignore */
748
+ ...(ngDevMode ? [{ debugName: "todayYear" }] : /* istanbul ignore next */ []));
749
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
750
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
700
751
  this.isInRangeMode = computed(() => (this.selectMode() === 'range' ||
701
752
  this.selectMode() === 'rangeFrom' ||
702
- this.selectMode() === 'rangeTo'), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
753
+ this.selectMode() === 'rangeTo'), /* @ts-ignore */
754
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
703
755
  this.selectedYears = computed(() => {
704
756
  let selectedYears = new Array();
705
757
  if (this.isInSingleMode() && this.selected()) {
@@ -714,20 +766,23 @@ class MultiYearViewComponent {
714
766
  });
715
767
  }
716
768
  return selectedYears;
717
- }, ...(ngDevMode ? [{ debugName: "selectedYears" }] : []));
769
+ }, /* @ts-ignore */
770
+ ...(ngDevMode ? [{ debugName: "selectedYears" }] : /* istanbul ignore next */ []));
718
771
  this.activeCell = computed(() => {
719
772
  if (this.pickerMoment()) {
720
773
  return this.dateTimeAdapter.getYear(this.pickerMoment()) % (YEARS_PER_ROW * YEAR_ROWS);
721
774
  }
722
775
  return;
723
- }, ...(ngDevMode ? [{ debugName: "activeCell" }] : []));
776
+ }, /* @ts-ignore */
777
+ ...(ngDevMode ? [{ debugName: "activeCell" }] : /* istanbul ignore next */ []));
724
778
  this.tableHeader = computed(() => {
725
779
  const years = this.years();
726
780
  if (years && years.length > 0) {
727
781
  return `${years[0][0].displayValue} ~ ${years[YEAR_ROWS - 1][YEARS_PER_ROW - 1].displayValue}`;
728
782
  }
729
783
  return;
730
- }, ...(ngDevMode ? [{ debugName: "tableHeader" }] : []));
784
+ }, /* @ts-ignore */
785
+ ...(ngDevMode ? [{ debugName: "tableHeader" }] : /* istanbul ignore next */ []));
731
786
  this.prevButtonLabel = this.pickerIntl.prevMultiYearLabel.asReadonly();
732
787
  this.nextButtonLabel = this.pickerIntl.nextMultiYearLabel.asReadonly();
733
788
  /**
@@ -745,7 +800,8 @@ class MultiYearViewComponent {
745
800
  /** Emits when use keyboard enter to select a calendar cell */
746
801
  this.keyboardEnter = output();
747
802
  /** The body of calendar table */
748
- this.calendarBodyElm = viewChild(CalendarBodyComponent, ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : []));
803
+ this.calendarBodyElm = viewChild(CalendarBodyComponent, /* @ts-ignore */
804
+ ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : /* istanbul ignore next */ []));
749
805
  }
750
806
  /**
751
807
  * Handle a calendarCell selected
@@ -878,10 +934,10 @@ class MultiYearViewComponent {
878
934
  focusActiveCell() {
879
935
  this.calendarBodyElm()?.focusActiveCell();
880
936
  }
881
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiYearViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
882
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: MultiYearViewComponent, isStandalone: true, selector: "nxt-date-time-multi-year-view", inputs: { selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, _pickerMomentInput: { classPropertyName: "_pickerMomentInput", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", yearSelected: "yearSelected", pickerMomentChange: "pickerMomentChange", keyboardEnter: "keyboardEnter" }, host: { properties: { "class.nxt-dt-calendar-view": "true", "class.nxt-dt-calendar-multi-year-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n [disabled]=\"!previousEnabled()\"\r\n [attr.aria-label]=\"prevButtonLabel()\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"prevYearList($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Left\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path style=\"fill-rule: evenodd; clip-rule: evenodd;\"\r\n d=\"M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n<table class=\"nxt-dt-calendar-table nxt-dt-calendar-multi-year-table\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr>\r\n <th colspan=\"3\">{{tableHeader()}}</th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"years()\"\r\n [numCols]=\"3\"\r\n [cellRatio]=\"3 / 7\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n [todayValue]=\"todayYear()\"\r\n [selectedValues]=\"selectedYears()\"\r\n [selectMode]=\"selectMode()\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\"></tbody>\r\n</table>\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n [disabled]=\"!nextEnabled()\"\r\n [attr.aria-label]=\"nextButtonLabel()\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"nextYearList($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Right\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\">\r\n <path style=\"fill-rule:evenodd;clip-rule:evenodd;\"\r\n d=\"M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0\r\n c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545\r\n c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681\r\n C197.237,120.447,195.534,115.448,191.75,111.689z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
937
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MultiYearViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
938
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: MultiYearViewComponent, isStandalone: true, selector: "nxt-date-time-multi-year-view", inputs: { selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, _pickerMomentInput: { classPropertyName: "_pickerMomentInput", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", yearSelected: "yearSelected", pickerMomentChange: "pickerMomentChange", keyboardEnter: "keyboardEnter" }, host: { properties: { "class.nxt-dt-calendar-view": "true", "class.nxt-dt-calendar-multi-year-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n [disabled]=\"!previousEnabled()\"\r\n [attr.aria-label]=\"prevButtonLabel()\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"prevYearList($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Left\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path style=\"fill-rule: evenodd; clip-rule: evenodd;\"\r\n d=\"M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n<table class=\"nxt-dt-calendar-table nxt-dt-calendar-multi-year-table\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr>\r\n <th colspan=\"3\">{{tableHeader()}}</th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"years()\"\r\n [numCols]=\"3\"\r\n [cellRatio]=\"3 / 7\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n [todayValue]=\"todayYear()\"\r\n [selectedValues]=\"selectedYears()\"\r\n [selectMode]=\"selectMode()\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\"></tbody>\r\n</table>\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n [disabled]=\"!nextEnabled()\"\r\n [attr.aria-label]=\"nextButtonLabel()\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"nextYearList($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Right\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\">\r\n <path style=\"fill-rule:evenodd;clip-rule:evenodd;\"\r\n d=\"M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0\r\n c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545\r\n c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681\r\n C197.237,120.447,195.534,115.448,191.75,111.689z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
883
939
  }
884
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiYearViewComponent, decorators: [{
940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MultiYearViewComponent, decorators: [{
885
941
  type: Component,
886
942
  args: [{ selector: 'nxt-date-time-multi-year-view', preserveWhitespaces: false, imports: [
887
943
  CalendarBodyComponent
@@ -902,31 +958,33 @@ class YearViewComponent {
902
958
  /**
903
959
  * The select mode of the picker;
904
960
  */
905
- this.selectMode = input('single', ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
961
+ this.selectMode = input('single', /* @ts-ignore */
962
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
906
963
  /** The currently selected date */
907
- this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: value => {
964
+ this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: value => {
908
965
  value = this.dateTimeAdapter.deserialize(value);
909
966
  return this.getValidDate(value);
910
967
  } });
911
- this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : {}), transform: values => values.map(v => {
968
+ this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : /* istanbul ignore next */ {}), transform: values => values.map(v => {
912
969
  v = this.dateTimeAdapter.deserialize(v);
913
970
  return this.getValidDate(v);
914
971
  }) });
915
- this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : {}), transform: value => {
972
+ this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : /* istanbul ignore next */ {}), transform: value => {
916
973
  value = this.dateTimeAdapter.deserialize(value);
917
974
  return this.getValidDate(value) || this.dateTimeAdapter.now();
918
975
  } });
919
976
  /**
920
977
  * A function used to filter which dates are selectable
921
978
  */
922
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
979
+ this.dateTimeFilter = input(/* @ts-ignore */
980
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
923
981
  /** The minimum selectable date */
924
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => {
982
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => {
925
983
  value = this.dateTimeAdapter.deserialize(value);
926
984
  return this.getValidDate(value);
927
985
  } });
928
986
  /** The maximum selectable date */
929
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => {
987
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => {
930
988
  value = this.dateTimeAdapter.deserialize(value);
931
989
  return this.getValidDate(value);
932
990
  } });
@@ -950,29 +1008,35 @@ class YearViewComponent {
950
1008
  months,
951
1009
  todayMonth
952
1010
  };
953
- }, ...(ngDevMode ? [{ debugName: "monthsData" }] : []));
1011
+ }, /* @ts-ignore */
1012
+ ...(ngDevMode ? [{ debugName: "monthsData" }] : /* istanbul ignore next */ []));
954
1013
  this.months = computed(() => {
955
1014
  const months = this.monthsData()?.months;
956
1015
  if (months != undefined)
957
1016
  return this._months = months;
958
1017
  return this._months;
959
- }, ...(ngDevMode ? [{ debugName: "months" }] : []));
1018
+ }, /* @ts-ignore */
1019
+ ...(ngDevMode ? [{ debugName: "months" }] : /* istanbul ignore next */ []));
960
1020
  this.activeCell = computed(() => {
961
1021
  if (this.pickerMoment()) {
962
1022
  return this.dateTimeAdapter.getMonth(this.pickerMoment());
963
1023
  }
964
1024
  return;
965
- }, ...(ngDevMode ? [{ debugName: "activeCell" }] : []));
966
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
1025
+ }, /* @ts-ignore */
1026
+ ...(ngDevMode ? [{ debugName: "activeCell" }] : /* istanbul ignore next */ []));
1027
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
1028
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
967
1029
  this.isInRangeMode = computed(() => (this.selectMode() === 'range' ||
968
1030
  this.selectMode() === 'rangeFrom' ||
969
- this.selectMode() === 'rangeTo'), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
1031
+ this.selectMode() === 'rangeTo'), /* @ts-ignore */
1032
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
970
1033
  this.todayMonth = computed(() => {
971
1034
  const todayMonth = this.monthsData()?.todayMonth;
972
1035
  if (todayMonth != undefined)
973
1036
  return this._todayMonth = todayMonth;
974
1037
  return this._todayMonth;
975
- }, ...(ngDevMode ? [{ debugName: "todayMonth" }] : []));
1038
+ }, /* @ts-ignore */
1039
+ ...(ngDevMode ? [{ debugName: "todayMonth" }] : /* istanbul ignore next */ []));
976
1040
  /**
977
1041
  * An array to hold all selectedDates' month value
978
1042
  * the value is the month number in current year
@@ -992,7 +1056,8 @@ class YearViewComponent {
992
1056
  selectedMonths[1] = this.getMonthInCurrentYear(this.selecteds()[1]);
993
1057
  }
994
1058
  return selectedMonths;
995
- }, ...(ngDevMode ? [{ debugName: "selectedMonths" }] : []));
1059
+ }, /* @ts-ignore */
1060
+ ...(ngDevMode ? [{ debugName: "selectedMonths" }] : /* istanbul ignore next */ []));
996
1061
  /**
997
1062
  * Callback to invoke when a new month is selected
998
1063
  */
@@ -1008,7 +1073,8 @@ class YearViewComponent {
1008
1073
  /** Emits when use keyboard enter to select a calendar cell */
1009
1074
  this.keyboardEnter = output();
1010
1075
  /** The body of calendar table */
1011
- this.calendarBodyElm = viewChild(CalendarBodyComponent, ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : []));
1076
+ this.calendarBodyElm = viewChild(CalendarBodyComponent, /* @ts-ignore */
1077
+ ...(ngDevMode ? [{ debugName: "calendarBodyElm" }] : /* istanbul ignore next */ []));
1012
1078
  }
1013
1079
  /**
1014
1080
  * Handle a calendarCell selected
@@ -1154,10 +1220,10 @@ class YearViewComponent {
1154
1220
  focusActiveCell() {
1155
1221
  this.calendarBodyElm()?.focusActiveCell();
1156
1222
  }
1157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: YearViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: YearViewComponent, isStandalone: true, selector: "nxt-date-time-year-view", inputs: { selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", monthSelected: "monthSelected", pickerMomentChange: "pickerMomentChange", keyboardEnter: "keyboardEnter" }, host: { properties: { "class.nxt-dt-calendar-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<table class=\"nxt-dt-calendar-table nxt-dt-calendar-year-table\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr>\r\n <th class=\"nxt-dt-calendar-table-divider\"\r\n aria-hidden=\"true\"\r\n colspan=\"3\"></th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"months()\"\r\n [numCols]=\"3\"\r\n [cellRatio]=\"3 / 7\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n [todayValue]=\"todayMonth()\"\r\n [selectedValues]=\"selectedMonths()\"\r\n [selectMode]=\"selectMode()\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\">\r\n </tbody>\r\n</table>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
1223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: YearViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1224
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: YearViewComponent, isStandalone: true, selector: "nxt-date-time-year-view", inputs: { selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", monthSelected: "monthSelected", pickerMomentChange: "pickerMomentChange", keyboardEnter: "keyboardEnter" }, host: { properties: { "class.nxt-dt-calendar-view": "true" } }, viewQueries: [{ propertyName: "calendarBodyElm", first: true, predicate: CalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<table class=\"nxt-dt-calendar-table nxt-dt-calendar-year-table\">\r\n <thead class=\"nxt-dt-calendar-header\">\r\n <tr>\r\n <th class=\"nxt-dt-calendar-table-divider\"\r\n aria-hidden=\"true\"\r\n colspan=\"3\"></th>\r\n </tr>\r\n </thead>\r\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus -->\r\n <tbody nxtDateTimeCalendarBody\r\n role=\"grid\"\r\n [rows]=\"months()\"\r\n [numCols]=\"3\"\r\n [cellRatio]=\"3 / 7\"\r\n [activeCell]=\"activeCell() ?? 0\"\r\n [todayValue]=\"todayMonth()\"\r\n [selectedValues]=\"selectedMonths()\"\r\n [selectMode]=\"selectMode()\"\r\n (keydown)=\"handleCalendarKeydown($event)\"\r\n (select)=\"selectCalendarCell($event)\">\r\n </tbody>\r\n</table>\r\n", styles: [""], dependencies: [{ kind: "component", type: CalendarBodyComponent, selector: "[nxtDateTimeCalendarBody]", inputs: ["activeCell", "rows", "numCols", "cellRatio", "todayValue", "selectedValues", "selectMode"], outputs: ["select"], exportAs: ["nxtDateTimeCalendarBody"] }] }); }
1159
1225
  }
1160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: YearViewComponent, decorators: [{
1226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: YearViewComponent, decorators: [{
1161
1227
  type: Component,
1162
1228
  args: [{ selector: 'nxt-date-time-year-view', preserveWhitespaces: false, imports: [
1163
1229
  CalendarBodyComponent
@@ -1171,18 +1237,22 @@ class CalendarComponent {
1171
1237
  this.elmRef = inject(ElementRef);
1172
1238
  this.pickerIntl = inject(DateTimeIntl);
1173
1239
  this.ngZone = inject(NgZone);
1240
+ this.injector = inject(Injector);
1241
+ this.destroyRef = inject(DestroyRef);
1174
1242
  this.dateTimeAdapter = inject(DateTimeAdapter);
1175
1243
  this.dateTimeFormats = inject(NXT_DATE_TIME_FORMATS);
1176
1244
  /**
1177
1245
  * Date filter for the month and year view
1178
1246
  */
1179
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
1247
+ this.dateTimeFilter = input(/* @ts-ignore */
1248
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
1180
1249
  /**
1181
1250
  * Set the first day of week
1182
1251
  */
1183
- this.firstDayOfWeek = input(0, ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : []));
1252
+ this.firstDayOfWeek = input(0, /* @ts-ignore */
1253
+ ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
1184
1254
  /** The minimum selectable date */
1185
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: (value) => {
1255
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: (value) => {
1186
1256
  value = this.dateTimeAdapter.deserialize(value);
1187
1257
  value = this.getValidDate(value);
1188
1258
  return value
@@ -1190,7 +1260,7 @@ class CalendarComponent {
1190
1260
  : undefined;
1191
1261
  } });
1192
1262
  /** The maximum selectable date */
1193
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: (value) => {
1263
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: (value) => {
1194
1264
  value = this.dateTimeAdapter.deserialize(value);
1195
1265
  value = this.getValidDate(value);
1196
1266
  return value
@@ -1199,32 +1269,36 @@ class CalendarComponent {
1199
1269
  } });
1200
1270
  /** The current picker moment */
1201
1271
  // eslint-disable-next-line @angular-eslint/no-input-rename
1202
- this._pickerMomentInput = input(undefined, { ...(ngDevMode ? { debugName: "_pickerMomentInput" } : {}), alias: 'pickerMoment' });
1272
+ this._pickerMomentInput = input(undefined, { ...(ngDevMode ? { debugName: "_pickerMomentInput" } : /* istanbul ignore next */ {}), alias: 'pickerMoment' });
1203
1273
  /** Settable signal for pickerMoment */
1204
- this._pickerMoment = linkedSignal({ ...(ngDevMode ? { debugName: "_pickerMoment" } : {}), source: () => this._pickerMomentInput(),
1274
+ this._pickerMoment = linkedSignal({ ...(ngDevMode ? { debugName: "_pickerMoment" } : /* istanbul ignore next */ {}), source: () => this._pickerMomentInput(),
1205
1275
  computation: v => v });
1206
1276
  this.pickerMoment = computed(() => {
1207
1277
  const value = this.dateTimeAdapter.deserialize(this._pickerMoment());
1208
1278
  return this.getValidDate(value) || this.dateTimeAdapter.now();
1209
- }, ...(ngDevMode ? [{ debugName: "pickerMoment" }] : []));
1210
- this.selectMode = input(...(ngDevMode ? [undefined, { debugName: "selectMode" }] : []));
1279
+ }, /* @ts-ignore */
1280
+ ...(ngDevMode ? [{ debugName: "pickerMoment" }] : /* istanbul ignore next */ []));
1281
+ this.selectMode = input(/* @ts-ignore */
1282
+ ...(ngDevMode ? [undefined, { debugName: "selectMode" }] : /* istanbul ignore next */ []));
1211
1283
  /** The currently selected moment */
1212
- this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: (value) => {
1284
+ this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: (value) => {
1213
1285
  value = this.dateTimeAdapter.deserialize(value);
1214
1286
  return this.getValidDate(value);
1215
1287
  } });
1216
- this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : {}), transform: (values) => values.map(v => {
1288
+ this.selecteds = input([], { ...(ngDevMode ? { debugName: "selecteds" } : /* istanbul ignore next */ {}), transform: (values) => values.map(v => {
1217
1289
  v = this.dateTimeAdapter.deserialize(v);
1218
1290
  return this.getValidDate(v);
1219
1291
  }) });
1220
1292
  /**
1221
1293
  * The view that the calendar should start in
1222
1294
  */
1223
- this.startView = input('month', ...(ngDevMode ? [{ debugName: "startView" }] : []));
1295
+ this.startView = input('month', /* @ts-ignore */
1296
+ ...(ngDevMode ? [{ debugName: "startView" }] : /* istanbul ignore next */ []));
1224
1297
  /**
1225
1298
  * Whether to hide dates in other months at the start or end of the current month
1226
1299
  */
1227
- this.hideOtherMonths = input(false, ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : []));
1300
+ this.hideOtherMonths = input(false, /* @ts-ignore */
1301
+ ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : /* istanbul ignore next */ []));
1228
1302
  /** Emits when the currently picker moment changes */
1229
1303
  this.pickerMomentChange = output();
1230
1304
  /** Emits when the currently selected date changes */
@@ -1245,10 +1319,12 @@ class CalendarComponent {
1245
1319
  this.monthSelected = output();
1246
1320
  this.periodButtonText = computed(() => this.isMonthView()
1247
1321
  ? this.dateTimeAdapter.format(this.pickerMoment(), this.dateTimeFormats.monthYearLabel)
1248
- : this.dateTimeAdapter.getYearName(this.pickerMoment()), ...(ngDevMode ? [{ debugName: "periodButtonText" }] : []));
1322
+ : this.dateTimeAdapter.getYearName(this.pickerMoment()), /* @ts-ignore */
1323
+ ...(ngDevMode ? [{ debugName: "periodButtonText" }] : /* istanbul ignore next */ []));
1249
1324
  this.periodButtonLabel = computed(() => this.isMonthView()
1250
1325
  ? this.pickerIntl.switchToMultiYearViewLabel()
1251
- : this.pickerIntl.switchToMonthViewLabel(), ...(ngDevMode ? [{ debugName: "periodButtonLabel" }] : []));
1326
+ : this.pickerIntl.switchToMonthViewLabel(), /* @ts-ignore */
1327
+ ...(ngDevMode ? [{ debugName: "periodButtonLabel" }] : /* istanbul ignore next */ []));
1252
1328
  this.prevButtonLabel = computed(() => {
1253
1329
  const currentView = this.currentView();
1254
1330
  if (currentView === 'month') {
@@ -1258,7 +1334,8 @@ class CalendarComponent {
1258
1334
  return this.pickerIntl.prevYearLabel();
1259
1335
  }
1260
1336
  return;
1261
- }, ...(ngDevMode ? [{ debugName: "prevButtonLabel" }] : []));
1337
+ }, /* @ts-ignore */
1338
+ ...(ngDevMode ? [{ debugName: "prevButtonLabel" }] : /* istanbul ignore next */ []));
1262
1339
  this.nextButtonLabel = computed(() => {
1263
1340
  const currentView = this.currentView();
1264
1341
  if (currentView === 'month') {
@@ -1268,18 +1345,23 @@ class CalendarComponent {
1268
1345
  return this.pickerIntl.nextYearLabel();
1269
1346
  }
1270
1347
  return;
1271
- }, ...(ngDevMode ? [{ debugName: "nextButtonLabel" }] : []));
1272
- this.currentView = linkedSignal({ ...(ngDevMode ? { debugName: "currentView" } : {}), source: () => this.startView(),
1348
+ }, /* @ts-ignore */
1349
+ ...(ngDevMode ? [{ debugName: "nextButtonLabel" }] : /* istanbul ignore next */ []));
1350
+ this.currentView = linkedSignal({ ...(ngDevMode ? { debugName: "currentView" } : /* istanbul ignore next */ {}), source: () => this.startView(),
1273
1351
  computation: v => v });
1274
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
1352
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
1353
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
1275
1354
  this.isInRangeMode = computed(() => {
1276
1355
  const selectMode = this.selectMode();
1277
1356
  return (selectMode === 'range' ||
1278
1357
  selectMode === 'rangeFrom' ||
1279
1358
  selectMode === 'rangeTo');
1280
- }, ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
1281
- this.showControlArrows = computed(() => this.currentView() !== 'multi-years', ...(ngDevMode ? [{ debugName: "showControlArrows" }] : []));
1282
- this.isMonthView = computed(() => this.currentView() === 'month', ...(ngDevMode ? [{ debugName: "isMonthView" }] : []));
1359
+ }, /* @ts-ignore */
1360
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
1361
+ this.showControlArrows = computed(() => this.currentView() !== 'multi-years', /* @ts-ignore */
1362
+ ...(ngDevMode ? [{ debugName: "showControlArrows" }] : /* istanbul ignore next */ []));
1363
+ this.isMonthView = computed(() => this.currentView() === 'month', /* @ts-ignore */
1364
+ ...(ngDevMode ? [{ debugName: "isMonthView" }] : /* istanbul ignore next */ []));
1283
1365
  /**
1284
1366
  * Date filter for the month and year view
1285
1367
  */
@@ -1294,12 +1376,11 @@ class CalendarComponent {
1294
1376
  };
1295
1377
  afterRenderEffect(() => {
1296
1378
  this.currentView();
1297
- this.focusActiveCell();
1298
- /*this.ngZone.runOutsideAngular(() => {
1379
+ this.ngZone.runOutsideAngular(() => {
1299
1380
  this.elmRef.nativeElement
1300
- ?.querySelector<HTMLElement>('.nxt-dt-calendar-cell-active')
1301
- ?.focus()
1302
- })*/
1381
+ ?.querySelector('.nxt-dt-calendar-cell-active')
1382
+ ?.focus();
1383
+ });
1303
1384
  });
1304
1385
  }
1305
1386
  /**
@@ -1373,16 +1454,14 @@ class CalendarComponent {
1373
1454
  * Focus to the host element
1374
1455
  */
1375
1456
  focusActiveCell() {
1376
- this.ngZone.runOutsideAngular(() => {
1377
- this.ngZone.onStable
1378
- .asObservable()
1379
- .pipe(take(1))
1380
- .subscribe(() => {
1381
- this.elmRef.nativeElement
1382
- ?.querySelector('.nxt-dt-calendar-cell-active')
1383
- ?.focus();
1384
- });
1385
- });
1457
+ if (!this.destroyRef.destroyed)
1458
+ afterNextRender(() => {
1459
+ this.ngZone.runOutsideAngular(() => {
1460
+ this.elmRef.nativeElement
1461
+ ?.querySelector('.nxt-dt-calendar-cell-active')
1462
+ ?.focus();
1463
+ });
1464
+ }, { injector: this.injector });
1386
1465
  }
1387
1466
  selectYearInMultiYearView(normalizedYear) {
1388
1467
  this.yearSelected.emit(normalizedYear);
@@ -1421,10 +1500,10 @@ class CalendarComponent {
1421
1500
  ? obj
1422
1501
  : undefined;
1423
1502
  }
1424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: CalendarComponent, isStandalone: true, selector: "nxt-date-time-calendar", inputs: { dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, _pickerMomentInput: { classPropertyName: "_pickerMomentInput", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, startView: { classPropertyName: "startView", publicName: "startView", isSignal: true, isRequired: false, transformFunction: null }, hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pickerMomentChange: "pickerMomentChange", selectedChange: "selectedChange", userSelection: "userSelection", yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.nxt-dt-calendar": "true" } }, ngImport: i0, template: "<div class=\"nxt-dt-calendar-control\">\r\n <!-- focus when keyboard tab (http://kizu.ru/en/blog/keyboard-only-focus/#x) -->\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [style.visibility]=\"showControlArrows()? 'visible': 'hidden'\"\r\n [disabled]=\"!prevButtonEnabled()\"\r\n [attr.aria-label]=\"prevButtonLabel()\"\r\n (click)=\"previousClicked()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Left\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path style=\"fill-rule: evenodd; clip-rule: evenodd;\"\r\n d=\"M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </button>\r\n <div class=\"nxt-dt-calendar-control-content\">\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-period-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"periodButtonLabel()\"\r\n (click)=\"toggleViews()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{periodButtonText()}}\r\n\r\n <span class=\"nxt-dt-control-button-arrow\"\r\n [style.transform]=\"'rotate(' + (isMonthView()? 0 : 180) +'deg)'\">\r\n <!-- <editor-fold desc=\"SVG Arrow\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n width=\"50%\"\r\n height=\"50%\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n style=\"enable-background:new 0 0 292.362 292.362;\"\r\n xml:space=\"preserve\">\r\n <g>\r\n <path d=\"M286.935,69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952,0-9.233,1.807-12.85,5.424\r\n C1.807,72.998,0,77.279,0,82.228c0,4.948,1.807,9.229,5.424,12.847l127.907,127.907c3.621,3.617,7.902,5.428,12.85,5.428\r\n s9.233-1.811,12.847-5.428L286.935,95.074c3.613-3.617,5.427-7.898,5.427-12.847C292.362,77.279,290.548,72.998,286.935,69.377z\" />\r\n </g>\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </span>\r\n </button>\r\n </div>\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [style.visibility]=\"showControlArrows()? 'visible': 'hidden'\"\r\n [disabled]=\"!nextButtonEnabled()\"\r\n [attr.aria-label]=\"nextButtonLabel()\"\r\n (click)=\"nextClicked()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Right\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\">\r\n <path style=\"fill-rule:evenodd;clip-rule:evenodd;\"\r\n d=\"M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0\r\n c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545\r\n c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681\r\n C197.237,120.447,195.534,115.448,191.75,111.689z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </button>\r\n</div>\r\n<div class=\"nxt-dt-calendar-main\"\r\n cdkMonitorSubtreeFocus\r\n tabindex=\"-1\">\r\n @switch (currentView()) {\r\n @case ('month') {\r\n <nxt-date-time-month-view [pickerMoment]=\"pickerMoment()\"\r\n [firstDayOfWeek]=\"firstDayOfWeek()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n [hideOtherMonths]=\"hideOtherMonths()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (selectedChange)=\"dateSelected($event)\"\r\n (userSelection)=\"userSelected()\" />\r\n }\r\n @case ('year') {\r\n <nxt-date-time-year-view [pickerMoment]=\"pickerMoment()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n (keyboardEnter)=\"focusActiveCell()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (monthSelected)=\"selectMonthInYearView($event)\"\r\n (change)=\"goToDateInView($event, 'month')\" />\r\n }\r\n @case ('multi-years') {\r\n <nxt-date-time-multi-year-view [pickerMoment]=\"pickerMoment()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n (keyboardEnter)=\"focusActiveCell()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (yearSelected)=\"selectYearInMultiYearView($event)\"\r\n (change)=\"goToDateInView($event, 'year')\" />\r\n }\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: MonthViewComponent, selector: "nxt-date-time-month-view", inputs: ["hideOtherMonths", "firstDayOfWeek", "selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["selectedChange", "userSelection", "pickerMomentChange"] }, { kind: "component", type: YearViewComponent, selector: "nxt-date-time-year-view", inputs: ["selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["change", "monthSelected", "pickerMomentChange", "keyboardEnter"] }, { kind: "component", type: MultiYearViewComponent, selector: "nxt-date-time-multi-year-view", inputs: ["selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["change", "yearSelected", "pickerMomentChange", "keyboardEnter"] }] }); }
1503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1504
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: CalendarComponent, isStandalone: true, selector: "nxt-date-time-calendar", inputs: { dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, _pickerMomentInput: { classPropertyName: "_pickerMomentInput", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selecteds: { classPropertyName: "selecteds", publicName: "selecteds", isSignal: true, isRequired: false, transformFunction: null }, startView: { classPropertyName: "startView", publicName: "startView", isSignal: true, isRequired: false, transformFunction: null }, hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pickerMomentChange: "pickerMomentChange", selectedChange: "selectedChange", userSelection: "userSelection", yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.nxt-dt-calendar": "true" } }, ngImport: i0, template: "<div class=\"nxt-dt-calendar-control\">\r\n <!-- focus when keyboard tab (http://kizu.ru/en/blog/keyboard-only-focus/#x) -->\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [style.visibility]=\"showControlArrows()? 'visible': 'hidden'\"\r\n [disabled]=\"!prevButtonEnabled()\"\r\n [attr.aria-label]=\"prevButtonLabel()\"\r\n (click)=\"previousClicked()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Left\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path style=\"fill-rule: evenodd; clip-rule: evenodd;\"\r\n d=\"M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </button>\r\n <div class=\"nxt-dt-calendar-control-content\">\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-period-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"periodButtonLabel()\"\r\n (click)=\"toggleViews()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{periodButtonText()}}\r\n\r\n <span class=\"nxt-dt-control-button-arrow\"\r\n [style.transform]=\"'rotate(' + (isMonthView()? 0 : 180) +'deg)'\">\r\n <!-- <editor-fold desc=\"SVG Arrow\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n width=\"50%\"\r\n height=\"50%\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n style=\"enable-background:new 0 0 292.362 292.362;\"\r\n xml:space=\"preserve\">\r\n <g>\r\n <path d=\"M286.935,69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952,0-9.233,1.807-12.85,5.424\r\n C1.807,72.998,0,77.279,0,82.228c0,4.948,1.807,9.229,5.424,12.847l127.907,127.907c3.621,3.617,7.902,5.428,12.85,5.428\r\n s9.233-1.811,12.847-5.428L286.935,95.074c3.613-3.617,5.427-7.898,5.427-12.847C292.362,77.279,290.548,72.998,286.935,69.377z\" />\r\n </g>\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </span>\r\n </button>\r\n </div>\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n [style.visibility]=\"showControlArrows()? 'visible': 'hidden'\"\r\n [disabled]=\"!nextButtonEnabled()\"\r\n [attr.aria-label]=\"nextButtonLabel()\"\r\n (click)=\"nextClicked()\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Right\"> -->\r\n <svg version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 250.738 250.738\"\r\n style=\"enable-background:new 0 0 250.738 250.738;\"\r\n xml:space=\"preserve\">\r\n <path style=\"fill-rule:evenodd;clip-rule:evenodd;\"\r\n d=\"M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0\r\n c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545\r\n c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681\r\n C197.237,120.447,195.534,115.448,191.75,111.689z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n </button>\r\n</div>\r\n<div class=\"nxt-dt-calendar-main\"\r\n cdkMonitorSubtreeFocus\r\n tabindex=\"-1\">\r\n @switch (currentView()) {\r\n @case ('month') {\r\n <nxt-date-time-month-view [pickerMoment]=\"pickerMoment()\"\r\n [firstDayOfWeek]=\"firstDayOfWeek()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n [hideOtherMonths]=\"hideOtherMonths()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (selectedChange)=\"dateSelected($event)\"\r\n (userSelection)=\"userSelected()\" />\r\n }\r\n @case ('year') {\r\n <nxt-date-time-year-view [pickerMoment]=\"pickerMoment()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n (keyboardEnter)=\"focusActiveCell()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (monthSelected)=\"selectMonthInYearView($event)\"\r\n (change)=\"goToDateInView($event, 'month')\" />\r\n }\r\n @case ('multi-years') {\r\n <nxt-date-time-multi-year-view [pickerMoment]=\"pickerMoment()\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds()\"\r\n [selectMode]=\"selectMode() ?? 'single'\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n (keyboardEnter)=\"focusActiveCell()\"\r\n (pickerMomentChange)=\"handlePickerMomentChange($event)\"\r\n (yearSelected)=\"selectYearInMultiYearView($event)\"\r\n (change)=\"goToDateInView($event, 'year')\" />\r\n }\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: MonthViewComponent, selector: "nxt-date-time-month-view", inputs: ["hideOtherMonths", "firstDayOfWeek", "selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["selectedChange", "userSelection", "pickerMomentChange"] }, { kind: "component", type: YearViewComponent, selector: "nxt-date-time-year-view", inputs: ["selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["change", "monthSelected", "pickerMomentChange", "keyboardEnter"] }, { kind: "component", type: MultiYearViewComponent, selector: "nxt-date-time-multi-year-view", inputs: ["selectMode", "selected", "selecteds", "pickerMoment", "dateTimeFilter", "min", "max"], outputs: ["change", "yearSelected", "pickerMomentChange", "keyboardEnter"] }] }); }
1426
1505
  }
1427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CalendarComponent, decorators: [{
1506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CalendarComponent, decorators: [{
1428
1507
  type: Component,
1429
1508
  args: [{ selector: 'nxt-date-time-calendar', preserveWhitespaces: false, imports: [
1430
1509
  CdkMonitorFocus,
@@ -1445,50 +1524,60 @@ class DateTimeDirective {
1445
1524
  /**
1446
1525
  * When true, shows a timer to configure the seconds value
1447
1526
  */
1448
- this.showSecondsTimer = input(false, ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : []));
1527
+ this.showSecondsTimer = input(false, /* @ts-ignore */
1528
+ ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : /* istanbul ignore next */ []));
1449
1529
  /**
1450
1530
  * When true, the timer will be in 12-hour format mode
1451
1531
  */
1452
- this.hour12Timer = input(false, ...(ngDevMode ? [{ debugName: "hour12Timer" }] : []));
1532
+ this.hour12Timer = input(false, /* @ts-ignore */
1533
+ ...(ngDevMode ? [{ debugName: "hour12Timer" }] : /* istanbul ignore next */ []));
1453
1534
  /**
1454
1535
  * The view that the calendar should start on
1455
1536
  */
1456
- this.startView = input('month', ...(ngDevMode ? [{ debugName: "startView" }] : []));
1537
+ this.startView = input('month', /* @ts-ignore */
1538
+ ...(ngDevMode ? [{ debugName: "startView" }] : /* istanbul ignore next */ []));
1457
1539
  /**
1458
1540
  * Hours to change per step
1459
1541
  */
1460
- this.stepHour = input(1, ...(ngDevMode ? [{ debugName: "stepHour" }] : []));
1542
+ this.stepHour = input(1, /* @ts-ignore */
1543
+ ...(ngDevMode ? [{ debugName: "stepHour" }] : /* istanbul ignore next */ []));
1461
1544
  /**
1462
1545
  * Minutes to change per step
1463
1546
  */
1464
- this.stepMinute = input(1, ...(ngDevMode ? [{ debugName: "stepMinute" }] : []));
1547
+ this.stepMinute = input(1, /* @ts-ignore */
1548
+ ...(ngDevMode ? [{ debugName: "stepMinute" }] : /* istanbul ignore next */ []));
1465
1549
  /**
1466
1550
  * Seconds to change per step
1467
1551
  */
1468
- this.stepSecond = input(1, ...(ngDevMode ? [{ debugName: "stepSecond" }] : []));
1552
+ this.stepSecond = input(1, /* @ts-ignore */
1553
+ ...(ngDevMode ? [{ debugName: "stepSecond" }] : /* istanbul ignore next */ []));
1469
1554
  /**
1470
1555
  * Set the first day of week
1471
1556
  *
1472
1557
  * Valid values are from 0 [Sunday] to 6 [Saturday]
1473
1558
  */
1474
- this.firstDayOfWeek = input(0, ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : []));
1559
+ this.firstDayOfWeek = input(0, /* @ts-ignore */
1560
+ ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
1475
1561
  /**
1476
1562
  * If true, don't show dates from preious / next month on the calendar month view
1477
1563
  */
1478
- this.hideOtherMonths = input(false, ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : []));
1564
+ this.hideOtherMonths = input(false, /* @ts-ignore */
1565
+ ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : /* istanbul ignore next */ []));
1479
1566
  this.id = `nxt-dt-picker-${nextUniqueId++}`;
1480
1567
  this.formatString = computed(() => this.pickerType() === 'both'
1481
1568
  ? this.dateTimeFormats.fullPickerInput
1482
1569
  : this.pickerType() === 'calendar'
1483
1570
  ? this.dateTimeFormats.datePickerInput
1484
- : this.dateTimeFormats.timePickerInput, ...(ngDevMode ? [{ debugName: "formatString" }] : []));
1571
+ : this.dateTimeFormats.timePickerInput, /* @ts-ignore */
1572
+ ...(ngDevMode ? [{ debugName: "formatString" }] : /* istanbul ignore next */ []));
1485
1573
  /**
1486
1574
  * Date Time Checker to check if the give dateTime is selectable
1487
1575
  */
1488
1576
  this.dateTimeChecker = signal((dateTime) => (!!dateTime &&
1489
1577
  (!this.dateTimeFilter() || this.dateTimeFilter()(dateTime)) &&
1490
1578
  (!this.min() || this.dateTimeAdapter.compare(dateTime, this.min()) >= 0) &&
1491
- (!this.max() || this.dateTimeAdapter.compare(dateTime, this.max()) <= 0)), ...(ngDevMode ? [{ debugName: "dateTimeChecker" }] : []));
1579
+ (!this.max() || this.dateTimeAdapter.compare(dateTime, this.max()) <= 0)), /* @ts-ignore */
1580
+ ...(ngDevMode ? [{ debugName: "dateTimeChecker" }] : /* istanbul ignore next */ []));
1492
1581
  }
1493
1582
  getValidDate(obj) {
1494
1583
  return this.dateTimeAdapter.isDateInstance(obj) &&
@@ -1496,10 +1585,10 @@ class DateTimeDirective {
1496
1585
  ? obj
1497
1586
  : undefined;
1498
1587
  }
1499
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1500
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: DateTimeDirective, isStandalone: true, inputs: { showSecondsTimer: { classPropertyName: "showSecondsTimer", publicName: "showSecondsTimer", isSignal: true, isRequired: false, transformFunction: null }, hour12Timer: { classPropertyName: "hour12Timer", publicName: "hour12Timer", isSignal: true, isRequired: false, transformFunction: null }, startView: { classPropertyName: "startView", publicName: "startView", isSignal: true, isRequired: false, transformFunction: null }, stepHour: { classPropertyName: "stepHour", publicName: "stepHour", isSignal: true, isRequired: false, transformFunction: null }, stepMinute: { classPropertyName: "stepMinute", publicName: "stepMinute", isSignal: true, isRequired: false, transformFunction: null }, stepSecond: { classPropertyName: "stepSecond", publicName: "stepSecond", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
1588
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1589
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.6", type: DateTimeDirective, isStandalone: true, inputs: { showSecondsTimer: { classPropertyName: "showSecondsTimer", publicName: "showSecondsTimer", isSignal: true, isRequired: false, transformFunction: null }, hour12Timer: { classPropertyName: "hour12Timer", publicName: "hour12Timer", isSignal: true, isRequired: false, transformFunction: null }, startView: { classPropertyName: "startView", publicName: "startView", isSignal: true, isRequired: false, transformFunction: null }, stepHour: { classPropertyName: "stepHour", publicName: "stepHour", isSignal: true, isRequired: false, transformFunction: null }, stepMinute: { classPropertyName: "stepMinute", publicName: "stepMinute", isSignal: true, isRequired: false, transformFunction: null }, stepSecond: { classPropertyName: "stepSecond", publicName: "stepSecond", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, hideOtherMonths: { classPropertyName: "hideOtherMonths", publicName: "hideOtherMonths", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
1501
1590
  }
1502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeDirective, decorators: [{
1591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeDirective, decorators: [{
1503
1592
  type: Directive
1504
1593
  }], propDecorators: { showSecondsTimer: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSecondsTimer", required: false }] }], hour12Timer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hour12Timer", required: false }] }], startView: [{ type: i0.Input, args: [{ isSignal: true, alias: "startView", required: false }] }], stepHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepHour", required: false }] }], stepMinute: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepMinute", required: false }] }], stepSecond: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepSecond", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], hideOtherMonths: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideOtherMonths", required: false }] }] } });
1505
1594
 
@@ -1513,10 +1602,10 @@ class NumberFixedLenPipe {
1513
1602
  return number;
1514
1603
  return number.toFixed(0).padStart(Math.floor(len), '0');
1515
1604
  }
1516
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NumberFixedLenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1517
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: NumberFixedLenPipe, isStandalone: true, name: "numberFixedLen" }); }
1605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NumberFixedLenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1606
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.6", ngImport: i0, type: NumberFixedLenPipe, isStandalone: true, name: "numberFixedLen" }); }
1518
1607
  }
1519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NumberFixedLenPipe, decorators: [{
1608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NumberFixedLenPipe, decorators: [{
1520
1609
  type: Pipe,
1521
1610
  args: [{
1522
1611
  name: 'numberFixedLen'
@@ -1526,25 +1615,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1526
1615
  /** @internal */
1527
1616
  class TimerBoxComponent {
1528
1617
  constructor() {
1529
- this.showDivider = input(false, ...(ngDevMode ? [{ debugName: "showDivider" }] : []));
1530
- this.upBtnAriaLabel = input(...(ngDevMode ? [undefined, { debugName: "upBtnAriaLabel" }] : []));
1531
- this.upBtnDisabled = input(false, ...(ngDevMode ? [{ debugName: "upBtnDisabled" }] : []));
1532
- this.downBtnAriaLabel = input(...(ngDevMode ? [undefined, { debugName: "downBtnAriaLabel" }] : []));
1533
- this.downBtnDisabled = input(false, ...(ngDevMode ? [{ debugName: "downBtnDisabled" }] : []));
1618
+ this.showDivider = input(false, /* @ts-ignore */
1619
+ ...(ngDevMode ? [{ debugName: "showDivider" }] : /* istanbul ignore next */ []));
1620
+ this.upBtnAriaLabel = input(/* @ts-ignore */
1621
+ ...(ngDevMode ? [undefined, { debugName: "upBtnAriaLabel" }] : /* istanbul ignore next */ []));
1622
+ this.upBtnDisabled = input(false, /* @ts-ignore */
1623
+ ...(ngDevMode ? [{ debugName: "upBtnDisabled" }] : /* istanbul ignore next */ []));
1624
+ this.downBtnAriaLabel = input(/* @ts-ignore */
1625
+ ...(ngDevMode ? [undefined, { debugName: "downBtnAriaLabel" }] : /* istanbul ignore next */ []));
1626
+ this.downBtnDisabled = input(false, /* @ts-ignore */
1627
+ ...(ngDevMode ? [{ debugName: "downBtnDisabled" }] : /* istanbul ignore next */ []));
1534
1628
  /**
1535
1629
  * Value would be displayed in the box
1536
1630
  * If it is undefiend, the box would display [value]
1537
1631
  */
1538
- this.boxValue = input(...(ngDevMode ? [undefined, { debugName: "boxValue" }] : []));
1539
- this.value = input(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
1540
- this.min = input(0, ...(ngDevMode ? [{ debugName: "min" }] : []));
1541
- this.max = input(0, ...(ngDevMode ? [{ debugName: "max" }] : []));
1542
- this.step = input(1, ...(ngDevMode ? [{ debugName: "step" }] : []));
1543
- this.inputLabel = input(...(ngDevMode ? [undefined, { debugName: "inputLabel" }] : []));
1632
+ this.boxValue = input(/* @ts-ignore */
1633
+ ...(ngDevMode ? [undefined, { debugName: "boxValue" }] : /* istanbul ignore next */ []));
1634
+ this.value = input(0, /* @ts-ignore */
1635
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1636
+ this.min = input(0, /* @ts-ignore */
1637
+ ...(ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []));
1638
+ this.max = input(0, /* @ts-ignore */
1639
+ ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
1640
+ this.step = input(1, /* @ts-ignore */
1641
+ ...(ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []));
1642
+ this.inputLabel = input(/* @ts-ignore */
1643
+ ...(ngDevMode ? [undefined, { debugName: "inputLabel" }] : /* istanbul ignore next */ []));
1544
1644
  this.valueChange = output();
1545
1645
  this.inputChange = output();
1546
1646
  this.inputStream = new Subject();
1547
- this.displayValue = computed(() => this.boxValue() || this.value(), ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
1647
+ this.displayValue = computed(() => this.boxValue() || this.value(), /* @ts-ignore */
1648
+ ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
1548
1649
  }
1549
1650
  ngOnInit() {
1550
1651
  this.inputStreamSub = this.inputStream.pipe(debounceTime(500), distinctUntilChanged()).subscribe((val) => {
@@ -1576,10 +1677,10 @@ class TimerBoxComponent {
1576
1677
  }
1577
1678
  this.inputChange.emit(value);
1578
1679
  }
1579
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TimerBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1580
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: TimerBoxComponent, isStandalone: true, selector: "nxt-date-time-timer-box", inputs: { showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, upBtnAriaLabel: { classPropertyName: "upBtnAriaLabel", publicName: "upBtnAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, upBtnDisabled: { classPropertyName: "upBtnDisabled", publicName: "upBtnDisabled", isSignal: true, isRequired: false, transformFunction: null }, downBtnAriaLabel: { classPropertyName: "downBtnAriaLabel", publicName: "downBtnAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, downBtnDisabled: { classPropertyName: "downBtnDisabled", publicName: "downBtnDisabled", isSignal: true, isRequired: false, transformFunction: null }, boxValue: { classPropertyName: "boxValue", publicName: "boxValue", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, inputLabel: { classPropertyName: "inputLabel", publicName: "inputLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", inputChange: "inputChange" }, host: { properties: { "class.nxt-dt-timer-box": "true" } }, ngImport: i0, template: "@if (showDivider()) {\r\n<div class=\"nxt-dt-timer-divider\"\r\n aria-hidden=\"true\"></div>\r\n}\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [disabled]=\"upBtnDisabled()\"\r\n [attr.aria-label]=\"upBtnAriaLabel()\"\r\n (click)=\"upBtnClicked()\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Up\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 451.847 451.846\"\r\n style=\"enable-background:new 0 0 451.847 451.846;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path d=\"M248.292,106.406l194.281,194.29c12.365,12.359,12.365,32.391,0,44.744c-12.354,12.354-32.391,12.354-44.744,0\r\n L225.923,173.529L54.018,345.44c-12.36,12.354-32.395,12.354-44.748,0c-12.359-12.354-12.359-32.391,0-44.75L203.554,106.4\r\n c6.18-6.174,14.271-9.259,22.369-9.259C234.018,97.141,242.115,100.232,248.292,106.406z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n<label class=\"nxt-dt-timer-content\">\r\n <input class=\"nxt-dt-timer-input\"\r\n maxlength=\"2\"\r\n [value]=\"displayValue() | numberFixedLen : 2\"\r\n (input)=\"handleInputChange(valueInput.value)\"\r\n #valueInput>\r\n <span class=\"nxt-hidden-accessible\">{{inputLabel()}}</span>\r\n</label>\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [disabled]=\"downBtnDisabled()\"\r\n [attr.aria-label]=\"downBtnAriaLabel()\"\r\n (click)=\"downBtnClicked()\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Down\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 451.847 451.846\"\r\n style=\"enable-background:new 0 0 451.847 451.846;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path d=\"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751\r\n c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0\r\n c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: NumberFixedLenPipe, name: "numberFixedLen" }] }); }
1680
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TimerBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1681
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TimerBoxComponent, isStandalone: true, selector: "nxt-date-time-timer-box", inputs: { showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, upBtnAriaLabel: { classPropertyName: "upBtnAriaLabel", publicName: "upBtnAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, upBtnDisabled: { classPropertyName: "upBtnDisabled", publicName: "upBtnDisabled", isSignal: true, isRequired: false, transformFunction: null }, downBtnAriaLabel: { classPropertyName: "downBtnAriaLabel", publicName: "downBtnAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, downBtnDisabled: { classPropertyName: "downBtnDisabled", publicName: "downBtnDisabled", isSignal: true, isRequired: false, transformFunction: null }, boxValue: { classPropertyName: "boxValue", publicName: "boxValue", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, inputLabel: { classPropertyName: "inputLabel", publicName: "inputLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", inputChange: "inputChange" }, host: { properties: { "class.nxt-dt-timer-box": "true" } }, ngImport: i0, template: "@if (showDivider()) {\r\n<div class=\"nxt-dt-timer-divider\"\r\n aria-hidden=\"true\"></div>\r\n}\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [disabled]=\"upBtnDisabled()\"\r\n [attr.aria-label]=\"upBtnAriaLabel()\"\r\n (click)=\"upBtnClicked()\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Up\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 451.847 451.846\"\r\n style=\"enable-background:new 0 0 451.847 451.846;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path d=\"M248.292,106.406l194.281,194.29c12.365,12.359,12.365,32.391,0,44.744c-12.354,12.354-32.391,12.354-44.744,0\r\n L225.923,173.529L54.018,345.44c-12.36,12.354-32.395,12.354-44.748,0c-12.359-12.354-12.359-32.391,0-44.75L203.554,106.4\r\n c6.18-6.174,14.271-9.259,22.369-9.259C234.018,97.141,242.115,100.232,248.292,106.406z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n<label class=\"nxt-dt-timer-content\">\r\n <input class=\"nxt-dt-timer-input\"\r\n maxlength=\"2\"\r\n [value]=\"displayValue() | numberFixedLen : 2\"\r\n (input)=\"handleInputChange(valueInput.value)\"\r\n #valueInput>\r\n <span class=\"nxt-hidden-accessible\">{{inputLabel()}}</span>\r\n</label>\r\n<button class=\"nxt-dt-control-button nxt-dt-control-arrow-button\"\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [disabled]=\"downBtnDisabled()\"\r\n [attr.aria-label]=\"downBtnAriaLabel()\"\r\n (click)=\"downBtnClicked()\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n <!-- <editor-fold desc=\"SVG Arrow Down\"> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 451.847 451.846\"\r\n style=\"enable-background:new 0 0 451.847 451.846;\"\r\n xml:space=\"preserve\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <path d=\"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751\r\n c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0\r\n c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z\" />\r\n </svg>\r\n <!-- </editor-fold> -->\r\n </span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: NumberFixedLenPipe, name: "numberFixedLen" }] }); }
1581
1682
  }
1582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TimerBoxComponent, decorators: [{
1683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TimerBoxComponent, decorators: [{
1583
1684
  type: Component,
1584
1685
  args: [{ selector: 'nxt-date-time-timer-box', preserveWhitespaces: false, imports: [
1585
1686
  NumberFixedLenPipe
@@ -1591,45 +1692,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1591
1692
  class TimerComponent {
1592
1693
  constructor() {
1593
1694
  this.ngZone = inject(NgZone);
1695
+ this.injector = inject(Injector);
1696
+ this.destroyRef = inject(DestroyRef);
1594
1697
  this.elmRef = inject(ElementRef);
1595
1698
  this.pickerIntl = inject(DateTimeIntl);
1596
1699
  this.dateTimeAdapter = inject(DateTimeAdapter);
1597
1700
  /** The current picker moment */
1598
- this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : {}), transform: value => {
1701
+ this.pickerMoment = input(undefined, { ...(ngDevMode ? { debugName: "pickerMoment" } : /* istanbul ignore next */ {}), transform: value => {
1599
1702
  value = this.dateTimeAdapter.deserialize(value);
1600
1703
  return this.getValidDate(value) || this.dateTimeAdapter.now();
1601
1704
  } });
1602
1705
  /** The minimum selectable date time */
1603
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => {
1706
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => {
1604
1707
  value = this.dateTimeAdapter.deserialize(value);
1605
1708
  return this.getValidDate(value);
1606
1709
  } });
1607
1710
  /** The maximum selectable date time */
1608
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => {
1711
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => {
1609
1712
  value = this.dateTimeAdapter.deserialize(value);
1610
1713
  return this.getValidDate(value);
1611
1714
  } });
1612
1715
  /**
1613
1716
  * Whether to show the second's timer
1614
1717
  */
1615
- this.showSecondsTimer = input(false, ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : []));
1718
+ this.showSecondsTimer = input(false, /* @ts-ignore */
1719
+ ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : /* istanbul ignore next */ []));
1616
1720
  /**
1617
1721
  * Whether the timer is in hour12 format
1618
1722
  */
1619
- this.hour12Timer = input(false, ...(ngDevMode ? [{ debugName: "hour12Timer" }] : []));
1723
+ this.hour12Timer = input(false, /* @ts-ignore */
1724
+ ...(ngDevMode ? [{ debugName: "hour12Timer" }] : /* istanbul ignore next */ []));
1620
1725
  /**
1621
1726
  * Hours to change per step
1622
1727
  */
1623
- this.stepHour = input(1, ...(ngDevMode ? [{ debugName: "stepHour" }] : []));
1728
+ this.stepHour = input(1, /* @ts-ignore */
1729
+ ...(ngDevMode ? [{ debugName: "stepHour" }] : /* istanbul ignore next */ []));
1624
1730
  /**
1625
1731
  * Minutes to change per step
1626
1732
  */
1627
- this.stepMinute = input(1, ...(ngDevMode ? [{ debugName: "stepMinute" }] : []));
1733
+ this.stepMinute = input(1, /* @ts-ignore */
1734
+ ...(ngDevMode ? [{ debugName: "stepMinute" }] : /* istanbul ignore next */ []));
1628
1735
  /**
1629
1736
  * Seconds to change per step
1630
1737
  */
1631
- this.stepSecond = input(1, ...(ngDevMode ? [{ debugName: "stepSecond" }] : []));
1632
- this.hourValue = computed(() => this.dateTimeAdapter.getHours(this.pickerMoment()), ...(ngDevMode ? [{ debugName: "hourValue" }] : []));
1738
+ this.stepSecond = input(1, /* @ts-ignore */
1739
+ ...(ngDevMode ? [{ debugName: "stepSecond" }] : /* istanbul ignore next */ []));
1740
+ this.hourValue = computed(() => this.dateTimeAdapter.getHours(this.pickerMoment()), /* @ts-ignore */
1741
+ ...(ngDevMode ? [{ debugName: "hourValue" }] : /* istanbul ignore next */ []));
1633
1742
  this.hoursWithPM = computed(() => {
1634
1743
  let hours = this.hourValue();
1635
1744
  let isPM;
@@ -1653,10 +1762,11 @@ class TimerComponent {
1653
1762
  }
1654
1763
  return { hours, isPM };
1655
1764
  }
1656
- }, ...(ngDevMode ? [{ debugName: "hoursWithPM" }] : []));
1765
+ }, /* @ts-ignore */
1766
+ ...(ngDevMode ? [{ debugName: "hoursWithPM" }] : /* istanbul ignore next */ []));
1657
1767
  this._isPM = false;
1658
1768
  // a flag indicates the current timer moment is in PM or AM
1659
- this.isPM = linkedSignal({ ...(ngDevMode ? { debugName: "isPM" } : {}), source: () => this.hoursWithPM().isPM,
1769
+ this.isPM = linkedSignal({ ...(ngDevMode ? { debugName: "isPM" } : /* istanbul ignore next */ {}), source: () => this.hoursWithPM().isPM,
1660
1770
  computation: (v) => {
1661
1771
  if (v != undefined)
1662
1772
  return this._isPM = v;
@@ -1667,9 +1777,12 @@ class TimerComponent {
1667
1777
  * We need this because the value displayed in hourBox it not
1668
1778
  * the same as the hourValue when the timer is in hour12Timer mode.
1669
1779
  */
1670
- this.hourBoxValue = computed(() => this.hoursWithPM().hours, ...(ngDevMode ? [{ debugName: "hourBoxValue" }] : []));
1671
- this.minuteValue = computed(() => this.dateTimeAdapter.getMinutes(this.pickerMoment()), ...(ngDevMode ? [{ debugName: "minuteValue" }] : []));
1672
- this.secondValue = computed(() => this.dateTimeAdapter.getSeconds(this.pickerMoment()), ...(ngDevMode ? [{ debugName: "secondValue" }] : []));
1780
+ this.hourBoxValue = computed(() => this.hoursWithPM().hours, /* @ts-ignore */
1781
+ ...(ngDevMode ? [{ debugName: "hourBoxValue" }] : /* istanbul ignore next */ []));
1782
+ this.minuteValue = computed(() => this.dateTimeAdapter.getMinutes(this.pickerMoment()), /* @ts-ignore */
1783
+ ...(ngDevMode ? [{ debugName: "minuteValue" }] : /* istanbul ignore next */ []));
1784
+ this.secondValue = computed(() => this.dateTimeAdapter.getSeconds(this.pickerMoment()), /* @ts-ignore */
1785
+ ...(ngDevMode ? [{ debugName: "secondValue" }] : /* istanbul ignore next */ []));
1673
1786
  this.upHourButtonLabel = this.pickerIntl.upHourLabel.asReadonly();
1674
1787
  this.downHourButtonLabel = this.pickerIntl.downHourLabel.asReadonly();
1675
1788
  this.upMinuteButtonLabel = this.pickerIntl.upMinuteLabel.asReadonly();
@@ -1678,51 +1791,58 @@ class TimerComponent {
1678
1791
  this.downSecondButtonLabel = this.pickerIntl.downSecondLabel.asReadonly();
1679
1792
  this.hour12ButtonLabel = computed(() => this.isPM()
1680
1793
  ? this.pickerIntl.hour12PMLabel()
1681
- : this.pickerIntl.hour12AMLabel(), ...(ngDevMode ? [{ debugName: "hour12ButtonLabel" }] : []));
1794
+ : this.pickerIntl.hour12AMLabel(), /* @ts-ignore */
1795
+ ...(ngDevMode ? [{ debugName: "hour12ButtonLabel" }] : /* istanbul ignore next */ []));
1682
1796
  this.selectedChange = output();
1683
1797
  /**
1684
1798
  * Check if the up hour button is enabled
1685
1799
  */
1686
1800
  this.upHourEnabled = computed(() => (!this.max() ||
1687
- this.compareHours(this.stepHour(), this.max()) < 1), ...(ngDevMode ? [{ debugName: "upHourEnabled" }] : []));
1801
+ this.compareHours(this.stepHour(), this.max()) < 1), /* @ts-ignore */
1802
+ ...(ngDevMode ? [{ debugName: "upHourEnabled" }] : /* istanbul ignore next */ []));
1688
1803
  /**
1689
1804
  * Check if the down hour button is enabled
1690
1805
  */
1691
1806
  this.downHourEnabled = computed(() => (!this.min() ||
1692
- this.compareHours(-this.stepHour(), this.min()) > -1), ...(ngDevMode ? [{ debugName: "downHourEnabled" }] : []));
1807
+ this.compareHours(-this.stepHour(), this.min()) > -1), /* @ts-ignore */
1808
+ ...(ngDevMode ? [{ debugName: "downHourEnabled" }] : /* istanbul ignore next */ []));
1693
1809
  /**
1694
1810
  * Check if the up minute button is enabled
1695
1811
  */
1696
1812
  this.upMinuteEnabled = computed(() => (!this.max() ||
1697
- this.compareMinutes(this.stepMinute(), this.max()) < 1), ...(ngDevMode ? [{ debugName: "upMinuteEnabled" }] : []));
1813
+ this.compareMinutes(this.stepMinute(), this.max()) < 1), /* @ts-ignore */
1814
+ ...(ngDevMode ? [{ debugName: "upMinuteEnabled" }] : /* istanbul ignore next */ []));
1698
1815
  /**
1699
1816
  * Check if the down minute button is enabled
1700
1817
  */
1701
1818
  this.downMinuteEnabled = computed(() => (!this.min() ||
1702
- this.compareMinutes(-this.stepMinute(), this.min()) > -1), ...(ngDevMode ? [{ debugName: "downMinuteEnabled" }] : []));
1819
+ this.compareMinutes(-this.stepMinute(), this.min()) > -1), /* @ts-ignore */
1820
+ ...(ngDevMode ? [{ debugName: "downMinuteEnabled" }] : /* istanbul ignore next */ []));
1703
1821
  /**
1704
1822
  * Check if the up second button is enabled
1705
1823
  */
1706
1824
  this.upSecondEnabled = computed(() => (!this.max() ||
1707
- this.compareSeconds(this.stepSecond(), this.max()) < 1), ...(ngDevMode ? [{ debugName: "upSecondEnabled" }] : []));
1825
+ this.compareSeconds(this.stepSecond(), this.max()) < 1), /* @ts-ignore */
1826
+ ...(ngDevMode ? [{ debugName: "upSecondEnabled" }] : /* istanbul ignore next */ []));
1708
1827
  /**
1709
1828
  * Check if the down second button is enabled
1710
1829
  */
1711
1830
  this.downSecondEnabled = computed(() => (!this.min() ||
1712
- this.compareSeconds(-this.stepSecond(), this.min()) > -1), ...(ngDevMode ? [{ debugName: "downSecondEnabled" }] : []));
1831
+ this.compareSeconds(-this.stepSecond(), this.min()) > -1), /* @ts-ignore */
1832
+ ...(ngDevMode ? [{ debugName: "downSecondEnabled" }] : /* istanbul ignore next */ []));
1713
1833
  }
1714
1834
  /**
1715
1835
  * Focus to the host element
1716
1836
  */
1717
1837
  focus() {
1718
- this.ngZone.runOutsideAngular(() => {
1719
- this.ngZone.onStable
1720
- .asObservable()
1721
- .pipe(take(1))
1722
- .subscribe(() => {
1723
- this.elmRef.nativeElement.focus();
1838
+ if (!this.destroyRef.destroyed)
1839
+ afterNextRender(() => {
1840
+ this.ngZone.runOutsideAngular(() => {
1841
+ this.elmRef.nativeElement.focus();
1842
+ });
1843
+ }, {
1844
+ injector: this.injector
1724
1845
  });
1725
- });
1726
1846
  }
1727
1847
  /**
1728
1848
  * Set the hour value via typing into timer box input
@@ -1806,10 +1926,10 @@ class TimerComponent {
1806
1926
  ? obj
1807
1927
  : undefined;
1808
1928
  }
1809
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TimerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1810
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: TimerComponent, isStandalone: true, selector: "nxt-date-time-timer", inputs: { pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, showSecondsTimer: { classPropertyName: "showSecondsTimer", publicName: "showSecondsTimer", isSignal: true, isRequired: false, transformFunction: null }, hour12Timer: { classPropertyName: "hour12Timer", publicName: "hour12Timer", isSignal: true, isRequired: false, transformFunction: null }, stepHour: { classPropertyName: "stepHour", publicName: "stepHour", isSignal: true, isRequired: false, transformFunction: null }, stepMinute: { classPropertyName: "stepMinute", publicName: "stepMinute", isSignal: true, isRequired: false, transformFunction: null }, stepSecond: { classPropertyName: "stepSecond", publicName: "stepSecond", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class.nxt-dt-timer": "true", "attr.tabindex": "-1" } }, ngImport: i0, template: "<nxt-date-time-timer-box [upBtnAriaLabel]=\"upHourButtonLabel()\"\r\n [downBtnAriaLabel]=\"downHourButtonLabel()\"\r\n [upBtnDisabled]=\"!upHourEnabled()\"\r\n [downBtnDisabled]=\"!downHourEnabled()\"\r\n [boxValue]=\"hourBoxValue()\"\r\n [value]=\"hourValue()\"\r\n [min]=\"0\"\r\n [max]=\"23\"\r\n [step]=\"stepHour()\"\r\n inputLabel=\"Hour\"\r\n (inputChange)=\"setHourValueViaInput($event)\"\r\n (valueChange)=\"setHourValue($event)\" />\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upMinuteButtonLabel()\"\r\n [downBtnAriaLabel]=\"downMinuteButtonLabel()\"\r\n [upBtnDisabled]=\"!upMinuteEnabled()\"\r\n [downBtnDisabled]=\"!downMinuteEnabled()\"\r\n [value]=\"minuteValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepMinute()\"\r\n inputLabel=\"Minute\"\r\n (inputChange)=\"setMinuteValue($event)\"\r\n (valueChange)=\"setMinuteValue($event)\" />\r\n@if (showSecondsTimer()) {\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upSecondButtonLabel()\"\r\n [downBtnAriaLabel]=\"downSecondButtonLabel()\"\r\n [upBtnDisabled]=\"!upSecondEnabled()\"\r\n [downBtnDisabled]=\"!downSecondEnabled()\"\r\n [value]=\"secondValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepSecond()\"\r\n inputLabel=\"Second\"\r\n (inputChange)=\"setSecondValue($event)\"\r\n (valueChange)=\"setSecondValue($event)\" />\r\n}\r\n\r\n@if (hour12Timer()) {\r\n<div class=\"nxt-dt-timer-hour12\">\r\n <button class=\"nxt-dt-control-button nxt-dt-timer-hour12-box\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"setMeridiem($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{hour12ButtonLabel()}}\r\n </span>\r\n </button>\r\n</div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: TimerBoxComponent, selector: "nxt-date-time-timer-box", inputs: ["showDivider", "upBtnAriaLabel", "upBtnDisabled", "downBtnAriaLabel", "downBtnDisabled", "boxValue", "value", "min", "max", "step", "inputLabel"], outputs: ["valueChange", "inputChange"] }] }); }
1929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TimerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1930
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TimerComponent, isStandalone: true, selector: "nxt-date-time-timer", inputs: { pickerMoment: { classPropertyName: "pickerMoment", publicName: "pickerMoment", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, showSecondsTimer: { classPropertyName: "showSecondsTimer", publicName: "showSecondsTimer", isSignal: true, isRequired: false, transformFunction: null }, hour12Timer: { classPropertyName: "hour12Timer", publicName: "hour12Timer", isSignal: true, isRequired: false, transformFunction: null }, stepHour: { classPropertyName: "stepHour", publicName: "stepHour", isSignal: true, isRequired: false, transformFunction: null }, stepMinute: { classPropertyName: "stepMinute", publicName: "stepMinute", isSignal: true, isRequired: false, transformFunction: null }, stepSecond: { classPropertyName: "stepSecond", publicName: "stepSecond", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class.nxt-dt-timer": "true", "attr.tabindex": "-1" } }, ngImport: i0, template: "<nxt-date-time-timer-box [upBtnAriaLabel]=\"upHourButtonLabel()\"\r\n [downBtnAriaLabel]=\"downHourButtonLabel()\"\r\n [upBtnDisabled]=\"!upHourEnabled()\"\r\n [downBtnDisabled]=\"!downHourEnabled()\"\r\n [boxValue]=\"hourBoxValue()\"\r\n [value]=\"hourValue()\"\r\n [min]=\"0\"\r\n [max]=\"23\"\r\n [step]=\"stepHour()\"\r\n inputLabel=\"Hour\"\r\n (inputChange)=\"setHourValueViaInput($event)\"\r\n (valueChange)=\"setHourValue($event)\" />\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upMinuteButtonLabel()\"\r\n [downBtnAriaLabel]=\"downMinuteButtonLabel()\"\r\n [upBtnDisabled]=\"!upMinuteEnabled()\"\r\n [downBtnDisabled]=\"!downMinuteEnabled()\"\r\n [value]=\"minuteValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepMinute()\"\r\n inputLabel=\"Minute\"\r\n (inputChange)=\"setMinuteValue($event)\"\r\n (valueChange)=\"setMinuteValue($event)\" />\r\n@if (showSecondsTimer()) {\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upSecondButtonLabel()\"\r\n [downBtnAriaLabel]=\"downSecondButtonLabel()\"\r\n [upBtnDisabled]=\"!upSecondEnabled()\"\r\n [downBtnDisabled]=\"!downSecondEnabled()\"\r\n [value]=\"secondValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepSecond()\"\r\n inputLabel=\"Second\"\r\n (inputChange)=\"setSecondValue($event)\"\r\n (valueChange)=\"setSecondValue($event)\" />\r\n}\r\n\r\n@if (hour12Timer()) {\r\n<div class=\"nxt-dt-timer-hour12\">\r\n <button class=\"nxt-dt-control-button nxt-dt-timer-hour12-box\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"setMeridiem($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{hour12ButtonLabel()}}\r\n </span>\r\n </button>\r\n</div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: TimerBoxComponent, selector: "nxt-date-time-timer-box", inputs: ["showDivider", "upBtnAriaLabel", "upBtnDisabled", "downBtnAriaLabel", "downBtnDisabled", "boxValue", "value", "min", "max", "step", "inputLabel"], outputs: ["valueChange", "inputChange"] }] }); }
1811
1931
  }
1812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TimerComponent, decorators: [{
1932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TimerComponent, decorators: [{
1813
1933
  type: Component,
1814
1934
  args: [{ selector: 'nxt-date-time-timer', preserveWhitespaces: false, imports: [
1815
1935
  TimerBoxComponent
@@ -1819,34 +1939,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1819
1939
  }, template: "<nxt-date-time-timer-box [upBtnAriaLabel]=\"upHourButtonLabel()\"\r\n [downBtnAriaLabel]=\"downHourButtonLabel()\"\r\n [upBtnDisabled]=\"!upHourEnabled()\"\r\n [downBtnDisabled]=\"!downHourEnabled()\"\r\n [boxValue]=\"hourBoxValue()\"\r\n [value]=\"hourValue()\"\r\n [min]=\"0\"\r\n [max]=\"23\"\r\n [step]=\"stepHour()\"\r\n inputLabel=\"Hour\"\r\n (inputChange)=\"setHourValueViaInput($event)\"\r\n (valueChange)=\"setHourValue($event)\" />\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upMinuteButtonLabel()\"\r\n [downBtnAriaLabel]=\"downMinuteButtonLabel()\"\r\n [upBtnDisabled]=\"!upMinuteEnabled()\"\r\n [downBtnDisabled]=\"!downMinuteEnabled()\"\r\n [value]=\"minuteValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepMinute()\"\r\n inputLabel=\"Minute\"\r\n (inputChange)=\"setMinuteValue($event)\"\r\n (valueChange)=\"setMinuteValue($event)\" />\r\n@if (showSecondsTimer()) {\r\n<nxt-date-time-timer-box [showDivider]=\"true\"\r\n [upBtnAriaLabel]=\"upSecondButtonLabel()\"\r\n [downBtnAriaLabel]=\"downSecondButtonLabel()\"\r\n [upBtnDisabled]=\"!upSecondEnabled()\"\r\n [downBtnDisabled]=\"!downSecondEnabled()\"\r\n [value]=\"secondValue()\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n [step]=\"stepSecond()\"\r\n inputLabel=\"Second\"\r\n (inputChange)=\"setSecondValue($event)\"\r\n (valueChange)=\"setSecondValue($event)\" />\r\n}\r\n\r\n@if (hour12Timer()) {\r\n<div class=\"nxt-dt-timer-hour12\">\r\n <button class=\"nxt-dt-control-button nxt-dt-timer-hour12-box\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"setMeridiem($event)\">\r\n <span class=\"nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{hour12ButtonLabel()}}\r\n </span>\r\n </button>\r\n</div>\r\n}\r\n" }]
1820
1940
  }], propDecorators: { pickerMoment: [{ type: i0.Input, args: [{ isSignal: true, alias: "pickerMoment", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], showSecondsTimer: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSecondsTimer", required: false }] }], hour12Timer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hour12Timer", required: false }] }], stepHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepHour", required: false }] }], stepMinute: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepMinute", required: false }] }], stepSecond: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepSecond", required: false }] }], selectedChange: [{ type: i0.Output, args: ["selectedChange"] }] } });
1821
1941
 
1822
- /** @internal */
1823
- const dateTimePickerAnimations = {
1824
- transformPicker: trigger('transformPicker', [
1825
- state('void', style({ opacity: 0, transform: 'scale(1, 0)' })),
1826
- state('enter', style({ opacity: 1, transform: 'scale(1, 1)' })),
1827
- transition('void => enter', group([
1828
- query('@fadeInPicker', animateChild(), { optional: true }),
1829
- animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')
1830
- ])),
1831
- transition('enter => void', animate('100ms linear', style({ opacity: 0 })))
1832
- ]),
1833
- fadeInPicker: trigger('fadeInPicker', [
1834
- state('enter', style({ opacity: 1 })),
1835
- state('void', style({ opacity: 0 })),
1836
- transition('void => enter', animate('400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)'))
1837
- ])
1838
- };
1839
-
1840
1942
  /** @internal */
1841
1943
  class DateTimeContainerComponent {
1842
1944
  constructor() {
1843
1945
  this.elmRef = inject(ElementRef);
1844
1946
  this.pickerIntl = inject(DateTimeIntl);
1845
1947
  this.dateTimeAdapter = inject(DateTimeAdapter);
1846
- this.calendar = viewChild(CalendarComponent, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
1847
- this.timer = viewChild(TimerComponent, ...(ngDevMode ? [{ debugName: "timer" }] : []));
1848
- this.picker = signal(undefined, ...(ngDevMode ? [{ debugName: "picker" }] : []));
1849
- this.activeSelectedIndex = signal(0, ...(ngDevMode ? [{ debugName: "activeSelectedIndex" }] : [])); // The current active SelectedIndex in range select mode (0: 'from', 1: 'to')
1948
+ this.calendar = viewChild(CalendarComponent, /* @ts-ignore */
1949
+ ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
1950
+ this.timer = viewChild(TimerComponent, /* @ts-ignore */
1951
+ ...(ngDevMode ? [{ debugName: "timer" }] : /* istanbul ignore next */ []));
1952
+ this.picker = signal(undefined, /* @ts-ignore */
1953
+ ...(ngDevMode ? [{ debugName: "picker" }] : /* istanbul ignore next */ []));
1954
+ this.activeSelectedIndex = signal(0, /* @ts-ignore */
1955
+ ...(ngDevMode ? [{ debugName: "activeSelectedIndex" }] : /* istanbul ignore next */ [])); // The current active SelectedIndex in range select mode (0: 'from', 1: 'to')
1850
1956
  /**
1851
1957
  * Stream emits when try to hide picker
1852
1958
  */
@@ -1863,28 +1969,50 @@ class DateTimeContainerComponent {
1863
1969
  * The current picker moment. This determines which time period is shown and which date is
1864
1970
  * highlighted when using keyboard navigation.
1865
1971
  */
1866
- this._clamPickerMoment = signal(undefined, ...(ngDevMode ? [{ debugName: "_clamPickerMoment" }] : []));
1867
- this.pickerType = computed(() => this.picker()?.pickerType(), ...(ngDevMode ? [{ debugName: "pickerType" }] : []));
1868
- this.pickerMode = computed(() => this.picker()?.pickerMode(), ...(ngDevMode ? [{ debugName: "pickerMode" }] : []));
1869
- this.min = computed(() => this.picker()?.min(), ...(ngDevMode ? [{ debugName: "min" }] : []));
1870
- this.max = computed(() => this.picker()?.max(), ...(ngDevMode ? [{ debugName: "max" }] : []));
1871
- this.selected = computed(() => this.picker()?.selected(), ...(ngDevMode ? [{ debugName: "selected" }] : []));
1872
- this.selecteds = computed(() => this.picker()?.selecteds(), ...(ngDevMode ? [{ debugName: "selecteds" }] : []));
1873
- this.selectMode = computed(() => this.picker()?.selectMode(), ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
1874
- this.isInRangeMode = computed(() => this.picker()?.isInRangeMode(), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
1875
- this.firstDayOfWeek = computed(() => this.picker()?.firstDayOfWeek(), ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : []));
1876
- this.dateTimeFilter = computed(() => this.picker()?.dateTimeFilter(), ...(ngDevMode ? [{ debugName: "dateTimeFilter" }] : []));
1877
- this.startView = computed(() => this.picker()?.startView(), ...(ngDevMode ? [{ debugName: "startView" }] : []));
1878
- this.hideOtherMonths = computed(() => this.picker()?.hideOtherMonths(), ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : []));
1879
- this.showSecondsTimer = computed(() => this.picker()?.showSecondsTimer(), ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : []));
1880
- this.hour12Timer = computed(() => this.picker()?.hour12Timer(), ...(ngDevMode ? [{ debugName: "hour12Timer" }] : []));
1881
- this.stepHour = computed(() => this.picker()?.stepHour(), ...(ngDevMode ? [{ debugName: "stepHour" }] : []));
1882
- this.stepMinute = computed(() => this.picker()?.stepMinute(), ...(ngDevMode ? [{ debugName: "stepMinute" }] : []));
1883
- this.stepSecond = computed(() => this.picker()?.stepSecond(), ...(ngDevMode ? [{ debugName: "stepSecond" }] : []));
1884
- this.disabled = computed(() => this.picker()?.disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1885
- this.formatString = computed(() => this.picker()?.formatString(), ...(ngDevMode ? [{ debugName: "formatString" }] : []));
1886
- this.startAt = computed(() => this.picker()?.startAt(), ...(ngDevMode ? [{ debugName: "startAt" }] : []));
1887
- this.dateTimeChecker = computed(() => this.picker()?.dateTimeChecker(), ...(ngDevMode ? [{ debugName: "dateTimeChecker" }] : []));
1972
+ this._clamPickerMoment = signal(undefined, /* @ts-ignore */
1973
+ ...(ngDevMode ? [{ debugName: "_clamPickerMoment" }] : /* istanbul ignore next */ []));
1974
+ this.pickerType = computed(() => this.picker()?.pickerType(), /* @ts-ignore */
1975
+ ...(ngDevMode ? [{ debugName: "pickerType" }] : /* istanbul ignore next */ []));
1976
+ this.pickerMode = computed(() => this.picker()?.pickerMode(), /* @ts-ignore */
1977
+ ...(ngDevMode ? [{ debugName: "pickerMode" }] : /* istanbul ignore next */ []));
1978
+ this.min = computed(() => this.picker()?.min(), /* @ts-ignore */
1979
+ ...(ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []));
1980
+ this.max = computed(() => this.picker()?.max(), /* @ts-ignore */
1981
+ ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
1982
+ this.selected = computed(() => this.picker()?.selected(), /* @ts-ignore */
1983
+ ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
1984
+ this.selecteds = computed(() => this.picker()?.selecteds(), /* @ts-ignore */
1985
+ ...(ngDevMode ? [{ debugName: "selecteds" }] : /* istanbul ignore next */ []));
1986
+ this.selectMode = computed(() => this.picker()?.selectMode(), /* @ts-ignore */
1987
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
1988
+ this.isInRangeMode = computed(() => this.picker()?.isInRangeMode(), /* @ts-ignore */
1989
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
1990
+ this.firstDayOfWeek = computed(() => this.picker()?.firstDayOfWeek(), /* @ts-ignore */
1991
+ ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
1992
+ this.dateTimeFilter = computed(() => this.picker()?.dateTimeFilter(), /* @ts-ignore */
1993
+ ...(ngDevMode ? [{ debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
1994
+ this.startView = computed(() => this.picker()?.startView(), /* @ts-ignore */
1995
+ ...(ngDevMode ? [{ debugName: "startView" }] : /* istanbul ignore next */ []));
1996
+ this.hideOtherMonths = computed(() => this.picker()?.hideOtherMonths(), /* @ts-ignore */
1997
+ ...(ngDevMode ? [{ debugName: "hideOtherMonths" }] : /* istanbul ignore next */ []));
1998
+ this.showSecondsTimer = computed(() => this.picker()?.showSecondsTimer(), /* @ts-ignore */
1999
+ ...(ngDevMode ? [{ debugName: "showSecondsTimer" }] : /* istanbul ignore next */ []));
2000
+ this.hour12Timer = computed(() => this.picker()?.hour12Timer(), /* @ts-ignore */
2001
+ ...(ngDevMode ? [{ debugName: "hour12Timer" }] : /* istanbul ignore next */ []));
2002
+ this.stepHour = computed(() => this.picker()?.stepHour(), /* @ts-ignore */
2003
+ ...(ngDevMode ? [{ debugName: "stepHour" }] : /* istanbul ignore next */ []));
2004
+ this.stepMinute = computed(() => this.picker()?.stepMinute(), /* @ts-ignore */
2005
+ ...(ngDevMode ? [{ debugName: "stepMinute" }] : /* istanbul ignore next */ []));
2006
+ this.stepSecond = computed(() => this.picker()?.stepSecond(), /* @ts-ignore */
2007
+ ...(ngDevMode ? [{ debugName: "stepSecond" }] : /* istanbul ignore next */ []));
2008
+ this.disabled = computed(() => this.picker()?.disabled(), /* @ts-ignore */
2009
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
2010
+ this.formatString = computed(() => this.picker()?.formatString(), /* @ts-ignore */
2011
+ ...(ngDevMode ? [{ debugName: "formatString" }] : /* istanbul ignore next */ []));
2012
+ this.startAt = computed(() => this.picker()?.startAt(), /* @ts-ignore */
2013
+ ...(ngDevMode ? [{ debugName: "startAt" }] : /* istanbul ignore next */ []));
2014
+ this.dateTimeChecker = computed(() => this.picker()?.dateTimeChecker(), /* @ts-ignore */
2015
+ ...(ngDevMode ? [{ debugName: "dateTimeChecker" }] : /* istanbul ignore next */ []));
1888
2016
  this.cancelLabel = this.pickerIntl.cancelBtnLabel.asReadonly();
1889
2017
  this.setLabel = this.pickerIntl.setBtnLabel.asReadonly();
1890
2018
  /**
@@ -1903,7 +2031,8 @@ class DateTimeContainerComponent {
1903
2031
  return value
1904
2032
  ? this.dateTimeAdapter.format(value, this.formatString())
1905
2033
  : '';
1906
- }, ...(ngDevMode ? [{ debugName: "fromFormattedValue" }] : []));
2034
+ }, /* @ts-ignore */
2035
+ ...(ngDevMode ? [{ debugName: "fromFormattedValue" }] : /* istanbul ignore next */ []));
1907
2036
  /**
1908
2037
  * The range 'to' formatted value
1909
2038
  */
@@ -1912,7 +2041,8 @@ class DateTimeContainerComponent {
1912
2041
  return value
1913
2042
  ? this.dateTimeAdapter.format(value, this.formatString())
1914
2043
  : '';
1915
- }, ...(ngDevMode ? [{ debugName: "toFormattedValue" }] : []));
2044
+ }, /* @ts-ignore */
2045
+ ...(ngDevMode ? [{ debugName: "toFormattedValue" }] : /* istanbul ignore next */ []));
1916
2046
  /**
1917
2047
  * Cases in which the control buttons show in the picker
1918
2048
  * 1) picker mode is 'dialog'
@@ -1924,7 +2054,57 @@ class DateTimeContainerComponent {
1924
2054
  return (pickerMode === 'dialog' ||
1925
2055
  (pickerType !== 'calendar' &&
1926
2056
  pickerMode !== 'inline'));
1927
- }, ...(ngDevMode ? [{ debugName: "showControlButtons" }] : []));
2057
+ }, /* @ts-ignore */
2058
+ ...(ngDevMode ? [{ debugName: "showControlButtons" }] : /* istanbul ignore next */ []));
2059
+ }
2060
+ static { this.animate = true; }
2061
+ transformPickerEnter({ target, animationComplete }) {
2062
+ if (!DateTimeContainerComponent.animate) {
2063
+ this.pickerOpened$.next();
2064
+ animationComplete();
2065
+ return;
2066
+ }
2067
+ let anim = target.animate([
2068
+ { opacity: 0, transform: 'scale(1, 0)' },
2069
+ { opacity: 1, transform: 'scale(1, 1)' }
2070
+ ], {
2071
+ duration: 400,
2072
+ easing: 'cubic-bezier(0.25, 0.8, 0.25, 1)'
2073
+ });
2074
+ const inner = target.querySelector('.nxt-dt-container-inner');
2075
+ if (inner) {
2076
+ inner.style.opacity = '0';
2077
+ anim = inner.animate([
2078
+ { opacity: 0 },
2079
+ { opacity: 1 }
2080
+ ], {
2081
+ duration: 400,
2082
+ delay: 100,
2083
+ easing: 'cubic-bezier(0.55, 0, 0.55, 0.2)'
2084
+ });
2085
+ }
2086
+ anim.addEventListener('finish', () => {
2087
+ if (inner)
2088
+ inner.style.opacity = '';
2089
+ this.pickerOpened$.next();
2090
+ animationComplete();
2091
+ });
2092
+ }
2093
+ transformPickerLeave({ target, animationComplete }) {
2094
+ if (!DateTimeContainerComponent.animate) {
2095
+ animationComplete();
2096
+ return;
2097
+ }
2098
+ const anim = target.animate([
2099
+ { opacity: 1 },
2100
+ { opacity: 0 }
2101
+ ], {
2102
+ duration: 100,
2103
+ easing: 'linear'
2104
+ });
2105
+ anim.addEventListener('finish', () => {
2106
+ animationComplete();
2107
+ });
1928
2108
  }
1929
2109
  get pickerMoment() {
1930
2110
  return this._clamPickerMoment();
@@ -1943,12 +2123,6 @@ class DateTimeContainerComponent {
1943
2123
  ngAfterViewInit() {
1944
2124
  this.focusPicker();
1945
2125
  }
1946
- handleContainerAnimationDone(event) {
1947
- const toState = event.toState;
1948
- if (toState === 'enter') {
1949
- this.pickerOpened$.next();
1950
- }
1951
- }
1952
2126
  dateSelected(date) {
1953
2127
  let result;
1954
2128
  const picker = this.picker();
@@ -2162,18 +2336,12 @@ class DateTimeContainerComponent {
2162
2336
  timer.focus();
2163
2337
  }
2164
2338
  }
2165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: DateTimeContainerComponent, isStandalone: true, selector: "nxt-date-time-container", host: { listeners: { "@transformPicker.done": "handleContainerAnimationDone($event)" }, properties: { "class.nxt-dt-container": "true", "class.nxt-dt-popup-container": "pickerMode() === 'popup'", "class.nxt-dt-dialog-container": "pickerMode() === 'dialog'", "class.nxt-dt-inline-container": "pickerMode() === 'inline'", "class.nxt-dt-container-disabled": "disabled()", "attr.id": "picker()?.id", "@transformPicker": "pickerMode() === 'inline' ? '' : 'enter'" } }, viewQueries: [{ propertyName: "calendar", first: true, predicate: CalendarComponent, descendants: true, isSignal: true }, { propertyName: "timer", first: true, predicate: TimerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div [cdkTrapFocus]=\"pickerMode() !== 'inline'\"\r\n [@fadeInPicker]=\"pickerMode() === 'inline'? '' : 'enter'\"\r\n class=\"nxt-dt-container-inner\">\r\n\r\n @if (pickerType() === 'both' || pickerType() === 'calendar') {\r\n <nxt-date-time-calendar class=\"nxt-dt-container-row\"\r\n [firstDayOfWeek]=\"firstDayOfWeek() ?? 0\"\r\n [(pickerMoment)]=\"pickerMoment\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds() ?? []\"\r\n [selectMode]=\"selectMode()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n [startView]=\"startView() ?? 'month'\"\r\n [hideOtherMonths]=\"!!hideOtherMonths()\"\r\n (yearSelected)=\"picker()?.selectYear($event)\"\r\n (monthSelected)=\"picker()?.selectMonth($event)\"\r\n (selectedChange)=\"dateSelected($event)\" />\r\n }\r\n\r\n @if (pickerType() === 'both' || pickerType() === 'timer') {\r\n <nxt-date-time-timer class=\"nxt-dt-container-row\"\r\n [pickerMoment]=\"pickerMoment\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [showSecondsTimer]=\"!!showSecondsTimer()\"\r\n [hour12Timer]=\"!!hour12Timer()\"\r\n [stepHour]=\"stepHour() ?? 1\"\r\n [stepMinute]=\"stepMinute() ?? 1\"\r\n [stepSecond]=\"stepSecond() ?? 1\"\r\n (selectedChange)=\"timeSelected($event)\" />\r\n }\r\n\r\n @if (isInRangeMode()) {\r\n <div role=\"radiogroup\"\r\n class=\"nxt-dt-container-info nxt-dt-container-row\">\r\n <div role=\"radio\"\r\n [tabindex]=\"activeSelectedIndex() === 0 ? 0 : -1\"\r\n [attr.aria-checked]=\"activeSelectedIndex() === 0\"\r\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-from\"\r\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 0\"\r\n (click)=\"handleClickOnInfoGroup($event, 0)\"\r\n (keydown)=\"handleKeydownOnInfoGroup($event, to, 0)\"\r\n #from>\r\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\r\n tabindex=\"-1\">\r\n <span class=\"nxt-dt-container-info-label\">{{fromLabel()}}:</span>\r\n <span class=\"nxt-dt-container-info-value\">{{fromFormattedValue()}}</span>\r\n </span>\r\n </div>\r\n <div role=\"radio\"\r\n [tabindex]=\"activeSelectedIndex() === 1 ? 0 : -1\"\r\n [attr.aria-checked]=\"activeSelectedIndex() === 1\"\r\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-to\"\r\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 1\"\r\n (click)=\"handleClickOnInfoGroup($event, 1)\"\r\n (keydown)=\"handleKeydownOnInfoGroup($event, from, 1)\"\r\n #to>\r\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\r\n tabindex=\"-1\">\r\n <span class=\"nxt-dt-container-info-label\">{{toLabel()}}:</span>\r\n <span class=\"nxt-dt-container-info-value\">{{toFormattedValue()}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (showControlButtons()) {\r\n <div class=\"nxt-dt-container-buttons nxt-dt-container-row\">\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"onCancelClicked($event)\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{cancelLabel()}}\r\n </span>\r\n </button>\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"onSetClicked($event)\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{setLabel()}}\r\n </span>\r\n </button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: CalendarComponent, selector: "nxt-date-time-calendar", inputs: ["dateTimeFilter", "firstDayOfWeek", "min", "max", "pickerMoment", "selectMode", "selected", "selecteds", "startView", "hideOtherMonths"], outputs: ["pickerMomentChange", "selectedChange", "userSelection", "yearSelected", "monthSelected"] }, { kind: "component", type: TimerComponent, selector: "nxt-date-time-timer", inputs: ["pickerMoment", "min", "max", "showSecondsTimer", "hour12Timer", "stepHour", "stepMinute", "stepSecond"], outputs: ["selectedChange"] }], animations: [
2167
- dateTimePickerAnimations.transformPicker,
2168
- dateTimePickerAnimations.fadeInPicker
2169
- ] }); }
2339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2340
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: DateTimeContainerComponent, isStandalone: true, selector: "nxt-date-time-container", host: { listeners: { "animate.enter": "transformPickerEnter($event)", "animate.leave": "transformPickerLeave($event)" }, properties: { "class.nxt-dt-container": "true", "class.nxt-dt-popup-container": "pickerMode() === 'popup'", "class.nxt-dt-dialog-container": "pickerMode() === 'dialog'", "class.nxt-dt-inline-container": "pickerMode() === 'inline'", "class.nxt-dt-container-disabled": "disabled()", "attr.id": "picker()?.id" } }, viewQueries: [{ propertyName: "calendar", first: true, predicate: CalendarComponent, descendants: true, isSignal: true }, { propertyName: "timer", first: true, predicate: TimerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div [cdkTrapFocus]=\"pickerMode() !== 'inline'\"\n class=\"nxt-dt-container-inner\">\n\n @if (pickerType() === 'both' || pickerType() === 'calendar') {\n <nxt-date-time-calendar class=\"nxt-dt-container-row\"\n [firstDayOfWeek]=\"firstDayOfWeek() ?? 0\"\n [(pickerMoment)]=\"pickerMoment\"\n [selected]=\"selected()\"\n [selecteds]=\"selecteds() ?? []\"\n [selectMode]=\"selectMode()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dateTimeFilter]=\"dateTimeFilter()\"\n [startView]=\"startView() ?? 'month'\"\n [hideOtherMonths]=\"!!hideOtherMonths()\"\n (yearSelected)=\"picker()?.selectYear($event)\"\n (monthSelected)=\"picker()?.selectMonth($event)\"\n (selectedChange)=\"dateSelected($event)\" />\n }\n\n @if (pickerType() === 'both' || pickerType() === 'timer') {\n <nxt-date-time-timer class=\"nxt-dt-container-row\"\n [pickerMoment]=\"pickerMoment\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showSecondsTimer]=\"!!showSecondsTimer()\"\n [hour12Timer]=\"!!hour12Timer()\"\n [stepHour]=\"stepHour() ?? 1\"\n [stepMinute]=\"stepMinute() ?? 1\"\n [stepSecond]=\"stepSecond() ?? 1\"\n (selectedChange)=\"timeSelected($event)\" />\n }\n\n @if (isInRangeMode()) {\n <div role=\"radiogroup\"\n class=\"nxt-dt-container-info nxt-dt-container-row\">\n <div role=\"radio\"\n [tabindex]=\"activeSelectedIndex() === 0 ? 0 : -1\"\n [attr.aria-checked]=\"activeSelectedIndex() === 0\"\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-from\"\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 0\"\n (click)=\"handleClickOnInfoGroup($event, 0)\"\n (keydown)=\"handleKeydownOnInfoGroup($event, to, 0)\"\n #from>\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\n tabindex=\"-1\">\n <span class=\"nxt-dt-container-info-label\">{{fromLabel()}}:</span>\n <span class=\"nxt-dt-container-info-value\">{{fromFormattedValue()}}</span>\n </span>\n </div>\n <div role=\"radio\"\n [tabindex]=\"activeSelectedIndex() === 1 ? 0 : -1\"\n [attr.aria-checked]=\"activeSelectedIndex() === 1\"\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-to\"\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 1\"\n (click)=\"handleClickOnInfoGroup($event, 1)\"\n (keydown)=\"handleKeydownOnInfoGroup($event, from, 1)\"\n #to>\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\n tabindex=\"-1\">\n <span class=\"nxt-dt-container-info-label\">{{toLabel()}}:</span>\n <span class=\"nxt-dt-container-info-value\">{{toFormattedValue()}}</span>\n </span>\n </div>\n </div>\n }\n\n @if (showControlButtons()) {\n <div class=\"nxt-dt-container-buttons nxt-dt-container-row\">\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"onCancelClicked($event)\">\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\n tabindex=\"-1\">\n {{cancelLabel()}}\n </span>\n </button>\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"onSetClicked($event)\">\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\n tabindex=\"-1\">\n {{setLabel()}}\n </span>\n </button>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: CalendarComponent, selector: "nxt-date-time-calendar", inputs: ["dateTimeFilter", "firstDayOfWeek", "min", "max", "pickerMoment", "selectMode", "selected", "selecteds", "startView", "hideOtherMonths"], outputs: ["pickerMomentChange", "selectedChange", "userSelection", "yearSelected", "monthSelected"] }, { kind: "component", type: TimerComponent, selector: "nxt-date-time-timer", inputs: ["pickerMoment", "min", "max", "showSecondsTimer", "hour12Timer", "stepHour", "stepMinute", "stepSecond"], outputs: ["selectedChange"] }] }); }
2170
2341
  }
2171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeContainerComponent, decorators: [{
2342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeContainerComponent, decorators: [{
2172
2343
  type: Component,
2173
- args: [{ selector: 'nxt-date-time-container', preserveWhitespaces: false, animations: [
2174
- dateTimePickerAnimations.transformPicker,
2175
- dateTimePickerAnimations.fadeInPicker
2176
- ], imports: [
2344
+ args: [{ selector: 'nxt-date-time-container', preserveWhitespaces: false, imports: [
2177
2345
  CdkTrapFocus,
2178
2346
  CalendarComponent,
2179
2347
  TimerComponent
@@ -2184,9 +2352,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2184
2352
  '[class.nxt-dt-inline-container]': "pickerMode() === 'inline'",
2185
2353
  '[class.nxt-dt-container-disabled]': 'disabled()',
2186
2354
  '[attr.id]': 'picker()?.id',
2187
- '[@transformPicker]': "pickerMode() === 'inline' ? '' : 'enter'",
2188
- '(@transformPicker.done)': 'handleContainerAnimationDone($event)'
2189
- }, template: "<div [cdkTrapFocus]=\"pickerMode() !== 'inline'\"\r\n [@fadeInPicker]=\"pickerMode() === 'inline'? '' : 'enter'\"\r\n class=\"nxt-dt-container-inner\">\r\n\r\n @if (pickerType() === 'both' || pickerType() === 'calendar') {\r\n <nxt-date-time-calendar class=\"nxt-dt-container-row\"\r\n [firstDayOfWeek]=\"firstDayOfWeek() ?? 0\"\r\n [(pickerMoment)]=\"pickerMoment\"\r\n [selected]=\"selected()\"\r\n [selecteds]=\"selecteds() ?? []\"\r\n [selectMode]=\"selectMode()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [dateTimeFilter]=\"dateTimeFilter()\"\r\n [startView]=\"startView() ?? 'month'\"\r\n [hideOtherMonths]=\"!!hideOtherMonths()\"\r\n (yearSelected)=\"picker()?.selectYear($event)\"\r\n (monthSelected)=\"picker()?.selectMonth($event)\"\r\n (selectedChange)=\"dateSelected($event)\" />\r\n }\r\n\r\n @if (pickerType() === 'both' || pickerType() === 'timer') {\r\n <nxt-date-time-timer class=\"nxt-dt-container-row\"\r\n [pickerMoment]=\"pickerMoment\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [showSecondsTimer]=\"!!showSecondsTimer()\"\r\n [hour12Timer]=\"!!hour12Timer()\"\r\n [stepHour]=\"stepHour() ?? 1\"\r\n [stepMinute]=\"stepMinute() ?? 1\"\r\n [stepSecond]=\"stepSecond() ?? 1\"\r\n (selectedChange)=\"timeSelected($event)\" />\r\n }\r\n\r\n @if (isInRangeMode()) {\r\n <div role=\"radiogroup\"\r\n class=\"nxt-dt-container-info nxt-dt-container-row\">\r\n <div role=\"radio\"\r\n [tabindex]=\"activeSelectedIndex() === 0 ? 0 : -1\"\r\n [attr.aria-checked]=\"activeSelectedIndex() === 0\"\r\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-from\"\r\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 0\"\r\n (click)=\"handleClickOnInfoGroup($event, 0)\"\r\n (keydown)=\"handleKeydownOnInfoGroup($event, to, 0)\"\r\n #from>\r\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\r\n tabindex=\"-1\">\r\n <span class=\"nxt-dt-container-info-label\">{{fromLabel()}}:</span>\r\n <span class=\"nxt-dt-container-info-value\">{{fromFormattedValue()}}</span>\r\n </span>\r\n </div>\r\n <div role=\"radio\"\r\n [tabindex]=\"activeSelectedIndex() === 1 ? 0 : -1\"\r\n [attr.aria-checked]=\"activeSelectedIndex() === 1\"\r\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-to\"\r\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 1\"\r\n (click)=\"handleClickOnInfoGroup($event, 1)\"\r\n (keydown)=\"handleKeydownOnInfoGroup($event, from, 1)\"\r\n #to>\r\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\r\n tabindex=\"-1\">\r\n <span class=\"nxt-dt-container-info-label\">{{toLabel()}}:</span>\r\n <span class=\"nxt-dt-container-info-value\">{{toFormattedValue()}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (showControlButtons()) {\r\n <div class=\"nxt-dt-container-buttons nxt-dt-container-row\">\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"onCancelClicked($event)\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{cancelLabel()}}\r\n </span>\r\n </button>\r\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"onSetClicked($event)\">\r\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\r\n tabindex=\"-1\">\r\n {{setLabel()}}\r\n </span>\r\n </button>\r\n </div>\r\n }\r\n</div>\r\n" }]
2355
+ '(animate.enter)': 'transformPickerEnter($event)',
2356
+ '(animate.leave)': 'transformPickerLeave($event)'
2357
+ }, template: "<div [cdkTrapFocus]=\"pickerMode() !== 'inline'\"\n class=\"nxt-dt-container-inner\">\n\n @if (pickerType() === 'both' || pickerType() === 'calendar') {\n <nxt-date-time-calendar class=\"nxt-dt-container-row\"\n [firstDayOfWeek]=\"firstDayOfWeek() ?? 0\"\n [(pickerMoment)]=\"pickerMoment\"\n [selected]=\"selected()\"\n [selecteds]=\"selecteds() ?? []\"\n [selectMode]=\"selectMode()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dateTimeFilter]=\"dateTimeFilter()\"\n [startView]=\"startView() ?? 'month'\"\n [hideOtherMonths]=\"!!hideOtherMonths()\"\n (yearSelected)=\"picker()?.selectYear($event)\"\n (monthSelected)=\"picker()?.selectMonth($event)\"\n (selectedChange)=\"dateSelected($event)\" />\n }\n\n @if (pickerType() === 'both' || pickerType() === 'timer') {\n <nxt-date-time-timer class=\"nxt-dt-container-row\"\n [pickerMoment]=\"pickerMoment\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showSecondsTimer]=\"!!showSecondsTimer()\"\n [hour12Timer]=\"!!hour12Timer()\"\n [stepHour]=\"stepHour() ?? 1\"\n [stepMinute]=\"stepMinute() ?? 1\"\n [stepSecond]=\"stepSecond() ?? 1\"\n (selectedChange)=\"timeSelected($event)\" />\n }\n\n @if (isInRangeMode()) {\n <div role=\"radiogroup\"\n class=\"nxt-dt-container-info nxt-dt-container-row\">\n <div role=\"radio\"\n [tabindex]=\"activeSelectedIndex() === 0 ? 0 : -1\"\n [attr.aria-checked]=\"activeSelectedIndex() === 0\"\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-from\"\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 0\"\n (click)=\"handleClickOnInfoGroup($event, 0)\"\n (keydown)=\"handleKeydownOnInfoGroup($event, to, 0)\"\n #from>\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\n tabindex=\"-1\">\n <span class=\"nxt-dt-container-info-label\">{{fromLabel()}}:</span>\n <span class=\"nxt-dt-container-info-value\">{{fromFormattedValue()}}</span>\n </span>\n </div>\n <div role=\"radio\"\n [tabindex]=\"activeSelectedIndex() === 1 ? 0 : -1\"\n [attr.aria-checked]=\"activeSelectedIndex() === 1\"\n class=\"nxt-dt-control nxt-dt-container-range nxt-dt-container-to\"\n [class.nxt-dt-container-info-active]=\"activeSelectedIndex() === 1\"\n (click)=\"handleClickOnInfoGroup($event, 1)\"\n (keydown)=\"handleKeydownOnInfoGroup($event, from, 1)\"\n #to>\n <span class=\"nxt-dt-control-content nxt-dt-container-range-content\"\n tabindex=\"-1\">\n <span class=\"nxt-dt-container-info-label\">{{toLabel()}}:</span>\n <span class=\"nxt-dt-container-info-value\">{{toFormattedValue()}}</span>\n </span>\n </div>\n </div>\n }\n\n @if (showControlButtons()) {\n <div class=\"nxt-dt-container-buttons nxt-dt-container-row\">\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"onCancelClicked($event)\">\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\n tabindex=\"-1\">\n {{cancelLabel()}}\n </span>\n </button>\n <button class=\"nxt-dt-control nxt-dt-control-button nxt-dt-container-control-button\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"onSetClicked($event)\">\n <span class=\"nxt-dt-control-content nxt-dt-control-button-content\"\n tabindex=\"-1\">\n {{setLabel()}}\n </span>\n </button>\n </div>\n }\n</div>\n" }]
2190
2358
  }], propDecorators: { calendar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CalendarComponent), { isSignal: true }] }], timer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TimerComponent), { isSignal: true }] }] } });
2191
2359
 
2192
2360
  /** @internal */
@@ -2198,7 +2366,8 @@ const NXT_DATETIME_VALUE_ACCESSOR$1 = {
2198
2366
  class DateTimeInlineComponent extends DateTimeDirective {
2199
2367
  constructor() {
2200
2368
  super(...arguments);
2201
- this.container = viewChild(DateTimeContainerComponent, ...(ngDevMode ? [{ debugName: "container" }] : []));
2369
+ this.container = viewChild(DateTimeContainerComponent, /* @ts-ignore */
2370
+ ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
2202
2371
  /**
2203
2372
  * Set the type of the dateTime picker
2204
2373
  *
@@ -2206,11 +2375,12 @@ class DateTimeInlineComponent extends DateTimeDirective {
2206
2375
  * - `'calendar'` - show only calendar
2207
2376
  * - `'timer'` - show only timer
2208
2377
  */
2209
- this.pickerType = input('both', ...(ngDevMode ? [{ debugName: "pickerType" }] : []));
2378
+ this.pickerType = input('both', /* @ts-ignore */
2379
+ ...(ngDevMode ? [{ debugName: "pickerType" }] : /* istanbul ignore next */ []));
2210
2380
  /** Whether the date time picker should be disabled */
2211
2381
  // eslint-disable-next-line @angular-eslint/no-input-rename
2212
- this._disabled = input(false, { ...(ngDevMode ? { debugName: "_disabled" } : {}), alias: 'disabled' });
2213
- this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : {}), source: () => this._disabled(),
2382
+ this._disabled = input(false, { ...(ngDevMode ? { debugName: "_disabled" } : /* istanbul ignore next */ {}), alias: 'disabled' });
2383
+ this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), source: () => this._disabled(),
2214
2384
  computation: v => v });
2215
2385
  /**
2216
2386
  * The picker select mode
@@ -2220,20 +2390,22 @@ class DateTimeInlineComponent extends DateTimeDirective {
2220
2390
  * - `'rangeFrom'` - an open range with a fixed start date
2221
2391
  * - `'rangeTo'` - an open range with a fixed end date
2222
2392
  */
2223
- this.selectMode = input('single', ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
2393
+ this.selectMode = input('single', /* @ts-ignore */
2394
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
2224
2395
  // eslint-disable-next-line @angular-eslint/no-input-rename
2225
- this._valueInput = input(undefined, { ...(ngDevMode ? { debugName: "_valueInput" } : {}), alias: 'value' });
2226
- this._value = linkedSignal({ ...(ngDevMode ? { debugName: "_value" } : {}), source: () => this._valueInput(),
2396
+ this._valueInput = input(undefined, { ...(ngDevMode ? { debugName: "_valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
2397
+ this._value = linkedSignal({ ...(ngDevMode ? { debugName: "_value" } : /* istanbul ignore next */ {}), source: () => this._valueInput(),
2227
2398
  computation: v => v });
2228
2399
  this.value = computed(() => {
2229
2400
  let value = this._value();
2230
2401
  value = this.dateTimeAdapter.deserialize(value);
2231
2402
  value = this.getValidDate(value);
2232
2403
  return value;
2233
- }, ...(ngDevMode ? [{ debugName: "value" }] : []));
2404
+ }, /* @ts-ignore */
2405
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
2234
2406
  // eslint-disable-next-line @angular-eslint/no-input-rename
2235
- this._valuesInput = input(undefined, { ...(ngDevMode ? { debugName: "_valuesInput" } : {}), alias: 'values' });
2236
- this._values = linkedSignal({ ...(ngDevMode ? { debugName: "_values" } : {}), source: () => this._valuesInput(),
2407
+ this._valuesInput = input(undefined, { ...(ngDevMode ? { debugName: "_valuesInput" } : /* istanbul ignore next */ {}), alias: 'values' });
2408
+ this._values = linkedSignal({ ...(ngDevMode ? { debugName: "_values" } : /* istanbul ignore next */ {}), source: () => this._valuesInput(),
2237
2409
  computation: v => v });
2238
2410
  this.values = computed(() => {
2239
2411
  let values = this._values();
@@ -2248,13 +2420,14 @@ class DateTimeInlineComponent extends DateTimeDirective {
2248
2420
  else {
2249
2421
  return [];
2250
2422
  }
2251
- }, ...(ngDevMode ? [{ debugName: "values" }] : []));
2423
+ }, /* @ts-ignore */
2424
+ ...(ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []));
2252
2425
  /**
2253
2426
  * The date to show when picker opens
2254
2427
  *
2255
2428
  * Defaults to selected date (if available) or current date.
2256
2429
  */
2257
- this._startAt = input(undefined, { ...(ngDevMode ? { debugName: "_startAt" } : {}),
2430
+ this._startAt = input(undefined, { ...(ngDevMode ? { debugName: "_startAt" } : /* istanbul ignore next */ {}),
2258
2431
  // eslint-disable-next-line @angular-eslint/no-input-rename
2259
2432
  alias: 'startAt',
2260
2433
  transform: date => this.getValidDate(this.dateTimeAdapter.deserialize(date)) });
@@ -2277,16 +2450,18 @@ class DateTimeInlineComponent extends DateTimeDirective {
2277
2450
  else {
2278
2451
  return;
2279
2452
  }
2280
- }, ...(ngDevMode ? [{ debugName: "startAt" }] : []));
2453
+ }, /* @ts-ignore */
2454
+ ...(ngDevMode ? [{ debugName: "startAt" }] : /* istanbul ignore next */ []));
2281
2455
  /** A function to filter available date & time */
2282
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
2456
+ this.dateTimeFilter = input(/* @ts-ignore */
2457
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
2283
2458
  /** The minimum valid date */
2284
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => {
2459
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => {
2285
2460
  value = this.dateTimeAdapter.deserialize(value);
2286
2461
  return this.getValidDate(value);
2287
2462
  } });
2288
2463
  /** The maximum valid date */
2289
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => {
2464
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => {
2290
2465
  value = this.dateTimeAdapter.deserialize(value);
2291
2466
  return this.getValidDate(value);
2292
2467
  } });
@@ -2302,16 +2477,18 @@ class DateTimeInlineComponent extends DateTimeDirective {
2302
2477
  * This doesn't imply a change on the selected date.
2303
2478
  */
2304
2479
  this.monthSelected = output();
2305
- this.selected = linkedSignal({ ...(ngDevMode ? { debugName: "selected" } : {}), source: () => this.value(),
2480
+ this.selected = linkedSignal({ ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), source: () => this.value(),
2306
2481
  computation: v => v });
2307
- this.selecteds = linkedSignal({ ...(ngDevMode ? { debugName: "selecteds" } : {}), source: () => this.values(),
2482
+ this.selecteds = linkedSignal({ ...(ngDevMode ? { debugName: "selecteds" } : /* istanbul ignore next */ {}), source: () => this.values(),
2308
2483
  computation: v => v || [] });
2309
2484
  this.isOpen = signal(true).asReadonly();
2310
2485
  this.pickerMode = signal('inline').asReadonly();
2311
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
2486
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
2487
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
2312
2488
  this.isInRangeMode = computed(() => (this.selectMode() === 'range' ||
2313
2489
  this.selectMode() === 'rangeFrom' ||
2314
- this.selectMode() === 'rangeTo'), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
2490
+ this.selectMode() === 'rangeTo'), /* @ts-ignore */
2491
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
2315
2492
  }
2316
2493
  ngOnInit() {
2317
2494
  const container = this.container();
@@ -2367,10 +2544,10 @@ class DateTimeInlineComponent extends DateTimeDirective {
2367
2544
  selectMonth(normalizedMonth) {
2368
2545
  this.monthSelected.emit(normalizedMonth);
2369
2546
  }
2370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInlineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: DateTimeInlineComponent, isStandalone: true, selector: "nxt-date-time-inline", inputs: { pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, _valueInput: { classPropertyName: "_valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _valuesInput: { classPropertyName: "_valuesInput", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, _startAt: { classPropertyName: "_startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.nxt-dt-inline": "true" } }, providers: [NXT_DATETIME_VALUE_ACCESSOR$1], viewQueries: [{ propertyName: "container", first: true, predicate: DateTimeContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<nxt-date-time-container />\r\n", styles: [""], dependencies: [{ kind: "component", type: DateTimeContainerComponent, selector: "nxt-date-time-container" }] }); }
2547
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeInlineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2548
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: DateTimeInlineComponent, isStandalone: true, selector: "nxt-date-time-inline", inputs: { pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, _valueInput: { classPropertyName: "_valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _valuesInput: { classPropertyName: "_valuesInput", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, _startAt: { classPropertyName: "_startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.nxt-dt-inline": "true" } }, providers: [NXT_DATETIME_VALUE_ACCESSOR$1], viewQueries: [{ propertyName: "container", first: true, predicate: DateTimeContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<nxt-date-time-container />\r\n", styles: [""], dependencies: [{ kind: "component", type: DateTimeContainerComponent, selector: "nxt-date-time-container" }] }); }
2372
2549
  }
2373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInlineComponent, decorators: [{
2550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeInlineComponent, decorators: [{
2374
2551
  type: Component,
2375
2552
  args: [{ selector: 'nxt-date-time-inline', preserveWhitespaces: false, providers: [NXT_DATETIME_VALUE_ACCESSOR$1], imports: [
2376
2553
  DateTimeContainerComponent
@@ -2403,20 +2580,21 @@ class DateTimeInputDirective {
2403
2580
  /**
2404
2581
  * The date & time picker this input is associated with
2405
2582
  */
2406
- this.dateTime = input(undefined, { ...(ngDevMode ? { debugName: "dateTime" } : {}), alias: 'nxtDateTime' });
2583
+ this.dateTime = input(undefined, { ...(ngDevMode ? { debugName: "dateTime" } : /* istanbul ignore next */ {}), alias: 'nxtDateTime' });
2407
2584
  /**
2408
2585
  * A function to filter available date & time
2409
2586
  */
2410
- this.dateTimeFilter = input(...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : []));
2587
+ this.dateTimeFilter = input(/* @ts-ignore */
2588
+ ...(ngDevMode ? [undefined, { debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
2411
2589
  /** Whether the date & time picker input is disabled */
2412
2590
  // eslint-disable-next-line @angular-eslint/no-input-rename
2413
- this._disabled = input(false, { ...(ngDevMode ? { debugName: "_disabled" } : {}), alias: 'disabled' });
2414
- this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : {}), source: () => this._disabled(),
2591
+ this._disabled = input(false, { ...(ngDevMode ? { debugName: "_disabled" } : /* istanbul ignore next */ {}), alias: 'disabled' });
2592
+ this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), source: () => this._disabled(),
2415
2593
  computation: v => v });
2416
2594
  /** The minimum valid date */
2417
- this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : {}), transform: value => this.getValidDate(this.dateTimeAdapter.deserialize(value)) });
2595
+ this.min = input(undefined, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: value => this.getValidDate(this.dateTimeAdapter.deserialize(value)) });
2418
2596
  /** The maximum valid date */
2419
- this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : {}), transform: value => this.getValidDate(this.dateTimeAdapter.deserialize(value)) });
2597
+ this.max = input(undefined, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: value => this.getValidDate(this.dateTimeAdapter.deserialize(value)) });
2420
2598
  /**
2421
2599
  * The picker select mode
2422
2600
  *
@@ -2425,14 +2603,16 @@ class DateTimeInputDirective {
2425
2603
  * - `'rangeFrom'` - an open range with a fixed start date
2426
2604
  * - `'rangeTo'` - an open range with a fixed end date
2427
2605
  */
2428
- this.selectMode = input('single', ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
2606
+ this.selectMode = input('single', /* @ts-ignore */
2607
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
2429
2608
  /**
2430
2609
  * The character to separate the 'from' and 'to' in input value
2431
2610
  */
2432
- this.rangeSeparator = input('~', ...(ngDevMode ? [{ debugName: "rangeSeparator" }] : []));
2611
+ this.rangeSeparator = input('~', /* @ts-ignore */
2612
+ ...(ngDevMode ? [{ debugName: "rangeSeparator" }] : /* istanbul ignore next */ []));
2433
2613
  // eslint-disable-next-line @angular-eslint/no-input-rename
2434
- this._valueInput = input(undefined, { ...(ngDevMode ? { debugName: "_valueInput" } : {}), alias: 'value' });
2435
- this._value = linkedSignal({ ...(ngDevMode ? { debugName: "_value" } : {}), source: () => this._valueInput(),
2614
+ this._valueInput = input(undefined, { ...(ngDevMode ? { debugName: "_valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
2615
+ this._value = linkedSignal({ ...(ngDevMode ? { debugName: "_value" } : /* istanbul ignore next */ {}), source: () => this._valueInput(),
2436
2616
  computation: v => v });
2437
2617
  this.valueValidity = computed(() => {
2438
2618
  let value = this._value();
@@ -2442,12 +2622,13 @@ class DateTimeInputDirective {
2442
2622
  value,
2443
2623
  lastValueValid
2444
2624
  };
2445
- }, { ...(ngDevMode ? { debugName: "valueValidity" } : {}), equal: (a, b) => a.lastValueValid == b.lastValueValid && this.dateTimeAdapter.isEqual(a.value, b.value) });
2446
- this.parsedValue = linkedSignal(() => this.valueValidity().value, ...(ngDevMode ? [{ debugName: "parsedValue" }] : []));
2625
+ }, { ...(ngDevMode ? { debugName: "valueValidity" } : /* istanbul ignore next */ {}), equal: (a, b) => a.lastValueValid == b.lastValueValid && this.dateTimeAdapter.isEqual(a.value, b.value) });
2626
+ this.parsedValue = linkedSignal(() => this.valueValidity().value, /* @ts-ignore */
2627
+ ...(ngDevMode ? [{ debugName: "parsedValue" }] : /* istanbul ignore next */ []));
2447
2628
  this.value = this.parsedValue.asReadonly();
2448
2629
  // eslint-disable-next-line @angular-eslint/no-input-rename
2449
- this._valuesInput = input(new Array(), { ...(ngDevMode ? { debugName: "_valuesInput" } : {}), alias: 'values' });
2450
- this._values = linkedSignal({ ...(ngDevMode ? { debugName: "_values" } : {}), source: () => this._valuesInput(),
2630
+ this._valuesInput = input(new Array(), { ...(ngDevMode ? { debugName: "_valuesInput" } : /* istanbul ignore next */ {}), alias: 'values' });
2631
+ this._values = linkedSignal({ ...(ngDevMode ? { debugName: "_values" } : /* istanbul ignore next */ {}), source: () => this._valuesInput(),
2451
2632
  computation: v => v });
2452
2633
  this.valuesValidity = computed(() => {
2453
2634
  let values = this._values();
@@ -2470,8 +2651,9 @@ class DateTimeInputDirective {
2470
2651
  values,
2471
2652
  lastValueValid
2472
2653
  };
2473
- }, { ...(ngDevMode ? { debugName: "valuesValidity" } : {}), equal: (a, b) => a.lastValueValid == b.lastValueValid && this.dateTimeAdapter.isEqual(a.values[0], b.values[0]) && this.dateTimeAdapter.isEqual(a.values[1], b.values[1]) });
2474
- this.parsedValues = linkedSignal(() => this.valuesValidity().values, ...(ngDevMode ? [{ debugName: "parsedValues" }] : []));
2654
+ }, { ...(ngDevMode ? { debugName: "valuesValidity" } : /* istanbul ignore next */ {}), equal: (a, b) => a.lastValueValid == b.lastValueValid && this.dateTimeAdapter.isEqual(a.values[0], b.values[0]) && this.dateTimeAdapter.isEqual(a.values[1], b.values[1]) });
2655
+ this.parsedValues = linkedSignal(() => this.valuesValidity().values, /* @ts-ignore */
2656
+ ...(ngDevMode ? [{ debugName: "parsedValues" }] : /* istanbul ignore next */ []));
2475
2657
  this.values = this.parsedValues.asReadonly();
2476
2658
  this.nativeElementValue = computed(() => {
2477
2659
  /**
@@ -2520,7 +2702,8 @@ class DateTimeInputDirective {
2520
2702
  }
2521
2703
  }
2522
2704
  return undefined;
2523
- }, ...(ngDevMode ? [{ debugName: "nativeElementValue" }] : []));
2705
+ }, /* @ts-ignore */
2706
+ ...(ngDevMode ? [{ debugName: "nativeElementValue" }] : /* istanbul ignore next */ []));
2524
2707
  /**
2525
2708
  * Callback to invoke when `change` event is fired on this `<input>`
2526
2709
  */
@@ -2529,16 +2712,19 @@ class DateTimeInputDirective {
2529
2712
  * Callback to invoke when an `input` event is fired on this `<input>`.
2530
2713
  */
2531
2714
  this.dateTimeInput = output();
2532
- this.isInSingleMode = computed(() => this.selectMode() === 'single', ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
2715
+ this.isInSingleMode = computed(() => this.selectMode() === 'single', /* @ts-ignore */
2716
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
2533
2717
  this.isInRangeMode = computed(() => {
2534
2718
  const selectMode = this.selectMode();
2535
2719
  return (selectMode === 'range' ||
2536
2720
  selectMode === 'rangeFrom' ||
2537
2721
  selectMode === 'rangeTo');
2538
- }, ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
2722
+ }, /* @ts-ignore */
2723
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
2539
2724
  /** The date-time-picker that this input is associated with */
2540
- this.dtPicker = signal(undefined, ...(ngDevMode ? [{ debugName: "dtPicker" }] : []));
2541
- this.lastValueValid = linkedSignal({ ...(ngDevMode ? { debugName: "lastValueValid" } : {}), source: () => this.valueValidity().lastValueValid && this.valuesValidity().lastValueValid,
2725
+ this.dtPicker = signal(undefined, /* @ts-ignore */
2726
+ ...(ngDevMode ? [{ debugName: "dtPicker" }] : /* istanbul ignore next */ []));
2727
+ this.lastValueValid = linkedSignal({ ...(ngDevMode ? { debugName: "lastValueValid" } : /* istanbul ignore next */ {}), source: () => this.valueValidity().lastValueValid && this.valuesValidity().lastValueValid,
2542
2728
  computation: v => v });
2543
2729
  /** The form control validator for whether the input parses */
2544
2730
  this.parseValidator = computed(() => {
@@ -2546,7 +2732,8 @@ class DateTimeInputDirective {
2546
2732
  return () => lastValueValid
2547
2733
  ? null
2548
2734
  : { dateTimeParse: { text: this.elmRef.nativeElement.value } };
2549
- }, ...(ngDevMode ? [{ debugName: "parseValidator" }] : []));
2735
+ }, /* @ts-ignore */
2736
+ ...(ngDevMode ? [{ debugName: "parseValidator" }] : /* istanbul ignore next */ []));
2550
2737
  /** The form control validator for the min date */
2551
2738
  this.minValidator = computed(() => {
2552
2739
  const min = this.min();
@@ -2578,7 +2765,8 @@ class DateTimeInputDirective {
2578
2765
  }
2579
2766
  return null;
2580
2767
  };
2581
- }, ...(ngDevMode ? [{ debugName: "minValidator" }] : []));
2768
+ }, /* @ts-ignore */
2769
+ ...(ngDevMode ? [{ debugName: "minValidator" }] : /* istanbul ignore next */ []));
2582
2770
  /** The form control validator for the max date */
2583
2771
  this.maxValidator = computed(() => {
2584
2772
  const max = this.max();
@@ -2610,7 +2798,8 @@ class DateTimeInputDirective {
2610
2798
  }
2611
2799
  return null;
2612
2800
  };
2613
- }, ...(ngDevMode ? [{ debugName: "maxValidator" }] : []));
2801
+ }, /* @ts-ignore */
2802
+ ...(ngDevMode ? [{ debugName: "maxValidator" }] : /* istanbul ignore next */ []));
2614
2803
  /** The form control validator for the date filter */
2615
2804
  this.filterValidator = computed(() => {
2616
2805
  const dateTimeFilter = this.dateTimeFilter();
@@ -2622,7 +2811,8 @@ class DateTimeInputDirective {
2622
2811
  ? null
2623
2812
  : { dateTimeFilter: true };
2624
2813
  };
2625
- }, ...(ngDevMode ? [{ debugName: "filterValidator" }] : []));
2814
+ }, /* @ts-ignore */
2815
+ ...(ngDevMode ? [{ debugName: "filterValidator" }] : /* istanbul ignore next */ []));
2626
2816
  /**
2627
2817
  * The form control validator for the range.
2628
2818
  * Check whether the 'before' value is before the 'to' value
@@ -2641,7 +2831,8 @@ class DateTimeInputDirective {
2641
2831
  ? null
2642
2832
  : { dateTimeRange: true };
2643
2833
  };
2644
- }, ...(ngDevMode ? [{ debugName: "rangeValidator" }] : []));
2834
+ }, /* @ts-ignore */
2835
+ ...(ngDevMode ? [{ debugName: "rangeValidator" }] : /* istanbul ignore next */ []));
2645
2836
  /** The combined form control validator for this input */
2646
2837
  this.validator = computed(() => Validators.compose([
2647
2838
  this.parseValidator(),
@@ -2649,17 +2840,21 @@ class DateTimeInputDirective {
2649
2840
  this.maxValidator(),
2650
2841
  this.filterValidator(),
2651
2842
  this.rangeValidator()
2652
- ]), ...(ngDevMode ? [{ debugName: "validator" }] : []));
2843
+ ]), /* @ts-ignore */
2844
+ ...(ngDevMode ? [{ debugName: "validator" }] : /* istanbul ignore next */ []));
2653
2845
  /** Emits when the value changes (either due to user input or programmatic change) */
2654
2846
  this.valueChange = output();
2655
2847
  /** Emits when the disabled state has changed */
2656
2848
  this.disabledChange = output();
2657
2849
  /** @internal */
2658
- this.inputAriaOwns = computed(() => (this.dtPicker()?.isOpen() && this.dtPicker().id) || undefined, ...(ngDevMode ? [{ debugName: "inputAriaOwns" }] : []));
2850
+ this.inputAriaOwns = computed(() => (this.dtPicker()?.isOpen() && this.dtPicker().id) || undefined, /* @ts-ignore */
2851
+ ...(ngDevMode ? [{ debugName: "inputAriaOwns" }] : /* istanbul ignore next */ []));
2659
2852
  /** @internal */
2660
- this.minIso8601 = computed(() => this.min() ? this.dateTimeAdapter.toIso8601(this.min()) : undefined, ...(ngDevMode ? [{ debugName: "minIso8601" }] : []));
2853
+ this.minIso8601 = computed(() => this.min() ? this.dateTimeAdapter.toIso8601(this.min()) : undefined, /* @ts-ignore */
2854
+ ...(ngDevMode ? [{ debugName: "minIso8601" }] : /* istanbul ignore next */ []));
2661
2855
  /** @internal */
2662
- this.maxIso8601 = computed(() => this.max() ? this.dateTimeAdapter.toIso8601(this.max()) : undefined, ...(ngDevMode ? [{ debugName: "maxIso8601" }] : []));
2856
+ this.maxIso8601 = computed(() => this.max() ? this.dateTimeAdapter.toIso8601(this.max()) : undefined, /* @ts-ignore */
2857
+ ...(ngDevMode ? [{ debugName: "maxIso8601" }] : /* istanbul ignore next */ []));
2663
2858
  let picker;
2664
2859
  effect(() => {
2665
2860
  /**
@@ -2978,13 +3173,13 @@ class DateTimeInputDirective {
2978
3173
  }
2979
3174
  return first == second;
2980
3175
  }
2981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2982
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: DateTimeInputDirective, isStandalone: true, selector: "input[nxtDateTime]", inputs: { dateTime: { classPropertyName: "dateTime", publicName: "nxtDateTime", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, rangeSeparator: { classPropertyName: "rangeSeparator", publicName: "rangeSeparator", isSignal: true, isRequired: false, transformFunction: null }, _valueInput: { classPropertyName: "_valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _valuesInput: { classPropertyName: "_valuesInput", publicName: "values", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateTimeChange: "dateTimeChange", dateTimeInput: "dateTimeInput", valueChange: "valueChange", disabledChange: "disabledChange" }, host: { listeners: { "keydown": "handleKeydownOnHost($event)", "blur": "handleBlurOnHost($event)", "input": "handleInputOnHost($event)", "change": "handleChangeOnHost($event)" }, properties: { "attr.aria-haspopup": "true", "attr.aria-owns": "inputAriaOwns()", "attr.min": "minIso8601()", "attr.max": "maxIso8601()", "disabled": "disabled()" } }, providers: [
3176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3177
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.6", type: DateTimeInputDirective, isStandalone: true, selector: "input[nxtDateTime]", inputs: { dateTime: { classPropertyName: "dateTime", publicName: "nxtDateTime", isSignal: true, isRequired: false, transformFunction: null }, dateTimeFilter: { classPropertyName: "dateTimeFilter", publicName: "dateTimeFilter", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: "selectMode", publicName: "selectMode", isSignal: true, isRequired: false, transformFunction: null }, rangeSeparator: { classPropertyName: "rangeSeparator", publicName: "rangeSeparator", isSignal: true, isRequired: false, transformFunction: null }, _valueInput: { classPropertyName: "_valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _valuesInput: { classPropertyName: "_valuesInput", publicName: "values", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateTimeChange: "dateTimeChange", dateTimeInput: "dateTimeInput", valueChange: "valueChange", disabledChange: "disabledChange" }, host: { listeners: { "keydown": "handleKeydownOnHost($event)", "blur": "handleBlurOnHost($event)", "input": "handleInputOnHost($event)", "change": "handleChangeOnHost($event)" }, properties: { "attr.aria-haspopup": "true", "attr.aria-owns": "inputAriaOwns()", "attr.min": "minIso8601()", "attr.max": "maxIso8601()", "disabled": "disabled()" } }, providers: [
2983
3178
  NXT_DATETIME_VALUE_ACCESSOR,
2984
3179
  NXT_DATETIME_VALIDATORS
2985
3180
  ], exportAs: ["nxtDateTimeInput"], ngImport: i0 }); }
2986
3181
  }
2987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInputDirective, decorators: [{
3182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeInputDirective, decorators: [{
2988
3183
  type: Directive,
2989
3184
  args: [{
2990
3185
  selector: 'input[nxtDateTime]',
@@ -3009,22 +3204,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3009
3204
 
3010
3205
  class DateTimeTriggerDirective {
3011
3206
  constructor() {
3012
- this.dtPicker = input(undefined, { ...(ngDevMode ? { debugName: "dtPicker" } : {}), alias: 'nxtDateTimeTrigger' });
3207
+ this.dtPicker = input(undefined, { ...(ngDevMode ? { debugName: "dtPicker" } : /* istanbul ignore next */ {}), alias: 'nxtDateTimeTrigger' });
3208
+ /** Use the event to calculate origin when opening in dialog mode */
3209
+ this.dialogOrigin = input(false, /* @ts-ignore */
3210
+ ...(ngDevMode ? [{ debugName: "dialogOrigin" }] : /* istanbul ignore next */ []));
3013
3211
  // eslint-disable-next-line @angular-eslint/no-input-rename
3014
- this._disabled = input(undefined, { ...(ngDevMode ? { debugName: "_disabled" } : {}), alias: 'disabled' });
3015
- this.disabled = computed(() => this._disabled() ?? !!this.dtPicker()?.disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
3212
+ this._disabled = input(undefined, { ...(ngDevMode ? { debugName: "_disabled" } : /* istanbul ignore next */ {}), alias: 'disabled' });
3213
+ this.disabled = computed(() => this._disabled() ?? !!this.dtPicker()?.disabled(), /* @ts-ignore */
3214
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
3016
3215
  }
3017
3216
  handleClickOnHost(event) {
3018
3217
  const dtPicker = this.dtPicker();
3019
3218
  if (dtPicker) {
3020
- dtPicker.open();
3219
+ dtPicker.open(this.dialogOrigin() ? event : undefined);
3021
3220
  event.stopPropagation();
3022
3221
  }
3023
3222
  }
3024
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3025
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: DateTimeTriggerDirective, isStandalone: true, selector: "[nxtDateTimeTrigger]", inputs: { dtPicker: { classPropertyName: "dtPicker", publicName: "nxtDateTimeTrigger", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClickOnHost($event)" }, properties: { "class.nxt-dt-trigger-disabled": "disabled()" } }, ngImport: i0 }); }
3223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3224
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.6", type: DateTimeTriggerDirective, isStandalone: true, selector: "[nxtDateTimeTrigger]", inputs: { dtPicker: { classPropertyName: "dtPicker", publicName: "nxtDateTimeTrigger", isSignal: true, isRequired: false, transformFunction: null }, dialogOrigin: { classPropertyName: "dialogOrigin", publicName: "dialogOrigin", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClickOnHost($event)" }, properties: { "class.nxt-dt-trigger-disabled": "disabled()" } }, ngImport: i0 }); }
3026
3225
  }
3027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeTriggerDirective, decorators: [{
3226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeTriggerDirective, decorators: [{
3028
3227
  type: Directive,
3029
3228
  args: [{
3030
3229
  selector: '[nxtDateTimeTrigger]',
@@ -3033,7 +3232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3033
3232
  '(click)': 'handleClickOnHost($event)'
3034
3233
  }
3035
3234
  }]
3036
- }], propDecorators: { dtPicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "nxtDateTimeTrigger", required: false }] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
3235
+ }], propDecorators: { dtPicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "nxtDateTimeTrigger", required: false }] }], dialogOrigin: [{ type: i0.Input, args: [{ isSignal: true, alias: "dialogOrigin", required: false }] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
3037
3236
 
3038
3237
  /** @internal */
3039
3238
  let uniqueId = 0;
@@ -3067,6 +3266,11 @@ class DialogConfig {
3067
3266
  this.width = '';
3068
3267
  /** Height of the dialog */
3069
3268
  this.height = '';
3269
+ /**
3270
+ * The min-width of the overlay panel.
3271
+ * If a number is provided, pixel units are assumed.
3272
+ */
3273
+ this.minWidth = '18.5em';
3070
3274
  /**
3071
3275
  * The max-width of the overlay panel.
3072
3276
  * If a number is provided, pixel units are assumed.
@@ -3121,14 +3325,21 @@ class DialogRef {
3121
3325
  }
3122
3326
  close(dialogResult) {
3123
3327
  this.result = dialogResult;
3124
- outputToObservable(this.container.animationStateChanged)
3125
- .pipe(filter((event) => event.phaseName === 'start'), take(1))
3126
- .subscribe(() => {
3328
+ if (!this.container.destroyRef.destroyed) {
3329
+ outputToObservable(this.container.animationStateChanged)
3330
+ .pipe(filter((event) => event.phaseName === 'start'), take(1))
3331
+ .subscribe(() => {
3332
+ this._beforeClose$.next(dialogResult);
3333
+ this._beforeClose$.complete();
3334
+ this.overlayRef.detachBackdrop();
3335
+ });
3336
+ this.container.startExitAnimation();
3337
+ }
3338
+ else {
3127
3339
  this._beforeClose$.next(dialogResult);
3128
3340
  this._beforeClose$.complete();
3129
3341
  this.overlayRef.detachBackdrop();
3130
- });
3131
- this.container.startExitAnimation();
3342
+ }
3132
3343
  }
3133
3344
  /**
3134
3345
  * Gets an observable that emits when the overlay's backdrop has been clicked.
@@ -3220,45 +3431,78 @@ function extendObject(dest, ...sources) {
3220
3431
  return dest;
3221
3432
  }
3222
3433
 
3223
- /** @internal */
3224
- const zoomFadeIn = {
3225
- opacity: 0,
3226
- transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})'
3227
- };
3228
- /** @internal */
3229
- const zoomFadeInFrom = {
3230
- opacity: 0,
3231
- transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})',
3232
- transformOrigin: '{{ ox }} {{ oy }}'
3233
- };
3234
3434
  /** @internal */
3235
3435
  class DialogContainerComponent extends BasePortalOutlet {
3436
+ static { this.animate = true; }
3236
3437
  constructor() {
3237
- super(...arguments);
3438
+ super();
3238
3439
  this.elementRef = inject(ElementRef);
3239
3440
  this.focusTrapFactory = inject(ConfigurableFocusTrapFactory);
3240
3441
  this.document = inject(DOCUMENT, { optional: true });
3241
- this.portalOutlet = viewChild(CdkPortalOutlet, ...(ngDevMode ? [{ debugName: "portalOutlet" }] : []));
3442
+ this.destroyRef = inject(DestroyRef);
3443
+ this.portalOutlet = viewChild(CdkPortalOutlet, /* @ts-ignore */
3444
+ ...(ngDevMode ? [{ debugName: "portalOutlet" }] : /* istanbul ignore next */ []));
3242
3445
  /** The class that traps and manages focus within the dialog */
3243
- this.focusTrap = signal(undefined, ...(ngDevMode ? [{ debugName: "focusTrap" }] : []));
3446
+ this.focusTrap = signal(undefined, /* @ts-ignore */
3447
+ ...(ngDevMode ? [{ debugName: "focusTrap" }] : /* istanbul ignore next */ []));
3244
3448
  /** ID of the element that should be considered as the dialog's label */
3245
- this.ariaLabelledBy = signal(undefined, ...(ngDevMode ? [{ debugName: "ariaLabelledBy" }] : []));
3449
+ this.ariaLabelledBy = signal(undefined, /* @ts-ignore */
3450
+ ...(ngDevMode ? [{ debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
3246
3451
  /** Emits when an animation state changes */
3247
3452
  this.animationStateChanged = output();
3248
- this.isAnimating = signal(false, ...(ngDevMode ? [{ debugName: "isAnimating" }] : []));
3249
- this._config = signal(undefined, ...(ngDevMode ? [{ debugName: "_config" }] : []));
3453
+ this.isAnimating = signal(false, /* @ts-ignore */
3454
+ ...(ngDevMode ? [{ debugName: "isAnimating" }] : /* istanbul ignore next */ []));
3455
+ this._config = signal(undefined, /* @ts-ignore */
3456
+ ...(ngDevMode ? [{ debugName: "_config" }] : /* istanbul ignore next */ []));
3250
3457
  this.config = this._config.asReadonly();
3251
- this.state = signal('enter', ...(ngDevMode ? [{ debugName: "state" }] : []));
3252
3458
  // for animation purpose
3253
- this.params = signal({
3459
+ this.params = {
3254
3460
  x: '0px',
3255
3461
  y: '0px',
3256
3462
  ox: '50%',
3257
3463
  oy: '50%',
3258
3464
  scale: 0
3259
- }, ...(ngDevMode ? [{ debugName: "params" }] : []));
3260
- /** @internal */
3261
- this.dialogContainerAnimation = computed(() => ({ value: this.state(), params: this.params() }), ...(ngDevMode ? [{ debugName: "dialogContainerAnimation" }] : []));
3465
+ };
3466
+ afterNextRender(() => {
3467
+ const params = this.params;
3468
+ const target = this.elementRef.nativeElement;
3469
+ this.isAnimating.set(true);
3470
+ this.animationStateChanged.emit({
3471
+ phaseName: 'start',
3472
+ toState: 'enter'
3473
+ });
3474
+ if (target && DialogContainerComponent.animate) {
3475
+ target.animate([
3476
+ {
3477
+ opacity: 0,
3478
+ transform: `translateX(${params.x}) translateY(${params.y}) scale(${params.scale})`,
3479
+ transformOrigin: `${params.ox} ${params.oy}`
3480
+ },
3481
+ {
3482
+ opacity: 1,
3483
+ transform: 'translateX(0px) translateY(0px) scale(1)',
3484
+ transformOrigin: '50% 50%'
3485
+ }
3486
+ ], {
3487
+ duration: 300,
3488
+ easing: 'cubic-bezier(0.35, 0, 0.25, 1)'
3489
+ }).addEventListener('finish', () => {
3490
+ target.animate([
3491
+ { transform: 'scale(1)', offset: 0 },
3492
+ { transform: 'scale(1.05)', offset: 0.3 },
3493
+ { transform: 'scale(.95)', offset: 0.8 },
3494
+ { transform: 'scale(1)', offset: 1.0 }
3495
+ ], {
3496
+ duration: 150
3497
+ }).addEventListener('finish', () => {
3498
+ this.endEnterAnimation();
3499
+ });
3500
+ });
3501
+ }
3502
+ else {
3503
+ this.endEnterAnimation();
3504
+ }
3505
+ });
3262
3506
  }
3263
3507
  /**
3264
3508
  * Attach a ComponentPortal as content to this dialog container.
@@ -3280,22 +3524,51 @@ class DialogContainerComponent extends BasePortalOutlet {
3280
3524
  this.calculateZoomOrigin(config.event);
3281
3525
  }
3282
3526
  }
3283
- onAnimationStart(event) {
3527
+ startExitAnimation() {
3528
+ const params = this.params;
3529
+ const target = this.elementRef.nativeElement;
3284
3530
  this.isAnimating.set(true);
3285
- this.animationStateChanged.emit(event);
3286
- }
3287
- onAnimationDone(event) {
3288
- if (event.toState === 'enter') {
3289
- this.trapFocus();
3531
+ this.animationStateChanged.emit({
3532
+ phaseName: 'start',
3533
+ toState: 'exit'
3534
+ });
3535
+ if (target && DialogContainerComponent.animate) {
3536
+ target.animate([
3537
+ {
3538
+ opacity: 1,
3539
+ transform: 'translateX(0px) translateY(0px) scale(1)'
3540
+ },
3541
+ {
3542
+ opacity: 0,
3543
+ transform: `translateX(${params.x}) translateY(${params.y}) scale(${params.scale})`
3544
+ }
3545
+ ], {
3546
+ duration: 200
3547
+ }).addEventListener('finish', () => {
3548
+ this.endExitAnimation();
3549
+ });
3290
3550
  }
3291
- else if (event.toState === 'exit') {
3292
- this.restoreFocus();
3551
+ else {
3552
+ this.endExitAnimation();
3293
3553
  }
3294
- this.animationStateChanged.emit(event);
3554
+ }
3555
+ endEnterAnimation() {
3556
+ this.trapFocus();
3557
+ if (!this.destroyRef.destroyed)
3558
+ this.animationStateChanged.emit({
3559
+ phaseName: 'done',
3560
+ toState: 'enter'
3561
+ });
3295
3562
  this.isAnimating.set(false);
3296
3563
  }
3297
- startExitAnimation() {
3298
- this.state.set('exit');
3564
+ endExitAnimation() {
3565
+ this.restoreFocus();
3566
+ if (!this.destroyRef.destroyed)
3567
+ this.animationStateChanged.emit({
3568
+ phaseName: 'done',
3569
+ toState: 'exit'
3570
+ });
3571
+ this.isAnimating.set(false);
3299
3572
  }
3300
3573
  /**
3301
3574
  * Calculate origin used in the `zoomFadeInFrom()`
@@ -3310,13 +3583,13 @@ class DialogContainerComponent extends BasePortalOutlet {
3310
3583
  const y = clientY - hh;
3311
3584
  const ox = clientX / window.innerWidth;
3312
3585
  const oy = clientY / window.innerHeight;
3313
- this.params.set({
3586
+ this.params = {
3314
3587
  x: `${x}px`,
3315
3588
  y: `${y}px`,
3316
3589
  ox: `${ox * 100}%`,
3317
3590
  oy: `${oy * 100}%`,
3318
3591
  scale: 0
3319
- });
3592
+ };
3320
3593
  }
3321
3594
  /**
3322
3595
  * Save the focused element before dialog was open
@@ -3346,58 +3619,12 @@ class DialogContainerComponent extends BasePortalOutlet {
3346
3619
  this.focusTrap.set(undefined);
3347
3620
  }
3348
3621
  }
3349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DialogContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3350
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: DialogContainerComponent, isStandalone: true, selector: "nxt-dialog-container", outputs: { animationStateChanged: "animationStateChanged" }, host: { listeners: { "@slideModal.start": "onAnimationStart($event)", "@slideModal.done": "onAnimationDone($event)" }, properties: { "class.nxt-dialog-container": "true", "attr.tabindex": "-1", "attr.aria-labelledby": "ariaLabelledBy()", "attr.id": "config()?.id", "attr.role": "config()?.role", "attr.aria-describedby": "config()?.ariaDescribedBy", "@slideModal": "dialogContainerAnimation()" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet />\r\n", dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [
3351
- trigger('slideModal', [
3352
- transition('void => enter', [
3353
- style(zoomFadeInFrom),
3354
- animate('300ms cubic-bezier(0.35, 0, 0.25, 1)', style('*')),
3355
- animate('150ms', keyframes([
3356
- style({ transform: 'scale(1)', offset: 0 }),
3357
- style({ transform: 'scale(1.05)', offset: 0.3 }),
3358
- style({ transform: 'scale(.95)', offset: 0.8 }),
3359
- style({ transform: 'scale(1)', offset: 1.0 })
3360
- ])),
3361
- animateChild()
3362
- ], {
3363
- params: {
3364
- x: '0px',
3365
- y: '0px',
3366
- ox: '50%',
3367
- oy: '50%',
3368
- scale: 1
3369
- }
3370
- }),
3371
- transition('enter => exit', [animateChild(), animate(200, style(zoomFadeIn))], { params: { x: '0px', y: '0px', ox: '50%', oy: '50%' } })
3372
- ])
3373
- ] }); }
3622
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DialogContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3623
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: DialogContainerComponent, isStandalone: true, selector: "nxt-dialog-container", outputs: { animationStateChanged: "animationStateChanged" }, host: { properties: { "class.nxt-dialog-container": "true", "attr.tabindex": "-1", "attr.aria-labelledby": "ariaLabelledBy()", "attr.id": "config()?.id", "attr.role": "config()?.role", "attr.aria-describedby": "config()?.ariaDescribedBy" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet />\r\n", dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
3374
3624
  }
3375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DialogContainerComponent, decorators: [{
3625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DialogContainerComponent, decorators: [{
3376
3626
  type: Component,
3377
- args: [{ selector: 'nxt-dialog-container', animations: [
3378
- trigger('slideModal', [
3379
- transition('void => enter', [
3380
- style(zoomFadeInFrom),
3381
- animate('300ms cubic-bezier(0.35, 0, 0.25, 1)', style('*')),
3382
- animate('150ms', keyframes([
3383
- style({ transform: 'scale(1)', offset: 0 }),
3384
- style({ transform: 'scale(1.05)', offset: 0.3 }),
3385
- style({ transform: 'scale(.95)', offset: 0.8 }),
3386
- style({ transform: 'scale(1)', offset: 1.0 })
3387
- ])),
3388
- animateChild()
3389
- ], {
3390
- params: {
3391
- x: '0px',
3392
- y: '0px',
3393
- ox: '50%',
3394
- oy: '50%',
3395
- scale: 1
3396
- }
3397
- }),
3398
- transition('enter => exit', [animateChild(), animate(200, style(zoomFadeIn))], { params: { x: '0px', y: '0px', ox: '50%', oy: '50%' } })
3399
- ])
3400
- ], imports: [
3627
+ args: [{ selector: 'nxt-dialog-container', imports: [
3401
3628
  CdkPortalOutlet
3402
3629
  ], host: {
3403
3630
  '[class.nxt-dialog-container]': 'true',
@@ -3405,12 +3632,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3405
3632
  '[attr.aria-labelledby]': 'ariaLabelledBy()',
3406
3633
  '[attr.id]': 'config()?.id',
3407
3634
  '[attr.role]': 'config()?.role',
3408
- '[attr.aria-describedby]': 'config()?.ariaDescribedBy',
3409
- '[@slideModal]': 'dialogContainerAnimation()',
3410
- '(@slideModal.start)': 'onAnimationStart($event)',
3411
- '(@slideModal.done)': 'onAnimationDone($event)'
3635
+ '[attr.aria-describedby]': 'config()?.ariaDescribedBy'
3412
3636
  }, template: "<ng-template cdkPortalOutlet />\r\n" }]
3413
- }], propDecorators: { portalOutlet: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkPortalOutlet), { isSignal: true }] }], animationStateChanged: [{ type: i0.Output, args: ["animationStateChanged"] }] } });
3637
+ }], ctorParameters: () => [], propDecorators: { portalOutlet: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkPortalOutlet), { isSignal: true }] }], animationStateChanged: [{ type: i0.Output, args: ["animationStateChanged"] }] } });
3414
3638
 
3415
3639
  /** @internal */
3416
3640
  const NXT_DIALOG_DATA = new InjectionToken('NXT_DIALOG_DATA');
@@ -3604,10 +3828,10 @@ class DialogService {
3604
3828
  }
3605
3829
  }
3606
3830
  }
3607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3608
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DialogService, providedIn: 'root' }); }
3831
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3832
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DialogService, providedIn: 'root' }); }
3609
3833
  }
3610
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DialogService, decorators: [{
3834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DialogService, decorators: [{
3611
3835
  type: Injectable,
3612
3836
  args: [{
3613
3837
  providedIn: 'root'
@@ -3637,19 +3861,22 @@ class DateTimeComponent extends DateTimeDirective {
3637
3861
  this.overlay = inject(Overlay);
3638
3862
  this.viewContainerRef = inject(ViewContainerRef);
3639
3863
  this.dialogService = inject(DialogService);
3640
- this.ngZone = inject(NgZone);
3864
+ this.injector = inject(Injector);
3865
+ this.destroyRef = inject(DestroyRef);
3641
3866
  this.defaultScrollStrategy = inject(NXT_DTPICKER_SCROLL_STRATEGY, { optional: true }) ?? (() => this.overlay.scrollStrategies.block());
3642
3867
  this.document = inject(DOCUMENT, { optional: true });
3643
3868
  /** Custom class for the picker backdrop */
3644
- this.backdropClass = input(...(ngDevMode ? [undefined, { debugName: "backdropClass" }] : []));
3869
+ this.backdropClass = input(/* @ts-ignore */
3870
+ ...(ngDevMode ? [undefined, { debugName: "backdropClass" }] : /* istanbul ignore next */ []));
3645
3871
  /** Custom class for the picker overlay pane */
3646
- this.panelClass = input(...(ngDevMode ? [undefined, { debugName: "panelClass" }] : []));
3872
+ this.panelClass = input(/* @ts-ignore */
3873
+ ...(ngDevMode ? [undefined, { debugName: "panelClass" }] : /* istanbul ignore next */ []));
3647
3874
  /**
3648
3875
  * The date to show when picker opens
3649
3876
  *
3650
3877
  * Defaults to selected date (if available) or current date.
3651
3878
  */
3652
- this._startAt = input(undefined, { ...(ngDevMode ? { debugName: "_startAt" } : {}),
3879
+ this._startAt = input(undefined, { ...(ngDevMode ? { debugName: "_startAt" } : /* istanbul ignore next */ {}),
3653
3880
  // eslint-disable-next-line @angular-eslint/no-input-rename
3654
3881
  alias: 'startAt',
3655
3882
  transform: date => this.getValidDate(this.dateTimeAdapter.deserialize(date)) });
@@ -3674,7 +3901,8 @@ class DateTimeComponent extends DateTimeDirective {
3674
3901
  }
3675
3902
  }
3676
3903
  return;
3677
- }, ...(ngDevMode ? [{ debugName: "startAt" }] : []));
3904
+ }, /* @ts-ignore */
3905
+ ...(ngDevMode ? [{ debugName: "startAt" }] : /* istanbul ignore next */ []));
3678
3906
  /**
3679
3907
  * Set the type of the dateTime picker
3680
3908
  *
@@ -3682,14 +3910,15 @@ class DateTimeComponent extends DateTimeDirective {
3682
3910
  * - `'calendar'` - show only calendar
3683
3911
  * - `'timer'` - show only timer
3684
3912
  */
3685
- this.pickerType = input('both', ...(ngDevMode ? [{ debugName: "pickerType" }] : []));
3913
+ this.pickerType = input('both', /* @ts-ignore */
3914
+ ...(ngDevMode ? [{ debugName: "pickerType" }] : /* istanbul ignore next */ []));
3686
3915
  /**
3687
3916
  * The style the picker would open as
3688
3917
  *
3689
3918
  * - `'popup'` - display picker attached to the trigger element
3690
3919
  * - `'dialog'` - display picker as a dialog
3691
3920
  */
3692
- this.pickerMode = input('popup', { ...(ngDevMode ? { debugName: "pickerMode" } : {}), transform: mode => {
3921
+ this.pickerMode = input('popup', { ...(ngDevMode ? { debugName: "pickerMode" } : /* istanbul ignore next */ {}), transform: mode => {
3693
3922
  if (mode === 'popup') {
3694
3923
  return mode;
3695
3924
  }
@@ -3699,17 +3928,19 @@ class DateTimeComponent extends DateTimeDirective {
3699
3928
  } });
3700
3929
  /** Whether the date time picker should be disabled */
3701
3930
  // eslint-disable-next-line @angular-eslint/no-input-rename
3702
- this._disabled = input(undefined, { ...(ngDevMode ? { debugName: "_disabled" } : {}), alias: 'disabled' });
3703
- this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : {}), source: () => this._disabled(),
3931
+ this._disabled = input(undefined, { ...(ngDevMode ? { debugName: "_disabled" } : /* istanbul ignore next */ {}), alias: 'disabled' });
3932
+ this.disabled = linkedSignal({ ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), source: () => this._disabled(),
3704
3933
  computation: value => value ?? !!this.dtInput()?.disabled() });
3705
3934
  /** Whether the calendar is open */
3706
3935
  // eslint-disable-next-line @angular-eslint/no-input-rename
3707
- this._isOpen = input(false, { ...(ngDevMode ? { debugName: "_isOpen" } : {}), alias: 'isOpen' });
3708
- this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
3936
+ this._isOpen = input(false, { ...(ngDevMode ? { debugName: "_isOpen" } : /* istanbul ignore next */ {}), alias: 'isOpen' });
3937
+ this.isOpen = signal(false, /* @ts-ignore */
3938
+ ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
3709
3939
  /**
3710
3940
  * The scroll strategy when the picker is open (see [CDK documentation](https://material.angular.io/cdk/overlay/overview#scroll-strategies))
3711
3941
  */
3712
- this.scrollStrategy = input(...(ngDevMode ? [undefined, { debugName: "scrollStrategy" }] : []));
3942
+ this.scrollStrategy = input(/* @ts-ignore */
3943
+ ...(ngDevMode ? [undefined, { debugName: "scrollStrategy" }] : /* istanbul ignore next */ []));
3713
3944
  /**
3714
3945
  * Callback when the picker is opened
3715
3946
  */
@@ -3744,19 +3975,29 @@ class DateTimeComponent extends DateTimeDirective {
3744
3975
  * Emits when the date time picker is disabled
3745
3976
  */
3746
3977
  this.disabledChange = output();
3747
- this._dtInput = signal(undefined, ...(ngDevMode ? [{ debugName: "_dtInput" }] : []));
3978
+ this._dtInput = signal(undefined, /* @ts-ignore */
3979
+ ...(ngDevMode ? [{ debugName: "_dtInput" }] : /* istanbul ignore next */ []));
3748
3980
  this.dtInput = this._dtInput.asReadonly();
3749
- this.valueChange = computed(() => this._dtInput()?.valueChange, ...(ngDevMode ? [{ debugName: "valueChange" }] : []));
3750
- this.selected = signal(undefined, ...(ngDevMode ? [{ debugName: "selected" }] : []));
3751
- this.selecteds = signal(new Array(), ...(ngDevMode ? [{ debugName: "selecteds" }] : []));
3981
+ this.valueChange = computed(() => this._dtInput()?.valueChange, /* @ts-ignore */
3982
+ ...(ngDevMode ? [{ debugName: "valueChange" }] : /* istanbul ignore next */ []));
3983
+ this.selected = signal(undefined, /* @ts-ignore */
3984
+ ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
3985
+ this.selecteds = signal(new Array(), /* @ts-ignore */
3986
+ ...(ngDevMode ? [{ debugName: "selecteds" }] : /* istanbul ignore next */ []));
3752
3987
  /** The minimum selectable date */
3753
- this.min = computed(() => this.dtInput()?.min(), ...(ngDevMode ? [{ debugName: "min" }] : []));
3988
+ this.min = computed(() => this.dtInput()?.min(), /* @ts-ignore */
3989
+ ...(ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []));
3754
3990
  /** The maximum selectable date */
3755
- this.max = computed(() => this.dtInput()?.max(), ...(ngDevMode ? [{ debugName: "max" }] : []));
3756
- this.dateTimeFilter = computed(() => this.dtInput()?.dateTimeFilter(), ...(ngDevMode ? [{ debugName: "dateTimeFilter" }] : []));
3757
- this.selectMode = computed(() => this.dtInput()?.selectMode(), ...(ngDevMode ? [{ debugName: "selectMode" }] : []));
3758
- this.isInSingleMode = computed(() => !!this.dtInput()?.isInSingleMode(), ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : []));
3759
- this.isInRangeMode = computed(() => !!this.dtInput()?.isInRangeMode(), ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : []));
3991
+ this.max = computed(() => this.dtInput()?.max(), /* @ts-ignore */
3992
+ ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
3993
+ this.dateTimeFilter = computed(() => this.dtInput()?.dateTimeFilter(), /* @ts-ignore */
3994
+ ...(ngDevMode ? [{ debugName: "dateTimeFilter" }] : /* istanbul ignore next */ []));
3995
+ this.selectMode = computed(() => this.dtInput()?.selectMode(), /* @ts-ignore */
3996
+ ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
3997
+ this.isInSingleMode = computed(() => !!this.dtInput()?.isInSingleMode(), /* @ts-ignore */
3998
+ ...(ngDevMode ? [{ debugName: "isInSingleMode" }] : /* istanbul ignore next */ []));
3999
+ this.isInRangeMode = computed(() => !!this.dtInput()?.isInRangeMode(), /* @ts-ignore */
4000
+ ...(ngDevMode ? [{ debugName: "isInRangeMode" }] : /* istanbul ignore next */ []));
3760
4001
  effect((registerCleanup) => {
3761
4002
  const vc = this.valueChange();
3762
4003
  if (vc) {
@@ -3816,7 +4057,7 @@ class DateTimeComponent extends DateTimeDirective {
3816
4057
  }
3817
4058
  this._dtInput.set(inputDirective);
3818
4059
  }
3819
- open() {
4060
+ open(event) {
3820
4061
  if (this.isOpen() || this.disabled()) {
3821
4062
  return;
3822
4063
  }
@@ -3839,7 +4080,7 @@ class DateTimeComponent extends DateTimeDirective {
3839
4080
  this.selected.set(this.dateTimeAdapter.createDate(this.dateTimeAdapter.getYear(this.selected()), this.dateTimeAdapter.getMonth(this.selected()), this.dateTimeAdapter.getDate(this.selected()), this.dateTimeAdapter.getHours(this._startAt()), this.dateTimeAdapter.getMinutes(this._startAt()), this.dateTimeAdapter.getSeconds(this._startAt())));
3840
4081
  }
3841
4082
  if (this.pickerMode() === 'dialog')
3842
- this.openAsDialog();
4083
+ this.openAsDialog(event);
3843
4084
  else
3844
4085
  this.openAsPopup();
3845
4086
  if (this.pickerContainer)
@@ -3849,8 +4090,8 @@ class DateTimeComponent extends DateTimeDirective {
3849
4090
  this.close();
3850
4091
  });
3851
4092
  // Listen to picker container's confirmSelectedStream
3852
- this.confirmSelectedStreamSub = this.pickerContainer?.confirmSelectedStream.subscribe((event) => {
3853
- this.confirmSelect(event);
4093
+ this.confirmSelectedStreamSub = this.pickerContainer?.confirmSelectedStream.subscribe((e) => {
4094
+ this.confirmSelect(e);
3854
4095
  });
3855
4096
  }
3856
4097
  /**
@@ -3958,10 +4199,11 @@ class DateTimeComponent extends DateTimeDirective {
3958
4199
  /**
3959
4200
  * Open the picker as a dialog
3960
4201
  */
3961
- openAsDialog() {
4202
+ openAsDialog(event) {
3962
4203
  const backdropClass = this.backdropClass();
3963
4204
  const panelClass = this.panelClass();
3964
4205
  this.dialogRef = this.dialogService.open(DateTimeContainerComponent, {
4206
+ event,
3965
4207
  autoFocus: false,
3966
4208
  backdropClass: [
3967
4209
  'cdk-overlay-dark-backdrop',
@@ -3996,12 +4238,12 @@ class DateTimeComponent extends DateTimeDirective {
3996
4238
  const componentRef = this.popupRef?.attach(this.pickerContainerPortal);
3997
4239
  this.pickerContainer = componentRef?.instance;
3998
4240
  // Update the position once the calendar has rendered.
3999
- this.ngZone.onStable
4000
- .asObservable()
4001
- .pipe(take(1))
4002
- .subscribe(() => {
4003
- this.popupRef?.updatePosition();
4004
- });
4241
+ if (!this.destroyRef.destroyed)
4242
+ afterNextRender(() => {
4243
+ this.popupRef?.updatePosition();
4244
+ }, {
4245
+ injector: this.injector
4246
+ });
4005
4247
  // emit open stream
4006
4248
  this.pickerOpenedStreamSub = this.pickerContainer?.pickerOpenedStream
4007
4249
  .pipe(take(1))
@@ -4089,67 +4331,17 @@ class DateTimeComponent extends DateTimeDirective {
4089
4331
  ]);
4090
4332
  return;
4091
4333
  }
4092
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4093
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: DateTimeComponent, isStandalone: true, selector: "nxt-date-time", inputs: { backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, _startAt: { classPropertyName: "_startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, pickerMode: { classPropertyName: "pickerMode", publicName: "pickerMode", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _isOpen: { classPropertyName: "_isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { afterPickerOpened: "open", afterPickerClosed: "close", yearSelected: "yearSelected", monthSelected: "monthSelected", isOpenChange: "isOpenChange", confirmSelectedChange: "confirmSelectedChange", disabledChange: "disabledChange" }, usesInheritance: true, ngImport: i0, template: "\r\n", styles: [""] }); }
4334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: DateTimeComponent, isStandalone: true, selector: "nxt-date-time", inputs: { backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, _startAt: { classPropertyName: "_startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, pickerMode: { classPropertyName: "pickerMode", publicName: "pickerMode", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _isOpen: { classPropertyName: "_isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { afterPickerOpened: "open", afterPickerClosed: "close", yearSelected: "yearSelected", monthSelected: "monthSelected", isOpenChange: "isOpenChange", confirmSelectedChange: "confirmSelectedChange", disabledChange: "disabledChange" }, usesInheritance: true, ngImport: i0, template: "\r\n", styles: [""] }); }
4094
4336
  }
4095
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeComponent, decorators: [{
4337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DateTimeComponent, decorators: [{
4096
4338
  type: Component,
4097
4339
  args: [{ selector: 'nxt-date-time', preserveWhitespaces: false, template: "\r\n" }]
4098
4340
  }], ctorParameters: () => [], propDecorators: { backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], _startAt: [{ type: i0.Input, args: [{ isSignal: true, alias: "startAt", required: false }] }], pickerType: [{ type: i0.Input, args: [{ isSignal: true, alias: "pickerType", required: false }] }], pickerMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "pickerMode", required: false }] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], afterPickerOpened: [{ type: i0.Output, args: ["open"] }], afterPickerClosed: [{ type: i0.Output, args: ["close"] }], yearSelected: [{ type: i0.Output, args: ["yearSelected"] }], monthSelected: [{ type: i0.Output, args: ["monthSelected"] }], isOpenChange: [{ type: i0.Output, args: ["isOpenChange"] }], confirmSelectedChange: [{ type: i0.Output, args: ["confirmSelectedChange"] }], disabledChange: [{ type: i0.Output, args: ["disabledChange"] }] } });
4099
4341
 
4100
- /** @deprecated use standalone imports */
4101
- class DateTimeModule {
4102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4103
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: DateTimeModule, imports: [CalendarComponent,
4104
- TimerComponent,
4105
- DateTimeTriggerDirective,
4106
- DateTimeInputDirective,
4107
- DateTimeComponent,
4108
- DateTimeInlineComponent,
4109
- MultiYearViewComponent,
4110
- YearViewComponent,
4111
- MonthViewComponent], exports: [CalendarComponent,
4112
- TimerComponent,
4113
- DateTimeTriggerDirective,
4114
- DateTimeInputDirective,
4115
- DateTimeComponent,
4116
- DateTimeInlineComponent,
4117
- MultiYearViewComponent,
4118
- YearViewComponent,
4119
- MonthViewComponent] }); }
4120
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeModule }); }
4121
- }
4122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeModule, decorators: [{
4123
- type: NgModule,
4124
- args: [{
4125
- imports: [
4126
- CalendarComponent,
4127
- TimerComponent,
4128
- DateTimeTriggerDirective,
4129
- DateTimeInputDirective,
4130
- DateTimeComponent,
4131
- DateTimeInlineComponent,
4132
- MultiYearViewComponent,
4133
- YearViewComponent,
4134
- MonthViewComponent
4135
- ],
4136
- exports: [
4137
- CalendarComponent,
4138
- TimerComponent,
4139
- DateTimeTriggerDirective,
4140
- DateTimeInputDirective,
4141
- DateTimeComponent,
4142
- DateTimeInlineComponent,
4143
- MultiYearViewComponent,
4144
- YearViewComponent,
4145
- MonthViewComponent
4146
- ]
4147
- }]
4148
- }] });
4149
-
4150
4342
  /**
4151
4343
  * Generated bundle index. Do not edit.
4152
4344
  */
4153
4345
 
4154
- export { CalendarComponent, DateTimeAdapter, DateTimeComponent, DateTimeInlineComponent, DateTimeInputDirective, DateTimeIntl, DateTimeModule, DateTimeTriggerDirective, MonthViewComponent, MultiYearViewComponent, NXT_DATE_TIME_FORMATS, TimerComponent, YearViewComponent };
4346
+ export { CalendarComponent, DateTimeAdapter, DateTimeComponent, DateTimeInlineComponent, DateTimeInputDirective, DateTimeIntl, DateTimeTriggerDirective, MonthViewComponent, MultiYearViewComponent, NXT_DATE_TIME_FORMATS, TimerComponent, YearViewComponent };
4155
4347
  //# sourceMappingURL=nxt-pick-datetime.mjs.map