@progress/kendo-angular-dateinputs 19.0.0-develop.3 → 19.0.0-develop.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/codemods/template-transformer/index.js +94 -0
  2. package/codemods/utils.js +553 -0
  3. package/codemods/v19/datepicker-subtitle.js +50 -0
  4. package/codemods/v19/datepicker-title.js +50 -0
  5. package/codemods/v19/daterange-popup-subtitle.js +50 -0
  6. package/codemods/v19/daterange-popup-title.js +50 -0
  7. package/codemods/v19/datetimepicker-subtitle.js +50 -0
  8. package/codemods/v19/datetimepicker-title.js +50 -0
  9. package/codemods/v19/timepicker-subtitle.js +50 -0
  10. package/codemods/v19/timepicker-title.js +50 -0
  11. package/dateinput/dateinput.component.d.ts +2 -0
  12. package/datepicker/datepicker.component.d.ts +8 -8
  13. package/datepicker/localization/messages.d.ts +5 -1
  14. package/daterange/date-range-popup.component.d.ts +12 -12
  15. package/daterange/localization/messages.d.ts +5 -1
  16. package/datetimepicker/datetimepicker.component.d.ts +12 -13
  17. package/datetimepicker/localization/messages.d.ts +5 -1
  18. package/esm2022/dateinput/dateinput.component.mjs +5 -2
  19. package/esm2022/datepicker/datepicker.component.mjs +46 -49
  20. package/esm2022/datepicker/localization/messages.mjs +7 -1
  21. package/esm2022/daterange/date-range-input.mjs +3 -2
  22. package/esm2022/daterange/date-range-popup.component.mjs +59 -59
  23. package/esm2022/daterange/date-range.component.mjs +1 -1
  24. package/esm2022/daterange/localization/messages.mjs +7 -1
  25. package/esm2022/datetimepicker/datetimepicker.component.mjs +86 -97
  26. package/esm2022/datetimepicker/localization/messages.mjs +7 -1
  27. package/esm2022/package-metadata.mjs +2 -2
  28. package/esm2022/timepicker/localization/messages.mjs +7 -1
  29. package/esm2022/timepicker/timepicker.component.mjs +43 -47
  30. package/fesm2022/progress-kendo-angular-dateinputs.mjs +267 -258
  31. package/package.json +61 -11
  32. package/timepicker/localization/messages.d.ts +5 -1
  33. package/timepicker/timepicker.component.d.ts +9 -8
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  productName: 'Kendo UI for Angular',
37
37
  productCode: 'KENDOUIANGULAR',
38
38
  productCodes: ['KENDOUIANGULAR'],
39
- publishDate: 1745498608,
40
- version: '19.0.0-develop.3',
39
+ publishDate: 1747836213,
40
+ version: '19.0.0-develop.30',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -8706,13 +8706,15 @@ class DateInputComponent {
8706
8706
  /**
8707
8707
  * Specifies the biggest date that is valid
8708
8708
  * ([see example]({% slug dateranges_dateinput %})).
8709
+ * By default, the `max` value is `2099-12-31`.
8709
8710
  */
8710
- max;
8711
+ max = cloneDate(MAX_DATE);
8711
8712
  /**
8712
8713
  * Specifies the smallest date that is valid
8713
8714
  * ([see example]({% slug dateranges_dateinput %})).
8715
+ * By default, the `min` value is `1900-1-1`.
8714
8716
  */
8715
- min;
8717
+ min = cloneDate(MIN_DATE);
8716
8718
  /**
8717
8719
  * Determines whether the built-in min or max validators are to be enforced when a form is being validated.
8718
8720
  *
@@ -9829,8 +9831,12 @@ class DatePickerMessages extends ComponentMessages {
9829
9831
  * The title of the **Clear** button of the DatePicker.
9830
9832
  */
9831
9833
  clearTitle;
9834
+ /**
9835
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
9836
+ */
9837
+ adaptiveCloseButtonTitle;
9832
9838
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9833
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerMessages, selector: "kendo-datepicker-messages-base", inputs: { today: "today", toggle: "toggle", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
9839
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerMessages, selector: "kendo-datepicker-messages-base", inputs: { today: "today", toggle: "toggle", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", clearTitle: "clearTitle", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle" }, usesInheritance: true, ngImport: i0 });
9834
9840
  }
9835
9841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerMessages, decorators: [{
9836
9842
  type: Directive,
@@ -9850,6 +9856,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
9850
9856
  type: Input
9851
9857
  }], clearTitle: [{
9852
9858
  type: Input
9859
+ }], adaptiveCloseButtonTitle: [{
9860
+ type: Input
9853
9861
  }] } });
9854
9862
 
9855
9863
  /**
@@ -10299,18 +10307,12 @@ class DatePickerComponent extends MultiTabStop {
10299
10307
  * Sets the title of the input element of the DatePicker and the title text rendered
10300
10308
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
10301
10309
  */
10302
- title = "";
10310
+ adaptiveTitle = "";
10303
10311
  /**
10304
10312
  * Sets the subtitle text rendered in the header of the popup(action sheet).
10305
10313
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
10306
10314
  */
10307
- set subtitle(subtitle) {
10308
- this._subtitle = subtitle;
10309
- }
10310
- get subtitle() {
10311
- return this._subtitle || this.placeholder;
10312
- }
10313
- _subtitle;
10315
+ adaptiveSubtitle = "";
10314
10316
  /**
10315
10317
  * Determines whether the built-in min or max validators are enforced when validating a form.
10316
10318
  *
@@ -10494,6 +10496,10 @@ class DatePickerComponent extends MultiTabStop {
10494
10496
  * @hidden
10495
10497
  */
10496
10498
  checkIcon = checkIcon;
10499
+ /**
10500
+ * @hidden
10501
+ */
10502
+ windowSize;
10497
10503
  /**
10498
10504
  * @hidden
10499
10505
  */
