@progress/kendo-angular-dropdowns 11.0.0-develop.92 → 11.0.0-develop.94

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.
@@ -31,6 +31,7 @@ import { DataService } from '../common/data.service';
31
31
  import { FilterableComponent } from '../common/filtering/filterable-component';
32
32
  import { ListComponent } from '../common/list.component';
33
33
  import { normalizeVirtualizationSettings } from '../common/models/virtualization-settings';
34
+ import { caretAltDownIcon, searchIcon } from '@progress/kendo-svg-icons';
34
35
  import * as i0 from "@angular/core";
35
36
  import * as i1 from "@progress/kendo-angular-l10n";
36
37
  import * as i2 from "@progress/kendo-angular-popup";
@@ -38,14 +39,15 @@ import * as i3 from "../common/selection/selection.service";
38
39
  import * as i4 from "../common/navigation/navigation.service";
39
40
  import * as i5 from "../common/disabled-items/disabled-items.service";
40
41
  import * as i6 from "../common/data.service";
41
- import * as i7 from "../common/list.component";
42
- import * as i8 from "@progress/kendo-angular-common";
43
- import * as i9 from "../common/localization/localized-messages.directive";
44
- import * as i10 from "@angular/common";
45
- import * as i11 from "../common/templates/template-context.directive";
46
- import * as i12 from "@angular/forms";
47
- import * as i13 from "../common/filter-input.directive";
48
- import * as i14 from "../common/selection/selectable.directive";
42
+ import * as i7 from "@progress/kendo-angular-icons";
43
+ import * as i8 from "../common/list.component";
44
+ import * as i9 from "@progress/kendo-angular-common";
45
+ import * as i10 from "../common/localization/localized-messages.directive";
46
+ import * as i11 from "@angular/common";
47
+ import * as i12 from "../common/templates/template-context.directive";
48
+ import * as i13 from "@angular/forms";
49
+ import * as i14 from "../common/filter-input.directive";
50
+ import * as i15 from "../common/selection/selectable.directive";
49
51
  /**
50
52
  * @hidden
51
53
  */
