@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.
@@ -4,20 +4,23 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Component, Input, Output, ViewChild, HostBinding, Directive, Injectable, InjectionToken, HostListener, ViewChildren, forwardRef, isDevMode, ViewContainerRef, Optional, Inject, ContentChild, ContentChildren, ChangeDetectionStrategy, NgModule } from '@angular/core';
7
- import * as i9 from '@progress/kendo-angular-common';
7
+ import * as i10 from '@progress/kendo-angular-common';
8
8
  import { isDocumentAvailable, Keys, isChanged, hasObservers, KendoInput, anyChanged, guid as guid$1, ResizeSensorModule, EventsModule } from '@progress/kendo-angular-common';
9
- import * as i12 from '@angular/forms';
9
+ import * as i13 from '@angular/forms';
10
10
  import { NgControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import { getter as getter$1, detectDesktopBrowser, detectMobileOS, pointers, touchEnabled } from '@progress/kendo-common';
13
13
  import { Subscription, merge, fromEvent, Subject, of, interval } from 'rxjs';
14
14
  import * as i1 from '@progress/kendo-angular-l10n';
15
15
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
16
+ import { xIcon, caretAltDownIcon, searchIcon, xCircleIcon, plusIcon } from '@progress/kendo-svg-icons';
16
17
  import * as i2 from '@progress/kendo-angular-popup';
17
18
  import { PopupModule } from '@progress/kendo-angular-popup';
18
19
  export { PopupComponent } from '@progress/kendo-angular-popup';
19
- import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime, catchError, skipWhile, concatMap, takeUntil } from 'rxjs/operators';
20
- import * as i11 from '@angular/common';
20
+ import * as i8 from '@progress/kendo-angular-icons';
21
+ import { IconsModule } from '@progress/kendo-angular-icons';
22
+ import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime, catchError, skipWhile, concatMap, takeUntil, debounceTime } from 'rxjs/operators';
23
+ import * as i12 from '@angular/common';
21
24
  import { CommonModule } from '@angular/common';
22
25
  import * as i1$1 from '@progress/kendo-angular-treeview';
23
26
  import { DataBoundComponent, ExpandableComponent, FlatDataBindingDirective, HierarchyBindingDirective, ExpandDirective, TreeViewModule } from '@progress/kendo-angular-treeview';
@@ -29,7 +32,7 @@ const packageMetadata = {
29
32
  name: '@progress/kendo-angular-dropdowns',
30
33
  productName: 'Kendo UI for Angular',
31
34
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
32
- publishDate: 1673253284,
35
+ publishDate: 1673372510,
33
36
  version: '',
34
37
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
35
38
  };