@@ -10523,7 +10529,6 @@ class DatePickerComponent extends MultiTabStop {
10523
10529
  _size = DEFAULT_SIZE;
10524
10530
  _rounded = DEFAULT_ROUNDED;
10525
10531
  _fillMode = DEFAULT_FILL_MODE;
10526
- windowSize;
10527
10532
  constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, adaptiveService) {
10528
10533
  super();
10529
10534
  this.zone = zone;
@@ -10570,11 +10575,6 @@ class DatePickerComponent extends MultiTabStop {
10570
10575
  ngAfterViewInit() {
10571
10576
  this.setComponentClasses();
10572
10577
  this.windowSize = this.adaptiveService.size;
10573
- if (this.actionSheet && isDocumentAvailable()) {
10574
- // The following syntax is used as it does not violate CSP compliance
10575
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
10576
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
10577
- }
10578
10578
  }
10579
10579
  /**
10580
10580
  * @hidden
@@ -10906,7 +10906,6 @@ class DatePickerComponent extends MultiTabStop {
10906
10906
  }
10907
10907
  if (show && !this.isOpen) {
10908
10908
  this.actionSheet.toggle();
10909
- this.updateActionSheetAdaptiveAppearance();
10910
10909
  this.setAriaActiveDescendant();
10911
10910
  this.actionSheet.element.nativeElement.setAttribute('id', this.popupUID);
10912
10911
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
@@ -10917,29 +10916,11 @@ class DatePickerComponent extends MultiTabStop {
10917
10916
  if (this.dateInput) {
10918
10917
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaActiveDescendant);
10919
10918
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
10919
+ this.dateInput.focus();
10920
10920
  }
10921
10921
  }
10922
10922
  this._show = show;
10923
10923
  }
10924
- updateActionSheetAdaptiveAppearance() {
10925
- let element;
10926
- let animationContainer;
10927
- if (this.actionSheet) {
10928
- element = this.actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
10929
- animationContainer = this.actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
10930
- if (this.windowSize === 'medium') {
10931
- this.renderer.removeClass(element, 'k-actionsheet-fullscreen');
10932
- this.renderer.removeStyle(animationContainer, 'height');
10933
- }
10934
- else if (this.windowSize === 'small') {
10935
- this.renderer.addClass(element, 'k-actionsheet-fullscreen');
10936
- this.renderer.setStyle(animationContainer, 'height', '100%');
10937
- }
10938
- this.renderer.addClass(element, 'k-adaptive-actionsheet');
10939
- this.renderer.addClass(element, 'k-actionsheet-bottom');
10940
- this.renderer.setStyle(animationContainer, 'bottom', '0px');
10941
- }
10942
- }
10943
10924
  setAriaActiveDescendant() {
10944
10925
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
10945
10926
  this.calendar.monthView.focusedCellChange :
@@ -11061,7 +11042,7 @@ class DatePickerComponent extends MultiTabStop {
11061
11042
  }
11062
11043
  }
11063
11044
  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 });
11064
- 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: [
11045
+ 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", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", 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: [
11065
11046
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
11066
11047
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
11067
11048
  { provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
@@ -11092,6 +11073,9 @@ class DatePickerComponent extends MultiTabStop {
11092
11073
 
11093
11074
  i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
11094
11075
  clearTitle="clear"
11076
+
11077
+ i18n-adaptiveCloseButtonTitle="kendo.datepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
11078
+ adaptiveCloseButtonTitle="Close"
11095
11079
  >
11096
11080
  </ng-container>
11097
11081
  <kendo-dateinput
@@ -11106,7 +11090,7 @@ class DatePickerComponent extends MultiTabStop {
11106
11090
  [ariaReadOnly]="readonly"
11107
11091
  [tabindex]="tabindex"
11108
11092
  [isRequired]="isControlRequired"
11109
- [title]="title"
11093
+ [title]="adaptiveTitle"
11110
11094
  [focusableId]="focusableId"
11111
11095
  [format]="format"
11112
11096
  [twoDigitYearMax]="twoDigitYearMax"
@@ -11172,26 +11156,35 @@ class DatePickerComponent extends MultiTabStop {
11172
11156
  [scope]="this"
11173
11157
  (collapse)="handleActionSheetCollapse()"
11174
11158
  [titleId]="calendar?.headerId"
11159
+ [cssClass]="{
11160
+ 'k-adaptive-actionsheet': true,
11161
+ 'k-actionsheet-fullscreen': windowSize === 'small',
11162
+ 'k-actionsheet-bottom': windowSize === 'medium'
11163
+ }"
11164
+ [cssStyle]="{
11165
+ height: windowSize === 'small' ? '100vh' : '60vh'
11166
+ }"
11175
11167
  >
11176
11168
  <ng-template kendoActionSheetTemplate>
11177
11169
  <div class="k-actionsheet-titlebar">
11178
11170
  <div class="k-actionsheet-titlebar-group">
11179
11171
  <div class="k-actionsheet-title">
11180
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
11181
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
11172
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
11173
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
11182
11174
  </div>
11183
11175
  <div class="k-actionsheet-actions">
11184
11176
  <button
11185
11177
  kendoButton
11186
11178
  type="button"
11187
11179
  icon="check"
11188
- [attr.title]="localization.get('clearTitle')"
11180
+ themeColor="primary"
11181
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
11189
11182
  [svgIcon]="checkIcon"
11190
11183
  fillMode="flat"
11191
11184
  [tabIndex]="-1"
11192
11185
  aria-hidden="true"
11193
11186
  size="large"
11194
- themeColor="primary"
11187
+ innerCssClass="k-button-icon"
11195
11188
  (click)="show = false">
11196
11189
  </button>
11197
11190
  </div>
@@ -11247,7 +11240,7 @@ class DatePickerComponent extends MultiTabStop {
11247
11240
  </kendo-calendar-messages>
11248
11241
  </kendo-calendar>
11249
11242
  </ng-template>
11250
- `, isInline: true, dependencies: [{ kind: "directive", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11243
+ `, isInline: true, dependencies: [{ kind: "directive", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11251
11244
  }
11252
11245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
11253
11246
  type: Component,
@@ -11287,6 +11280,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11287
11280
 
11288
11281
  i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
11289
11282
  clearTitle="clear"
11283
+
11284
+ i18n-adaptiveCloseButtonTitle="kendo.datepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
11285
+ adaptiveCloseButtonTitle="Close"
11290
11286
  >
11291
11287
  </ng-container>
11292
11288
  <kendo-dateinput
@@ -11301,7 +11297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11301
11297
  [ariaReadOnly]="readonly"
11302
11298
  [tabindex]="tabindex"
11303
11299
  [isRequired]="isControlRequired"
11304
- [title]="title"
11300
+ [title]="adaptiveTitle"
11305
11301
  [focusableId]="focusableId"
11306
11302
  [format]="format"
11307
11303
  [twoDigitYearMax]="twoDigitYearMax"
@@ -11367,26 +11363,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11367
11363
  [scope]="this"
11368
11364
  (collapse)="handleActionSheetCollapse()"
11369
11365
  [titleId]="calendar?.headerId"
11366
+ [cssClass]="{
11367
+ 'k-adaptive-actionsheet': true,
11368
+ 'k-actionsheet-fullscreen': windowSize === 'small',
11369
+ 'k-actionsheet-bottom': windowSize === 'medium'
11370
+ }"
11371
+ [cssStyle]="{
11372
+ height: windowSize === 'small' ? '100vh' : '60vh'
11373
+ }"
11370
11374
  >
11371
11375
  <ng-template kendoActionSheetTemplate>
11372
11376
  <div class="k-actionsheet-titlebar">
11373
11377
  <div class="k-actionsheet-titlebar-group">
11374
11378
  <div class="k-actionsheet-title">
11375
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
11376
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
11379
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
11380
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
11377
11381
  </div>
11378
11382
  <div class="k-actionsheet-actions">
11379
11383
  <button
11380
11384
  kendoButton
11381
11385
  type="button"
11382
11386
  icon="check"
11383
- [attr.title]="localization.get('clearTitle')"
11387
+ themeColor="primary"
11388
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
11384
11389
  [svgIcon]="checkIcon"
11385
11390
  fillMode="flat"
11386
11391
  [tabIndex]="-1"
11387
11392
  aria-hidden="true"
11388
11393
  size="large"
11389
- themeColor="primary"
11394
+ innerCssClass="k-button-icon"
11390
11395
  (click)="show = false">
11391
11396
  </button>
11392
11397
  </div>
@@ -11589,9 +11594,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11589
11594
  type: Input
11590
11595
  }], disabledDates: [{
11591
11596
  type: Input
11592
- }], title: [{
11597
+ }], adaptiveTitle: [{
11593
11598
  type: Input
11594
- }], subtitle: [{
11599
+ }], adaptiveSubtitle: [{
11595
11600
  type: Input
11596
11601
  }], rangeValidation: [{
11597
11602
  type: Input
@@ -12811,8 +12816,12 @@ class TimePickerMessages extends ComponentMessages {
12811
12816
  * The title of the **Clear** button of the TimePicker.
12812
12817
  */
12813
12818
  clearTitle;
12819
+ /**
12820
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
12821
+ */
12822
+ adaptiveCloseButtonTitle;
12814
12823
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
12815
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
12824
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle" }, usesInheritance: true, ngImport: i0 });
12816
12825
  }
12817
12826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerMessages, decorators: [{
12818
12827
  type: Directive,
@@ -12846,6 +12855,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12846
12855
  type: Input
12847
12856
  }], clearTitle: [{
12848
12857
  type: Input
12858
+ }], adaptiveCloseButtonTitle: [{
12859
+ type: Input
12849
12860
  }] } });
