@progress/kendo-angular-dropdowns 19.0.0-develop.3 → 19.0.0-develop.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/autocomplete/autocomplete.component.d.ts +11 -17
  2. package/codemods/template-transformer/index.js +94 -0
  3. package/codemods/utils.js +553 -0
  4. package/codemods/v19/autocomplete-subtitle.js +50 -0
  5. package/codemods/v19/autocomplete-title.js +51 -0
  6. package/codemods/v19/combobox-subtitle.js +50 -0
  7. package/codemods/v19/combobox-title.js +52 -0
  8. package/codemods/v19/dropdownlist-subtitle.js +49 -0
  9. package/codemods/v19/dropdownlist-title.js +51 -0
  10. package/codemods/v19/dropdowntree-subtitle.js +49 -0
  11. package/codemods/v19/dropdowntree-title.js +51 -0
  12. package/codemods/v19/multicolumncombobox-subtitle.js +49 -0
  13. package/codemods/v19/multicolumncombobox-title.js +51 -0
  14. package/codemods/v19/multiselect-subtitle.js +49 -0
  15. package/codemods/v19/multiselect-title.js +51 -0
  16. package/codemods/v19/multiselecttree-subtitle.js +49 -0
  17. package/codemods/v19/multiselecttree-title.js +51 -0
  18. package/comboboxes/combobox.component.d.ts +12 -14
  19. package/common/{action-sheet.component.d.ts → adaptive-renderer.component.d.ts} +10 -13
  20. package/common/list.component.d.ts +8 -1
  21. package/common/localization/messages.d.ts +5 -5
  22. package/common/util.d.ts +0 -6
  23. package/dropdownlist/dropdownlist.component.d.ts +7 -19
  24. package/dropdowntrees/dropdowntree.component.d.ts +9 -16
  25. package/dropdowntrees/multiselecttree.component.d.ts +9 -28
  26. package/esm2022/autocomplete/autocomplete.component.mjs +71 -94
  27. package/esm2022/comboboxes/combobox.component.mjs +85 -100
  28. package/esm2022/comboboxes/multicolumncombobox.component.mjs +23 -26
  29. package/esm2022/common/{action-sheet.component.mjs → adaptive-renderer.component.mjs} +71 -107
  30. package/esm2022/common/list.component.mjs +300 -213
  31. package/esm2022/common/localization/messages.mjs +7 -7
  32. package/esm2022/common/searchbar.component.mjs +2 -3
  33. package/esm2022/common/util.mjs +0 -22
  34. package/esm2022/dropdownlist/dropdownlist.component.mjs +50 -123
  35. package/esm2022/dropdowntrees/dropdowntree.component.mjs +63 -72
  36. package/esm2022/dropdowntrees/multiselecttree.component.mjs +65 -122
  37. package/esm2022/index.mjs +1 -1
  38. package/esm2022/multiselect/multiselect.component.mjs +133 -190
  39. package/esm2022/package-metadata.mjs +2 -2
  40. package/fesm2022/progress-kendo-angular-dropdowns.mjs +920 -1130
  41. package/index.d.ts +1 -1
  42. package/multiselect/multiselect.component.d.ts +13 -26
  43. package/package.json +90 -10
  44. package/schematics/ngAdd/index.js +2 -2
@@ -367,28 +367,6 @@ export const getSearchableItems = (treeViewId, element) => {
367
367
  * @hidden
368
368
  */
369
369
  export const isTruthy = (value) => !!value;
370
- /**
371
- * @hidden
372
- */
373
- export const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, renderer) => {
374
- const element = actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
375
- const animationContainer = actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
376
- if (windowSize === 'medium') {
377
- renderer.removeClass(element, 'k-actionsheet-fullscreen');
378
- renderer.addClass(element, 'k-actionsheet-bottom');
379
- renderer.addClass(element, 'k-adaptive-actionsheet');
380
- renderer.removeStyle(animationContainer, 'top');
381
- renderer.removeStyle(animationContainer, 'height');
382
- renderer.setStyle(animationContainer, 'bottom', '0px');
383
- }
384
- else if (windowSize === 'small') {
385
- renderer.removeClass(element, 'k-actionsheet-bottom');
386
- renderer.addClass(element, 'k-actionsheet-fullscreen');
387
- renderer.addClass(element, 'k-adaptive-actionsheet');
388
- renderer.setStyle(animationContainer, 'bottom', '0px');
389
- renderer.setStyle(animationContainer, 'height', '100%');
390
- }
391
- };
392
370
  /**
393
371
  * @hidden
394
372
  */