@@ -376,6 +379,32 @@ const isJapanese = (input) => {
376
379
  const japaneseRegex = /[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g;
377
380
  return japaneseRegex.test(input);
378
381
  };
382
+ /**
383
+ * @hidden
384
+ */
385
+ const isLetter = (text) => {
386
+ const isLetter = /[a-zA-Z]/;
387
+ return isLetter.test(text) && (text === null || text === void 0 ? void 0 : text.length) === 1;
388
+ };
389
+ /**
390
+ * @hidden
391
+ */
392
+ const getTextField = (field, level) => {
393
+ if (isArray(field)) {
394
+ return field[level];
395
+ }
396
+ return field;
397
+ };
398
+ /**
399
+ * @hidden
400
+ */
401
+ const getSearchableItems = (popupId, popupElement) => {
402
+ const nodeSeletor = `kendo-popup[id='${popupId}'] li.k-treeview-item`;
403
+ const liElements = Array.from(popupElement.querySelectorAll(nodeSeletor));
404
+ return liElements.map((liElement) => {
405
+ return { text: liElement.innerText, index: liElement.getAttribute('data-treeindex') };
406
+ });
407
+ };
379
408
 
380
409
  /**
381
410
  * @hidden
@@ -583,7 +612,7 @@ SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
583
612
  [attr.aria-busy]="isLoading"
584
613
  [attr.aria-invalid]="formControl?.invalid"
585
614
  />
586
- `, isInline: true, directives: [{ type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
615
+ `, isInline: true, directives: [{ type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
587
616
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchBarComponent, decorators: [{
588
617
  type: Component,
589
618
  args: [{
@@ -2210,7 +2239,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2210
2239
  </div>
2211
2240
  </div>
2212
2241
  </div>
2213
- `, isInline: true, components: [{ type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ListItemDirective, selector: "\"li[role=option], li[role=group]\"" }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2242
+ `, isInline: true, components: [{ type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ListItemDirective, selector: "\"li[role=option], li[role=group]\"" }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2214
2243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListComponent, decorators: [{
2215
2244
  type: Component,
2216
2245
  args: [{
@@ -2501,6 +2530,10 @@ class AutoCompleteComponent {
2501
2530
  this.renderer = renderer;
2502
2531
  this.hostElement = hostElement;
2503
2532
  this.touchEnabled = touchEnabled;
2533
+ /**
2534
+ * @hidden
2535
+ */
2536
+ this.xIcon = xIcon;
2504
2537
  /**
2505
2538
  * Defines whether the first match from the suggestions list will be automatically focused.
2506
2539
  * By default, `highlightFirst` is set to `true`.
@@ -3380,7 +3413,11 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3380
3413
  (click)="clearValue($event)"
3381
3414
  (mousedown)="$event.preventDefault()"
3382
3415
  >
3383
- <span class="k-icon k-i-x"></span>
3416
+ <kendo-icon-wrapper
3417
+ name="x"
3418
+ [svgIcon]="xIcon"
3419
+ >
3420
+ </kendo-icon-wrapper>
3384
3421
  </span>
3385
3422
  <span *ngIf="loading" class="k-icon k-i-loading k-input-loading-icon"></span>
3386
3423
  <ng-template #popupTemplate>
@@ -3431,7 +3468,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3431
3468
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
3432
3469
  </ng-template>
3433
3470
  <ng-container #container></ng-container>
3434
- `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: 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: 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
3471
+ `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: 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: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
3435
3472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3436
3473
  type: Component,
3437
3474
  args: [{
@@ -3496,7 +3533,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3496
3533
  (click)="clearValue($event)"
3497
3534
  (mousedown)="$event.preventDefault()"
3498
3535
  >
3499
- <span class="k-icon k-i-x"></span>
3536
+ <kendo-icon-wrapper
3537
+ name="x"
3538
+ [svgIcon]="xIcon"
3539
+ >
3540
+ </kendo-icon-wrapper>
3500
3541
  </span>
3501
3542
  <span *ngIf="loading" class="k-icon k-i-loading k-input-loading-icon"></span>
3502
3543
  <ng-template #popupTemplate>
@@ -3763,6 +3804,14 @@ class ComboBoxComponent {
3763
3804
  this.cdr = cdr;
3764
3805
  this.renderer = renderer;
3765
3806
  this.touchEnabled = touchEnabled;
3807
+ /**
3808
+ * @hidden
3809
+ */
3810
+ this.xIcon = xIcon;
3811
+ /**
3812
+ * @hidden
3813
+ */
3814
+ this.caretAltDownIcon = caretAltDownIcon;
3766
3815
  this.selected = [];
3767
3816
  /**
3768
3817
  * @hidden
@@ -4468,7 +4517,7 @@ class ComboBoxComponent {
4468
4517
  * @hidden
4469
4518
  */
4470
4519
  get buttonClasses() {
4471
- return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-caret-alt-down';
4520
+ return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass;
4472
4521
  }
4473
4522
  /**
4474
4523
  * @hidden
@@ -5014,7 +5063,11 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5014
5063
  mousedown: preventEventDefault
5015
5064
  }"
5016
5065
  >
5017
- <span class="k-icon k-i-x"></span>
5066
+ <kendo-icon-wrapper
5067
+ name="x"
5068
+ [svgIcon]="xIcon"
5069
+ >
5070
+ </kendo-icon-wrapper>
5018
5071
  </span>
5019
5072
  <button
5020
5073
  #select
@@ -5028,7 +5081,13 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5028
5081
  mousedown: preventEventDefault
5029
5082
  }"
5030
5083
  >
5031
- <span class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
5084
+ <kendo-icon-wrapper
5085
+ *ngIf="!loading && !iconClass"
5086
+ name="caret-alt-down"
5087
+ [svgIcon]="caretAltDownIcon"
5088
+ >
5089
+ </kendo-icon-wrapper>
5090
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
5032
5091
  </button>
5033
5092
  <ng-template #popupTemplate>
5034
5093
  <!--header template-->
@@ -5078,7 +5137,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5078
5137
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
5079
5138
  </ng-template>
5080
5139
  <ng-container #container></ng-container>
5081
- `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: 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: 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: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
5140
+ `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: 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: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
5082
5141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboBoxComponent, decorators: [{
5083
5142
  type: Component,
5084
5143
  args: [{
@@ -5145,7 +5204,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
5145
5204
  mousedown: preventEventDefault
5146
5205
  }"
5147
5206
  >
5148
- <span class="k-icon k-i-x"></span>
5207
+ <kendo-icon-wrapper
5208
+ name="x"
5209
+ [svgIcon]="xIcon"
5210
+ >
5211
+ </kendo-icon-wrapper>
5149
5212
  </span>
5150
5213
  <button
5151
5214
  #select
@@ -5159,7 +5222,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
5159
5222
  mousedown: preventEventDefault
5160
5223
  }"
5161
5224
  >
5162
- <span class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
5225
+ <kendo-icon-wrapper
5226
+ *ngIf="!loading && !iconClass"
5227
+ name="caret-alt-down"
5228
+ [svgIcon]="caretAltDownIcon"
5229
+ >
5230
+ </kendo-icon-wrapper>
5231
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
5163
5232
  </button>
5164
5233
  <ng-template #popupTemplate>
5165
5234
  <!--header template-->
@@ -5453,6 +5522,14 @@ class DropDownListComponent {
5453
5522
  this.cdr = cdr;
5454
5523
  this.touchEnabled = touchEnabled;
5455
5524
  this.injector = injector;
5525
+ /**
5526
+ * @hidden
5527
+ */
5528
+ this.searchIcon = searchIcon;
5529
+ /**
5530
+ * @hidden
5531
+ */
5532
+ this.caretAltDownIcon = caretAltDownIcon;
5456
5533
  /**
5457
5534
  * Sets the height of the options list. By default, `listHeight` is 200px.
5458
5535
  *
@@ -6115,7 +6192,7 @@ class DropDownListComponent {
6115
6192
  * @hidden
6116
6193
  */
6117
6194
  get buttonClasses() {
6118
- return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-caret-alt-down';
6195
+ return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass;
6119
6196
  }
6120
6197
  /**
6121
6198
  * @hidden
@@ -6644,12 +6721,15 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
6644
6721
  mousedown: onMouseDown
6645
6722
  }"
6646
6723
  >
6647
- <span
6648
- class="k-button-icon k-icon"
6724
+ <kendo-icon-wrapper
6725
+ *ngIf="!loading && !iconClass"
6649
6726
  unselectable="on"
6650
- [ngClass]="buttonClasses"
6651
- ></span>
6652
- </button>
6727
+ name="caret-alt-down"
6728
+ [svgIcon]="caretAltDownIcon"
6729
+ >
6730
+ </kendo-icon-wrapper>
6731
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
6732
+ </button>
6653
6733
  <ng-template #popupTemplate>
6654
6734
  <!--filterable-->
6655
6735
 
@@ -6659,7 +6739,12 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
6659
6739
  class="k-searchbox k-input"
6660
6740
  [ngClass]="filterInputClasses"
6661
6741
  >
6662
- <span class="k-input-icon k-icon k-i-search" unselectable="on"></span>
6742
+ <kendo-icon-wrapper
6743
+ class="k-icon"
6744
+ name="search"
6745
+ [svgIcon]="searchIcon"
6746
+ >
6747
+ </kendo-icon-wrapper>
6663
6748
  <input
6664
6749
  role="searchbox"
6665
6750
  aria-autocomplete="list"
@@ -6752,7 +6837,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
6752
6837
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
6753
6838
  </ng-template>
6754
6839
  <ng-container #container></ng-container>
6755
- `, isInline: true, components: [{ type: 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: 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.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: 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: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
6840
+ `, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: 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: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.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: 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: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
6756
6841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropDownListComponent, decorators: [{
6757
6842
  type: Component,
6758
6843
  args: [{
@@ -6807,12 +6892,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
6807
6892
  mousedown: onMouseDown
6808
6893
  }"
6809
6894
  >
6810
- <span
6811
- class="k-button-icon k-icon"
6895
+ <kendo-icon-wrapper
6896
+ *ngIf="!loading && !iconClass"
6812
6897
  unselectable="on"
6813
- [ngClass]="buttonClasses"
6814
- ></span>
6815
- </button>
6898
+ name="caret-alt-down"
6899
+ [svgIcon]="caretAltDownIcon"
6900
+ >
6901
+ </kendo-icon-wrapper>
6902
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
6903
+ </button>
6816
6904
  <ng-template #popupTemplate>
6817
6905
  <!--filterable-->
6818
6906
 
@@ -6822,7 +6910,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
6822
6910
  class="k-searchbox k-input"
6823
6911
  [ngClass]="filterInputClasses"
6824
6912
  >
6825
- <span class="k-input-icon k-icon k-i-search" unselectable="on"></span>
6913
+ <kendo-icon-wrapper
6914
+ class="k-icon"
6915
+ name="search"
6916
+ [svgIcon]="searchIcon"
6917
+ >
6918
+ </kendo-icon-wrapper>
6826
6919
  <input
6827
6920
  role="searchbox"
6828
6921
  aria-autocomplete="list"
@@ -7237,6 +7330,10 @@ class TagListComponent {
7237
7330
  constructor(renderer, hostElement) {
7238
7331
  this.renderer = renderer;
7239
7332
  this.hostElement = hostElement;
7333
+ /**
7334
+ * @hidden
7335
+ */
7336
+ this.xCircleIcon = xCircleIcon;
7240
7337
  this.rounded = 'medium';
7241
7338
  this.fillMode = 'solid';
7242
7339
  /**
@@ -7356,16 +7453,19 @@ TagListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
7356
7453
  </span>
7357
7454
  </ng-template>
7358
7455
  </span>
7359
-
7360
7456
  <span class="k-chip-actions">
7361
7457
  <span aria-label="delete" [attr.aria-hidden]="index !== focused" class="k-chip-action k-chip-remove-action">
7362
- <span class="k-icon k-i-x-circle" (mousedown)="deleteTag($event, tag, index)">
7363
- </span>
7458
+ <kendo-icon-wrapper
7459
+ (mousedown)="deleteTag($event, tag, index)"
7460
+ name="x-circle"
7461
+ [svgIcon]="xCircleIcon"
7462
+ >
7463
+ </kendo-icon-wrapper>
7364
7464
  </span>
7365
7465
  </span>
7366
7466
  </div>
7367
7467
  <ng-content></ng-content>
7368
- `, isInline: true, directives: [{ type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
7468
+ `, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
7369
7469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TagListComponent, decorators: [{
7370
7470
  type: Component,
7371
7471
  args: [{
@@ -7416,11 +7516,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
7416
7516
  </span>
7417
7517
  </ng-template>
7418
7518
  </span>
7419
-
7420
7519
  <span class="k-chip-actions">
7421
7520
  <span aria-label="delete" [attr.aria-hidden]="index !== focused" class="k-chip-action k-chip-remove-action">
7422
- <span class="k-icon k-i-x-circle" (mousedown)="deleteTag($event, tag, index)">
7423
- </span>
7521
+ <kendo-icon-wrapper
7522
+ (mousedown)="deleteTag($event, tag, index)"
7523
+ name="x-circle"
7524
+ [svgIcon]="xCircleIcon"
7525
+ >
7526
+ </kendo-icon-wrapper>
7424
7527
  </span>
7425
7528
  </span>
7426
7529
  </div>
@@ -7510,6 +7613,14 @@ class MultiSelectComponent {
7510
7613
  this.renderer = renderer;
7511
7614
  this._zone = _zone;
7512
7615
  this.touchEnabled = touchEnabled;
7616
+ /**
7617
+ * @hidden
7618
+ */
7619
+ this.xIcon = xIcon;
7620
+ /**
7621
+ * @hidden
7622
+ */
7623
+ this.plusIcon = plusIcon;
7513
7624
  this.listBoxId = guid();
7514
7625
  this.tagListId = guid();
7515
7626
  this.tagPrefix = "tag-" + guid();
@@ -8957,7 +9068,12 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
8957
9068
  tabindex="-1"
8958
9069
  (mousedown)="clearAll($event)"
8959
9070
  >
8960
- <span class="k-icon k-i-x"></span>
9071
+ <kendo-icon-wrapper
9072
+ class="k-icon"
9073
+ name="x"
9074
+ [svgIcon]="xIcon"
9075
+ >
9076
+ </kendo-icon-wrapper>
8961
9077
  </span>
8962
9078
  <span
8963
9079
  *ngIf="loading"
@@ -8985,7 +9101,12 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
8985
9101
  }">