12850
12861
 
12851
12862
  /**
@@ -13911,18 +13922,13 @@ class TimePickerComponent extends MultiTabStop {
13911
13922
  * Sets the title of the input element of the TimePicker and the title text rendered
13912
13923
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
13913
13924
  */
13914
- title = "";
13925
+ adaptiveTitle = '';
13915
13926
  /**
13916
13927
  * Sets the subtitle text rendered in the header of the popup(action sheet).
13917
13928
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
13929
+ * By default, subtitle is not rendered.
13918
13930
  */
13919
- set subtitle(subtitle) {
13920
- this._subtitle = subtitle;
13921
- }
13922
- get subtitle() {
13923
- return this._subtitle || this.placeholder;
13924
- }
13925
- _subtitle;
13931
+ adaptiveSubtitle;
13926
13932
  /**
13927
13933
  * Determines whether the built-in min or max validators are enforced when a form is being validated.
13928
13934
  *
@@ -14123,6 +14129,10 @@ class TimePickerComponent extends MultiTabStop {
14123
14129
  get isControlRequired() {
14124
14130
  return isControlRequired(this.control);
14125
14131
  }
14132
+ /**
14133
+ * @hidden
14134
+ */
14135
+ windowSize;
14126
14136
  get adaptiveAcceptButton() {
14127
14137
  return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR$1);
14128
14138
  }
@@ -14153,7 +14163,6 @@ class TimePickerComponent extends MultiTabStop {
14153
14163
  _size = DEFAULT_SIZE;
14154
14164
  _rounded = DEFAULT_ROUNDED;
14155
14165
  _fillMode = DEFAULT_FILL_MODE;
14156
- windowSize;
14157
14166
  constructor(bus, zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, adaptiveService) {
14158
14167
  super();
14159
14168
  this.bus = bus;
@@ -14200,11 +14209,6 @@ class TimePickerComponent extends MultiTabStop {
14200
14209
  ngAfterViewInit() {
14201
14210
  this.setComponentClasses();
14202
14211
  this.windowSize = this.adaptiveService.size;
14203
- if (this.actionSheet && isDocumentAvailable()) {
14204
- // The following syntax is used as it does not violate CSP compliance
14205
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
14206
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
14207
- }
14208
14212
  }
14209
14213
  /**
14210
14214
  * @hidden
@@ -14551,7 +14555,6 @@ class TimePickerComponent extends MultiTabStop {
14551
14555
  }
14552
14556
  if (show && !this.isOpen) {
14553
14557
  this.actionSheet.toggle();
14554
- this.updateActionSheetAdaptiveAppearance();
14555
14558
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
14556
14559
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
14557
14560
  }
@@ -14562,6 +14565,7 @@ class TimePickerComponent extends MultiTabStop {
14562
14565
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
14563
14566
  }
14564
14567
  this.actionSheet.toggle();
14568
+ this.dateInput.focus();
14565
14569
  }
14566
14570
  this._show = show;
14567
14571
  }
@@ -14596,25 +14600,6 @@ class TimePickerComponent extends MultiTabStop {
14596
14600
  }
14597
14601
  }
14598
14602
  }
14599
- updateActionSheetAdaptiveAppearance() {
14600
- let element;
14601
- let animationContainer;
14602
- if (this.actionSheet) {
14603
- element = this.actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
14604
- animationContainer = this.actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
14605
- if (this.windowSize === 'medium') {
14606
- this.renderer.removeClass(element, 'k-actionsheet-fullscreen');
14607
- this.renderer.removeStyle(animationContainer, 'height');
14608
- }
14609
- else if (this.windowSize === 'small') {
14610
- this.renderer.addClass(element, 'k-actionsheet-fullscreen');
14611
- this.renderer.setStyle(animationContainer, 'height', '100%');
14612
- }
14613
- this.renderer.addClass(element, 'k-adaptive-actionsheet');
14614
- this.renderer.addClass(element, 'k-actionsheet-bottom');
14615
- this.renderer.setStyle(animationContainer, 'bottom', '0px');
14616
- }
14617
- }
14618
14603
  focusInput() {
14619
14604
  if (touchEnabled) {
14620
14605
  return;
@@ -14725,7 +14710,7 @@ class TimePickerComponent extends MultiTabStop {
14725
14710
  }
14726
14711
  }
14727
14712
  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 });
14728
- 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: [
14713
+ 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", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", 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: [
14729
14714
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimePickerComponent), multi: true },
14730
14715
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => TimePickerComponent), multi: true },
14731
14716
  { provide: KendoInput, useExisting: forwardRef(() => TimePickerComponent) },
@@ -14777,6 +14762,9 @@ class TimePickerComponent extends MultiTabStop {
14777
14762
 
14778
14763
  i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
14779
14764
  clearTitle="clear"
14765
+
14766
+ i18n-adaptiveCloseButtonTitle="kendo.timepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
14767
+ adaptiveCloseButtonTitle="Close"
14780
14768
  >
14781
14769
  </ng-container>
14782
14770
  <kendo-dateinput
@@ -14806,7 +14794,7 @@ class TimePickerComponent extends MultiTabStop {
14806
14794
  [steps]="steps"
14807
14795
  [tabindex]="!show ? tabindex : -1"
14808
14796
  [isRequired]="isControlRequired"
14809
- [title]="title"
14797
+ [title]="adaptiveTitle"
14810
14798
  [inputAttributes]="inputAttributes"
14811
14799
  [value]="value"
14812
14800
  (valueChange)="handleInputChange($event)"
@@ -14849,20 +14837,28 @@ class TimePickerComponent extends MultiTabStop {
14849
14837
  (overlayClick)="show=false"
14850
14838
  (collapse)="handleActionSheetCollapse()"
14851
14839
  [titleId]="focusableId"
14840
+ [cssClass]="{
14841
+ 'k-adaptive-actionsheet': true,
14842
+ 'k-actionsheet-fullscreen': windowSize === 'small',
14843
+ 'k-actionsheet-bottom': windowSize === 'medium'
14844
+ }"
14845
+ [cssStyle]="{
14846
+ height: windowSize === 'small' ? '100vh' : '60vh'
14847
+ }"
14852
14848
  >
14853
14849
  <ng-template kendoActionSheetTemplate>
14854
14850
  <div class="k-actionsheet-titlebar">
14855
14851
  <div class="k-actionsheet-titlebar-group">
14856
14852
  <div class="k-actionsheet-title">
14857
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
14858
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
14853
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
14854
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
14859
14855
  </div>
14860
14856
  <div class="k-actionsheet-actions">
14861
14857
  <button
14862
14858
  kendoButton
14863
14859
  type="button"
14864
14860
  icon="check"
14865
- [attr.title]="localization.get('clearTitle')"
14861
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
14866
14862
  [svgIcon]="checkIcon"
14867
14863
  fillMode="flat"
14868
14864
  size="large"
@@ -14943,7 +14939,7 @@ class TimePickerComponent extends MultiTabStop {
14943
14939
  </kendo-timeselector-messages>
14944
14940
  </kendo-timeselector>
14945
14941
  </ng-template>
14946
- `, isInline: true, dependencies: [{ kind: "directive", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutFirstPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14942
+ `, isInline: true, dependencies: [{ kind: "directive", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutFirstPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14947
14943
  }
14948
14944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, decorators: [{
14949
14945
  type: Component,
@@ -15004,6 +15000,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15004
15000
 
15005
15001
  i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
15006
15002
  clearTitle="clear"
15003
+
15004
+ i18n-adaptiveCloseButtonTitle="kendo.timepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
15005
+ adaptiveCloseButtonTitle="Close"
15007
15006
  >
15008
15007
  </ng-container>
15009
15008
  <kendo-dateinput
@@ -15033,7 +15032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15033
15032
  [steps]="steps"
15034
15033
  [tabindex]="!show ? tabindex : -1"
15035
15034
  [isRequired]="isControlRequired"
15036
- [title]="title"
15035
+ [title]="adaptiveTitle"
15037
15036
  [inputAttributes]="inputAttributes"
15038
15037
  [value]="value"
15039
15038
  (valueChange)="handleInputChange($event)"
@@ -15076,20 +15075,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15076
15075
  (overlayClick)="show=false"
15077
15076
  (collapse)="handleActionSheetCollapse()"
15078
15077
  [titleId]="focusableId"
15078
+ [cssClass]="{
15079
+ 'k-adaptive-actionsheet': true,
15080
+ 'k-actionsheet-fullscreen': windowSize === 'small',
15081
+ 'k-actionsheet-bottom': windowSize === 'medium'
15082
+ }"
15083
+ [cssStyle]="{
15084
+ height: windowSize === 'small' ? '100vh' : '60vh'
15085
+ }"
15079
15086
  >
15080
15087
  <ng-template kendoActionSheetTemplate>
15081
15088
  <div class="k-actionsheet-titlebar">
15082
15089
  <div class="k-actionsheet-titlebar-group">
15083
15090
  <div class="k-actionsheet-title">
15084
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
15085
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
15091
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
15092
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
15086
15093
  </div>
15087
15094
  <div class="k-actionsheet-actions">
15088
15095
  <button
15089
15096
  kendoButton
15090
15097
  type="button"
15091
15098
  icon="check"
15092
- [attr.title]="localization.get('clearTitle')"
15099
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
15093
15100
  [svgIcon]="checkIcon"
15094
15101
  fillMode="flat"
15095
15102
  size="large"
@@ -15231,9 +15238,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15231
15238
  type: Input
15232
15239
  }], tabIndex: [{
15233
15240
  type: Input
15234
- }], title: [{
15241
+ }], adaptiveTitle: [{
15235
15242
  type: Input
15236
- }], subtitle: [{
15243
+ }], adaptiveSubtitle: [{
15237
15244
  type: Input
15238
15245
  }], rangeValidation: [{
15239
15246
  type: Input
@@ -15362,8 +15369,12 @@ class DateTimePickerMessages extends ComponentMessages {
15362
15369
  * The title of the **Clear** button of the DateTimePicker.
15363
15370
  */
15364
15371
  clearTitle;
15372
+ /**
15373
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
15374
+ */
15375
+ adaptiveCloseButtonTitle;
15365
15376
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
15366
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerMessages, selector: "kendo-datetimepicker-messages-base", inputs: { toggle: "toggle", dateTab: "dateTab", dateTabLabel: "dateTabLabel", timeTab: "timeTab", timeTabLabel: "timeTabLabel", accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", today: "today", now: "now", nowLabel: "nowLabel", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
15377
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerMessages, selector: "kendo-datetimepicker-messages-base", inputs: { toggle: "toggle", dateTab: "dateTab", dateTabLabel: "dateTabLabel", timeTab: "timeTab", timeTabLabel: "timeTabLabel", accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", today: "today", now: "now", nowLabel: "nowLabel", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle" }, usesInheritance: true, ngImport: i0 });
15367
15378
  }
15368
15379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerMessages, decorators: [{
15369
15380
  type: Directive,
@@ -15413,6 +15424,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15413
15424
  type: Input
15414
15425
  }], clearTitle: [{
15415
15426
  type: Input
15427
+ }], adaptiveCloseButtonTitle: [{
15428
+ type: Input
15416
15429
  }] } });
