@progress/kendo-angular-dateinputs 19.0.0-develop.7 → 19.0.0-develop.8

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.
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  productName: 'Kendo UI for Angular',
37
37
  productCode: 'KENDOUIANGULAR',
38
38
  productCodes: ['KENDOUIANGULAR'],
39
- publishDate: 1746022460,
40
- version: '19.0.0-develop.7',
39
+ publishDate: 1746081195,
40
+ version: '19.0.0-develop.8',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -9829,8 +9829,12 @@ class DatePickerMessages extends ComponentMessages {
9829
9829
  * The title of the **Clear** button of the DatePicker.
9830
9830
  */
9831
9831
  clearTitle;
9832
+ /**
9833
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
9834
+ */
9835
+ adaptiveCloseButtonTitle;
9832
9836
  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 });
9837
+ 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
9838
  }
9835
9839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerMessages, decorators: [{
9836
9840
  type: Directive,
@@ -9850,6 +9854,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
9850
9854
  type: Input
9851
9855
  }], clearTitle: [{
9852
9856
  type: Input
9857
+ }], adaptiveCloseButtonTitle: [{
9858
+ type: Input
9853
9859
  }] } });
9854
9860
 
9855
9861
  /**
@@ -10299,18 +10305,12 @@ class DatePickerComponent extends MultiTabStop {
10299
10305
  * Sets the title of the input element of the DatePicker and the title text rendered
10300
10306
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
10301
10307
  */
10302
- title = "";
10308
+ adaptiveTitle = "";
10303
10309
  /**
10304
10310
  * Sets the subtitle text rendered in the header of the popup(action sheet).
10305
10311
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
10306
10312
  */
10307
- set subtitle(subtitle) {
10308
- this._subtitle = subtitle;
10309
- }
10310
- get subtitle() {
10311
- return this._subtitle || this.placeholder;
10312
- }
10313
- _subtitle;
10313
+ adaptiveSubtitle = "";
10314
10314
  /**
10315
10315
  * Determines whether the built-in min or max validators are enforced when validating a form.
10316
10316
  *
@@ -10494,6 +10494,10 @@ class DatePickerComponent extends MultiTabStop {
10494
10494
  * @hidden
10495
10495
  */
10496
10496
  checkIcon = checkIcon;
10497
+ /**
10498
+ * @hidden
10499
+ */
10500
+ windowSize;
10497
10501
  /**
10498
10502
  * @hidden
10499
10503
  */