@@ -10,7 +10,7 @@ import { merge, interval, Subscription } from 'rxjs';
10
10
  import { concatMap, filter, map, skipWhile, take, takeUntil, tap } from 'rxjs/operators';
11
11
  import { isDocumentAvailable, KendoInput, hasObservers, anyChanged, isChanged, EventsOutsideAngularDirective, ResizeSensorComponent, Keys, TemplateContextDirective } from '@progress/kendo-angular-common';
12
12
  import { AdaptiveService } from '@progress/kendo-angular-utils';
13
- import { isPresent, guid, getter, shuffleData, sameCharsOnly, matchText, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, updateActionSheetAdaptiveAppearance, setListBoxAriaLabelledBy, setActionSheetTitle, animationDuration } from '../common/util';
13
+ import { isPresent, guid, getter, shuffleData, sameCharsOnly, matchText, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, setListBoxAriaLabelledBy, setActionSheetTitle, animationDuration } from '../common/util';
14
14
  import { SelectionService } from '../common/selection/selection.service';
15
15
  import { NavigationService, NavigationEvent } from '../common/navigation/navigation.service';
16
16
  import { ItemTemplateDirective } from '../common/templates/item-template.directive';
@@ -31,8 +31,7 @@ import { FilterableComponent } from '../common/filtering/filterable-component';
31
31
  import { ListComponent } from '../common/list.component';
32
32
  import { normalizeVirtualizationSettings } from '../common/models/virtualization-settings';
33
33
  import { caretAltDownIcon, searchIcon, xIcon } from '@progress/kendo-svg-icons';
34
- import { ResponsiveRendererComponent } from '../common/action-sheet.component';
35
- import { SelectableDirective } from '../common/selection/selectable.directive';
34
+ import { AdaptiveRendererComponent } from '../common/adaptive-renderer.component';
36
35
  import { FilterInputDirective } from '../common/filter-input.directive';