15417
15430
 
15418
15431
  /**
@@ -15610,18 +15623,12 @@ class DateTimePickerComponent extends MultiTabStop {
15610
15623
  * Sets the title of the input element of the DateTimePicker and the title text rendered
15611
15624
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
15612
15625
  */
15613
- title = '';
15626
+ adaptiveTitle = '';
15614
15627
  /**
15615
15628
  * Sets the subtitle text rendered in the header of the popup(action sheet).
15616
15629
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
15617
15630
  */
15618
- set subtitle(subtitle) {
15619
- this._subtitle = subtitle;
15620
- }
15621
- get subtitle() {
15622
- return this._subtitle || this.placeholder;
15623
- }
15624
- _subtitle;
15631
+ adaptiveSubtitle = '';
15625
15632
  /**
15626
15633
  * Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
15627
15634
  * ([see example]({% slug disabled_datetimepicker %})).
@@ -15819,7 +15826,7 @@ class DateTimePickerComponent extends MultiTabStop {
15819
15826
  * Indicates whether the component is currently open. That is when the popup or actionSheet is open.
15820
15827
  */
15821
15828
  get isOpen() {
15822
- return isTruthy(this.actionSheet?.expanded) || isPresent(this.popupRef);
15829
+ return this.actionSheet?.expanded || isPresent(this.popupRef);
15823
15830
  }
15824
15831
  /**
15825
15832
  * Indicates whether the component or its popup content is focused.
@@ -16012,6 +16019,10 @@ class DateTimePickerComponent extends MultiTabStop {
16012
16019
  * @hidden
16013
16020
  */
16014
16021
  checkIcon = checkIcon;
16022
+ /**
16023
+ * @hidden
16024
+ */
16025
+ windowSize;
16015
16026
  /**
16016
16027
  * @hidden
16017
16028
  */