@@ -10523,7 +10527,6 @@ class DatePickerComponent extends MultiTabStop {
10523
10527
  _size = DEFAULT_SIZE;
10524
10528
  _rounded = DEFAULT_ROUNDED;
10525
10529
  _fillMode = DEFAULT_FILL_MODE;
10526
- windowSize;
10527
10530
  constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, adaptiveService) {
10528
10531
  super();
10529
10532
  this.zone = zone;
@@ -10570,11 +10573,6 @@ class DatePickerComponent extends MultiTabStop {
10570
10573
  ngAfterViewInit() {
10571
10574
  this.setComponentClasses();
10572
10575
  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
10576
  }
10579
10577
  /**
10580
10578
  * @hidden
@@ -10906,7 +10904,6 @@ class DatePickerComponent extends MultiTabStop {
10906
10904
  }
10907
10905
  if (show && !this.isOpen) {
10908
10906
  this.actionSheet.toggle();
10909
- this.updateActionSheetAdaptiveAppearance();
10910
10907
  this.setAriaActiveDescendant();
10911
10908
  this.actionSheet.element.nativeElement.setAttribute('id', this.popupUID);
10912
10909
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
@@ -10917,29 +10914,11 @@ class DatePickerComponent extends MultiTabStop {
10917
10914
  if (this.dateInput) {
10918
10915
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaActiveDescendant);
10919
10916
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
10917
+ this.dateInput.focus();
10920
10918
  }
10921
10919
  }
10922
10920
  this._show = show;
10923
10921
  }
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
10922
  setAriaActiveDescendant() {
10944
10923
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
10945
10924
  this.calendar.monthView.focusedCellChange :
@@ -11061,7 +11040,7 @@ class DatePickerComponent extends MultiTabStop {
11061
11040
  }
11062
11041
  }
11063
11042
  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: [
11043
+ 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
11044
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
11066
11045
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
11067
11046
  { provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
@@ -11092,6 +11071,9 @@ class DatePickerComponent extends MultiTabStop {
11092
11071
 
11093
11072
  i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
11094
11073
  clearTitle="clear"
11074
+
11075
+ 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"
11076
+ adaptiveCloseButtonTitle="Close"
11095
11077
  >
11096
11078
  </ng-container>
11097
11079
  <kendo-dateinput
@@ -11106,7 +11088,7 @@ class DatePickerComponent extends MultiTabStop {
11106
11088
  [ariaReadOnly]="readonly"
11107
11089
  [tabindex]="tabindex"
11108
11090
  [isRequired]="isControlRequired"
11109
- [title]="title"
11091
+ [title]="adaptiveTitle"
11110
11092
  [focusableId]="focusableId"
11111
11093
  [format]="format"
11112
11094
  [twoDigitYearMax]="twoDigitYearMax"
@@ -11172,26 +11154,35 @@ class DatePickerComponent extends MultiTabStop {
11172
11154
  [scope]="this"
11173
11155
  (collapse)="handleActionSheetCollapse()"
11174
11156
  [titleId]="calendar?.headerId"
11157
+ [cssClass]="{
11158
+ 'k-adaptive-actionsheet': true,
11159
+ 'k-actionsheet-fullscreen': windowSize === 'small',
11160
+ 'k-actionsheet-bottom': windowSize === 'medium'
11161
+ }"
11162
+ [cssStyle]="{
11163
+ height: windowSize === 'small' ? '100vh' : '60vh'
11164
+ }"
11175
11165
  >
11176
11166
  <ng-template kendoActionSheetTemplate>
11177
11167
  <div class="k-actionsheet-titlebar">
11178
11168
  <div class="k-actionsheet-titlebar-group">
11179
11169
  <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>
11170
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
11171
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
11182
11172
  </div>
11183
11173
  <div class="k-actionsheet-actions">
11184
11174
  <button
11185
11175
  kendoButton
11186
11176
  type="button"
11187
11177
  icon="check"
11188
- [attr.title]="localization.get('clearTitle')"
11178
+ themeColor="primary"
11179
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
11189
11180
  [svgIcon]="checkIcon"
11190
11181
  fillMode="flat"
11191
11182
  [tabIndex]="-1"
11192
11183
  aria-hidden="true"
11193
11184
  size="large"
11194
- themeColor="primary"
11185
+ innerCssClass="k-button-icon"
11195
11186
  (click)="show = false">
11196
11187
  </button>
11197
11188
  </div>
@@ -11247,7 +11238,7 @@ class DatePickerComponent extends MultiTabStop {
11247
11238
  </kendo-calendar-messages>
11248
11239
  </kendo-calendar>
11249
11240
  </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 });
11241
+ `, 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
11242
  }
11252
11243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
11253
11244
  type: Component,
@@ -11287,6 +11278,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11287
11278
 
11288
11279
  i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
11289
11280
  clearTitle="clear"
11281
+
11282
+ 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"
11283
+ adaptiveCloseButtonTitle="Close"
11290
11284
  >
11291
11285
  </ng-container>
11292
11286
  <kendo-dateinput
@@ -11301,7 +11295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11301
11295
  [ariaReadOnly]="readonly"
11302
11296
  [tabindex]="tabindex"
11303
11297
  [isRequired]="isControlRequired"
11304
- [title]="title"
11298
+ [title]="adaptiveTitle"
11305
11299
  [focusableId]="focusableId"
11306
11300
  [format]="format"
11307
11301
  [twoDigitYearMax]="twoDigitYearMax"
@@ -11367,26 +11361,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11367
11361
  [scope]="this"
11368
11362
  (collapse)="handleActionSheetCollapse()"
11369
11363
  [titleId]="calendar?.headerId"
11364
+ [cssClass]="{
11365
+ 'k-adaptive-actionsheet': true,
11366
+ 'k-actionsheet-fullscreen': windowSize === 'small',
11367
+ 'k-actionsheet-bottom': windowSize === 'medium'
11368
+ }"
11369
+ [cssStyle]="{
11370
+ height: windowSize === 'small' ? '100vh' : '60vh'
11371
+ }"
11370
11372
  >
11371
11373
  <ng-template kendoActionSheetTemplate>
11372
11374
  <div class="k-actionsheet-titlebar">
11373
11375
  <div class="k-actionsheet-titlebar-group">
11374
11376
  <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>
11377
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
11378
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
11377
11379
  </div>
11378
11380
  <div class="k-actionsheet-actions">
11379
11381
  <button
11380
11382
  kendoButton
11381
11383
  type="button"
11382
11384
  icon="check"
11383
- [attr.title]="localization.get('clearTitle')"
11385
+ themeColor="primary"
11386
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
11384
11387
  [svgIcon]="checkIcon"
11385
11388
  fillMode="flat"
11386
11389
  [tabIndex]="-1"
11387
11390
  aria-hidden="true"
11388
11391
  size="large"
11389
- themeColor="primary"
11392
+ innerCssClass="k-button-icon"
11390
11393
  (click)="show = false">
11391
11394
  </button>
11392
11395
  </div>
@@ -11589,9 +11592,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
11589
11592
  type: Input
11590
11593
  }], disabledDates: [{
11591
11594
  type: Input
11592
- }], title: [{
11595
+ }], adaptiveTitle: [{
11593
11596
  type: Input
11594
- }], subtitle: [{
11597
+ }], adaptiveSubtitle: [{
11595
11598
  type: Input
11596
11599
  }], rangeValidation: [{
11597
11600
  type: Input
@@ -12811,8 +12814,12 @@ class TimePickerMessages extends ComponentMessages {
12811
12814
  * The title of the **Clear** button of the TimePicker.
12812
12815
  */
12813
12816
  clearTitle;
12817
+ /**
12818
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
12819
+ */
12820
+ adaptiveCloseButtonTitle;
12814
12821
  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 });
12822
+ 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
12823
  }
12817
12824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerMessages, decorators: [{
12818
12825
  type: Directive,
@@ -12846,6 +12853,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12846
12853
  type: Input
12847
12854
  }], clearTitle: [{
12848
12855
  type: Input
12856
+ }], adaptiveCloseButtonTitle: [{
12857
+ type: Input
12849
12858
  }] } });
12850
12859
 
12851
12860
  /**
@@ -13911,18 +13920,13 @@ class TimePickerComponent extends MultiTabStop {
13911
13920
  * Sets the title of the input element of the TimePicker and the title text rendered
13912
13921
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
13913
13922
  */
13914
- title = "";
13923
+ adaptiveTitle = '';
13915
13924
  /**
13916
13925
  * Sets the subtitle text rendered in the header of the popup(action sheet).
13917
13926
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
13927
+ * By default, subtitle is not rendered.
13918
13928
  */
13919
- set subtitle(subtitle) {
13920
- this._subtitle = subtitle;
13921
- }
13922
- get subtitle() {
13923
- return this._subtitle || this.placeholder;
13924
- }
13925
- _subtitle;
13929
+ adaptiveSubtitle;
13926
13930
  /**
13927
13931
  * Determines whether the built-in min or max validators are enforced when a form is being validated.
13928
13932
  *
@@ -14123,6 +14127,10 @@ class TimePickerComponent extends MultiTabStop {
14123
14127
  get isControlRequired() {
14124
14128
  return isControlRequired(this.control);
14125
14129
  }
14130
+ /**
14131
+ * @hidden
14132
+ */
14133
+ windowSize;
14126
14134
  get adaptiveAcceptButton() {
14127
14135
  return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR$1);
14128
14136
  }
