@progress/kendo-angular-dateinputs 17.1.2-develop.4 → 17.2.0-develop.1

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.
@@ -25,6 +25,8 @@ import * as i1$2 from '@progress/kendo-angular-popup';
25
25
  import { PopupService } from '@progress/kendo-angular-popup';
26
26
  import { ActionSheetComponent, ActionSheetTemplateDirective } from '@progress/kendo-angular-navigation';
27
27
  import { touchEnabled } from '@progress/kendo-common';
28
+ import * as i6 from '@progress/kendo-angular-utils';
29
+ import { AdaptiveService } from '@progress/kendo-angular-utils';
28
30
 
29
31
  /**
30
32
  * @hidden
@@ -33,8 +35,8 @@ const packageMetadata = {
33
35
  name: '@progress/kendo-angular-dateinputs',
34
36
  productName: 'Kendo UI for Angular',
35
37
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
36
- publishDate: 1734358896,
37
- version: '17.1.2-develop.4',
38
+ publishDate: 1734364421,
39
+ version: '17.2.0-develop.1',
38
40
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
39
41
  };
40
42
 
@@ -553,23 +555,6 @@ const DEFAULT_SIZE = 'medium';
553
555
  * @hidden
554
556
  */
555
557
  const DEFAULT_FILL_MODE = 'solid';
556
- /**
557
- * @hidden
558
- */
559
- const windowSize = () => {
560
- if (!isDocumentAvailable()) {
561
- return;
562
- }
563
- if (window.innerWidth > 768) {
564
- return 'large';
565
- }
566
- else if (window.innerWidth > 500) {
567
- return 'medium';
568
- }
569
- else {
570
- return 'small';
571
- }
572
- };
573
558
 
574
559
  const EMPTY_DATA$3 = [[]];
575
560
  const CELLS_LENGTH$3 = 4;