@@ -16162,7 +16173,6 @@ class DateTimePickerComponent extends MultiTabStop {
16162
16173
  _size = DEFAULT_SIZE;
16163
16174
  _rounded = DEFAULT_ROUNDED;
16164
16175
  _fillMode = DEFAULT_FILL_MODE;
16165
- windowSize;
16166
16176
  constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector, adaptiveService) {
16167
16177
  super();
16168
16178
  this.popupService = popupService;
@@ -16201,11 +16211,6 @@ class DateTimePickerComponent extends MultiTabStop {
16201
16211
  ngAfterViewInit() {
16202
16212
  this.setComponentClasses();
16203
16213
  this.windowSize = this.adaptiveService.size;
16204
- if (this.actionSheet && isDocumentAvailable()) {
16205
- // The following syntax is used as it does not violate CSP compliance
16206
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
16207
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
16208
- }
16209
16214
  }
16210
16215
  ngOnChanges(changes) {
16211
16216
  if (isPresent(changes['min']) || isPresent(changes['max'])) {
@@ -16600,14 +16605,6 @@ class DateTimePickerComponent extends MultiTabStop {
16600
16605
  // Reset tabs after actionsheet is collapsed, otherwise the tab change can be seen during the animation
16601
16606
  this.resetActiveTab();
16602
16607
  }
16603
- /**
16604
- * @hidden
16605
- */
16606
- popupButtonsClasses(type) {
16607
- const buttonType = type ? type : 'base';
16608
- const sizeClass = `${this.isAdaptive ? getSizeClass('button', 'large') : this.size ? getSizeClass('button', this.size) : ''}`;
16609
- return `${sizeClass} ${this.rounded ? getRoundedClass(this.rounded) : ''} ${this.fillMode ? 'k-button-' + this.fillMode + ' ' + 'k-button-' + this.fillMode + '-' + buttonType : ''}`;
16610
- }
16611
16608
  /**
16612
16609
  * @hidden
16613
16610
  *
@@ -16616,50 +16613,35 @@ class DateTimePickerComponent extends MultiTabStop {
16616
16613
  preventMouseDown(event) {
16617
16614
  event.preventDefault();
16618
16615
  }
16619
- _togglePopup(show) {
16620
- const shouldOpen = isPresent(show) ? show : !this.isOpen;
16621
- if (shouldOpen) {
16622
- this.openPopup();
16623
- return;
16624
- }
16625
- this.closePopup();
16626
- this.resetActiveTab();
16627
- }
16616
+ /**
16617
+ * @hidden
16618
+ */
16628
16619
  toggleActionSheet(show) {
16629
16620
  if (isPresent(show) && show && !this.isOpen) {
16630
16621
  this.actionSheet.toggle();
16631
- this.updateActionSheetAdaptiveAppearance();
16632
16622
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
16633
16623
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
16634
16624
  this.setAriaActiveDescendant();
16635
16625
  }
16636
16626
  else if (isPresent(show) && !show && this.isOpen) {
16627
+ this.handleBlur();
16637
16628
  this.actionSheet.toggle();
16638
16629
  this.ariaActiveDescendantSubscription.unsubscribe();
16639
16630
  if (this.dateInput) {
16640
16631
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaActiveDescendant);
16641
16632
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
16633
+ this.dateInput.focus();
16642
16634
  }
16643
16635
  }
16644
16636
  }
16645
- updateActionSheetAdaptiveAppearance() {
16646
- let element;
16647
- let animationContainer;
16648
- if (this.actionSheet) {
16649
- element = this.actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
16650
- animationContainer = this.actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
16651
- if (this.windowSize === 'medium') {
16652
- this.renderer.removeClass(element, 'k-actionsheet-fullscreen');
16653
- this.renderer.removeStyle(animationContainer, 'height');
16654
- }
16655
- else if (this.windowSize === 'small') {
16656
- this.renderer.addClass(element, 'k-actionsheet-fullscreen');
16657
- this.renderer.setStyle(animationContainer, 'height', '100%');
16658
- }
16659
- this.renderer.addClass(element, 'k-adaptive-actionsheet');
16660
- this.renderer.addClass(element, 'k-actionsheet-bottom');
16661
- this.renderer.setStyle(animationContainer, 'bottom', '0px');
16637
+ _togglePopup(show) {
16638
+ const shouldOpen = isPresent(show) ? show : !this.isOpen;
16639
+ if (shouldOpen) {
16640
+ this.openPopup();
16641
+ return;
16662
16642
  }
16643
+ this.closePopup();
16644
+ this.resetActiveTab();
16663
16645
  }
16664
16646
  /**
16665
16647
  * Changes the tab and the calendar or clock icon to the designated default.
@@ -16890,7 +16872,7 @@ class DateTimePickerComponent extends MultiTabStop {
16890
16872
  }
16891
16873
  }
16892
16874
  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 });
16893
- 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: [
16875
+ 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", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", 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: [
16894
16876
  PickerService,
16895
16877
  LocalizationService,
16896
16878
  DisabledDatesService,
@@ -16965,6 +16947,9 @@ class DateTimePickerComponent extends MultiTabStop {
16965
16947
 
16966
16948
  i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
16967
16949
  clearTitle="clear"
16950
+
16951
+ i18n-adaptiveCloseButtonTitle="kendo.datetimepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
16952
+ adaptiveCloseButtonTitle="Close"
16968
16953
  >
16969
16954
  </ng-container>
16970
16955
 
@@ -16992,7 +16977,7 @@ class DateTimePickerComponent extends MultiTabStop {
16992
16977
  [steps]="steps"
16993
16978
  [tabindex]="tabindex"
16994
16979
  [isRequired]="isControlRequired"
16995
- [title]="title"
16980
+ [title]="adaptiveTitle"
16996
16981
  pickerType="datetimepicker"
16997
16982
  hasPopup="dialog"
16998
16983
  [inputAttributes]="inputAttributes"
@@ -17052,30 +17037,39 @@ class DateTimePickerComponent extends MultiTabStop {
17052
17037
 
17053
17038
  <kendo-actionsheet
17054
17039
  #actionSheet
17055
- (overlayClick)="toggleDateTime(false)"
17040
+ (overlayClick)="toggleActionSheet(false)"
17056
17041
  (collapse)="handleActionSheetCollapse()"
17057
17042
  [titleId]="calendar?.headerId"
17043
+ [cssClass]="{
17044
+ 'k-adaptive-actionsheet': true,
17045
+ 'k-actionsheet-fullscreen': windowSize === 'small',
17046
+ 'k-actionsheet-bottom': windowSize === 'medium'
17047
+ }"
17048
+ [cssStyle]="{
17049
+ height: windowSize === 'small' ? '100vh' : '60vh'
17050
+ }"
17058
17051
  >
17059
17052
  <ng-template kendoActionSheetTemplate>
17060
17053
  <div class="k-actionsheet-titlebar">
17061
17054
  <div class="k-actionsheet-titlebar-group">
17062
17055
  <div class="k-actionsheet-title">
17063
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
17064
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
17056
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
17057
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
17065
17058
  </div>
17066
17059
  <div class="k-actionsheet-actions">
17067
17060
  <button
17068
17061
  kendoButton
17069
17062
  type="button"
17070
17063
  icon="check"
17071
- [attr.title]="localization.get('clearTitle')"
17064
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
17072
17065
  [svgIcon]="checkIcon"
17073
17066
  fillMode="flat"
17067
+ themeColor="primary"
17074
17068
  [tabIndex]="-1"
17075
17069
  aria-hidden="true"
17076
17070
  size="large"
17077
- themeColor="primary"
17078
- (click)="toggleDateTime(false)">
17071
+ innerCssClass="k-button-icon"
17072
+ (click)="toggleActionSheet(false)">
17079
17073
  </button>
17080
17074
  </div>
17081
17075
  </div>
@@ -17133,10 +17127,10 @@ class DateTimePickerComponent extends MultiTabStop {
17133
17127
  [scope]="this"
17134
17128
  >
17135
17129
  <div class="k-button-group k-button-group-solid k-button-group-stretched" role="group">
17136
- <button
17130
+ <button kendoButton
17137
17131
  type="button"
17138
- class="k-button k-group-start"
17139
- [ngClass]="popupButtonsClasses()"
17132
+ class="k-group-start"
17133
+ [size]="isAdaptive ? 'large' : size"
17140
17134
  [class.k-selected]="activeTab === 'date'"
17141
17135
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
17142
17136
  [attr.title]="localization.get('dateTabLabel')"
@@ -17149,10 +17143,10 @@ class DateTimePickerComponent extends MultiTabStop {
17149
17143
  >
17150
17144
  {{localization.get('dateTab')}}
17151
17145
  </button>
17152
- <button
17146
+ <button kendoButton
17153
17147
  type="button"
17154
- class="k-button k-group-end"
17155
- [ngClass]="popupButtonsClasses()"
17148
+ class="k-group-end"
17149
+ [size]="isAdaptive ? 'large' : size"
17156
17150
  [class.k-selected]="activeTab === 'time'"
17157
17151
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
17158
17152
  [attr.title]="localization.get('timeTabLabel')"
@@ -17162,7 +17156,6 @@ class DateTimePickerComponent extends MultiTabStop {
17162
17156
  'keydown.tab': handleTab
17163
17157
  }"
17164
17158
  [scope]="this"
17165
-
17166
17159
  >
17167
17160
  {{localization.get('timeTab')}}
17168
17161
  </button>
@@ -17256,10 +17249,10 @@ class DateTimePickerComponent extends MultiTabStop {
17256
17249
  }"
17257
17250
  [scope]="this"
17258
17251
  >
17259
- <button
17252
+ <button kendoButton
17260
17253
  type="button"
17261
- class="k-button k-time-accept"
17262
- [ngClass]="popupButtonsClasses('primary')"
17254
+ class="k-time-accept"
17255
+ themeColor="primary"
17263
17256
  [attr.title]="localization.get('acceptLabel')"
17264
17257
  [attr.aria-label]="localization.get('acceptLabel')"
17265
17258
  [disabled]="!calendarValue"
@@ -17273,11 +17266,10 @@ class DateTimePickerComponent extends MultiTabStop {
17273
17266
  {{localization.get('accept')}}
17274
17267
  </button>
17275
17268
 
17276
- <button
17269
+ <button kendoButton
17277
17270
  *ngIf="cancelButton"
17278
17271
  type="button"
17279
- class="k-button k-time-cancel"
17280
- [ngClass]="popupButtonsClasses()"
17272
+ class="k-time-cancel"
17281
17273
  [attr.title]="localization.get('cancelLabel')"
17282
17274
  [attr.aria-label]="localization.get('cancelLabel')"
17283
17275
  [kendoEventsOutsideAngular]="{
@@ -17292,7 +17284,7 @@ class DateTimePickerComponent extends MultiTabStop {
17292
17284
  </div>
17293
17285
  </div>
17294
17286
  </ng-template>
17295
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutFirstPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17287
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutFirstPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17296
17288
  }
17297
17289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
17298
17290
  type: Component,
@@ -17376,6 +17368,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17376
17368
 
17377
17369
  i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
17378
17370
  clearTitle="clear"
17371
+
17372
+ i18n-adaptiveCloseButtonTitle="kendo.datetimepicker.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
17373
+ adaptiveCloseButtonTitle="Close"
17379
17374
  >
17380
17375
  </ng-container>
17381
17376
 
@@ -17403,7 +17398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17403
17398
  [steps]="steps"
17404
17399
  [tabindex]="tabindex"
17405
17400
  [isRequired]="isControlRequired"
17406
- [title]="title"
17401
+ [title]="adaptiveTitle"
17407
17402
  pickerType="datetimepicker"
17408
17403
  hasPopup="dialog"
17409
17404
  [inputAttributes]="inputAttributes"
@@ -17463,30 +17458,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17463
17458
 
17464
17459
  <kendo-actionsheet
17465
17460
  #actionSheet
17466
- (overlayClick)="toggleDateTime(false)"
17461
+ (overlayClick)="toggleActionSheet(false)"
17467
17462
  (collapse)="handleActionSheetCollapse()"
17468
17463
  [titleId]="calendar?.headerId"
17464
+ [cssClass]="{
17465
+ 'k-adaptive-actionsheet': true,
17466
+ 'k-actionsheet-fullscreen': windowSize === 'small',
17467
+ 'k-actionsheet-bottom': windowSize === 'medium'
17468
+ }"
17469
+ [cssStyle]="{
17470
+ height: windowSize === 'small' ? '100vh' : '60vh'
17471
+ }"
17469
17472
  >
17470
17473
  <ng-template kendoActionSheetTemplate>
17471
17474
  <div class="k-actionsheet-titlebar">
17472
17475
  <div class="k-actionsheet-titlebar-group">
17473
17476
  <div class="k-actionsheet-title">
17474
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
17475
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
17477
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
17478
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
17476
17479
  </div>
17477
17480
  <div class="k-actionsheet-actions">
17478
17481
  <button
17479
17482
  kendoButton
17480
17483
  type="button"
17481
17484
  icon="check"
17482
- [attr.title]="localization.get('clearTitle')"
17485
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
17483
17486
  [svgIcon]="checkIcon"
17484
17487
  fillMode="flat"
17488
+ themeColor="primary"
17485
17489
  [tabIndex]="-1"
17486
17490
  aria-hidden="true"
17487
17491
  size="large"
17488
- themeColor="primary"
17489
- (click)="toggleDateTime(false)">
17492
+ innerCssClass="k-button-icon"
17493
+ (click)="toggleActionSheet(false)">
17490
17494
  </button>
17491
17495
  </div>
17492
17496
  </div>
@@ -17544,10 +17548,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17544
17548
  [scope]="this"
17545
17549
  >
17546
17550
  <div class="k-button-group k-button-group-solid k-button-group-stretched" role="group">
17547
- <button
17551
+ <button kendoButton
17548
17552
  type="button"
17549
- class="k-button k-group-start"
17550
- [ngClass]="popupButtonsClasses()"
17553
+ class="k-group-start"
17554
+ [size]="isAdaptive ? 'large' : size"
17551
17555
  [class.k-selected]="activeTab === 'date'"
17552
17556
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
17553
17557
  [attr.title]="localization.get('dateTabLabel')"
@@ -17560,10 +17564,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17560
17564
  >
17561
17565
  {{localization.get('dateTab')}}
17562
17566
  </button>
17563
- <button
17567
+ <button kendoButton
17564
17568
  type="button"
17565
- class="k-button k-group-end"
17566
- [ngClass]="popupButtonsClasses()"
17569
+ class="k-group-end"
17570
+ [size]="isAdaptive ? 'large' : size"
17567
17571
  [class.k-selected]="activeTab === 'time'"
17568
17572
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
17569
17573
  [attr.title]="localization.get('timeTabLabel')"
@@ -17573,7 +17577,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17573
17577
  'keydown.tab': handleTab
17574
17578
  }"
17575
17579
  [scope]="this"
17576
-
17577
17580
  >
17578
17581
  {{localization.get('timeTab')}}
17579
17582
  </button>
@@ -17667,10 +17670,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17667
17670
  }"
17668
17671
  [scope]="this"
17669
17672
  >
17670
- <button
17673
+ <button kendoButton
17671
17674
  type="button"
17672
- class="k-button k-time-accept"
17673
- [ngClass]="popupButtonsClasses('primary')"
17675
+ class="k-time-accept"
17676
+ themeColor="primary"
17674
17677
  [attr.title]="localization.get('acceptLabel')"
17675
17678
  [attr.aria-label]="localization.get('acceptLabel')"
17676
17679
  [disabled]="!calendarValue"
@@ -17684,11 +17687,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17684
17687
  {{localization.get('accept')}}
17685
17688
  </button>
17686
17689
 
17687
- <button
17690
+ <button kendoButton
17688
17691
  *ngIf="cancelButton"
17689
17692
  type="button"
17690
- class="k-button k-time-cancel"
17691
- [ngClass]="popupButtonsClasses()"
17693
+ class="k-time-cancel"
17692
17694
  [attr.title]="localization.get('cancelLabel')"
17693
17695
  [attr.aria-label]="localization.get('cancelLabel')"
17694
17696
  [kendoEventsOutsideAngular]="{
@@ -17737,9 +17739,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17737
17739
  type: Input
17738
17740
  }], popupSettings: [{
17739
17741
  type: Input
17740
- }], title: [{
17742
+ }], adaptiveTitle: [{
17741
17743
  type: Input
17742
- }], subtitle: [{
17744
+ }], adaptiveSubtitle: [{
17743
17745
  type: Input
17744
17746
  }], disabled: [{
17745
17747
  type: Input
@@ -18352,8 +18354,12 @@ class DateRangePopupMessages extends ComponentMessages {
18352
18354
  * The label of the **Cancel** button in the popup footer of the DateRange Popup.
18353
18355
  */
18354
18356
  cancelLabel;
18357
+ /**
18358
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
18359
+ */
18360
+ adaptiveCloseButtonTitle;
18355
18361
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18356
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePopupMessages, selector: "kendo-daterangepopup-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel" }, usesInheritance: true, ngImport: i0 });
18362
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePopupMessages, selector: "kendo-daterangepopup-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle" }, usesInheritance: true, ngImport: i0 });
18357
18363
  }