@@ -14153,7 +14161,6 @@ class TimePickerComponent extends MultiTabStop {
14153
14161
  _size = DEFAULT_SIZE;
14154
14162
  _rounded = DEFAULT_ROUNDED;
14155
14163
  _fillMode = DEFAULT_FILL_MODE;
14156
- windowSize;
14157
14164
  constructor(bus, zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, adaptiveService) {
14158
14165
  super();
14159
14166
  this.bus = bus;
@@ -14200,11 +14207,6 @@ class TimePickerComponent extends MultiTabStop {
14200
14207
  ngAfterViewInit() {
14201
14208
  this.setComponentClasses();
14202
14209
  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
14210
  }
14209
14211
  /**
14210
14212
  * @hidden
@@ -14551,7 +14553,6 @@ class TimePickerComponent extends MultiTabStop {
14551
14553
  }
14552
14554
  if (show && !this.isOpen) {
14553
14555
  this.actionSheet.toggle();
14554
- this.updateActionSheetAdaptiveAppearance();
14555
14556
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
14556
14557
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
14557
14558
  }
@@ -14562,6 +14563,7 @@ class TimePickerComponent extends MultiTabStop {
14562
14563
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
14563
14564
  }
14564
14565
  this.actionSheet.toggle();
14566
+ this.dateInput.focus();
14565
14567
  }
14566
14568
  this._show = show;
14567
14569
  }
@@ -14596,25 +14598,6 @@ class TimePickerComponent extends MultiTabStop {
14596
14598
  }
14597
14599
  }
14598
14600
  }
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
14601
  focusInput() {
14619
14602
  if (touchEnabled) {
14620
14603
  return;
@@ -14725,7 +14708,7 @@ class TimePickerComponent extends MultiTabStop {
14725
14708
  }
14726
14709
  }
14727
14710
  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: [
14711
+ 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
14712
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimePickerComponent), multi: true },
14730
14713
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => TimePickerComponent), multi: true },
14731
14714
  { provide: KendoInput, useExisting: forwardRef(() => TimePickerComponent) },
@@ -14777,6 +14760,9 @@ class TimePickerComponent extends MultiTabStop {
14777
14760
 
14778
14761
  i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
14779
14762
  clearTitle="clear"
14763
+
14764
+ 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"
14765
+ adaptiveCloseButtonTitle="Close"
14780
14766
  >
14781
14767
  </ng-container>
14782
14768
  <kendo-dateinput
@@ -14806,7 +14792,7 @@ class TimePickerComponent extends MultiTabStop {
14806
14792
  [steps]="steps"
14807
14793
  [tabindex]="!show ? tabindex : -1"
14808
14794
  [isRequired]="isControlRequired"
14809
- [title]="title"
14795
+ [title]="adaptiveTitle"
14810
14796
  [inputAttributes]="inputAttributes"
14811
14797
  [value]="value"
14812
14798
  (valueChange)="handleInputChange($event)"
@@ -14849,20 +14835,28 @@ class TimePickerComponent extends MultiTabStop {
14849
14835
  (overlayClick)="show=false"
14850
14836
  (collapse)="handleActionSheetCollapse()"
14851
14837
  [titleId]="focusableId"
14838
+ [cssClass]="{
14839
+ 'k-adaptive-actionsheet': true,
14840
+ 'k-actionsheet-fullscreen': windowSize === 'small',
14841
+ 'k-actionsheet-bottom': windowSize === 'medium'
14842
+ }"
14843
+ [cssStyle]="{
14844
+ height: windowSize === 'small' ? '100vh' : '60vh'
14845
+ }"
14852
14846
  >
14853
14847
  <ng-template kendoActionSheetTemplate>
14854
14848
  <div class="k-actionsheet-titlebar">
14855
14849
  <div class="k-actionsheet-titlebar-group">
14856
14850
  <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>
14851
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
14852
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
14859
14853
  </div>
14860
14854
  <div class="k-actionsheet-actions">
14861
14855
  <button
14862
14856
  kendoButton
14863
14857
  type="button"
14864
14858
  icon="check"
14865
- [attr.title]="localization.get('clearTitle')"
14859
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
14866
14860
  [svgIcon]="checkIcon"
14867
14861
  fillMode="flat"
14868
14862
  size="large"
@@ -14943,7 +14937,7 @@ class TimePickerComponent extends MultiTabStop {
14943
14937
  </kendo-timeselector-messages>
14944
14938
  </kendo-timeselector>
14945
14939
  </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 });
14940
+ `, 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
14941
  }
14948
14942
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, decorators: [{
14949
14943
  type: Component,
@@ -15004,6 +14998,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15004
14998
 
15005
14999
  i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
15006
15000
  clearTitle="clear"
15001
+
15002
+ 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"
15003
+ adaptiveCloseButtonTitle="Close"
15007
15004
  >
15008
15005
  </ng-container>
15009
15006
  <kendo-dateinput
@@ -15033,7 +15030,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15033
15030
  [steps]="steps"
15034
15031
  [tabindex]="!show ? tabindex : -1"
15035
15032
  [isRequired]="isControlRequired"
15036
- [title]="title"
15033
+ [title]="adaptiveTitle"
15037
15034
  [inputAttributes]="inputAttributes"
15038
15035
  [value]="value"
15039
15036
  (valueChange)="handleInputChange($event)"
@@ -15076,20 +15073,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15076
15073
  (overlayClick)="show=false"
15077
15074
  (collapse)="handleActionSheetCollapse()"
15078
15075
  [titleId]="focusableId"
15076
+ [cssClass]="{
15077
+ 'k-adaptive-actionsheet': true,
15078
+ 'k-actionsheet-fullscreen': windowSize === 'small',
15079
+ 'k-actionsheet-bottom': windowSize === 'medium'
15080
+ }"
15081
+ [cssStyle]="{
15082
+ height: windowSize === 'small' ? '100vh' : '60vh'
15083
+ }"
15079
15084
  >
15080
15085
  <ng-template kendoActionSheetTemplate>
15081
15086
  <div class="k-actionsheet-titlebar">
15082
15087
  <div class="k-actionsheet-titlebar-group">
15083
15088
  <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>
15089
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
15090
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
15086
15091
  </div>
15087
15092
  <div class="k-actionsheet-actions">
15088
15093
  <button
15089
15094
  kendoButton
15090
15095
  type="button"
15091
15096
  icon="check"
15092
- [attr.title]="localization.get('clearTitle')"
15097
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
15093
15098
  [svgIcon]="checkIcon"
15094
15099
  fillMode="flat"
15095
15100
  size="large"
@@ -15231,9 +15236,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15231
15236
  type: Input
15232
15237
  }], tabIndex: [{
15233
15238
  type: Input
15234
- }], title: [{
15239
+ }], adaptiveTitle: [{
15235
15240
  type: Input
15236
- }], subtitle: [{
15241
+ }], adaptiveSubtitle: [{
15237
15242
  type: Input
15238
15243
  }], rangeValidation: [{
15239
15244
  type: Input
@@ -15362,8 +15367,12 @@ class DateTimePickerMessages extends ComponentMessages {
15362
15367
  * The title of the **Clear** button of the DateTimePicker.
15363
15368
  */
15364
15369
  clearTitle;
15370
+ /**
15371
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
15372
+ */
15373
+ adaptiveCloseButtonTitle;
15365
15374
  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 });
15375
+ 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
15376
  }