@@ -88,6 +90,14 @@ export class DropDownListComponent {
88
90
  this.cdr = cdr;
89
91
  this.touchEnabled = touchEnabled;
90
92
  this.injector = injector;
93
+ /**
94
+ * @hidden
95
+ */
96
+ this.searchIcon = searchIcon;
97
+ /**
98
+ * @hidden
99
+ */
100
+ this.caretAltDownIcon = caretAltDownIcon;
91
101
  /**
92
102
  * Sets the height of the options list. By default, `listHeight` is 200px.
93
103
  *
@@ -749,7 +759,7 @@ export class DropDownListComponent {
749
759
  * @hidden
750
760
  */
751
761
  get buttonClasses() {
752
- return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-caret-alt-down';
762
+ return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass;
753
763
  }
754
764
  /**
755
765
  * @hidden
@@ -1278,12 +1288,15 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1278
1288
  mousedown: onMouseDown
1279
1289
  }"
1280
1290
  >
1281
- <span
1282
- class="k-button-icon k-icon"
1291
+ <kendo-icon-wrapper
1292
+ *ngIf="!loading && !iconClass"
1283
1293
  unselectable="on"
1284
- [ngClass]="buttonClasses"
1285
- ></span>
1286
- </button>
1294
+ name="caret-alt-down"
1295
+ [svgIcon]="caretAltDownIcon"
1296
+ >
1297
+ </kendo-icon-wrapper>
1298
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
1299
+ </button>
1287
1300
  <ng-template #popupTemplate>
1288
1301
  <!--filterable-->
1289
1302
 
@@ -1293,7 +1306,12 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1293
1306
  class="k-searchbox k-input"
1294
1307
  [ngClass]="filterInputClasses"
1295
1308
  >
1296
- <span class="k-input-icon k-icon k-i-search" unselectable="on"></span>
1309
+ <kendo-icon-wrapper
1310
+ class="k-icon"
1311
+ name="search"
1312
+ [svgIcon]="searchIcon"
1313
+ >
1314
+ </kendo-icon-wrapper>
1297
1315
  <input
1298
1316
  role="searchbox"
1299
1317
  aria-autocomplete="list"
@@ -1386,7 +1404,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1386
1404
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1387
1405
  </ng-template>
1388
1406
  <ng-container #container></ng-container>
1389
- `, isInline: true, components: [{ type: i7.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i9.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i13.FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i14.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
1407
+ `, isInline: true, components: [{ type: i7.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i14.FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i13.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i15.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
1390
1408
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropDownListComponent, decorators: [{
1391
1409
  type: Component,
1392
1410
  args: [{
@@ -1441,12 +1459,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1441
1459
  mousedown: onMouseDown
1442
1460
  }"
1443
1461
  >
1444
- <span
1445
- class="k-button-icon k-icon"
1462
+ <kendo-icon-wrapper
1463
+ *ngIf="!loading && !iconClass"
1446
1464
  unselectable="on"
1447
- [ngClass]="buttonClasses"
1448
- ></span>
1449
- </button>
1465
+ name="caret-alt-down"
1466
+ [svgIcon]="caretAltDownIcon"
1467
+ >
1468
+ </kendo-icon-wrapper>
1469
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
1470
+ </button>
1450
1471
  <ng-template #popupTemplate>
1451
1472
  <!--filterable-->
1452
1473
 
@@ -1456,7 +1477,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1456
1477
  class="k-searchbox k-input"
1457
1478
  [ngClass]="filterInputClasses"
1458
1479
  >
1459
- <span class="k-input-icon k-icon k-i-search" unselectable="on"></span>
1480
+ <kendo-icon-wrapper
1481
+ class="k-icon"
1482
+ name="search"
1483
+ [svgIcon]="searchIcon"
1484
+ >
1485
+ </kendo-icon-wrapper>
1460
1486
  <input
1461
1487
  role="searchbox"
1462
1488
  aria-autocomplete="list"
@@ -14,27 +14,29 @@ import { NavigationService } from '../common/navigation/navigation.service';
14
14
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
15
15
  import { SelectionService } from '../common/selection/selection.service';
16
16
  import { PreventableEvent } from '../common/models/preventable-event';
17
- import { getFillModeClass, getRoundedClass, getSizeClass, inDropDown, isArray, isPresent, isUntouched, noop } from '../common/util';
17
+ import { getFillModeClass, getRoundedClass, getSearchableItems, getSizeClass, inDropDown, isArray, isLetter, isPresent, isUntouched, noop } from '../common/util';
18
18
  import { NoDataTemplateDirective } from '../common/templates/no-data-template.directive';
19
- import { of } from 'rxjs';
20
- import { tap } from 'rxjs/operators';
19
+ import { of, Subject, Subscription } from 'rxjs';
20
+ import { debounceTime, tap } from 'rxjs/operators';
21
21
  import { HeaderTemplateDirective } from '../common/templates/header-template.directive';
22
22
  import { FooterTemplateDirective } from '../common/templates/footer-template.directive';
23
23
  import { NodeTemplateDirective } from './templates/node-template.directive';
24
24
  import { DropDownTreeMessages } from '../common/constants/error-messages';
25
25
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
26
26
  import { ValueTemplateDirective } from '../common/templates/value-template.directive';
27
+ import { caretAltDownIcon, searchIcon, xIcon } from '@progress/kendo-svg-icons';
27
28
  import * as i0 from "@angular/core";
28
29
  import * as i1 from "@progress/kendo-angular-popup";
29
30
  import * as i2 from "../common/navigation/navigation.service";
30
31
  import * as i3 from "@progress/kendo-angular-l10n";
31
- import * as i4 from "@progress/kendo-angular-treeview";
32
- import * as i5 from "../common/localization/localized-messages.directive";
33
- import * as i6 from "@angular/common";
34
- import * as i7 from "../common/templates/template-context.directive";
35
- import * as i8 from "@angular/forms";
36
- import * as i9 from "../common/filter-input.directive";
37
- import * as i10 from "@progress/kendo-angular-common";
32
+ import * as i4 from "@progress/kendo-angular-icons";
33
+ import * as i5 from "@progress/kendo-angular-treeview";
34
+ import * as i6 from "../common/localization/localized-messages.directive";
35
+ import * as i7 from "@angular/common";
36
+ import * as i8 from "../common/templates/template-context.directive";
37
+ import * as i9 from "@angular/forms";
38
+ import * as i10 from "../common/filter-input.directive";
39
+ import * as i11 from "@progress/kendo-angular-common";
38
40
  const DEFAULT_POPUP_SETTINGS = { animate: true };
39
41
  const hasChildren = () => false;
40
42
  const fetchChildren = () => of([]);
@@ -57,6 +59,18 @@ export class DropDownTreeComponent {
57
59
  this.cdr = cdr;
58
60
  this.localization = localization;
59
61
  this.touchEnabled = touchEnabled;
62
+ /**
63
+ * @hidden
64
+ */
65
+ this.searchIcon = searchIcon;
66
+ /**
67
+ * @hidden
68
+ */
69
+ this.caretAltDownIcon = caretAltDownIcon;
70
+ /**
71
+ * @hidden
72
+ */
73
+ this.xIcon = xIcon;
60
74
  this.hostClasses = true;
61
75
  this.role = 'combobox';
62
76
  this.ariaHasPopup = 'tree';
@@ -198,7 +212,10 @@ export class DropDownTreeComponent {
198
212
  this._size = 'medium';
199
213
  this._rounded = 'medium';
200
214
  this._fillMode = 'solid';
201
- this.subscriptions = [];
215
+ this._searchableNodes = [];
216
+ this._typedValue = '';
217
+ this.printableCharacters = new Subject();
218
+ this.subs = new Subscription();
202
219
  this.onTouchedCallback = noop;
203
220
  this.onChangeCallback = noop;
204
221
  this.direction = localization.rtl ? 'rtl' : 'ltr';
@@ -252,6 +269,9 @@ export class DropDownTreeComponent {
252
269
  if (this.disabled || this.readonly) {
253
270
  return;
254
271
  }
272
+ if (isLetter(event.key)) {
273
+ this.printableCharacters.next(event.key);
274
+ }
255
275
  const eventData = event;
256
276
  this.navigationService.process({
257
277
  originalEvent: eventData
@@ -501,9 +521,20 @@ export class DropDownTreeComponent {
501
521
  return ngControl?.control || null;
502
522
  }
503
523
  ngOnInit() {
524
+ this.subs.add(this.printableCharacters.pipe(tap((char) => {
525
+ this._typedValue += char;
526
+ const itemToFocus = this._searchableNodes.find((node) => {
527
+ return node.text.toLowerCase().indexOf(this._typedValue) === 0;
528
+ });
529
+ this.treeview.focus(itemToFocus?.index);
530
+ const htmlItem = document.querySelector(`kendo-popup[id='${this._popupId}'] li.k-treeview-item[data-treeindex='${itemToFocus?.index}']`);
531
+ htmlItem?.scrollIntoView();
532
+ }), debounceTime(1000)).subscribe(() => {
533
+ this._typedValue = '';
534
+ }));
504
535
  this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
505
536
  this.assignAriaDescribedBy();
506
- this.subscriptions.push(this.localization
537
+ this.subs.add(this.localization
507
538
  .changes.subscribe(({ rtl }) => {
508
539
  this.direction = rtl ? 'rtl' : 'ltr';
509
540
  this.cdr.markForCheck();
@@ -757,7 +788,7 @@ export class DropDownTreeComponent {
757
788
  * @hidden
758
789
  */
759
790
  get buttonClasses() {
760
- return this.loading ? 'k-i-loading k-input-loading-icon' : 'k-i-caret-alt-down';
791
+ return this.loading ? 'k-i-loading k-input-loading-icon' : null;
761
792
  }
762
793
  /**
763
794
  * @hidden
@@ -802,6 +833,16 @@ export class DropDownTreeComponent {
802
833
  }
803
834
  return null;
804
835
  }
836
+ /**
837
+ * @hidden
838
+ */
839
+ onChildrenLoaded() {
840
+ setTimeout(() => {
841
+ if (this.popupRef) {
842
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
843
+ }
844
+ });
845
+ }
805
846
  /**
806
847
  * @hidden
807
848
  *
@@ -858,6 +899,7 @@ export class DropDownTreeComponent {
858
899
  this.popupRef.popupOpen.subscribe(() => {
859
900
  this.cdr.detectChanges();
860
901
  this.opened.emit();
902
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
861
903
  });
862
904
  this.popupRef.popupClose.subscribe(() => {
863
905
  this.closed.emit();
@@ -899,33 +941,41 @@ export class DropDownTreeComponent {
899
941
  this.selectedKeys = [];
900
942
  }
901
943
  subscribeEvents() {
902
- this.subscriptions.push(this.navigationService.open.subscribe((event) => {
903
- event.originalEvent.preventDefault();
904
- this.togglePopup(true);
905
- }), this.navigationService.close.subscribe((event) => {
906
- event.originalEvent.preventDefault();
907
- this.togglePopup(false);
908
- this.focus();
909
- }), this.navigationService.enter
910
- .pipe(tap((event) => event.originalEvent.preventDefault()))
911
- .subscribe(() => this.togglePopup(true)), this.navigationService.esc
912
- .subscribe(() => this.handleEscape()), this.navigationService.tab.subscribe(() => this.focus()), this.navigationService.down.subscribe((event) => {
913
- if (!this.treeview) {
914
- return;
915
- }
916
- event.originalEvent.preventDefault();
917
- if (!this.treeview.isActive) {
918
- this.treeview.focus();
919
- }
920
- }), this.navigationService.up.subscribe((event) => {
921
- if (!this.treeview) {
922
- return;
923
- }
924
- event.originalEvent.preventDefault();
925
- if (this.filterable && this.treeview['navigationService']['activeIndex'] === '0') {
926
- this.filterInput.nativeElement.focus();
927
- }
928
- }));
944
+ [
945
+ this.navigationService.open.subscribe((event) => {
946
+ event.originalEvent.preventDefault();
947
+ this.togglePopup(true);
948
+ }),
949
+ this.navigationService.close.subscribe((event) => {
950
+ event.originalEvent.preventDefault();
951
+ this.togglePopup(false);
952
+ this.focus();
953
+ }),
954
+ this.navigationService.enter
955
+ .pipe(tap((event) => event.originalEvent.preventDefault()))
956
+ .subscribe(() => this.togglePopup(true)),
957
+ this.navigationService.esc
958
+ .subscribe(() => this.handleEscape()),
959
+ this.navigationService.tab.subscribe(() => this.focus()),
960
+ this.navigationService.down.subscribe((event) => {
961
+ if (!this.treeview) {
962
+ return;
963
+ }
964
+ event.originalEvent.preventDefault();
965
+ if (!this.treeview.isActive) {
966
+ this.treeview.focus();
967
+ }
968
+ }),
969
+ this.navigationService.up.subscribe((event) => {
970
+ if (!this.treeview) {
971
+ return;
972
+ }
973
+ event.originalEvent.preventDefault();
974
+ if (this.filterable && this.treeview['navigationService']['activeIndex'] === '0') {
975
+ this.filterInput.nativeElement.focus();
976
+ }
977
+ })
978
+ ].forEach(sub => this.subs.add(sub));
929
979
  }
930
980
  subscribeTouchEvents() {
931
981
  if (!isDocumentAvailable() || !this.touchEnabled) {
@@ -964,7 +1014,7 @@ export class DropDownTreeComponent {
964
1014
  }
965
1015
  }
966
1016
  unsubscribeEvents() {
967
- this.subscriptions.forEach(sub => sub.unsubscribe());
1017
+ this.subs.unsubscribe();
968
1018
  this.unSubscribeFocusEvents();
969
1019
  if (this.touchstartDisposeHandler) {
970
1020
  this.touchstartDisposeHandler();
@@ -1057,7 +1107,12 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1057
1107
  [attr.title]="messageFor('clearTitle')"
1058
1108
  (click)="clearValue($event)"
1059
1109
  >
1060
- <span class="k-icon k-i-x"></span>
1110
+ <kendo-icon-wrapper
1111
+ class="k-icon"
1112
+ name="x"
1113
+ [svgIcon]="xIcon"
1114
+ >
1115
+ </kendo-icon-wrapper>
1061
1116
  </span>
1062
1117
  <button
1063
1118
  tabindex="-1"
@@ -1067,10 +1122,13 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1067
1122
  [ngClass]="selectButtonClasses"
1068
1123
  [attr.aria-label]="messageFor('selectButtonText')"
1069
1124
  >
1070
- <span
1071
- class="k-button-icon k-icon"
1072
- [ngClass]="buttonClasses"
1073
- ></span>
1125
+ <span *ngIf="loading" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
1126
+ <kendo-icon-wrapper
1127
+ *ngIf="!loading"
1128
+ name="caret-alt-down"
1129
+ [svgIcon]="caretAltDownIcon"
1130
+ >
1131
+ </kendo-icon-wrapper>
1074
1132
  </button>
1075
1133
  <ng-template #popupTemplate>
1076
1134
  <span
@@ -1082,7 +1140,12 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1082
1140
  [ngClass]="filterInputClasses"
1083
1141
  >
1084
1142
  <span class="k-input-prefix">
1085
- <span class="k-input-icon k-icon k-i-search"></span>
1143
+ <kendo-icon-wrapper
1144
+ class="k-icon"
1145
+ name="search"
1146
+ [svgIcon]="searchIcon"
1147
+ >
1148
+ </kendo-icon-wrapper>
1086
1149
  </span>
1087
1150
  <input
1088
1151
  #filterInput
@@ -1136,6 +1199,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1136
1199
  (selectionChange)="onSelectionChange($event)"
1137
1200
  (expand)="nodeExpand.emit($event)"
1138
1201
  (collapse)="nodeCollapse.emit($event)"
1202
+ (childrenLoaded)="onChildrenLoaded()"
1139
1203
  >
1140
1204
  </kendo-treeview>
1141
1205
  <!--footer template-->
@@ -1158,7 +1222,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1158
1222
  </div>
1159
1223
  </ng-template>
1160
1224
  <ng-container #container></ng-container>
1161
- `, isInline: true, components: [{ type: i4.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }], directives: [{ type: i5.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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]" }, { type: i9.FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i4.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1225
+ `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i5.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }], directives: [{ type: i6.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i5.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1162
1226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropDownTreeComponent, decorators: [{
1163
1227
  type: Component,
1164
1228
  args: [{
@@ -1226,7 +1290,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1226
1290
  [attr.title]="messageFor('clearTitle')"
1227
1291
  (click)="clearValue($event)"
1228
1292
  >
1229
- <span class="k-icon k-i-x"></span>
1293
+ <kendo-icon-wrapper
1294
+ class="k-icon"
1295
+ name="x"
1296
+ [svgIcon]="xIcon"
1297
+ >
1298
+ </kendo-icon-wrapper>
1230
1299
  </span>
1231
1300
  <button
1232
1301
  tabindex="-1"
@@ -1236,10 +1305,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1236
1305
  [ngClass]="selectButtonClasses"
1237
1306
  [attr.aria-label]="messageFor('selectButtonText')"
1238
1307
  >
1239
- <span
1240
- class="k-button-icon k-icon"
1241
- [ngClass]="buttonClasses"
1242
- ></span>
1308
+ <span *ngIf="loading" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
1309
+ <kendo-icon-wrapper
1310
+ *ngIf="!loading"
1311
+ name="caret-alt-down"
1312
+ [svgIcon]="caretAltDownIcon"
1313
+ >
1314
+ </kendo-icon-wrapper>
1243
1315
  </button>
1244
1316
  <ng-template #popupTemplate>
1245
1317
  <span
@@ -1251,7 +1323,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1251
1323
  [ngClass]="filterInputClasses"
1252
1324
  >
1253
1325
  <span class="k-input-prefix">
1254
- <span class="k-input-icon k-icon k-i-search"></span>
1326
+ <kendo-icon-wrapper
1327
+ class="k-icon"
1328
+ name="search"
1329
+ [svgIcon]="searchIcon"
1330
+ >
1331
+ </kendo-icon-wrapper>
1255
1332
  </span>
1256
1333
  <input
1257
1334
  #filterInput
@@ -1305,6 +1382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1305
1382
  (selectionChange)="onSelectionChange($event)"
1306
1383
  (expand)="nodeExpand.emit($event)"
1307
1384
  (collapse)="nodeCollapse.emit($event)"
1385
+ (childrenLoaded)="onChildrenLoaded()"
1308
1386
  >
1309
1387
  </kendo-treeview>
1310
1388
  <!--footer template-->