18358
18364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupMessages, decorators: [{
18359
18365
  type: Directive,
@@ -18369,6 +18375,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18369
18375
  type: Input
18370
18376
  }], cancelLabel: [{
18371
18377
  type: Input
18378
+ }], adaptiveCloseButtonTitle: [{
18379
+ type: Input
18372
18380
  }] } });
18373
18381
 
18374
18382
  /**
@@ -18574,18 +18582,12 @@ class DateRangePopupComponent {
18574
18582
  * Sets the title of the input element of the DateRangePopup and the title text rendered
18575
18583
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
18576
18584
  */
18577
- title = "";
18585
+ adaptiveTitle = "";
18578
18586
  /**
18579
18587
  * Sets the subtitle text rendered in the header of the popup(action sheet).
18580
18588
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
18581
18589
  */
18582
- set subtitle(subtitle) {
18583
- this._subtitle = subtitle;
18584
- }
18585
- get subtitle() {
18586
- return this._subtitle;
18587
- }
18588
- _subtitle;
18590
+ adaptiveSubtitle = "";
18589
18591
  /**
18590
18592
  * @hidden
18591
18593
  *
@@ -18674,6 +18676,10 @@ class DateRangePopupComponent {
18674
18676
  * @hidden
18675
18677
  */
18676
18678
  checkIcon = checkIcon;