15368
15377
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerMessages, decorators: [{
15369
15378
  type: Directive,
@@ -15413,6 +15422,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15413
15422
  type: Input
15414
15423
  }], clearTitle: [{
15415
15424
  type: Input
15425
+ }], adaptiveCloseButtonTitle: [{
15426
+ type: Input
15416
15427
  }] } });
15417
15428
 
15418
15429
  /**
@@ -15610,18 +15621,12 @@ class DateTimePickerComponent extends MultiTabStop {
15610
15621
  * Sets the title of the input element of the DateTimePicker and the title text rendered
15611
15622
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
15612
15623
  */
15613
- title = '';
15624
+ adaptiveTitle = '';
15614
15625
  /**
15615
15626
  * Sets the subtitle text rendered in the header of the popup(action sheet).
15616
15627
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
15617
15628
  */
15618
- set subtitle(subtitle) {
15619
- this._subtitle = subtitle;
15620
- }
15621
- get subtitle() {
15622
- return this._subtitle || this.placeholder;
15623
- }
15624
- _subtitle;
15629
+ adaptiveSubtitle = '';
15625
15630
  /**
15626
15631
  * Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
15627
15632
  * ([see example]({% slug disabled_datetimepicker %})).
@@ -15819,7 +15824,7 @@ class DateTimePickerComponent extends MultiTabStop {
15819
15824
  * Indicates whether the component is currently open. That is when the popup or actionSheet is open.
15820
15825
  */
15821
15826
  get isOpen() {
15822
- return isTruthy(this.actionSheet?.expanded) || isPresent(this.popupRef);
15827
+ return this.actionSheet?.expanded || isPresent(this.popupRef);
15823
15828
  }
15824
15829
  /**
15825
15830
  * Indicates whether the component or its popup content is focused.
@@ -16012,6 +16017,10 @@ class DateTimePickerComponent extends MultiTabStop {
16012
16017
  * @hidden
16013
16018
  */
16014
16019
  checkIcon = checkIcon;
16020
+ /**
16021
+ * @hidden
16022
+ */
16023
+ windowSize;
16015
16024
  /**
16016
16025
  * @hidden
16017
16026
  */