37
36
  import { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
38
37
  import { LocalizedMessagesDirective } from '../common/localization/localized-messages.directive';
@@ -115,18 +114,18 @@ export class DropDownListComponent {
115
114
  /**
116
115
  * @hidden
117
116
  */
118
- responsiveRendererComponent;
117
+ adaptiveRenderer;
119
118
  /**
120
119
  * @hidden
121
120
  */
122
121
  get actionSheet() {
123
- return this.responsiveRendererComponent?.actionSheet;
122
+ return this.adaptiveRenderer?.actionSheet;
124
123
  }
125
124
  /**
126
125
  * @hidden
127
126
  */
128
127
  get actionSheetSearchBar() {
129
- return this.responsiveRendererComponent?.actionSheetSearchBar;
128
+ return this.adaptiveRenderer?.actionSheetSearchBar;
130
129
  }
131
130
  get width() {
132
131
  const wrapperWidth = isDocumentAvailable() ? this.wrapper.nativeElement.offsetWidth : 0;
@@ -252,14 +251,14 @@ export class DropDownListComponent {
252
251
  adaptiveMode = 'none';
253
252
  /**
254
253
  * Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
255
- * By default the ActionSheet title uses the text provided for the label of the AutoComplete.
254
+ * By default the ActionSheet title uses the text provided for the label of the DropDownList.
256
255
  */
257
- title = '';
256
+ adaptiveTitle = '';
258
257
  /**
259
258
  * Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
260
- * By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
259
+ * By default the ActionSheet does not render a subtitle.
261
260
  */
262
- subtitle = '';
261
+ adaptiveSubtitle = '';
263
262
  /**
264
263
  * @hidden
265
264
  */
@@ -743,11 +742,6 @@ export class DropDownListComponent {
743
742
  }
744
743
  ngAfterViewInit() {
745
744
  this.windowSize = this.adaptiveService.size;
746
- if (this.actionSheet && isDocumentAvailable()) {
747
- // The following syntax is used as it does not violate CSP compliance
748
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-height', '60vh');
749
- this.actionSheet.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
750
- }
751
745
  }
752
746
  /**
753
747
  * @hidden
@@ -944,12 +938,6 @@ export class DropDownListComponent {
944
938
  get filterInputClasses() {
945
939
  return `${this.size ? getSizeClass('input', this.size) : ''} ${this.fillMode ? 'k-input-' + this.fillMode : ''} ${this.rounded ? getRoundedClass(this.rounded) : ''}`;
946
940
  }
947
- /**
948
- * @hidden
949
- */
950
- get optionLabelSizeClass() {
951
- return `${this.size ? getSizeClass('list', this.size) : ''}`;
952
- }
953
941
  /**
954
942
  * @hidden
955
943
  */
@@ -960,24 +948,12 @@ export class DropDownListComponent {
960
948
  }
961
949
  return containerClasses;
962
950
  }
963
- /**
964
- * @hidden
965
- */
966
- get isDisabledDefaultItem() {
967
- return this.disabledItemsService.isItemDisabled(this.defaultItem);
968
- }
969
951
  /**
970
952
  * @hidden
971
953
  */
972
954
  getText() {
973
955
  return this.text;
974
956
  }
975
- /**
976
- * @hidden
977
- */
978
- getDefaultItemText() {
979
- return getter(this.defaultItem, this.textField);
980
- }
981
957
  createPopup() {
982
958
  if (this.virtual) {
983
959
  this.virtual.skip = 0;
@@ -1458,31 +1434,26 @@ export class DropDownListComponent {
1458
1434
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
1459
1435
  this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
1460
1436
  if (this.filterable) {
1461
- this.responsiveRendererComponent.searchBarValue = '';
1437
+ this.adaptiveRenderer.searchBarValue = '';
1462
1438
  this.filterChange.emit('');
1463
1439
  }
1464
1440
  this.closed.emit();
1465
1441
  }
1466
1442
  openActionSheet() {
1467
- this.windowSize = this.adaptiveService.size;
1468
1443
  this.actionSheet.toggle(true);
1469
1444
  this.cdr.detectChanges();
1470
1445
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
1471
1446
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
1472
1447
  setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
1473
1448
  this.setAriaactivedescendant();
1474
- this.title = setActionSheetTitle(this.wrapper, this.title);
1475
- updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
1449
+ this.adaptiveTitle = setActionSheetTitle(this.wrapper, this.adaptiveTitle);
1476
1450
  this.cdr.detectChanges();
1477
- this.opened.emit();
1478
1451
  this.optionsList.scrollToItem(this.selectionService.focused);
1479
1452
  this.selectionService.focus(this.selectionService.focused);
1480
- if (this.filterable) {
1481
- this.actionSheetSearchBar.focus();
1482
- }
1453
+ this.opened.emit();
1483
1454
  }
1484
1455
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownListComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.SelectionService }, { token: i4.NavigationService }, { token: i5.DisabledItemsService }, { token: i6.DataService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i7.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
1485
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropDownListComponent, isStandalone: true, selector: "kendo-dropdownlist", inputs: { customIconClass: "customIconClass", showStickyHeader: "showStickyHeader", icon: "icon", svgIcon: "svgIcon", loading: "loading", data: "data", value: "value", textField: "textField", valueField: "valueField", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", defaultItem: "defaultItem", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", filterable: "filterable", virtual: "virtual", ignoreCase: "ignoreCase", delay: "delay", valuePrimitive: "valuePrimitive", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", leftRightArrowsNavigation: "leftRightArrowsNavigation", focusableId: ["id", "focusableId"] }, outputs: { valueChange: "valueChange", filterChange: "filterChange", selectionChange: "selectionChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keypress": "keypress($event)", "click": "click()" }, properties: { "class.k-readonly": "this.readonly", "class.k-dropdownlist": "this.hostClasses", "class.k-picker": "this.hostClasses", "class.k-disabled": "this.isDisabledClass", "attr.aria-disabled": "this.isDisabledClass", "class.k-loading": "this.isLoading", "attr.id": "this.focusableId", "attr.dir": "this.dir", "attr.tabindex": "this.hostTabIndex", "attr.readonly": "this.readonlyAttr", "attr.aria-busy": "this.isBusy", "attr.role": "this.role", "attr.aria-haspopup": "this.haspopup", "attr.aria-invalid": "this.hostAriaInvalid" } }, providers: [
1456
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropDownListComponent, isStandalone: true, selector: "kendo-dropdownlist", inputs: { customIconClass: "customIconClass", showStickyHeader: "showStickyHeader", icon: "icon", svgIcon: "svgIcon", loading: "loading", data: "data", value: "value", textField: "textField", valueField: "valueField", adaptiveMode: "adaptiveMode", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", popupSettings: "popupSettings", listHeight: "listHeight", defaultItem: "defaultItem", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", filterable: "filterable", virtual: "virtual", ignoreCase: "ignoreCase", delay: "delay", valuePrimitive: "valuePrimitive", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", leftRightArrowsNavigation: "leftRightArrowsNavigation", focusableId: ["id", "focusableId"] }, outputs: { valueChange: "valueChange", filterChange: "filterChange", selectionChange: "selectionChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keypress": "keypress($event)", "click": "click()" }, properties: { "class.k-readonly": "this.readonly", "class.k-dropdownlist": "this.hostClasses", "class.k-picker": "this.hostClasses", "class.k-disabled": "this.isDisabledClass", "attr.aria-disabled": "this.isDisabledClass", "class.k-loading": "this.isLoading", "attr.id": "this.focusableId", "attr.dir": "this.dir", "attr.tabindex": "this.hostTabIndex", "attr.readonly": "this.readonlyAttr", "attr.aria-busy": "this.isBusy", "attr.role": "this.role", "attr.aria-haspopup": "this.haspopup", "attr.aria-invalid": "this.hostAriaInvalid" } }, providers: [
1486
1457
  DROPDOWNLIST_VALUE_ACCESSOR,
1487
1458
  DataService,
1488
1459
  SelectionService,
@@ -1499,7 +1470,7 @@ export class DropDownListComponent {
1499
1470
  {
1500
1471
  provide: KendoInput, useExisting: forwardRef(() => DropDownListComponent)
1501
1472
  }
1502
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoDropDownList"], usesOnChanges: true, ngImport: i0, template: `
1473
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "adaptiveRenderer", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoDropDownList"], usesOnChanges: true, ngImport: i0, template: `
1503
1474
  <ng-container kendoDropDownListLocalizedMessages
1504
1475
  i18n-noDataText="kendo.dropdownlist.noDataText|The text displayed in the popup when there are no items"
1505
1476
  noDataText="NO DATA FOUND"
@@ -1512,6 +1483,12 @@ export class DropDownListComponent {
1512
1483
 
1513
1484
  i18n-popupLabel="kendo.dropdownlist.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1514
1485
  popupLabel="Options list"
1486
+
1487
+ i18n-adaptiveCloseButtonTitle="kendo.dropdownlist.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"
1488
+ adaptiveCloseButtonTitle="Close"
1489
+
1490
+ i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
1491
+ filterInputPlaceholder="Filter"
1515
1492
  >
1516
1493
  </ng-container>
1517
1494
  <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
@@ -1543,8 +1520,7 @@ export class DropDownListComponent {
1543
1520
  [name]="icon || 'caret-alt-down'"
1544
1521
  innerCssClass="k-button-icon"
1545
1522
  [customFontClass]="customIconClass"
1546
- [svgIcon]="svgIcon || caretAltDownSVGIcon"
1547
- >
1523
+ [svgIcon]="svgIcon || caretAltDownSVGIcon">
1548
1524
  </kendo-icon-wrapper>
1549
1525
  </button>
1550
1526
  <ng-template #popupTemplate>
@@ -1553,17 +1529,15 @@ export class DropDownListComponent {
1553
1529
  <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
1554
1530
  <ng-container #container></ng-container>
1555
1531
 
1556
- <!--adaptive rendering-->
1557
- <responsive-renderer
1532
+ <kendo-adaptive-renderer
1558
1533
  [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1559
- [isActionSheetExpanded]="isActionSheetExpanded"
1560
- [title]="title"
1534
+ [title]="adaptiveTitle"
1561
1535
  [showTextInput]="filterable"
1562
- [subtitle]="subtitle"
1536
+ [subtitle]="adaptiveSubtitle"
1563
1537
  (closePopup)="togglePopup(false)"
1564
1538
  (textInputChange)="onFilterChange($event)"
1565
- >
1566
- </responsive-renderer>
1539
+ [filterable]="filterable">
1540
+ </kendo-adaptive-renderer>
1567
1541
 
1568
1542
  <ng-template #sharedPopupActionSheetTemplate>
1569
1543
  <!--filterable-->
@@ -1598,32 +1572,6 @@ export class DropDownListComponent {
1598
1572
  </span>
1599
1573
  </div>
1600
1574
  </ng-template>
1601
- <!--default item-->
1602
- <ng-template [ngIf]="defaultItem && !itemTemplate">
1603
- <div
1604
- class="k-list"
1605
- [ngClass]="optionLabelSizeClass"
1606
- >
1607
- <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
1608
- {{ getDefaultItemText() }}
1609
- </div>
1610
- </div>
1611
- </ng-template>
1612
- <ng-template [ngIf]="defaultItem && itemTemplate">
1613
- <div
1614
- class="k-list"
1615
- [ngClass]="optionLabelSizeClass"
1616
- >
1617
- <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
1618
- <ng-template
1619
- [templateContext]="{
1620
- templateRef: itemTemplate.templateRef,
1621
- $implicit: defaultItem
1622
- }">
1623
- </ng-template>
1624
- </div>
1625
- </div>
1626
- </ng-template>
1627
1575
  <!--header template-->
1628
1576
  <ng-template *ngIf="headerTemplate"
1629
1577
  [templateContext]="{
@@ -1634,7 +1582,7 @@ export class DropDownListComponent {
1634
1582
  <kendo-list
1635
1583
  #optionsList
1636
1584
  [id]="listBoxId"
1637
- [size]="size"
1585
+ [size]="isAdaptive ? 'large' : size"
1638
1586
  [rounded]="rounded"
1639
1587
  [optionPrefix]="optionPrefix"
1640
1588
  [data]="data"
@@ -1648,7 +1596,8 @@ export class DropDownListComponent {
1648
1596
  [virtual]="virtual"
1649
1597
  [ariaLive]="ariaLive"
1650
1598
  [showStickyHeader]="showStickyHeader"
1651
- (pageChange)="pageChange($event)">
1599
+ (pageChange)="pageChange($event)"
1600
+ [defaultItem]="defaultItem">
1652
1601
  </kendo-list>
1653
1602
  <!--no-data template-->
1654
1603
  <div class="k-no-data" *ngIf="data.length === 0">
@@ -1668,7 +1617,7 @@ export class DropDownListComponent {
1668
1617
  }">
1669
1618
  </ng-template>
1670
1619
  </ng-template>
1671
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
1620
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-adaptive-renderer", inputs: ["title", "subtitle", "showTextInput", "sharedPopupActionSheetTemplate", "text", "placeholder", "searchBarValue", "filterable"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
1672
1621
  }
1673
1622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownListComponent, decorators: [{
1674
1623
  type: Component,
@@ -1706,6 +1655,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1706
1655
 
1707
1656
  i18n-popupLabel="kendo.dropdownlist.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1708
1657
  popupLabel="Options list"
1658
+
1659
+ i18n-adaptiveCloseButtonTitle="kendo.dropdownlist.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"
1660
+ adaptiveCloseButtonTitle="Close"
1661
+
1662
+ i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
1663
+ filterInputPlaceholder="Filter"
1709
1664
  >
1710
1665
  </ng-container>
1711
1666
  <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
@@ -1737,8 +1692,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1737
1692
  [name]="icon || 'caret-alt-down'"
1738
1693
  innerCssClass="k-button-icon"
1739
1694
  [customFontClass]="customIconClass"
1740
- [svgIcon]="svgIcon || caretAltDownSVGIcon"
1741
- >
1695
+ [svgIcon]="svgIcon || caretAltDownSVGIcon">
1742
1696
  </kendo-icon-wrapper>
1743
1697
  </button>
1744
1698
  <ng-template #popupTemplate>
@@ -1747,17 +1701,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1747
1701
  <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
1748
1702
  <ng-container #container></ng-container>
1749
1703
 
1750
- <!--adaptive rendering-->
1751
- <responsive-renderer
1704
+ <kendo-adaptive-renderer
1752
1705
  [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1753
- [isActionSheetExpanded]="isActionSheetExpanded"
1754
- [title]="title"
1706
+ [title]="adaptiveTitle"
1755
1707
  [showTextInput]="filterable"
1756
- [subtitle]="subtitle"
1708
+ [subtitle]="adaptiveSubtitle"
1757
1709
  (closePopup)="togglePopup(false)"
1758
1710
  (textInputChange)="onFilterChange($event)"
1759
- >
1760
- </responsive-renderer>
1711
+ [filterable]="filterable">
1712
+ </kendo-adaptive-renderer>
1761
1713
 
1762
1714
  <ng-template #sharedPopupActionSheetTemplate>
1763
1715
  <!--filterable-->
@@ -1792,32 +1744,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1792
1744
  </span>
1793
1745
  </div>
1794
1746
  </ng-template>
1795
- <!--default item-->
1796
- <ng-template [ngIf]="defaultItem && !itemTemplate">
1797
- <div
1798
- class="k-list"
1799
- [ngClass]="optionLabelSizeClass"
1800
- >
1801
- <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
1802
- {{ getDefaultItemText() }}
1803
- </div>
1804
- </div>
1805
- </ng-template>
1806
- <ng-template [ngIf]="defaultItem && itemTemplate">
1807
- <div
1808
- class="k-list"
1809
- [ngClass]="optionLabelSizeClass"
1810
- >
1811
- <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
1812
- <ng-template
1813
- [templateContext]="{
1814
- templateRef: itemTemplate.templateRef,
1815
- $implicit: defaultItem
1816
- }">
1817
- </ng-template>
1818
- </div>
1819
- </div>
1820
- </ng-template>
1821
1747
  <!--header template-->
1822
1748
  <ng-template *ngIf="headerTemplate"
1823
1749
  [templateContext]="{
@@ -1828,7 +1754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1828
1754
  <kendo-list
1829
1755
  #optionsList
1830
1756
  [id]="listBoxId"
1831
- [size]="size"
1757
+ [size]="isAdaptive ? 'large' : size"
1832
1758
  [rounded]="rounded"
1833
1759
  [optionPrefix]="optionPrefix"
1834
1760
  [data]="data"
@@ -1842,7 +1768,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1842
1768
  [virtual]="virtual"
1843
1769
  [ariaLive]="ariaLive"
1844
1770
  [showStickyHeader]="showStickyHeader"
1845
- (pageChange)="pageChange($event)">
1771
+ (pageChange)="pageChange($event)"
1772
+ [defaultItem]="defaultItem">
1846
1773
  </kendo-list>
1847
1774
  <!--no-data template-->
1848
1775
  <div class="k-no-data" *ngIf="data.length === 0">
@@ -1864,13 +1791,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1864
1791
  </ng-template>
1865
1792
  `,
1866
1793
  standalone: true,
1867
- imports: [LocalizedMessagesDirective, NgIf, TemplateContextDirective, NgClass, EventsOutsideAngularDirective, IconWrapperComponent, NgTemplateOutlet, ResizeSensorComponent, ResponsiveRendererComponent, ReactiveFormsModule, FilterInputDirective, FormsModule, SelectableDirective, ListComponent]
1794
+ imports: [LocalizedMessagesDirective, NgIf, TemplateContextDirective, NgClass, EventsOutsideAngularDirective, IconWrapperComponent, NgTemplateOutlet, ResizeSensorComponent, AdaptiveRendererComponent, ReactiveFormsModule, FilterInputDirective, FormsModule, ListComponent]
1868
1795
  }]
1869
1796
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.PopupService }, { type: i3.SelectionService }, { type: i4.NavigationService }, { type: i5.DisabledItemsService }, { type: i6.DataService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i7.AdaptiveService }]; }, propDecorators: { customIconClass: [{
1870
1797
  type: Input
1871
- }], responsiveRendererComponent: [{
1798
+ }], adaptiveRenderer: [{
1872
1799
  type: ViewChild,
1873
- args: [ResponsiveRendererComponent]
1800
+ args: [AdaptiveRendererComponent]
1874
1801
  }], showStickyHeader: [{
1875
1802
  type: Input
1876
1803
  }], icon: [{
@@ -1889,9 +1816,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1889
1816
  type: Input
1890
1817
  }], adaptiveMode: [{
1891
1818
  type: Input
1892
- }], title: [{
1819
+ }], adaptiveTitle: [{
1893
1820
  type: Input
1894
- }], subtitle: [{
1821
+ }], adaptiveSubtitle: [{
1895
1822
  type: Input
1896
1823
  }], popupSettings: [{
1897
1824
  type: Input