@@ -9895,6 +9880,7 @@ class DatePickerComponent extends MultiTabStop {
9895
9880
  injector;
9896
9881
  pickerService;
9897
9882
  disabledDatesService;
9883
+ adaptiveService;
9898
9884
  /**
9899
9885
  * @hidden
9900
9886
  */
@@ -10515,7 +10501,7 @@ class DatePickerComponent extends MultiTabStop {
10515
10501
  _rounded = DEFAULT_ROUNDED;
10516
10502
  _fillMode = DEFAULT_FILL_MODE;
10517
10503
  windowSize;
10518
- constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService) {
10504
+ constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, adaptiveService) {
10519
10505
  super();
10520
10506
  this.zone = zone;
10521
10507
  this.localization = localization;
@@ -10526,6 +10512,7 @@ class DatePickerComponent extends MultiTabStop {
10526
10512
  this.injector = injector;
10527
10513
  this.pickerService = pickerService;
10528
10514
  this.disabledDatesService = disabledDatesService;
10515
+ this.adaptiveService = adaptiveService;
10529
10516
  validatePackage(packageMetadata);
10530
10517
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
10531
10518
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -10557,6 +10544,7 @@ class DatePickerComponent extends MultiTabStop {
10557
10544
  }
10558
10545
  ngAfterViewInit() {
10559
10546
  this.setComponentClasses();
10547
+ this.windowSize = this.adaptiveService.size;
10560
10548
  if (this.actionSheet && isDocumentAvailable()) {
10561
10549
  // The following syntax is used as it does not violate CSP compliance
10562
10550
  this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
@@ -10717,7 +10705,7 @@ class DatePickerComponent extends MultiTabStop {
10717
10705
  * @hidden
10718
10706
  */
10719
10707
  handleDateInputClick() {
10720
- this.windowSize = windowSize();
10708
+ this.windowSize = this.adaptiveService.size;
10721
10709
  if (this.isAdaptive) {
10722
10710
  this.show = true;
10723
10711
  }
@@ -10789,7 +10777,8 @@ class DatePickerComponent extends MultiTabStop {
10789
10777
  * @hidden
10790
10778
  */
10791
10779
  onResize() {
10792
- if (!this.isOpen || this.windowSize === windowSize()) {
10780
+ const currentWindowSize = this.adaptiveService.size;
10781
+ if (!this.isOpen || this.windowSize === currentWindowSize) {
10793
10782
  return;
10794
10783
  }
10795
10784
  if (this.actionSheet.expanded) {
@@ -10798,7 +10787,7 @@ class DatePickerComponent extends MultiTabStop {
10798
10787
  else {
10799
10788
  this.togglePopup(false);
10800
10789
  }
10801
- this.windowSize = windowSize();
10790
+ this.windowSize = currentWindowSize;
10802
10791
  }
10803
10792
  /**
10804
10793
  * @hidden
@@ -10831,12 +10820,23 @@ class DatePickerComponent extends MultiTabStop {
10831
10820
  }
10832
10821
  }
10833
10822
  toggleCalendar(show) {
10834
- this.windowSize = windowSize();
10835
- if (this.isAdaptive) {
10836
- this.toggleActionSheet(show);
10823
+ const previousWindowSize = this.windowSize;
10824
+ this.windowSize = this.adaptiveService.size;
10825
+ if (previousWindowSize !== this.windowSize && !show) {
10826
+ if (previousWindowSize !== 'large') {
10827
+ this.toggleActionSheet(show);
10828
+ }
10829
+ else {
10830
+ this.togglePopup(show);
10831
+ }
10837
10832
  }
10838
10833
  else {
10839
- this.togglePopup(show);
10834
+ if (this.isAdaptive) {
10835
+ this.toggleActionSheet(show);
10836
+ }
10837
+ else {
10838
+ this.togglePopup(show);
10839
+ }
10840
10840
  }
10841
10841
  this.toggleFocus();
10842
10842
  }
@@ -11035,7 +11035,7 @@ class DatePickerComponent extends MultiTabStop {
11035
11035
  this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
11036
11036
  }
11037
11037
  }
11038
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
11038
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: DisabledDatesService }, { token: i6.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
11039
11039
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "kendo-datepicker", inputs: { focusableId: "focusableId", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], clearButton: "clearButton", inputAttributes: "inputAttributes", monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer", navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", bottomView: "bottomView", topView: "topView", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", popupSettings: "popupSettings", navigation: "navigation", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", autoFill: "autoFill", focusedDate: "focusedDate", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", weekNumber: "weekNumber", size: "size", rounded: "rounded", fillMode: "fillMode", adaptiveMode: "adaptiveMode" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close", escape: "escape" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-datepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
11040
11040
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
11041
11041
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
@@ -11419,7 +11419,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11419
11419
  standalone: true,
11420
11420
  imports: [DatePickerLocalizedMessagesDirective, DateInputComponent, DateInputCustomMessagesComponent, EventsOutsideAngularDirective, IconWrapperComponent, NgTemplateOutlet, NgIf, ResizeSensorComponent, ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, CalendarComponent, CalendarCustomMessagesComponent]
11421
11421
  }]
11422
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: DisabledDatesService }]; }, propDecorators: { container: [{
11422
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: DisabledDatesService }, { type: i6.AdaptiveService }]; }, propDecorators: { container: [{
11423
11423
  type: ViewChild,
11424
11424
  args: ['container', { read: ViewContainerRef, static: true }]
11425
11425
  }], popupTemplate: [{
@@ -11650,12 +11650,16 @@ const timeListWrapper = (isAdaptiveEnabled = false, windowSize, isDateTimePicker
11650
11650
  * @hidden
11651
11651
  */
11652
11652
  class TimePickerDOMService {
11653
+ adaptiveService;
11654
+ constructor(adaptiveService) {
11655
+ this.adaptiveService = adaptiveService;
11656
+ }
11653
11657
  itemHeight;
11654
11658
  timeListHeight;
11655
11659
  isAdaptiveEnabled;
11656
11660
  isDateTimePicker;
11657
11661
  get windowSize() {
11658
- return windowSize();
11662
+ return this.adaptiveService.size;
11659
11663
  }
11660
11664
  ensureHeights() {
11661
11665
  if (this.timeListHeight !== undefined) {
@@ -11688,7 +11692,7 @@ class TimePickerDOMService {
11688
11692
  }
11689
11693
  return (element.nativeElement || element) === document.activeElement;
11690
11694
  }
11691
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerDOMService, deps: [{ token: i6.AdaptiveService }], target: i0.ɵɵFactoryTarget.Injectable });
11692
11696
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerDOMService, providedIn: 'root' });
11693
11697
  }
11694
11698
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerDOMService, decorators: [{
@@ -11696,7 +11700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11696
11700
  args: [{
11697
11701
  providedIn: 'root'
11698
11702
  }]
11699
- }] });
11703
+ }], ctorParameters: function () { return [{ type: i6.AdaptiveService }]; } });
11700
11704
 
11701
11705
  const HOURS_IN_DAY = 24;
11702
11706
  const clampToRange$3 = (rangeValue) => (value) => value % rangeValue;
@@ -13659,6 +13663,7 @@ class TimePickerComponent extends MultiTabStop {
13659
13663
  injector;
13660
13664
  pickerService;
13661
13665
  intl;
13666
+ adaptiveService;
13662
13667
  /**
13663
13668
  * @hidden
13664
13669
  */
@@ -14120,7 +14125,7 @@ class TimePickerComponent extends MultiTabStop {
14120
14125
  _rounded = DEFAULT_ROUNDED;
14121
14126
  _fillMode = DEFAULT_FILL_MODE;
14122
14127
  windowSize;
14123
- constructor(bus, zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl) {
14128
+ constructor(bus, zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, adaptiveService) {
14124
14129
  super();
14125
14130
  this.bus = bus;
14126
14131
  this.zone = zone;
@@ -14132,6 +14137,7 @@ class TimePickerComponent extends MultiTabStop {
14132
14137
  this.injector = injector;
14133
14138
  this.pickerService = pickerService;
14134
14139
  this.intl = intl;
14140
+ this.adaptiveService = adaptiveService;
14135
14141
  validatePackage(packageMetadata);
14136
14142
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
14137
14143
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -14164,6 +14170,7 @@ class TimePickerComponent extends MultiTabStop {
14164
14170
  */
14165
14171
  ngAfterViewInit() {
14166
14172
  this.setComponentClasses();
14173
+ this.windowSize = this.adaptiveService.size;
14167
14174
  if (this.actionSheet && isDocumentAvailable()) {
14168
14175
  // The following syntax is used as it does not violate CSP compliance
14169
14176
  this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
@@ -14377,7 +14384,7 @@ class TimePickerComponent extends MultiTabStop {
14377
14384
  * @hidden
14378
14385
  */
14379
14386
  handleDateInputClick() {
14380
- this.windowSize = windowSize();
14387
+ this.windowSize = this.adaptiveService.size;
14381
14388
  if (this.isAdaptive) {
14382
14389
  this.show = true;
14383
14390
  }
@@ -14449,7 +14456,8 @@ class TimePickerComponent extends MultiTabStop {
14449
14456
  * @hidden
14450
14457
  */
14451
14458
  onResize() {
14452
- if (!this.isOpen || this.windowSize === windowSize()) {
14459
+ const currentWindowSize = this.adaptiveService.size;
14460
+ if (!this.isOpen || this.windowSize === currentWindowSize) {
14453
14461
  return;
14454
14462
  }
14455
14463
  if (this.actionSheet.expanded) {
@@ -14458,7 +14466,7 @@ class TimePickerComponent extends MultiTabStop {
14458
14466
  else {
14459
14467
  this.togglePopup(false);
14460
14468
  }
14461
- this.windowSize = windowSize();
14469
+ this.windowSize = currentWindowSize;
14462
14470
  }
14463
14471
  /**
14464
14472
  * @hidden
@@ -14485,12 +14493,23 @@ class TimePickerComponent extends MultiTabStop {
14485
14493
  }
14486
14494
  }
14487
14495
  toggleTimeSelector(show) {
14488
- this.windowSize = windowSize();
14489
- if (this.isAdaptive) {
14490
- this.toggleActionSheet(show);
14496
+ const previousWindowSize = this.windowSize;
14497
+ this.windowSize = this.adaptiveService.size;
14498
+ if (previousWindowSize !== this.windowSize && !show) {
14499
+ if (previousWindowSize !== 'large') {
14500
+ this.toggleActionSheet(show);
14501
+ }
14502
+ else {
14503
+ this.togglePopup(show);
14504
+ }
14491
14505
  }
14492
14506
  else {
14493
- this.togglePopup(show);
14507
+ if (this.isAdaptive) {
14508
+ this.toggleActionSheet(show);
14509
+ }
14510
+ else {
14511
+ this.togglePopup(show);
14512
+ }
14494
14513
  }
14495
14514
  this.toggleFocus();
14496
14515
  }
@@ -14673,7 +14692,7 @@ class TimePickerComponent extends MultiTabStop {
14673
14692
  this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
14674
14693
  }
14675
14694
  }
14676
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, deps: [{ token: BusViewService }, { token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Component });
14695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, deps: [{ token: BusViewService }, { token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: i1.IntlService }, { token: i6.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
14677
14696
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerComponent, isStandalone: true, selector: "kendo-timepicker", inputs: { focusableId: "focusableId", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", clearButton: "clearButton", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", cancelButton: "cancelButton", nowButton: "nowButton", steps: "steps", popupSettings: "popupSettings", tabindex: "tabindex", tabIndex: "tabIndex", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", adaptiveMode: "adaptiveMode", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close", escape: "escape" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-timepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
14678
14697
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimePickerComponent), multi: true },
14679
14698
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => TimePickerComponent), multi: true },
@@ -15123,7 +15142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15123
15142
  standalone: true,
15124
15143
  imports: [TimePickerLocalizedMessagesDirective, DateInputComponent, DateInputCustomMessagesComponent, EventsOutsideAngularDirective, IconWrapperComponent, NgTemplateOutlet, NgIf, ResizeSensorComponent, ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TimeSelectorComponent, TimeSelectorCustomMessagesComponent]
15125
15144
  }]
15126
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: i1.IntlService }]; }, propDecorators: { container: [{
15145
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: i1.IntlService }, { type: i6.AdaptiveService }]; }, propDecorators: { container: [{
15127
15146
  type: ViewChild,
15128
15147
  args: ['container', { read: ViewContainerRef, static: false }]
15129
15148
  }], popupTemplate: [{
@@ -15421,6 +15440,7 @@ class DateTimePickerComponent extends MultiTabStop {
15421
15440
  disabledDatesService;
15422
15441
  renderer;
15423
15442
  injector;
15443
+ adaptiveService;
15424
15444
  /**
15425
15445
  * @hidden
15426
15446
  */
@@ -15765,10 +15785,7 @@ class DateTimePickerComponent extends MultiTabStop {
15765
15785
  * Indicates whether the component is currently open. That is when the popup or actionSheet is open.
15766
15786
  */
15767
15787
  get isOpen() {
15768
- if (!this.isAdaptive) {
15769
- return isPresent(this.popupRef);
15770
- }
15771
- return isTruthy(this.actionSheet?.expanded);
15788
+ return isTruthy(this.actionSheet?.expanded) || isPresent(this.popupRef);
15772
15789
  }
15773
15790
  /**
15774
15791
  * Indicates whether the component or its popup content is focused.
@@ -15912,7 +15929,8 @@ class DateTimePickerComponent extends MultiTabStop {
15912
15929
  * @hidden
15913
15930
  */
15914
15931
  onResize() {
15915
- if (!this.isOpen || this.windowSize === windowSize()) {
15932
+ const currentWindowSize = this.adaptiveService.size;
15933
+ if (!this.isOpen || this.windowSize === currentWindowSize) {
15916
15934
  return;
15917
15935
  }
15918
15936
  if (this.actionSheet.expanded) {
@@ -15921,7 +15939,7 @@ class DateTimePickerComponent extends MultiTabStop {
15921
15939
  else {
15922
15940
  this._togglePopup(false);
15923
15941
  }
15924
- this.windowSize = windowSize();
15942
+ this.windowSize = currentWindowSize;
15925
15943
  }
15926
15944
  /**
15927
15945
  * @hidden
@@ -16111,7 +16129,7 @@ class DateTimePickerComponent extends MultiTabStop {
16111
16129
  _rounded = DEFAULT_ROUNDED;
16112
16130
  _fillMode = DEFAULT_FILL_MODE;
16113
16131
  windowSize;
16114
- constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector) {
16132
+ constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector, adaptiveService) {
16115
16133
  super();
16116
16134
  this.popupService = popupService;
16117
16135
  this.intl = intl;
@@ -16123,6 +16141,7 @@ class DateTimePickerComponent extends MultiTabStop {
16123
16141
  this.disabledDatesService = disabledDatesService;
16124
16142
  this.renderer = renderer;
16125
16143
  this.injector = injector;
16144
+ this.adaptiveService = adaptiveService;
16126
16145
  validatePackage(packageMetadata);
16127
16146
  }
16128
16147
  ngOnInit() {
@@ -16145,6 +16164,7 @@ class DateTimePickerComponent extends MultiTabStop {
16145
16164
  }
16146
16165
  ngAfterViewInit() {
16147
16166
  this.setComponentClasses();
16167
+ this.windowSize = this.adaptiveService.size;
16148
16168
  if (this.actionSheet && isDocumentAvailable()) {
16149
16169
  // The following syntax is used as it does not violate CSP compliance
16150
16170
  this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
@@ -16209,12 +16229,23 @@ class DateTimePickerComponent extends MultiTabStop {
16209
16229
  if (this.disabled || this.readonly || show === this.isOpen) {
16210
16230
  return;
16211
16231
  }
16212
- this.windowSize = windowSize();
16213
- if (this.isAdaptive) {
16214
- this.toggleActionSheet(show);
16232
+ const previousWindowSize = this.windowSize;
16233
+ this.windowSize = this.adaptiveService.size;
16234
+ if (previousWindowSize !== this.windowSize && !show) {
16235
+ if (previousWindowSize !== 'large') {
16236
+ this.toggleActionSheet(show);
16237
+ }
16238
+ else {
16239
+ this._togglePopup(show);
16240
+ }
16215
16241
  }
16216
16242
  else {
16217
- this._togglePopup(show);
16243
+ if (this.isAdaptive) {
16244
+ this.toggleActionSheet(show);
16245
+ }
16246
+ else {
16247
+ this._togglePopup(show);
16248
+ }
16218
16249
  }
16219
16250
  }
16220
16251
  /**
@@ -16416,7 +16447,7 @@ class DateTimePickerComponent extends MultiTabStop {
16416
16447
  * @hidden
16417
16448
  */
16418
16449
  handleDateInputClick() {
16419
- this.windowSize = windowSize();
16450
+ this.windowSize = this.adaptiveService.size;
16420
16451
  if (this.isAdaptive) {
16421
16452
  this.toggleDateTime(true);
16422
16453
  }
@@ -16819,7 +16850,7 @@ class DateTimePickerComponent extends MultiTabStop {
16819
16850
  this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
16820
16851
  }
16821
16852
  }
16822
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1$2.PopupService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i1$1.LocalizationService }, { token: DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
16853
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1$2.PopupService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i1$1.LocalizationService }, { token: DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i6.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
16823
16854
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerComponent, isStandalone: true, selector: "kendo-datetimepicker", inputs: { focusableId: "focusableId", weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings", title: "title", subtitle: "subtitle", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", cancelButton: "cancelButton", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", focusedDate: "focusedDate", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", weekNumber: "weekNumber", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", clearButton: "clearButton", autoFill: "autoFill", adaptiveMode: "adaptiveMode", inputAttributes: "inputAttributes", defaultTab: "defaultTab", size: "size", rounded: "rounded", fillMode: "fillMode", headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", escape: "escape" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
16824
16855
  PickerService,
16825
16856
  LocalizationService,
@@ -17635,7 +17666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17635
17666
  standalone: true,
17636
17667
  imports: [LocalizedMessagesDirective, DateInputComponent, EventsOutsideAngularDirective, DateInputCustomMessagesComponent, NgIf, IconWrapperComponent, NgTemplateOutlet, ResizeSensorComponent, ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, NgClass, CalendarComponent, CalendarCustomMessagesComponent, TimeSelectorComponent, TimeSelectorCustomMessagesComponent]
17637
17668
  }]
17638
- }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i1$1.LocalizationService }, { type: DisabledDatesService }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
17669
+ }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i1$1.LocalizationService }, { type: DisabledDatesService }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i6.AdaptiveService }]; }, propDecorators: { hostClasses: [{
17639
17670
  type: HostBinding,
17640
17671
  args: ['class.k-datetimepicker']
17641
17672
  }, {
@@ -18357,6 +18388,7 @@ class DateRangePopupComponent {
18357
18388
  localization;
18358
18389
  cdr;
18359
18390
  rtl;
18391
+ adaptiveService;
18360
18392
  container;
18361
18393
  actionSheet;
18362
18394
  defaultTemplate;
@@ -18635,7 +18667,7 @@ class DateRangePopupComponent {
18635
18667
  _show;
18636
18668
  _rangeSelection;
18637
18669
  windowSize;
18638
- constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl) {
18670
+ constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl, adaptiveService) {
18639
18671
  this.popupService = popupService;
18640
18672
  this.dateRangeService = dateRangeService;
18641
18673
  this.zone = zone;
@@ -18643,6 +18675,7 @@ class DateRangePopupComponent {
18643
18675
  this.localization = localization;
18644
18676
  this.cdr = cdr;
18645
18677
  this.rtl = rtl;
18678
+ this.adaptiveService = adaptiveService;
18646
18679
  }
18647
18680
  ngOnInit() {
18648
18681
  this.dateRangeService.registerPopup(this);
@@ -18783,7 +18816,8 @@ class DateRangePopupComponent {
18783
18816
  * @hidden
18784
18817
  */
18785
18818
  onResize() {
18786
- if (!this.show || this.windowSize === windowSize()) {
18819
+ const currentWindowSize = this.adaptiveService.size;
18820
+ if (!this.show || this.windowSize === currentWindowSize) {
18787
18821
  return;
18788
18822
  }
18789
18823
  if (this.actionSheet.expanded) {
@@ -18792,7 +18826,7 @@ class DateRangePopupComponent {
18792
18826
  else {
18793
18827
  this.togglePopup(false);
18794
18828
  }
18795
- this.windowSize = windowSize();
18829
+ this.windowSize = currentWindowSize;
18796
18830
  }
18797
18831
  /**
18798
18832
  * @hidden
@@ -18913,7 +18947,7 @@ class DateRangePopupComponent {
18913
18947
  }
18914
18948
  }
18915
18949
  toggleDateRange(show) {
18916
- this.windowSize = windowSize();
18950
+ this.windowSize = this.adaptiveService.size;
18917
18951
  if (this.isAdaptive) {
18918
18952
  this.toggleActionSheet(show);
18919
18953
  }
@@ -18954,7 +18988,7 @@ class DateRangePopupComponent {
18954
18988
  this.renderer.setStyle(animationContainer, 'bottom', '0px');
18955
18989
  }
18956
18990
  }
18957
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$2.PopupService }, { token: DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
18991
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$2.PopupService }, { token: DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }, { token: i6.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
18958
18992
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePopupComponent, isStandalone: true, selector: "kendo-daterange-popup", inputs: { showCalendarHeader: "showCalendarHeader", focusedDate: "focusedDate", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", min: "min", max: "max", allowReverse: "allowReverse", animateNavigation: "animateNavigation", disabled: "disabled", views: "views", weekNumber: "weekNumber", animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", showViewHeader: "showViewHeader", showOtherMonthDays: "showOtherMonthDays", appendTo: "appendTo", collision: "collision", popupAlign: "popupAlign", margin: "margin", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", size: "size" }, outputs: { open: "open", close: "close", onBlur: "blur", onFocus: "focus", cancel: "cancel" }, providers: [
18959
18993
  LocalizationService,
18960
18994
  {
@@ -19242,7 +19276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19242
19276
  }, {
19243
19277
  type: Inject,
19244
19278
  args: [RTL]
19245
- }] }]; }, propDecorators: { container: [{
19279
+ }] }, { type: i6.AdaptiveService }]; }, propDecorators: { container: [{
19246
19280
  type: ViewChild,
19247
19281
  args: ['container', { read: ViewContainerRef, static: false }]
19248
19282
  }], actionSheet: [{
@@ -20175,7 +20209,8 @@ class DatePickerModule {
20175
20209
  MonthViewService,
20176
20210
  YearViewService,
20177
20211
  PopupService,
20178
- NavigationService
20212
+ NavigationService,
20213
+ AdaptiveService
20179
20214
  ], imports: [DatePickerComponent] });
20180
20215
  }
20181
20216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerModule, decorators: [{
@@ -20194,7 +20229,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20194
20229
  MonthViewService,
20195
20230
  YearViewService,
20196
20231
  PopupService,
20197
- NavigationService
20232
+ NavigationService,
20233
+ AdaptiveService
20198
20234
  ]
20199
20235
  }]
20200
20236
  }] });
@@ -20251,7 +20287,8 @@ class DateInputsModule {
20251
20287
  MinutesService,
20252
20288
  SecondsService,
20253
20289
  MillisecondsService,
20254
- DayPeriodService
20290
+ DayPeriodService,
20291
+ AdaptiveService
20255
20292
  ], imports: [CalendarComponent, MultiViewCalendarComponent, DateInputComponent, DatePickerComponent, DateInputComponent, DateRangeComponent, DateRangePopupComponent, DateTimePickerComponent, TimePickerComponent] });
20256
20293
  }
20257
20294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateInputsModule, decorators: [{
@@ -20276,7 +20313,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20276
20313
  MinutesService,
20277
20314
  SecondsService,
20278
20315
  MillisecondsService,
20279
- DayPeriodService
20316
+ DayPeriodService,
20317
+ AdaptiveService
20280
20318
  ]
20281
20319
  }]
20282
20320
  }] });
@@ -20299,6 +20337,7 @@ class TimePickerModule {
20299
20337
  SecondsService,
20300
20338
  MillisecondsService,
20301
20339
  DayPeriodService,
20340
+ AdaptiveService
20302
20341
  ], imports: [TimePickerComponent] });
20303
20342
  }
20304
20343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerModule, decorators: [{
@@ -20316,6 +20355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20316
20355
  SecondsService,
20317
20356
  MillisecondsService,
20318
20357
  DayPeriodService,
20358
+ AdaptiveService
20319
20359
  ]
20320
20360
  }]
20321
20361
  }] });
@@ -20346,6 +20386,7 @@ class DateTimePickerModule {
20346
20386
  SecondsService,
20347
20387
  MillisecondsService,
20348
20388
  DayPeriodService,
20389
+ AdaptiveService
20349
20390
  ], imports: [DateTimePickerComponent] });
20350
20391
  }
20351
20392
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerModule, decorators: [{
@@ -20371,6 +20412,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20371
20412
  SecondsService,
20372
20413
  MillisecondsService,
20373
20414
  DayPeriodService,
20415
+ AdaptiveService
20374
20416
  ]
20375
20417
  }]
20376
20418
  }] });
@@ -20492,7 +20534,8 @@ class DateRangeModule {
20492
20534
  // DateInputModule providers
20493
20535
  IconsService,
20494
20536
  // AdaptiveModule providers
20495
- ResizeBatchService
20537
+ ResizeBatchService,
20538
+ AdaptiveService
20496
20539
  ], imports: [DateInputComponent, DateRangeComponent, DateRangePopupComponent] });
20497
20540
  }
20498
20541
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangeModule, decorators: [{
@@ -20511,7 +20554,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20511
20554
  // DateInputModule providers
20512
20555
  IconsService,
20513
20556
  // AdaptiveModule providers
20514
- ResizeBatchService
20557
+ ResizeBatchService,
20558
+ AdaptiveService
20515
20559
  ]
20516
20560
  }]
20517
20561
  }] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dateinputs",
3
- "version": "17.1.2-develop.4",
3
+ "version": "17.2.0-develop.1",
4
4
  "description": "Kendo UI for Angular Date Inputs Package - Everything you need to add date selection functionality to apps (DatePicker, TimePicker, DateInput, DateRangePicker, DateTimePicker, Calendar, and MultiViewCalendar).",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -34,18 +34,19 @@
34
34
  "@angular/forms": "16 - 19",
35
35
  "@angular/platform-browser": "16 - 19",
36
36
  "@progress/kendo-licensing": "^1.0.2",
37
- "@progress/kendo-angular-buttons": "17.1.2-develop.4",
38
- "@progress/kendo-angular-common": "17.1.2-develop.4",
39
- "@progress/kendo-angular-intl": "17.1.2-develop.4",
40
- "@progress/kendo-angular-l10n": "17.1.2-develop.4",
41
- "@progress/kendo-angular-icons": "17.1.2-develop.4",
42
- "@progress/kendo-angular-popup": "17.1.2-develop.4",
43
- "@progress/kendo-angular-navigation": "17.1.2-develop.4",
37
+ "@progress/kendo-angular-buttons": "17.2.0-develop.1",
38
+ "@progress/kendo-angular-common": "17.2.0-develop.1",
39
+ "@progress/kendo-angular-utils": "17.2.0-develop.1",
40
+ "@progress/kendo-angular-intl": "17.2.0-develop.1",
41
+ "@progress/kendo-angular-l10n": "17.2.0-develop.1",
42
+ "@progress/kendo-angular-icons": "17.2.0-develop.1",
43
+ "@progress/kendo-angular-popup": "17.2.0-develop.1",
44
+ "@progress/kendo-angular-navigation": "17.2.0-develop.1",
44
45
  "rxjs": "^6.5.3 || ^7.0.0"
45
46
  },
46
47
  "dependencies": {
47
48
  "tslib": "^2.3.1",
48
- "@progress/kendo-angular-schematics": "17.1.2-develop.4",
49
+ "@progress/kendo-angular-schematics": "17.2.0-develop.1",
49
50
  "@progress/kendo-common": "^1.0.1",
50
51
  "@progress/kendo-date-math": "^1.1.0",
51
52
  "@progress/kendo-dateinputs-common": "^0.4.0"
@@ -3,16 +3,19 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ElementRef } from '@angular/core';
6
+ import { AdaptiveSize, AdaptiveService } from '@progress/kendo-angular-utils';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * @hidden
9
10
  */
10
11
  export declare class TimePickerDOMService {
12
+ private adaptiveService;
13
+ constructor(adaptiveService: AdaptiveService);
11
14
  itemHeight: number;
12
15
  timeListHeight: number;
13
16
  isAdaptiveEnabled: boolean;
14
17
  isDateTimePicker: boolean;
15
- get windowSize(): 'large' | 'medium' | 'small';
18
+ get windowSize(): AdaptiveSize;
16
19
  ensureHeights(): void;
17
20
  calculateHeights(container?: HTMLElement): void;
18
21
  isActive(element: ElementRef): boolean;
@@ -7,6 +7,7 @@ import { AbstractControl, ControlValueAccessor, Validator } from '@angular/forms
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { PopupService, PopupRef } from '@progress/kendo-angular-popup';
9
9
  import { MultiTabStop } from '@progress/kendo-angular-common';
10
+ import { AdaptiveService } from '@progress/kendo-angular-utils';
10
11
  import { DateInputFormatPlaceholder } from '../dateinput/models/format-placeholder.model';
11
12
  import { IntlService } from '@progress/kendo-angular-intl';
12
13
  import { PickerService } from '../common/picker.service';
@@ -37,6 +38,7 @@ export declare class TimePickerComponent extends MultiTabStop implements Control
37
38
  private injector;
38
39
  private pickerService;
39
40
  private intl;
41
+ private adaptiveService;
40
42
  /**
41
43
  * @hidden
42
44
  */
@@ -383,7 +385,7 @@ export declare class TimePickerComponent extends MultiTabStop implements Control
383
385
  private _rounded;
384
386
  private _fillMode;
385
387
  private windowSize;
386
- constructor(bus: BusViewService, zone: NgZone, localization: LocalizationService, cdr: ChangeDetectorRef, popupService: PopupService, wrapper: ElementRef, renderer: Renderer2, injector: Injector, pickerService: PickerService, intl: IntlService);
388
+ constructor(bus: BusViewService, zone: NgZone, localization: LocalizationService, cdr: ChangeDetectorRef, popupService: PopupService, wrapper: ElementRef, renderer: Renderer2, injector: Injector, pickerService: PickerService, intl: IntlService, adaptiveService: AdaptiveService);
387
389
  /**
388
390
  * @hidden
389
391
  * Used by the TextBoxContainer to determine if the component is empty