@@ -16162,7 +16171,6 @@ class DateTimePickerComponent extends MultiTabStop {
16162
16171
  _size = DEFAULT_SIZE;
16163
16172
  _rounded = DEFAULT_ROUNDED;
16164
16173
  _fillMode = DEFAULT_FILL_MODE;
16165
- windowSize;
16166
16174
  constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector, adaptiveService) {
16167
16175
  super();
16168
16176
  this.popupService = popupService;
@@ -16201,11 +16209,6 @@ class DateTimePickerComponent extends MultiTabStop {
16201
16209
  ngAfterViewInit() {
16202
16210
  this.setComponentClasses();
16203
16211
  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
16212
  }
16210
16213
  ngOnChanges(changes) {
16211
16214
  if (isPresent(changes['min']) || isPresent(changes['max'])) {
@@ -16600,14 +16603,6 @@ class DateTimePickerComponent extends MultiTabStop {
16600
16603
  // Reset tabs after actionsheet is collapsed, otherwise the tab change can be seen during the animation
16601
16604
  this.resetActiveTab();
16602
16605
  }
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
16606
  /**
16612
16607
  * @hidden
16613
16608
  *
@@ -16616,50 +16611,35 @@ class DateTimePickerComponent extends MultiTabStop {
16616
16611
  preventMouseDown(event) {
16617
16612
  event.preventDefault();
16618
16613
  }
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
- }
16614
+ /**
16615
+ * @hidden
16616
+ */
16628
16617
  toggleActionSheet(show) {
16629
16618
  if (isPresent(show) && show && !this.isOpen) {
16630
16619
  this.actionSheet.toggle();
16631
- this.updateActionSheetAdaptiveAppearance();
16632
16620
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
16633
16621
  this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
16634
16622
  this.setAriaActiveDescendant();
16635
16623
  }
16636
16624
  else if (isPresent(show) && !show && this.isOpen) {
16625
+ this.handleBlur();
16637
16626
  this.actionSheet.toggle();
16638
16627
  this.ariaActiveDescendantSubscription.unsubscribe();
16639
16628
  if (this.dateInput) {
16640
16629
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaActiveDescendant);
16641
16630
  this.renderer.removeAttribute(this.dateInput.inputElement, attributeNames.ariaControls);
16631
+ this.dateInput.focus();
16642
16632
  }
16643
16633
  }
16644
16634
  }
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');
16635
+ _togglePopup(show) {
16636
+ const shouldOpen = isPresent(show) ? show : !this.isOpen;
16637
+ if (shouldOpen) {
16638
+ this.openPopup();
16639
+ return;
16662
16640
  }
16641
+ this.closePopup();
16642
+ this.resetActiveTab();
16663
16643
  }
16664
16644
  /**
16665
16645
  * Changes the tab and the calendar or clock icon to the designated default.
@@ -16890,7 +16870,7 @@ class DateTimePickerComponent extends MultiTabStop {
16890
16870
  }
16891
16871
  }
16892
16872
  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: [
16873
+ 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
16874
  PickerService,
16895
16875
  LocalizationService,
16896
16876
  DisabledDatesService,
@@ -16965,6 +16945,9 @@ class DateTimePickerComponent extends MultiTabStop {
16965
16945
 
16966
16946
  i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
16967
16947
  clearTitle="clear"
16948
+
16949
+ 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"
16950
+ adaptiveCloseButtonTitle="Close"
16968
16951
  >
16969
16952
  </ng-container>
16970
16953
 
@@ -16992,7 +16975,7 @@ class DateTimePickerComponent extends MultiTabStop {
16992
16975
  [steps]="steps"
16993
16976
  [tabindex]="tabindex"
16994
16977
  [isRequired]="isControlRequired"
16995
- [title]="title"
16978
+ [title]="adaptiveTitle"
16996
16979
  pickerType="datetimepicker"
16997
16980
  hasPopup="dialog"
16998
16981
  [inputAttributes]="inputAttributes"
@@ -17052,30 +17035,39 @@ class DateTimePickerComponent extends MultiTabStop {
17052
17035
 
17053
17036
  <kendo-actionsheet
17054
17037
  #actionSheet
17055
- (overlayClick)="toggleDateTime(false)"
17038
+ (overlayClick)="toggleActionSheet(false)"
17056
17039
  (collapse)="handleActionSheetCollapse()"
17057
17040
  [titleId]="calendar?.headerId"
17041
+ [cssClass]="{
17042
+ 'k-adaptive-actionsheet': true,
17043
+ 'k-actionsheet-fullscreen': windowSize === 'small',
17044
+ 'k-actionsheet-bottom': windowSize === 'medium'
17045
+ }"
17046
+ [cssStyle]="{
17047
+ height: windowSize === 'small' ? '100vh' : '60vh'
17048
+ }"
17058
17049
  >
17059
17050
  <ng-template kendoActionSheetTemplate>
17060
17051
  <div class="k-actionsheet-titlebar">
17061
17052
  <div class="k-actionsheet-titlebar-group">
17062
17053
  <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>
17054
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
17055
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
17065
17056
  </div>
17066
17057
  <div class="k-actionsheet-actions">
17067
17058
  <button
17068
17059
  kendoButton
17069
17060
  type="button"
17070
17061
  icon="check"
17071
- [attr.title]="localization.get('clearTitle')"
17062
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
17072
17063
  [svgIcon]="checkIcon"
17073
17064
  fillMode="flat"
17065
+ themeColor="primary"
17074
17066
  [tabIndex]="-1"
17075
17067
  aria-hidden="true"
17076
17068
  size="large"
17077
- themeColor="primary"
17078
- (click)="toggleDateTime(false)">
17069
+ innerCssClass="k-button-icon"
17070
+ (click)="toggleActionSheet(false)">
17079
17071
  </button>
17080
17072
  </div>
17081
17073
  </div>
@@ -17133,10 +17125,10 @@ class DateTimePickerComponent extends MultiTabStop {
17133
17125
  [scope]="this"
17134
17126
  >
17135
17127
  <div class="k-button-group k-button-group-solid k-button-group-stretched" role="group">
17136
- <button
17128
+ <button kendoButton
17137
17129
  type="button"
17138
- class="k-button k-group-start"
17139
- [ngClass]="popupButtonsClasses()"
17130
+ class="k-group-start"
17131
+ [size]="isAdaptive ? 'large' : size"
17140
17132
  [class.k-selected]="activeTab === 'date'"
17141
17133
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
17142
17134
  [attr.title]="localization.get('dateTabLabel')"
@@ -17149,10 +17141,10 @@ class DateTimePickerComponent extends MultiTabStop {
17149
17141
  >
17150
17142
  {{localization.get('dateTab')}}
17151
17143
  </button>
17152
- <button
17144
+ <button kendoButton
17153
17145
  type="button"
17154
- class="k-button k-group-end"
17155
- [ngClass]="popupButtonsClasses()"
17146
+ class="k-group-end"
17147
+ [size]="isAdaptive ? 'large' : size"
17156
17148
  [class.k-selected]="activeTab === 'time'"
17157
17149
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
17158
17150
  [attr.title]="localization.get('timeTabLabel')"
@@ -17162,7 +17154,6 @@ class DateTimePickerComponent extends MultiTabStop {
17162
17154
  'keydown.tab': handleTab
17163
17155
  }"
17164
17156
  [scope]="this"
17165
-
17166
17157
  >
17167
17158
  {{localization.get('timeTab')}}
17168
17159
  </button>
@@ -17256,10 +17247,10 @@ class DateTimePickerComponent extends MultiTabStop {
17256
17247
  }"
17257
17248
  [scope]="this"
17258
17249
  >
17259
- <button
17250
+ <button kendoButton
17260
17251
  type="button"
17261
- class="k-button k-time-accept"
17262
- [ngClass]="popupButtonsClasses('primary')"
17252
+ class="k-time-accept"
17253
+ themeColor="primary"
17263
17254
  [attr.title]="localization.get('acceptLabel')"
17264
17255
  [attr.aria-label]="localization.get('acceptLabel')"
17265
17256
  [disabled]="!calendarValue"
@@ -17273,11 +17264,10 @@ class DateTimePickerComponent extends MultiTabStop {
17273
17264
  {{localization.get('accept')}}
17274
17265
  </button>
17275
17266
 
17276
- <button
17267
+ <button kendoButton
17277
17268
  *ngIf="cancelButton"
17278
17269
  type="button"
17279
- class="k-button k-time-cancel"
17280
- [ngClass]="popupButtonsClasses()"
17270
+ class="k-time-cancel"
17281
17271
  [attr.title]="localization.get('cancelLabel')"
17282
17272
  [attr.aria-label]="localization.get('cancelLabel')"
17283
17273
  [kendoEventsOutsideAngular]="{
@@ -17292,7 +17282,7 @@ class DateTimePickerComponent extends MultiTabStop {
17292
17282
  </div>
17293
17283
  </div>
17294
17284
  </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 });
17285
+ `, 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
17286
  }
17297
17287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
17298
17288
  type: Component,
@@ -17376,6 +17366,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17376
17366
 
17377
17367
  i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
17378
17368
  clearTitle="clear"
17369
+
17370
+ 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"
17371
+ adaptiveCloseButtonTitle="Close"
17379
17372
  >
17380
17373
  </ng-container>
17381
17374
 
@@ -17403,7 +17396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17403
17396
  [steps]="steps"
17404
17397
  [tabindex]="tabindex"
17405
17398
  [isRequired]="isControlRequired"
17406
- [title]="title"
17399
+ [title]="adaptiveTitle"
17407
17400
  pickerType="datetimepicker"
17408
17401
  hasPopup="dialog"
17409
17402
  [inputAttributes]="inputAttributes"
@@ -17463,30 +17456,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17463
17456
 
17464
17457
  <kendo-actionsheet
17465
17458
  #actionSheet
17466
- (overlayClick)="toggleDateTime(false)"
17459
+ (overlayClick)="toggleActionSheet(false)"
17467
17460
  (collapse)="handleActionSheetCollapse()"
17468
17461
  [titleId]="calendar?.headerId"
17462
+ [cssClass]="{
17463
+ 'k-adaptive-actionsheet': true,
17464
+ 'k-actionsheet-fullscreen': windowSize === 'small',
17465
+ 'k-actionsheet-bottom': windowSize === 'medium'
17466
+ }"
17467
+ [cssStyle]="{
17468
+ height: windowSize === 'small' ? '100vh' : '60vh'
17469
+ }"
17469
17470
  >
17470
17471
  <ng-template kendoActionSheetTemplate>
17471
17472
  <div class="k-actionsheet-titlebar">
17472
17473
  <div class="k-actionsheet-titlebar-group">
17473
17474
  <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>
17475
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
17476
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
17476
17477
  </div>
17477
17478
  <div class="k-actionsheet-actions">
17478
17479
  <button
17479
17480
  kendoButton
17480
17481
  type="button"
17481
17482
  icon="check"
17482
- [attr.title]="localization.get('clearTitle')"
17483
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
17483
17484
  [svgIcon]="checkIcon"
17484
17485
  fillMode="flat"
17486
+ themeColor="primary"
17485
17487
  [tabIndex]="-1"
17486
17488
  aria-hidden="true"
17487
17489
  size="large"
17488
- themeColor="primary"
17489
- (click)="toggleDateTime(false)">
17490
+ innerCssClass="k-button-icon"
17491
+ (click)="toggleActionSheet(false)">
17490
17492
  </button>
17491
17493
  </div>
17492
17494
  </div>
@@ -17544,10 +17546,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17544
17546
  [scope]="this"
17545
17547
  >
17546
17548
  <div class="k-button-group k-button-group-solid k-button-group-stretched" role="group">
17547
- <button
17549
+ <button kendoButton
17548
17550
  type="button"
17549
- class="k-button k-group-start"
17550
- [ngClass]="popupButtonsClasses()"
17551
+ class="k-group-start"
17552
+ [size]="isAdaptive ? 'large' : size"
17551
17553
  [class.k-selected]="activeTab === 'date'"
17552
17554
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
17553
17555
  [attr.title]="localization.get('dateTabLabel')"
@@ -17560,10 +17562,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17560
17562
  >
17561
17563
  {{localization.get('dateTab')}}
17562
17564
  </button>
17563
- <button
17565
+ <button kendoButton
17564
17566
  type="button"
17565
- class="k-button k-group-end"
17566
- [ngClass]="popupButtonsClasses()"
17567
+ class="k-group-end"
17568
+ [size]="isAdaptive ? 'large' : size"
17567
17569
  [class.k-selected]="activeTab === 'time'"
17568
17570
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
17569
17571
  [attr.title]="localization.get('timeTabLabel')"
@@ -17573,7 +17575,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17573
17575
  'keydown.tab': handleTab
17574
17576
  }"
17575
17577
  [scope]="this"
17576
-
17577
17578
  >
17578
17579
  {{localization.get('timeTab')}}
17579
17580
  </button>
@@ -17667,10 +17668,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17667
17668
  }"
17668
17669
  [scope]="this"
17669
17670
  >
17670
- <button
17671
+ <button kendoButton
17671
17672
  type="button"
17672
- class="k-button k-time-accept"
17673
- [ngClass]="popupButtonsClasses('primary')"
17673
+ class="k-time-accept"
17674
+ themeColor="primary"
17674
17675
  [attr.title]="localization.get('acceptLabel')"
17675
17676
  [attr.aria-label]="localization.get('acceptLabel')"
17676
17677
  [disabled]="!calendarValue"
@@ -17684,11 +17685,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17684
17685
  {{localization.get('accept')}}
17685
17686
  </button>
17686
17687
 
17687
- <button
17688
+ <button kendoButton
17688
17689
  *ngIf="cancelButton"
17689
17690
  type="button"
17690
- class="k-button k-time-cancel"
17691
- [ngClass]="popupButtonsClasses()"
17691
+ class="k-time-cancel"
17692
17692
  [attr.title]="localization.get('cancelLabel')"
17693
17693
  [attr.aria-label]="localization.get('cancelLabel')"
17694
17694
  [kendoEventsOutsideAngular]="{
@@ -17737,9 +17737,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17737
17737
  type: Input
17738
17738
  }], popupSettings: [{
17739
17739
  type: Input
17740
- }], title: [{
17740
+ }], adaptiveTitle: [{
17741
17741
  type: Input
17742
- }], subtitle: [{
17742
+ }], adaptiveSubtitle: [{
17743
17743
  type: Input
17744
17744
  }], disabled: [{
17745
17745
  type: Input
@@ -18352,8 +18352,12 @@ class DateRangePopupMessages extends ComponentMessages {
18352
18352
  * The label of the **Cancel** button in the popup footer of the DateRange Popup.
18353
18353
  */
18354
18354
  cancelLabel;
18355
+ /**
18356
+ * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
18357
+ */
18358
+ adaptiveCloseButtonTitle;
18355
18359
  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 });
18360
+ 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
18361
  }