8986
9102
  </ng-template>
8987
9103
  <ng-template #default_custom_item_template>{{ text }}</ng-template>
8988
- <span class="k-icon k-i-plus" [style]="'float: right;'"></span>
9104
+ <kendo-icon-wrapper
9105
+ class="k-icon"
9106
+ name="plus"
9107
+ [svgIcon]="plusIcon"
9108
+ >
9109
+ </kendo-icon-wrapper>
8989
9110
  </div>
8990
9111
  </div>
8991
9112
  <!--list-->
@@ -9032,7 +9153,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
9032
9153
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
9033
9154
  </ng-template>
9034
9155
  <ng-container #container></ng-container>
9035
- `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: 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: 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
9156
+ `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: 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: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
9036
9157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectComponent, decorators: [{
9037
9158
  type: Component,
9038
9159
  args: [{
@@ -9113,7 +9234,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
9113
9234
  tabindex="-1"
9114
9235
  (mousedown)="clearAll($event)"
9115
9236
  >
9116
- <span class="k-icon k-i-x"></span>
9237
+ <kendo-icon-wrapper
9238
+ class="k-icon"
9239
+ name="x"
9240
+ [svgIcon]="xIcon"
9241
+ >
9242
+ </kendo-icon-wrapper>
9117
9243
  </span>
9118
9244
  <span
9119
9245
  *ngIf="loading"
@@ -9141,7 +9267,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
9141
9267
  }">
9142
9268
  </ng-template>
9143
9269
  <ng-template #default_custom_item_template>{{ text }}</ng-template>
9144
- <span class="k-icon k-i-plus" [style]="'float: right;'"></span>
9270
+ <kendo-icon-wrapper
9271
+ class="k-icon"
9272
+ name="plus"
9273
+ [svgIcon]="plusIcon"
9274
+ >
9275
+ </kendo-icon-wrapper>
9145
9276
  </div>
9146
9277
  </div>
9147
9278
  <!--list-->
@@ -9672,7 +9803,11 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
9672
9803
  mousedown: preventEventDefault
9673
9804
  }"
9674
9805
  >
9675
- <span class="k-icon k-i-x"></span>
9806
+ <kendo-icon-wrapper
9807
+ name="x"
9808
+ [svgIcon]="xIcon"
9809
+ >
9810
+ </kendo-icon-wrapper>
9676
9811
  </span>
9677
9812
 
9678
9813
  <button
@@ -9688,7 +9823,13 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
9688
9823
  mousedown: preventEventDefault
9689
9824
  }"
9690
9825
  >
9691
- <span class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
9826
+ <kendo-icon-wrapper
9827
+ *ngIf="!loading && !iconClass"
9828
+ name="caret-alt-down"
9829
+ [svgIcon]="caretAltDownIcon"
9830
+ >
9831
+ </kendo-icon-wrapper>
9832
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
9692
9833
  </button>
9693
9834
 
9694
9835
  <ng-template #popupTemplate>
@@ -9844,7 +9985,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
9844
9985
 
9845
9986
  <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
9846
9987
  <ng-container #container></ng-container>
9847
- `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: 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: 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: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
9988
+ `, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: 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: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
9848
9989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
9849
9990
  type: Component,
9850
9991
  args: [{
@@ -9921,7 +10062,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
9921
10062
  mousedown: preventEventDefault
9922
10063
  }"
9923
10064
  >
9924
- <span class="k-icon k-i-x"></span>
10065
+ <kendo-icon-wrapper
10066
+ name="x"
10067
+ [svgIcon]="xIcon"
10068
+ >
10069
+ </kendo-icon-wrapper>
9925
10070
  </span>
9926
10071
 
9927
10072
  <button
@@ -9937,7 +10082,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
9937
10082
  mousedown: preventEventDefault
9938
10083
  }"
9939
10084
  >
9940
- <span class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
10085
+ <kendo-icon-wrapper
10086
+ *ngIf="!loading && !iconClass"
10087
+ name="caret-alt-down"
10088
+ [svgIcon]="caretAltDownIcon"
10089
+ >
10090
+ </kendo-icon-wrapper>
10091
+ <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
9941
10092
  </button>
9942
10093
 
9943
10094
  <ng-template #popupTemplate>
@@ -10159,6 +10310,18 @@ class DropDownTreeComponent {
10159
10310
  this.cdr = cdr;
10160
10311
  this.localization = localization;
10161
10312
  this.touchEnabled = touchEnabled;
10313
+ /**
10314
+ * @hidden
10315
+ */
10316
+ this.searchIcon = searchIcon;
10317
+ /**
10318
+ * @hidden
10319
+ */
10320
+ this.caretAltDownIcon = caretAltDownIcon;
10321
+ /**
10322
+ * @hidden
10323
+ */
10324
+ this.xIcon = xIcon;
10162
10325
  this.hostClasses = true;
10163
10326
  this.role = 'combobox';
10164
10327
  this.ariaHasPopup = 'tree';
@@ -10300,7 +10463,10 @@ class DropDownTreeComponent {
10300
10463
  this._size = 'medium';
10301
10464
  this._rounded = 'medium';
10302
10465
  this._fillMode = 'solid';
10303
- this.subscriptions = [];
10466
+ this._searchableNodes = [];
10467
+ this._typedValue = '';
10468
+ this.printableCharacters = new Subject();
10469
+ this.subs = new Subscription();
10304
10470
  this.onTouchedCallback = noop;
10305
10471
  this.onChangeCallback = noop;
10306
10472
  this.direction = localization.rtl ? 'rtl' : 'ltr';
@@ -10354,6 +10520,9 @@ class DropDownTreeComponent {
10354
10520
  if (this.disabled || this.readonly) {
10355
10521
  return;
10356
10522
  }
10523
+ if (isLetter(event.key)) {
10524
+ this.printableCharacters.next(event.key);
10525
+ }
10357
10526
  const eventData = event;
10358
10527
  this.navigationService.process({
10359
10528
  originalEvent: eventData
@@ -10603,9 +10772,20 @@ class DropDownTreeComponent {
10603
10772
  return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
10604
10773
  }
10605
10774
  ngOnInit() {
10775
+ this.subs.add(this.printableCharacters.pipe(tap((char) => {
10776
+ this._typedValue += char;
10777
+ const itemToFocus = this._searchableNodes.find((node) => {
10778
+ return node.text.toLowerCase().indexOf(this._typedValue) === 0;
10779
+ });
10780
+ this.treeview.focus(itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index);
10781
+ const htmlItem = document.querySelector(`kendo-popup[id='${this._popupId}'] li.k-treeview-item[data-treeindex='${itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index}']`);
10782
+ htmlItem === null || htmlItem === void 0 ? void 0 : htmlItem.scrollIntoView();
10783
+ }), debounceTime(1000)).subscribe(() => {
10784
+ this._typedValue = '';
10785
+ }));
10606
10786
  this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
10607
10787
  this.assignAriaDescribedBy();
10608
- this.subscriptions.push(this.localization
10788
+ this.subs.add(this.localization
10609
10789
  .changes.subscribe(({ rtl }) => {
10610
10790
  this.direction = rtl ? 'rtl' : 'ltr';
10611
10791
  this.cdr.markForCheck();
@@ -10859,7 +11039,7 @@ class DropDownTreeComponent {
10859
11039
  * @hidden
10860
11040
  */
10861
11041
  get buttonClasses() {
10862
- return this.loading ? 'k-i-loading k-input-loading-icon' : 'k-i-caret-alt-down';
11042
+ return this.loading ? 'k-i-loading k-input-loading-icon' : null;
10863
11043
  }
10864
11044
  /**
10865
11045
  * @hidden
@@ -10904,6 +11084,16 @@ class DropDownTreeComponent {
10904
11084
  }
10905
11085
  return null;
10906
11086
  }
11087
+ /**
11088
+ * @hidden
11089
+ */
11090
+ onChildrenLoaded() {
11091
+ setTimeout(() => {
11092
+ if (this.popupRef) {
11093
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
11094
+ }
11095
+ });
11096
+ }
10907
11097
  /**
10908
11098
  * @hidden
10909
11099
  *
@@ -10960,6 +11150,7 @@ class DropDownTreeComponent {
10960
11150
  this.popupRef.popupOpen.subscribe(() => {
10961
11151
  this.cdr.detectChanges();
10962
11152
  this.opened.emit();
11153
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
10963
11154
  });
10964
11155
  this.popupRef.popupClose.subscribe(() => {
10965
11156
  this.closed.emit();
@@ -11001,33 +11192,41 @@ class DropDownTreeComponent {
11001
11192
  this.selectedKeys = [];
11002
11193
  }
11003
11194
  subscribeEvents() {
11004
- this.subscriptions.push(this.navigationService.open.subscribe((event) => {
11005
- event.originalEvent.preventDefault();
11006
- this.togglePopup(true);
11007
- }), this.navigationService.close.subscribe((event) => {
11008
- event.originalEvent.preventDefault();
11009
- this.togglePopup(false);
11010
- this.focus();
11011
- }), this.navigationService.enter
11012
- .pipe(tap((event) => event.originalEvent.preventDefault()))
11013
- .subscribe(() => this.togglePopup(true)), this.navigationService.esc
11014
- .subscribe(() => this.handleEscape()), this.navigationService.tab.subscribe(() => this.focus()), this.navigationService.down.subscribe((event) => {
11015
- if (!this.treeview) {
11016
- return;
11017
- }
11018
- event.originalEvent.preventDefault();
11019
- if (!this.treeview.isActive) {
11020
- this.treeview.focus();
11021
- }
11022
- }), this.navigationService.up.subscribe((event) => {
11023
- if (!this.treeview) {
11024
- return;
11025
- }
11026
- event.originalEvent.preventDefault();
11027
- if (this.filterable && this.treeview['navigationService']['activeIndex'] === '0') {
11028
- this.filterInput.nativeElement.focus();
11029
- }
11030
- }));
11195
+ [
11196
+ this.navigationService.open.subscribe((event) => {
11197
+ event.originalEvent.preventDefault();
11198
+ this.togglePopup(true);
11199
+ }),
11200
+ this.navigationService.close.subscribe((event) => {
11201
+ event.originalEvent.preventDefault();
11202
+ this.togglePopup(false);
11203
+ this.focus();
11204
+ }),
11205
+ this.navigationService.enter
11206
+ .pipe(tap((event) => event.originalEvent.preventDefault()))
11207
+ .subscribe(() => this.togglePopup(true)),
11208
+ this.navigationService.esc
11209
+ .subscribe(() => this.handleEscape()),
11210
+ this.navigationService.tab.subscribe(() => this.focus()),
11211
+ this.navigationService.down.subscribe((event) => {
11212
+ if (!this.treeview) {
11213
+ return;
11214
+ }
11215
+ event.originalEvent.preventDefault();
11216
+ if (!this.treeview.isActive) {
11217
+ this.treeview.focus();
11218
+ }
11219
+ }),
11220
+ this.navigationService.up.subscribe((event) => {
11221
+ if (!this.treeview) {
11222
+ return;
11223
+ }
11224
+ event.originalEvent.preventDefault();
11225
+ if (this.filterable && this.treeview['navigationService']['activeIndex'] === '0') {
11226
+ this.filterInput.nativeElement.focus();
11227
+ }
11228
+ })
11229
+ ].forEach(sub => this.subs.add(sub));
11031
11230
  }
11032
11231
  subscribeTouchEvents() {
11033
11232
  if (!isDocumentAvailable() || !this.touchEnabled) {
@@ -11066,7 +11265,7 @@ class DropDownTreeComponent {
11066
11265
  }
11067
11266
  }
11068
11267
  unsubscribeEvents() {
11069
- this.subscriptions.forEach(sub => sub.unsubscribe());
11268
+ this.subs.unsubscribe();
11070
11269
  this.unSubscribeFocusEvents();
11071
11270
  if (this.touchstartDisposeHandler) {
11072
11271
  this.touchstartDisposeHandler();
@@ -11159,7 +11358,12 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11159
11358
  [attr.title]="messageFor('clearTitle')"
11160
11359
  (click)="clearValue($event)"
11161
11360
  >
11162
- <span class="k-icon k-i-x"></span>
11361
+ <kendo-icon-wrapper
11362
+ class="k-icon"
11363
+ name="x"
11364
+ [svgIcon]="xIcon"
11365
+ >
11366
+ </kendo-icon-wrapper>
11163
11367
  </span>
11164
11368
  <button
11165
11369
  tabindex="-1"
@@ -11169,10 +11373,13 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11169
11373
  [ngClass]="selectButtonClasses"
11170
11374
  [attr.aria-label]="messageFor('selectButtonText')"
11171
11375
  >
11172
- <span
11173
- class="k-button-icon k-icon"
11174
- [ngClass]="buttonClasses"
11175
- ></span>
11376
+ <span *ngIf="loading" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
11377
+ <kendo-icon-wrapper
11378
+ *ngIf="!loading"
11379
+ name="caret-alt-down"
11380
+ [svgIcon]="caretAltDownIcon"
11381
+ >
11382
+ </kendo-icon-wrapper>
11176
11383
  </button>
11177
11384
  <ng-template #popupTemplate>
11178
11385
  <span
@@ -11184,7 +11391,12 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11184
11391
  [ngClass]="filterInputClasses"
11185
11392
  >
11186
11393
  <span class="k-input-prefix">
11187
- <span class="k-input-icon k-icon k-i-search"></span>
11394
+ <kendo-icon-wrapper
11395
+ class="k-icon"
11396
+ name="search"
11397
+ [svgIcon]="searchIcon"
11398
+ >
11399
+ </kendo-icon-wrapper>
11188
11400
  </span>
11189
11401
  <input
11190
11402
  #filterInput
@@ -11238,6 +11450,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11238
11450
  (selectionChange)="onSelectionChange($event)"
11239
11451
  (expand)="nodeExpand.emit($event)"
11240
11452
  (collapse)="nodeCollapse.emit($event)"
11453
+ (childrenLoaded)="onChildrenLoaded()"
11241
11454
  >
11242
11455
  </kendo-treeview>
11243
11456
  <!--footer template-->
@@ -11260,7 +11473,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11260
11473
  </div>
11261
11474
  </ng-template>
11262
11475
  <ng-container #container></ng-container>
11263
- `, isInline: true, components: [{ type: i1$1.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: 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i1$1.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11476
+ `, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i1$1.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11264
11477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropDownTreeComponent, decorators: [{
11265
11478
  type: Component,
11266
11479
  args: [{
@@ -11328,7 +11541,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11328
11541
  [attr.title]="messageFor('clearTitle')"
11329
11542
  (click)="clearValue($event)"
11330
11543
  >
11331
- <span class="k-icon k-i-x"></span>
11544
+ <kendo-icon-wrapper
11545
+ class="k-icon"
11546
+ name="x"
11547
+ [svgIcon]="xIcon"
11548
+ >
11549
+ </kendo-icon-wrapper>
11332
11550
  </span>
11333
11551
  <button
11334
11552
  tabindex="-1"
@@ -11338,10 +11556,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11338
11556
  [ngClass]="selectButtonClasses"
11339
11557
  [attr.aria-label]="messageFor('selectButtonText')"
11340
11558
  >
11341
- <span
11342
- class="k-button-icon k-icon"
11343
- [ngClass]="buttonClasses"
11344
- ></span>
11559
+ <span *ngIf="loading" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
11560
+ <kendo-icon-wrapper
11561
+ *ngIf="!loading"
11562
+ name="caret-alt-down"
11563
+ [svgIcon]="caretAltDownIcon"
11564
+ >
11565
+ </kendo-icon-wrapper>
11345
11566
  </button>
11346
11567
  <ng-template #popupTemplate>
11347
11568
  <span
@@ -11353,7 +11574,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11353
11574
  [ngClass]="filterInputClasses"
11354
11575
  >
11355
11576
  <span class="k-input-prefix">
11356
- <span class="k-input-icon k-icon k-i-search"></span>
11577
+ <kendo-icon-wrapper
11578
+ class="k-icon"
11579
+ name="search"
11580
+ [svgIcon]="searchIcon"
11581
+ >
11582
+ </kendo-icon-wrapper>
11357
11583
  </span>
11358
11584
  <input
11359
11585
  #filterInput
@@ -11407,6 +11633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11407
11633
  (selectionChange)="onSelectionChange($event)"
11408
11634
  (expand)="nodeExpand.emit($event)"
11409
11635
  (collapse)="nodeCollapse.emit($event)"
11636
+ (childrenLoaded)="onChildrenLoaded()"
11410
11637
  >
11411
11638
  </kendo-treeview>
11412
11639
  <!--footer template-->
@@ -12050,6 +12277,14 @@ class MultiSelectTreeComponent {
12050
12277
  this.cdr = cdr;
12051
12278
  this.lookup = lookup;
12052
12279
  this.touchEnabled = touchEnabled;
12280
+ /**
12281
+ * @hidden
12282
+ */
12283
+ this.searchIcon = searchIcon;
12284
+ /**
12285
+ * @hidden
12286
+ */
12287
+ this.xIcon = xIcon;
12053
12288
  this.hostClasses = true;
12054
12289
  this.role = 'combobox';
12055
12290
  this.ariaHasPopup = 'tree';
@@ -12215,7 +12450,10 @@ class MultiSelectTreeComponent {
12215
12450
  this._size = 'medium';
12216
12451
  this._rounded = 'medium';
12217
12452
  this._fillMode = 'solid';
12218
- this.subscriptions = [];
12453
+ this._searchableNodes = [];
12454
+ this._typedValue = '';
12455
+ this.printableCharacters = new Subject();
12456
+ this.subs = new Subscription();
12219
12457
  this.lastAction = 'check';
12220
12458
  this.onTouchedCallback = noop;
12221
12459
  this.onChangeCallback = noop;
@@ -12285,6 +12523,9 @@ class MultiSelectTreeComponent {
12285
12523
  if (this.disabled || this.readonly) {
12286
12524
  return;
12287
12525
  }
12526
+ if (isLetter(event.key)) {
12527
+ this.printableCharacters.next(event.key);
12528
+ }
12288
12529
  const eventData = event;
12289
12530
  const action = this.navigationService.process({
12290
12531
  originalEvent: eventData
@@ -12615,9 +12856,20 @@ class MultiSelectTreeComponent {
12615
12856
  return this.checkAllInput && document.activeElement === this.checkAllInput.nativeElement;
12616
12857
  }
12617
12858
  ngOnInit() {
12859
+ this.subs.add(this.printableCharacters.pipe(tap((char) => {
12860
+ this._typedValue += char;
12861
+ const itemToFocus = this._searchableNodes.find((node) => {
12862
+ return node.text.toLowerCase().indexOf(this._typedValue) === 0;
12863
+ });
12864
+ this.treeview.focus(itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index);
12865
+ const htmlItem = document.querySelector(`kendo-popup[id='${this._popupId}'] li.k-treeview-item[data-treeindex='${itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index}']`);
12866
+ htmlItem === null || htmlItem === void 0 ? void 0 : htmlItem.scrollIntoView();
12867
+ }), debounceTime(1000)).subscribe(() => {
12868
+ this._typedValue = '';
12869
+ }));
12618
12870
  this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
12619
12871
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', String(this.isOpen));
12620
- this.subscriptions.push(this.localization
12872
+ this.subs.add(this.localization
12621
12873
  .changes.subscribe(({ rtl }) => {
12622
12874
  this.direction = rtl ? 'rtl' : 'ltr';
12623
12875
  this.cdr.markForCheck();
@@ -13020,9 +13272,11 @@ class MultiSelectTreeComponent {
13020
13272
  popupWrapper.style.height = this.height;
13021
13273
  this.renderer.setAttribute(popupWrapper, 'dir', this.direction);
13022
13274
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
13275
+ this.renderer.setAttribute(popupWrapper, 'id', this._popupId);
13023
13276
  this.popupRef.popupOpen.subscribe(() => {
13024
13277
  this.cdr.detectChanges();
13025
13278
  this.opened.emit();
13279
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
13026
13280
  });
13027
13281
  this.popupRef.popupClose.subscribe(() => {
13028
13282
  this.closed.emit();
@@ -13045,20 +13299,33 @@ class MultiSelectTreeComponent {
13045
13299
  }
13046
13300
  }
13047
13301
  subscribeEvents() {
13048
- this.subscriptions.push(this.navigationService.open.subscribe((event) => {
13049
- event.originalEvent.preventDefault();
13050
- this.togglePopup(true);
13051
- }), this.navigationService.enter
13052
- .pipe(tap((event) => event.originalEvent.preventDefault()))
13053
- .subscribe(() => this.togglePopup(true)), merge(this.navigationService.close, this.navigationService.esc).subscribe((event) => {
13054
- event.originalEvent.preventDefault();
13055
- this.focus();
13056
- this.togglePopup(false);
13057
- }), this.navigationService.tab.subscribe(this.handleTabKey.bind(this)), this.navigationService.up.subscribe(this.handleUpKey.bind(this)), this.navigationService.down.subscribe(this.handleDownKey.bind(this)), this.navigationService.left
13058
- .pipe(filter(() => !this.isTreeViewActive))
13059
- .subscribe(this.direction === 'rtl' ? this.handleRightKey.bind(this) : this.handleLeftKey.bind(this)), this.navigationService.right
13060
- .pipe(filter(() => !this.isTreeViewActive))
13061
- .subscribe(this.direction === 'rtl' ? this.handleLeftKey.bind(this) : this.handleRightKey.bind(this)), this.navigationService.home.pipe(filter(() => !this.isOpen)).subscribe(this.handleHome.bind(this)), this.navigationService.end.pipe(filter(() => !this.isOpen)).subscribe(this.handleEnd.bind(this)), this.navigationService.backspace.pipe(filter(() => this.isTagFocused)).subscribe(this.handleBackspace.bind(this)), this.navigationService.delete.pipe(filter(() => this.isTagFocused)).subscribe(this.handleDelete.bind(this)));
13302
+ [
13303
+ this.navigationService.open.subscribe((event) => {
13304
+ event.originalEvent.preventDefault();
13305
+ this.togglePopup(true);
13306
+ }),
13307
+ this.navigationService.enter
13308
+ .pipe(tap((event) => event.originalEvent.preventDefault()))
13309
+ .subscribe(() => this.togglePopup(true)),
13310
+ merge(this.navigationService.close, this.navigationService.esc).subscribe((event) => {
13311
+ event.originalEvent.preventDefault();
13312
+ this.focus();
13313
+ this.togglePopup(false);
13314
+ }),
13315
+ this.navigationService.tab.subscribe(this.handleTabKey.bind(this)),
13316
+ this.navigationService.up.subscribe(this.handleUpKey.bind(this)),
13317
+ this.navigationService.down.subscribe(this.handleDownKey.bind(this)),
13318
+ this.navigationService.left
13319
+ .pipe(filter(() => !this.isTreeViewActive))
13320
+ .subscribe(this.direction === 'rtl' ? this.handleRightKey.bind(this) : this.handleLeftKey.bind(this)),
13321
+ this.navigationService.right
13322
+ .pipe(filter(() => !this.isTreeViewActive))
13323
+ .subscribe(this.direction === 'rtl' ? this.handleLeftKey.bind(this) : this.handleRightKey.bind(this)),
13324
+ this.navigationService.home.pipe(filter(() => !this.isOpen)).subscribe(this.handleHome.bind(this)),
13325
+ this.navigationService.end.pipe(filter(() => !this.isOpen)).subscribe(this.handleEnd.bind(this)),
13326
+ this.navigationService.backspace.pipe(filter(() => this.isTagFocused)).subscribe(this.handleBackspace.bind(this)),
13327
+ this.navigationService.delete.pipe(filter(() => this.isTagFocused)).subscribe(this.handleDelete.bind(this))
13328
+ ].forEach(sub => this.subs.add(sub));
13062
13329
  }
13063
13330
  subscribeFocusEvents() {
13064
13331
  if (isDocumentAvailable()) {
@@ -13189,7 +13456,7 @@ class MultiSelectTreeComponent {
13189
13456
  }
13190
13457
  }
13191
13458
  unsubscribeEvents() {
13192
- this.subscriptions.forEach(sub => sub.unsubscribe());
13459
+ this.subs.unsubscribe();
13193
13460
  this.unSubscribeFocusEvents();
13194
13461
  }
13195
13462
  /**
@@ -13224,6 +13491,16 @@ class MultiSelectTreeComponent {
13224
13491
  this.value = newValue;
13225
13492
  this.emitValueChange(this.value);
13226
13493
  }
13494
+ /**
13495
+ * @hidden
13496
+ */
13497
+ onChildrenLoaded() {
13498
+ setTimeout(() => {
13499
+ if (this.popupRef) {
13500
+ this._searchableNodes = getSearchableItems(this._popupId, this.popupRef.popupElement);
13501
+ }
13502
+ });
13503
+ }
13227
13504
  /**
13228
13505
  * @hidden
13229
13506
  *
@@ -13359,7 +13636,12 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
13359
13636
  tabindex="-1"
13360
13637
  (click)="clearAll($event)"
13361
13638
  >
13362
- <span class="k-icon k-i-x"></span>
13639
+ <kendo-icon-wrapper
13640
+ class="k-icon"
13641
+ name="x"
13642
+ [svgIcon]="xIcon"
13643
+ >
13644
+ </kendo-icon-wrapper>
13363
13645
  </span>
13364
13646
  <span
13365
13647
  *ngIf="loading"
@@ -13376,7 +13658,12 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
13376
13658
  [ngClass]="filterInputClasses"
13377
13659
  >
13378
13660
  <span class="k-input-prefix">
13379
- <span class="k-input-icon k-icon k-i-search"></span>
13661
+ <kendo-icon-wrapper
13662
+ class="k-icon"
13663
+ name="search"
13664
+ [svgIcon]="searchIcon"
13665
+ >
13666
+ </kendo-icon-wrapper>
13380
13667
  </span>
13381
13668
  <input
13382
13669
  #filterInput
@@ -13464,6 +13751,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
13464
13751
  focusout: handleBlur
13465
13752
  }"
13466
13753
  [scope]="this"
13754
+ (childrenLoaded)="onChildrenLoaded()"
13467
13755
  >
13468
13756
  </kendo-treeview>
13469
13757
  <!--footer template-->
@@ -13486,7 +13774,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
13486
13774
  </div>
13487
13775
  </ng-template>
13488
13776
  <ng-container #container></ng-container>
13489
- `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i1$1.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: 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: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }] });
13777
+ `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }] });
13490
13778
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
13491
13779
  type: Component,
13492
13780
  args: [{
@@ -13564,7 +13852,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13564
13852
  tabindex="-1"
13565
13853
  (click)="clearAll($event)"
13566
13854
  >
13567
- <span class="k-icon k-i-x"></span>
13855
+ <kendo-icon-wrapper
13856
+ class="k-icon"
13857
+ name="x"
13858
+ [svgIcon]="xIcon"
13859
+ >
13860
+ </kendo-icon-wrapper>
13568
13861
  </span>
13569
13862
  <span
13570
13863
  *ngIf="loading"
@@ -13581,7 +13874,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13581
13874
  [ngClass]="filterInputClasses"
13582
13875
  >
13583
13876
  <span class="k-input-prefix">
13584
- <span class="k-input-icon k-icon k-i-search"></span>
13877
+ <kendo-icon-wrapper
13878
+ class="k-icon"
13879
+ name="search"
13880
+ [svgIcon]="searchIcon"
13881
+ >
13882
+ </kendo-icon-wrapper>
13585
13883
  </span>
13586
13884
  <input
13587
13885
  #filterInput
@@ -13669,6 +13967,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13669
13967
  focusout: handleBlur
13670
13968
  }"
13671
13969
  [scope]="this"
13970
+ (childrenLoaded)="onChildrenLoaded()"
13672
13971
  >
13673
13972
  </kendo-treeview>
13674
13973
  <!--footer template-->
@@ -14312,21 +14611,21 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
14312
14611
  TemplateContextDirective,
14313
14612
  TagListComponent,
14314
14613
  CheckDirective,
14315
- CheckAllDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule], exports: [ListComponent,
14614
+ CheckAllDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule], exports: [ListComponent,
14316
14615
  ListItemDirective,
14317
14616
  SelectableDirective,
14318
14617
  SearchBarComponent,
14319
14618
  TemplateContextDirective,
14320
14619
  TagListComponent,
14321
14620
  CheckDirective,
14322
- CheckAllDirective, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule] });
14323
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SharedModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule], CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule] });
14621
+ CheckAllDirective, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule] });
14622
+ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SharedModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule], CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule] });
14324
14623
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SharedModule, decorators: [{
14325
14624
  type: NgModule,
14326
14625
  args: [{
14327
14626
  declarations: [INTERNAL_DIRECTIVES],
14328
- exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule],
14329
- imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule]
14627
+ exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule],
14628
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule]
14330
14629
  }]
14331
14630
  }] });
14332
14631