18679
+ /**
18680
+ * @hidden
18681
+ */
18682
+ windowSize;
18677
18683
  /**
18678
18684
  * Gets or sets the visibility state of the component.
18679
18685
  */
@@ -18696,6 +18702,13 @@ class DateRangePopupComponent {
18696
18702
  get show() {
18697
18703
  return this._show;
18698
18704
  }
18705
+ /**
18706
+ * @hidden
18707
+ */
18708
+ handleAccept() {
18709
+ this.dateRangeService.setRange(this._rangeSelection);
18710
+ this.show = false;
18711
+ }
18699
18712
  activateSubscription;
18700
18713
  blurSubscription;
18701
18714
  focusSubscription;
@@ -18707,7 +18720,6 @@ class DateRangePopupComponent {
18707
18720
  _calendar;
18708
18721
  _show;
18709
18722
  _rangeSelection;
18710
- windowSize;
18711
18723
  constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl, adaptiveService) {
18712
18724
  this.popupService = popupService;
18713
18725
  this.dateRangeService = dateRangeService;
@@ -18750,11 +18762,6 @@ class DateRangePopupComponent {
18750
18762
  if (isWindowAvailable()) {
18751
18763
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
18752
18764
  }
18753
- if (this.actionSheet && isDocumentAvailable()) {
18754
- // The following syntax is used as it does not violate CSP compliance
18755
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
18756
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
18757
- }
18758
18765
  }
18759
18766
  ngOnDestroy() {
18760
18767
  this.destroyPopup();
@@ -18842,13 +18849,6 @@ class DateRangePopupComponent {
18842
18849
  this.show = false;
18843
18850
  this.cancel.emit();
18844
18851
  }
18845
- /**
18846
- * @hidden
18847
- */
18848
- handleAccept() {
18849
- this.dateRangeService.setRange(this._rangeSelection);
18850
- this.show = false;
18851
- }
18852
18852
  /**
18853
18853
  * @hidden
18854
18854
  */
@@ -18998,7 +18998,6 @@ class DateRangePopupComponent {
18998
18998
  }
18999
18999
  if (show && !this.actionSheet.expanded) {
19000
19000
  this.actionSheet.toggle();
19001
- this.updateActionSheetAdaptiveAppearance();
19002
19001
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
19003
19002
  }
19004
19003
  else if (!show && this.actionSheet.expanded) {
@@ -19006,32 +19005,13 @@ class DateRangePopupComponent {
19006
19005
  }
19007
19006
  this._show = show;
19008
19007
  }
19009
- updateActionSheetAdaptiveAppearance() {
19010
- let element;
19011
- let animationContainer;
19012
- if (this.actionSheet) {
19013
- element = this.actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
19014
- animationContainer = this.actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
19015
- if (this.windowSize === 'medium') {
19016
- this.renderer.removeClass(element, 'k-actionsheet-fullscreen');
19017
- this.renderer.removeStyle(animationContainer, 'height');
19018
- }
19019
- else if (this.windowSize === 'small') {
19020
- this.renderer.addClass(element, 'k-actionsheet-fullscreen');
19021
- this.renderer.setStyle(animationContainer, 'height', '100%');
19022
- }
19023
- this.renderer.addClass(element, 'k-adaptive-actionsheet');
19024
- this.renderer.addClass(element, 'k-actionsheet-bottom');
19025
- this.renderer.setStyle(animationContainer, 'bottom', '0px');
19026
- }
19027
- }
19028
19008
  addCalendarSubscription = (calendar) => {
19029
19009
  this.calendarSubscriptions.add(calendar.viewList.focusedCellChange.subscribe((id) => {
19030
19010
  this.dateRangeService.setActiveDescendent(id);
19031
19011
  }));
19032
19012
  };
19033
19013
  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 });
19034
- 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: [
19014
+ 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", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", size: "size" }, outputs: { open: "open", close: "close", onBlur: "blur", onFocus: "focus", cancel: "cancel" }, providers: [
19035
19015
  LocalizationService,
19036
19016
  {
19037
19017
  provide: L10N_PREFIX,
@@ -19050,6 +19030,9 @@ class DateRangePopupComponent {
19050
19030
 
19051
19031
  i18n-cancelLabel="kendo.daterangepopup.cancelLabel|The label for the Cancel button in the timepicker component"
19052
19032
  cancelLabel="Cancel changes"
19033
+
19034
+ i18n-adaptiveCloseButtonTitle="kendo.daterangepopup.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
19035
+ adaptiveCloseButtonTitle="Close"
19053
19036
  >
19054
19037
  </ng-container>
19055
19038
  <ng-container #container></ng-container>
@@ -19085,6 +19068,14 @@ class DateRangePopupComponent {
19085
19068
  #actionSheet
19086
19069
  (overlayClick)="show=false"
19087
19070
  (collapse)="onBlur.emit()"
19071
+ [cssClass]="{
19072
+ 'k-adaptive-actionsheet': true,
19073
+ 'k-actionsheet-fullscreen': windowSize === 'small',
19074
+ 'k-actionsheet-bottom': windowSize === 'medium'
19075
+ }"
19076
+ [cssStyle]="{
19077
+ height: windowSize === 'small' ? '100vh' : '60vh'
19078
+ }"
19088
19079
  >
19089
19080
  <ng-template kendoActionSheetTemplate>
19090
19081
  <!-- Resize sensor needs to be inside the template because the date-range-popup
@@ -19094,22 +19085,23 @@ class DateRangePopupComponent {
19094
19085
  <div class="k-actionsheet-titlebar">
19095
19086
  <div class="k-actionsheet-titlebar-group">
19096
19087
  <div class="k-actionsheet-title">
19097
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
19098
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
19088
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
19089
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
19099
19090
  </div>
19100
19091
  <div class="k-actionsheet-actions">
19101
19092
  <button
19102
19093
  kendoButton
19103
19094
  type="button"
19104
19095
  icon="check"
19105
- [attr.title]="localization.get('clearTitle')"
19096
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
19106
19097
  [svgIcon]="checkIcon"
19107
19098
  fillMode="flat"
19099
+ themeColor="primary"
19108
19100
  [tabIndex]="-1"
19109
19101
  aria-hidden="true"
19110
- themeColor="primary"
19111
19102
  size="large"
19112
- (click)="show = false">
19103
+ innerCssClass="k-button-icon"
19104
+ (click)="handleAccept()">
19113
19105
  </button>
19114
19106
  </div>
19115
19107
  </div>
@@ -19138,12 +19130,13 @@ class DateRangePopupComponent {
19138
19130
  [value]="dateRangeService.selectionRange"
19139
19131
  selection="range"
19140
19132
  (rangeSelectionChange)="onRangeSelectionChange($event)"
19141
- >
19133
+ >
19142
19134
  </kendo-multiviewcalendar>
19143
19135
  </div>
19144
19136
  </div>
19145
19137
  <div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
19146
- <button kendoButton
19138
+ <button kendoButton
19139
+ class="k-time-cancel"
19147
19140
  type="button"
19148
19141
  size="large"
19149
19142
  [attr.title]="localization.get('cancelLabel')"
@@ -19154,6 +19147,7 @@ class DateRangePopupComponent {
19154
19147
  </button>
19155
19148
 
19156
19149
  <button kendoButton
19150
+ class="k-time-accept"
19157
19151
  type="button"
19158
19152
  size="large"
19159
19153
  themeColor="primary"
@@ -19166,7 +19160,7 @@ class DateRangePopupComponent {
19166
19160
  </div>
19167
19161
  </ng-template>
19168
19162
  </kendo-actionsheet>
19169
- `, isInline: true, dependencies: [{ kind: "directive", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
19163
+ `, isInline: true, dependencies: [{ kind: "directive", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
19170
19164
  }
19171
19165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
19172
19166
  type: Component,
@@ -19193,6 +19187,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19193
19187
 
19194
19188
  i18n-cancelLabel="kendo.daterangepopup.cancelLabel|The label for the Cancel button in the timepicker component"
19195
19189
  cancelLabel="Cancel changes"
19190
+
19191
+ i18n-adaptiveCloseButtonTitle="kendo.daterangepopup.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
19192
+ adaptiveCloseButtonTitle="Close"
19196
19193
  >
19197
19194
  </ng-container>
19198
19195
  <ng-container #container></ng-container>
@@ -19228,6 +19225,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19228
19225
  #actionSheet
19229
19226
  (overlayClick)="show=false"
19230
19227
  (collapse)="onBlur.emit()"
19228
+ [cssClass]="{
19229
+ 'k-adaptive-actionsheet': true,
19230
+ 'k-actionsheet-fullscreen': windowSize === 'small',
19231
+ 'k-actionsheet-bottom': windowSize === 'medium'
19232
+ }"
19233
+ [cssStyle]="{
19234
+ height: windowSize === 'small' ? '100vh' : '60vh'
19235
+ }"
19231
19236
  >
19232
19237
  <ng-template kendoActionSheetTemplate>
19233
19238
  <!-- Resize sensor needs to be inside the template because the date-range-popup
@@ -19237,22 +19242,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19237
19242
  <div class="k-actionsheet-titlebar">
19238
19243
  <div class="k-actionsheet-titlebar-group">
19239
19244
  <div class="k-actionsheet-title">
19240
- <div *ngIf="title" class="k-text-center">{{ title }}</div>
19241
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
19245
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
19246
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
19242
19247
  </div>
19243
19248
  <div class="k-actionsheet-actions">
19244
19249
  <button
19245
19250
  kendoButton
19246
19251
  type="button"
19247
19252
  icon="check"
19248
- [attr.title]="localization.get('clearTitle')"
19253
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
19249
19254
  [svgIcon]="checkIcon"
19250
19255
  fillMode="flat"
19256
+ themeColor="primary"
19251
19257
  [tabIndex]="-1"
19252
19258
  aria-hidden="true"
19253
- themeColor="primary"
19254
19259
  size="large"
19255
- (click)="show = false">
19260
+ innerCssClass="k-button-icon"
19261
+ (click)="handleAccept()">
19256
19262
  </button>
19257
19263
  </div>
19258
19264
  </div>
@@ -19281,12 +19287,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19281
19287
  [value]="dateRangeService.selectionRange"
19282
19288
  selection="range"
19283
19289
  (rangeSelectionChange)="onRangeSelectionChange($event)"
19284
- >
19290
+ >
19285
19291
  </kendo-multiviewcalendar>
19286
19292
  </div>
19287
19293
  </div>
19288
19294
  <div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
19289
- <button kendoButton
19295
+ <button kendoButton
19296
+ class="k-time-cancel"
19290
19297
  type="button"
19291
19298
  size="large"
19292
19299
  [attr.title]="localization.get('cancelLabel')"
@@ -19297,6 +19304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19297
19304
  </button>
19298
19305
 
19299
19306
  <button kendoButton
19307
+ class="k-time-accept"
19300
19308
  type="button"
19301
19309
  size="large"
19302
19310
  themeColor="primary"
@@ -19385,9 +19393,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19385
19393
  type: Input
19386
19394
  }], adaptiveMode: [{
19387
19395
  type: Input
19388
- }], title: [{
19396
+ }], adaptiveTitle: [{
19389
19397
  type: Input
19390
- }], subtitle: [{
19398
+ }], adaptiveSubtitle: [{
19391
19399
  type: Input
19392
19400
  }], size: [{
19393
19401
  type: Input
@@ -19480,7 +19488,7 @@ class DateRangeComponent {
19480
19488
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangeComponent, isStandalone: true, selector: "kendo-daterange", inputs: { size: "size" }, host: { listeners: { "keydown": "keydown($event)" }, properties: { "class.k-daterangepicker": "this.wrapperClass" } }, providers: [DateRangeService], queries: [{ propertyName: "contentPopup", predicate: DateRangePopupComponent }], ngImport: i0, template: `
19481
19489
  <ng-content></ng-content>
19482
19490
  <kendo-daterange-popup *ngIf="showDefault" [size]="size"></kendo-daterange-popup>
19483
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: ["showCalendarHeader", "focusedDate", "disabledDates", "activeView", "bottomView", "topView", "min", "max", "allowReverse", "animateNavigation", "disabled", "views", "weekNumber", "animate", "anchor", "anchorAlign", "showViewHeader", "showOtherMonthDays", "appendTo", "collision", "popupAlign", "margin", "adaptiveMode", "title", "subtitle", "size"], outputs: ["open", "close", "blur", "focus", "cancel"], exportAs: ["kendo-daterange-popup"] }] });
19491
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: ["showCalendarHeader", "focusedDate", "disabledDates", "activeView", "bottomView", "topView", "min", "max", "allowReverse", "animateNavigation", "disabled", "views", "weekNumber", "animate", "anchor", "anchorAlign", "showViewHeader", "showOtherMonthDays", "appendTo", "collision", "popupAlign", "margin", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "size"], outputs: ["open", "close", "blur", "focus", "cancel"], exportAs: ["kendo-daterange-popup"] }] });
19484
19492
  }
19485
19493
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangeComponent, decorators: [{
19486
19494
  type: Component,
@@ -19571,8 +19579,9 @@ class DateRangeInput {
19571
19579
  [
19572
19580
  popup.cancel.subscribe(() => this.isActiveEnd && this.input.focus()),
19573
19581
  popup.onFocus.subscribe(() => this.toggleActiveClass(this.isActiveEnd)),
19574
- popup.onBlur.subscribe(() => this.deactivate())
19575
- ].map(s => this.popupSubscriptions.add(s));
19582
+ popup.onBlur.subscribe(() => this.deactivate()),
19583
+ popup.close?.subscribe(() => this.isActiveEnd && this.input.focus())
19584
+ ].forEach(s => this.popupSubscriptions.add(s));
19576
19585
  }
19577
19586
  unsubscribePopup() {
19578
19587
  this.popupSubscriptions.unsubscribe();