18358
18362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupMessages, decorators: [{
18359
18363
  type: Directive,
@@ -18369,6 +18373,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18369
18373
  type: Input
18370
18374
  }], cancelLabel: [{
18371
18375
  type: Input
18376
+ }], adaptiveCloseButtonTitle: [{
18377
+ type: Input
18372
18378
  }] } });
18373
18379
 
18374
18380
  /**
@@ -18574,18 +18580,12 @@ class DateRangePopupComponent {
18574
18580
  * Sets the title of the input element of the DateRangePopup and the title text rendered
18575
18581
  * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
18576
18582
  */
18577
- title = "";
18583
+ adaptiveTitle = "";
18578
18584
  /**
18579
18585
  * Sets the subtitle text rendered in the header of the popup(action sheet).
18580
18586
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
18581
18587
  */
18582
- set subtitle(subtitle) {
18583
- this._subtitle = subtitle;
18584
- }
18585
- get subtitle() {
18586
- return this._subtitle;
18587
- }
18588
- _subtitle;
18588
+ adaptiveSubtitle = "";
18589
18589
  /**
18590
18590
  * @hidden
18591
18591
  *
@@ -18674,6 +18674,10 @@ class DateRangePopupComponent {
18674
18674
  * @hidden
18675
18675
  */
18676
18676
  checkIcon = checkIcon;
18677
+ /**
18678
+ * @hidden
18679
+ */
18680
+ windowSize;
18677
18681
  /**
18678
18682
  * Gets or sets the visibility state of the component.
18679
18683
  */
@@ -18696,6 +18700,13 @@ class DateRangePopupComponent {
18696
18700
  get show() {
18697
18701
  return this._show;
18698
18702
  }
18703
+ /**
18704
+ * @hidden
18705
+ */
18706
+ handleAccept() {
18707
+ this.dateRangeService.setRange(this._rangeSelection);
18708
+ this.show = false;
18709
+ }
18699
18710
  activateSubscription;
18700
18711
  blurSubscription;
18701
18712
  focusSubscription;
@@ -18707,7 +18718,6 @@ class DateRangePopupComponent {
18707
18718
  _calendar;
18708
18719
  _show;
18709
18720
  _rangeSelection;
18710
- windowSize;
18711
18721
  constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl, adaptiveService) {
18712
18722
  this.popupService = popupService;
18713
18723
  this.dateRangeService = dateRangeService;
@@ -18750,11 +18760,6 @@ class DateRangePopupComponent {
18750
18760
  if (isWindowAvailable()) {
18751
18761
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
18752
18762
  }
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
18763
  }
18759
18764
  ngOnDestroy() {
18760
18765
  this.destroyPopup();
@@ -18842,13 +18847,6 @@ class DateRangePopupComponent {
18842
18847
  this.show = false;
18843
18848
  this.cancel.emit();
18844
18849
  }
18845
- /**
18846
- * @hidden
18847
- */
18848
- handleAccept() {
18849
- this.dateRangeService.setRange(this._rangeSelection);
18850
- this.show = false;
18851
- }
18852
18850
  /**
18853
18851
  * @hidden
18854
18852
  */
@@ -18998,7 +18996,6 @@ class DateRangePopupComponent {
18998
18996
  }
18999
18997
  if (show && !this.actionSheet.expanded) {
19000
18998
  this.actionSheet.toggle();
19001
- this.updateActionSheetAdaptiveAppearance();
19002
18999
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
19003
19000
  }
19004
19001
  else if (!show && this.actionSheet.expanded) {
@@ -19006,32 +19003,13 @@ class DateRangePopupComponent {
19006
19003
  }
19007
19004
  this._show = show;
19008
19005
  }
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
19006
  addCalendarSubscription = (calendar) => {
19029
19007
  this.calendarSubscriptions.add(calendar.viewList.focusedCellChange.subscribe((id) => {
19030
19008
  this.dateRangeService.setActiveDescendent(id);
19031
19009
  }));
19032
19010
  };
19033
19011
  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: [
19012
+ 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
19013
  LocalizationService,
19036
19014
  {
19037
19015
  provide: L10N_PREFIX,
@@ -19050,6 +19028,9 @@ class DateRangePopupComponent {
19050
19028
 
19051
19029
  i18n-cancelLabel="kendo.daterangepopup.cancelLabel|The label for the Cancel button in the timepicker component"
19052
19030
  cancelLabel="Cancel changes"
19031
+
19032
+ 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"
19033
+ adaptiveCloseButtonTitle="Close"
19053
19034
  >
19054
19035
  </ng-container>
19055
19036
  <ng-container #container></ng-container>
@@ -19083,8 +19064,16 @@ class DateRangePopupComponent {
19083
19064
 
19084
19065
  <kendo-actionsheet
19085
19066
  #actionSheet
19086
- (overlayClick)="show=false"
19067
+ (overlayClick)="handleAccept()"
19087
19068
  (collapse)="onBlur.emit()"
19069
+ [cssClass]="{
19070
+ 'k-adaptive-actionsheet': true,
19071
+ 'k-actionsheet-fullscreen': windowSize === 'small',
19072
+ 'k-actionsheet-bottom': windowSize === 'medium'
19073
+ }"
19074
+ [cssStyle]="{
19075
+ height: windowSize === 'small' ? '100vh' : '60vh'
19076
+ }"
19088
19077
  >
19089
19078
  <ng-template kendoActionSheetTemplate>
19090
19079
  <!-- Resize sensor needs to be inside the template because the date-range-popup
@@ -19094,22 +19083,23 @@ class DateRangePopupComponent {
19094
19083
  <div class="k-actionsheet-titlebar">
19095
19084
  <div class="k-actionsheet-titlebar-group">
19096
19085
  <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>
19086
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
19087
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
19099
19088
  </div>
19100
19089
  <div class="k-actionsheet-actions">
19101
19090
  <button
19102
19091
  kendoButton
19103
19092
  type="button"
19104
19093
  icon="check"
19105
- [attr.title]="localization.get('clearTitle')"
19094
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
19106
19095
  [svgIcon]="checkIcon"
19107
19096
  fillMode="flat"
19097
+ themeColor="primary"
19108
19098
  [tabIndex]="-1"
19109
19099
  aria-hidden="true"
19110
- themeColor="primary"
19111
19100
  size="large"
19112
- (click)="show = false">
19101
+ innerCssClass="k-button-icon"
19102
+ (click)="handleAccept()">
19113
19103
  </button>
19114
19104
  </div>
19115
19105
  </div>
@@ -19138,7 +19128,7 @@ class DateRangePopupComponent {
19138
19128
  [value]="dateRangeService.selectionRange"
19139
19129
  selection="range"
19140
19130
  (rangeSelectionChange)="onRangeSelectionChange($event)"
19141
- >
19131
+ >
19142
19132
  </kendo-multiviewcalendar>
19143
19133
  </div>
19144
19134
  </div>
@@ -19166,7 +19156,7 @@ class DateRangePopupComponent {
19166
19156
  </div>
19167
19157
  </ng-template>
19168
19158
  </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"] }] });
19159
+ `, 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
19160
  }
19171
19161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
19172
19162
  type: Component,
@@ -19193,6 +19183,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19193
19183
 
19194
19184
  i18n-cancelLabel="kendo.daterangepopup.cancelLabel|The label for the Cancel button in the timepicker component"
19195
19185
  cancelLabel="Cancel changes"
19186
+
19187
+ 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"
19188
+ adaptiveCloseButtonTitle="Close"
19196
19189
  >
19197
19190
  </ng-container>
19198
19191
  <ng-container #container></ng-container>
@@ -19226,8 +19219,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19226
19219
 
19227
19220
  <kendo-actionsheet
19228
19221
  #actionSheet
19229
- (overlayClick)="show=false"
19222
+ (overlayClick)="handleAccept()"
19230
19223
  (collapse)="onBlur.emit()"
19224
+ [cssClass]="{
19225
+ 'k-adaptive-actionsheet': true,
19226
+ 'k-actionsheet-fullscreen': windowSize === 'small',
19227
+ 'k-actionsheet-bottom': windowSize === 'medium'
19228
+ }"
19229
+ [cssStyle]="{
19230
+ height: windowSize === 'small' ? '100vh' : '60vh'
19231
+ }"
19231
19232
  >
19232
19233
  <ng-template kendoActionSheetTemplate>
19233
19234
  <!-- Resize sensor needs to be inside the template because the date-range-popup
@@ -19237,22 +19238,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19237
19238
  <div class="k-actionsheet-titlebar">
19238
19239
  <div class="k-actionsheet-titlebar-group">
19239
19240
  <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>
19241
+ <div class="k-text-center" *ngIf="adaptiveTitle">{{ adaptiveTitle }}</div>
19242
+ <div class="k-actionsheet-subtitle k-text-center" *ngIf="adaptiveSubtitle">{{ adaptiveSubtitle }}</div>
19242
19243
  </div>
19243
19244
  <div class="k-actionsheet-actions">
19244
19245
  <button
19245
19246
  kendoButton
19246
19247
  type="button"
19247
19248
  icon="check"
19248
- [attr.title]="localization.get('clearTitle')"
19249
+ [attr.title]="localization.get('adaptiveCloseButtonTitle')"
19249
19250
  [svgIcon]="checkIcon"
19250
19251
  fillMode="flat"
19252
+ themeColor="primary"
19251
19253
  [tabIndex]="-1"
19252
19254
  aria-hidden="true"
19253
- themeColor="primary"
19254
19255
  size="large"
19255
- (click)="show = false">
19256
+ innerCssClass="k-button-icon"
19257
+ (click)="handleAccept()">
19256
19258
  </button>
19257
19259
  </div>
19258
19260
  </div>
@@ -19281,7 +19283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19281
19283
  [value]="dateRangeService.selectionRange"
19282
19284
  selection="range"
19283
19285
  (rangeSelectionChange)="onRangeSelectionChange($event)"
19284
- >
19286
+ >
19285
19287
  </kendo-multiviewcalendar>
19286
19288
  </div>
19287
19289
  </div>
@@ -19385,9 +19387,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19385
19387
  type: Input
19386
19388
  }], adaptiveMode: [{
19387
19389
  type: Input
19388
- }], title: [{
19390
+ }], adaptiveTitle: [{
19389
19391
  type: Input
19390
- }], subtitle: [{
19392
+ }], adaptiveSubtitle: [{
19391
19393
  type: Input
19392
19394
  }], size: [{
19393
19395
  type: Input
@@ -19480,7 +19482,7 @@ class DateRangeComponent {
19480
19482
  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
19483
  <ng-content></ng-content>
19482
19484
  <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"] }] });
19485
+ `, 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
19486
  }
19485
19487
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangeComponent, decorators: [{
19486
19488
  type: Component,
@@ -19571,8 +19573,9 @@ class DateRangeInput {
19571
19573
  [
19572
19574
  popup.cancel.subscribe(() => this.isActiveEnd && this.input.focus()),
19573
19575
  popup.onFocus.subscribe(() => this.toggleActiveClass(this.isActiveEnd)),
19574
- popup.onBlur.subscribe(() => this.deactivate())
19575
- ].map(s => this.popupSubscriptions.add(s));
19576
+ popup.onBlur.subscribe(() => this.deactivate()),
19577
+ popup.close?.subscribe(() => this.isActiveEnd && this.input.focus())
19578
+ ].forEach(s => this.popupSubscriptions.add(s));
19576
19579
  }
19577
19580
  unsubscribePopup() {
19578
19581
  this.popupSubscriptions.unsubscribe();