@progress/kendo-angular-dropdowns 5.5.1-dev.202111181325 → 6.0.0-dev.202201190829

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-dropdowns.js +2 -2
  5. package/dist/cdn/main.js +1 -1
  6. package/dist/es/autocomplete/autocomplete.component.js +120 -5
  7. package/dist/es/comboboxes/combobox.component.js +141 -20
  8. package/dist/es/comboboxes/multicolumncombobox.component.js +30 -10
  9. package/dist/es/common/list.component.js +83 -5
  10. package/dist/es/common/models/fillmode.js +4 -0
  11. package/dist/es/common/models/list-type.js +4 -0
  12. package/dist/es/common/models/rounded.js +4 -0
  13. package/dist/es/common/models/size.js +4 -0
  14. package/dist/es/common/searchbar.component.js +1 -1
  15. package/dist/es/common/selection/selectable.directive.js +2 -2
  16. package/dist/es/common/taglist.component.js +58 -5
  17. package/dist/es/common/util.js +37 -0
  18. package/dist/es/dropdownlist/dropdownlist.component.js +338 -46
  19. package/dist/es/dropdowntrees/dropdowntree.component.js +276 -42
  20. package/dist/es/dropdowntrees/multiselecttree.component.js +307 -46
  21. package/dist/es/multiselect/multiselect.component.js +162 -35
  22. package/dist/es/package-metadata.js +1 -1
  23. package/dist/es2015/autocomplete/autocomplete.component.d.ts +42 -0
  24. package/dist/es2015/autocomplete/autocomplete.component.js +109 -7
  25. package/dist/es2015/comboboxes/combobox.component.d.ts +49 -4
  26. package/dist/es2015/comboboxes/combobox.component.js +207 -106
  27. package/dist/es2015/comboboxes/multicolumncombobox.component.d.ts +9 -1
  28. package/dist/es2015/comboboxes/multicolumncombobox.component.js +185 -166
  29. package/dist/es2015/common/list.component.d.ts +22 -1
  30. package/dist/es2015/common/list.component.js +115 -36
  31. package/dist/es2015/common/models/fillmode.d.ts +14 -0
  32. package/dist/es2015/common/models/fillmode.js +4 -0
  33. package/dist/es2015/common/models/list-type.d.ts +8 -0
  34. package/dist/es2015/common/models/list-type.js +4 -0
  35. package/dist/es2015/common/models/rounded.d.ts +15 -0
  36. package/dist/es2015/common/models/rounded.js +4 -0
  37. package/dist/es2015/common/models/size.d.ts +14 -0
  38. package/dist/es2015/common/models/size.js +4 -0
  39. package/dist/es2015/common/searchbar.component.js +1 -1
  40. package/dist/es2015/common/selection/selectable.directive.js +2 -2
  41. package/dist/es2015/common/taglist.component.d.ts +13 -1
  42. package/dist/es2015/common/taglist.component.js +102 -47
  43. package/dist/es2015/common/util.d.ts +17 -0
  44. package/dist/es2015/common/util.js +37 -0
  45. package/dist/es2015/dropdownlist/dropdownlist.component.d.ts +77 -13
  46. package/dist/es2015/dropdownlist/dropdownlist.component.js +390 -159
  47. package/dist/es2015/dropdowntrees/dropdowntree.component.d.ts +71 -13
  48. package/dist/es2015/dropdowntrees/dropdowntree.component.js +287 -99
  49. package/dist/es2015/dropdowntrees/multiselecttree.component.d.ts +72 -12
  50. package/dist/es2015/dropdowntrees/multiselecttree.component.js +319 -117
  51. package/dist/es2015/index.metadata.json +1 -1
  52. package/dist/es2015/multiselect/multiselect.component.d.ts +53 -8
  53. package/dist/es2015/multiselect/multiselect.component.js +183 -70
  54. package/dist/es2015/package-metadata.js +1 -1
  55. package/dist/fesm2015/index.js +1928 -801
  56. package/dist/fesm5/index.js +1569 -231
  57. package/dist/npm/autocomplete/autocomplete.component.js +119 -4
  58. package/dist/npm/comboboxes/combobox.component.js +140 -19
  59. package/dist/npm/comboboxes/multicolumncombobox.component.js +29 -9
  60. package/dist/npm/common/list.component.js +82 -4
  61. package/dist/npm/common/models/fillmode.js +6 -0
  62. package/dist/npm/common/models/list-type.js +6 -0
  63. package/dist/npm/common/models/rounded.js +6 -0
  64. package/dist/npm/common/models/size.js +6 -0
  65. package/dist/npm/common/searchbar.component.js +1 -1
  66. package/dist/npm/common/selection/selectable.directive.js +2 -2
  67. package/dist/npm/common/taglist.component.js +56 -3
  68. package/dist/npm/common/util.js +37 -0
  69. package/dist/npm/dropdownlist/dropdownlist.component.js +336 -44
  70. package/dist/npm/dropdowntrees/dropdowntree.component.js +274 -40
  71. package/dist/npm/dropdowntrees/multiselecttree.component.js +304 -43
  72. package/dist/npm/multiselect/multiselect.component.js +160 -33
  73. package/dist/npm/package-metadata.js +1 -1
  74. package/dist/systemjs/kendo-angular-dropdowns.js +1 -1
  75. package/package.json +21 -17
@@ -29,6 +29,9 @@ import { ListComponent } from '../common/list.component';
29
29
  import { MultiSelectCheckableSettings } from '../common/models/checkboxes-settings';
30
30
  import { VirtualizationSettings } from '../common/models/virtualization-settings';
31
31
  import { PageChangeEvent } from '../common/models/page-change-event';
32
+ import { DropDownSize } from '../common/models/size';
33
+ import { DropDownRounded } from '../common/models/rounded';
34
+ import { DropDownFillMode } from '../common/models/fillmode';
32
35
  /**
33
36
  * Represents the [Kendo UI MultiSelect component for Angular]({% slug overview_multiselect %}).
34
37
  *
@@ -47,6 +50,7 @@ import { PageChangeEvent } from '../common/models/page-change-event';
47
50
  * ```
48
51
  */
49
52
  export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCheck, AfterContentChecked, AfterViewInit, FilterableComponent {
53
+ wrapper: ElementRef;
50
54
  private localization;
51
55
  private popupService;
52
56
  private dataService;
@@ -56,7 +60,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
56
60
  private cdr;
57
61
  private differs;
58
62
  private renderer;
59
- private hostElement;
60
63
  private _zone;
61
64
  private touchEnabled;
62
65
  listBoxId: string;
@@ -90,10 +93,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
90
93
  * @hidden
91
94
  */
92
95
  onSearchBarBlur(): void;
93
- /**
94
- * @hidden
95
- */
96
- wrapperMousedown(event: any): void;
97
96
  /**
98
97
  * @hidden
99
98
  */
@@ -152,6 +151,40 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
152
151
  * @hidden
153
152
  */
154
153
  tabIndex: number;
154
+ /**
155
+ * Sets the size of the component.
156
+ *
157
+ * The possible values are:
158
+ * * `'small'`
159
+ * * `'medium'` (default)
160
+ * * `'large'`
161
+ * * `null`
162
+ *
163
+ */
164
+ size: DropDownSize;
165
+ /**
166
+ * Sets the border radius of the component.
167
+ *
168
+ * The possible values are:
169
+ * * `'small'`
170
+ * * `'medium'` (default)
171
+ * * `'large'`
172
+ * * `'full'`
173
+ * * `null`
174
+ *
175
+ */
176
+ rounded: DropDownRounded;
177
+ /**
178
+ * Sets the fillMode of the component.
179
+ *
180
+ * The possible values are:
181
+ * * `'flat'`
182
+ * * `'solid'` (default)
183
+ * * `'outline'`
184
+ * * `null`
185
+ *
186
+ */
187
+ fillMode: DropDownFillMode;
155
188
  /**
156
189
  * The hint which is displayed when the component is empty.
157
190
  * When the values are selected, it disappears.
@@ -321,7 +354,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
321
354
  container: ViewContainerRef;
322
355
  searchbar: SearchBarComponent;
323
356
  popupTemplate: TemplateRef<any>;
324
- wrapper: ElementRef<HTMLElement>;
325
357
  optionsList: ListComponent;
326
358
  template: ItemTemplateDirective;
327
359
  customItemTemplate: CustomItemTemplateDirective;
@@ -332,13 +364,25 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
332
364
  tagTemplate: TagTemplateDirective;
333
365
  groupTagTemplate: GroupTagTemplateDirective;
334
366
  noDataTemplate: NoDataTemplateDirective;
335
- widgetClasses: boolean;
367
+ hostClasses: boolean;
336
368
  readonly dir: string;
337
369
  readonly disabledClass: boolean;
370
+ readonly isLoading: boolean;
371
+ /**
372
+ * @hidden
373
+ */
374
+ hostMousedown(event: any): void;
338
375
  disabledIndices: Set<number>;
339
376
  private initialized;
340
- constructor(localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, hostElement: ElementRef, _zone: NgZone, touchEnabled: boolean);
377
+ private _size;
378
+ private _rounded;
379
+ private _fillMode;
380
+ constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, _zone: NgZone, touchEnabled: boolean);
341
381
  readonly listContainerClasses: any[];
382
+ /**
383
+ * @hidden
384
+ */
385
+ readonly customItemSizeClass: any;
342
386
  readonly width: any;
343
387
  readonly height: any;
344
388
  readonly activeDescendant: string;
@@ -491,4 +535,5 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
491
535
  private firstFocusableIndex;
492
536
  private nextTick;
493
537
  private setMessages;
538
+ private setComponentClasses;
494
539
  }
@@ -5,9 +5,9 @@
5
5
  /* tslint:disable:member-ordering */
6
6
  import * as tslib_1 from "tslib";
7
7
  var MultiSelectComponent_1;
8
- import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown } from '../common/util';
8
+ import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass } from '../common/util';
9
9
  import { SearchBarComponent } from '../common/searchbar.component';
10
- import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject } from '@angular/core';
10
+ import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject, HostListener } from '@angular/core';
11
11
  import { Subscription, Subject, of } from 'rxjs';
12
12
  import { catchError, filter, map, tap } from 'rxjs/operators';
13
13
  import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged } from '@progress/kendo-angular-common';
@@ -63,7 +63,8 @@ const MULTISELECT_VALUE_ACCESSOR = {
63
63
  * ```
64
64
  */
65
65
  let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
66
- constructor(localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, hostElement, _zone, touchEnabled) {
66
+ constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled) {
67
+ this.wrapper = wrapper;
67
68
  this.localization = localization;
68
69
  this.popupService = popupService;
69
70
  this.dataService = dataService;
@@ -73,7 +74,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
73
74
  this.cdr = cdr;
74
75
  this.differs = differs;
75
76
  this.renderer = renderer;
76
- this.hostElement = hostElement;
77
77
  this._zone = _zone;
78
78
  this.touchEnabled = touchEnabled;
79
79
  this.listBoxId = guid();
@@ -234,8 +234,11 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
234
234
  * This event is preventable. If you cancel it, the tag will not be removed.
235
235
  */
236
236
  this.removeTag = new EventEmitter();
237
- this.widgetClasses = true;
237
+ this.hostClasses = true;
238
238
  this.initialized = false;
239
+ this._size = 'medium';
240
+ this._rounded = 'medium';
241
+ this._fillMode = 'solid';
239
242
  this.onChangeCallback = (_) => { };
240
243
  this.onTouchedCallback = (_) => { };
241
244
  this._placeholder = '';
@@ -309,7 +312,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
309
312
  if (hasObservers(this.onBlur) ||
310
313
  hasObservers(this.filterChange) ||
311
314
  hasObservers(this.close) ||
312
- isUntouched(this.hostElement.nativeElement)) {
315
+ isUntouched(this.wrapper.nativeElement)) {
313
316
  this._zone.run(() => {
314
317
  this.closePopup();
315
318
  if (!(this.isOpen && this.allowCustom)) {
@@ -326,22 +329,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
326
329
  this.closePopup();
327
330
  }
328
331
  }
329
- /**
330
- * @hidden
331
- */
332
- wrapperMousedown(event) {
333
- const inputElement = this.searchbar.input.nativeElement;
334
- if (event.button === 0) {
335
- if (this.isFocused && this.isOpen && event.target === inputElement) {
336
- return;
337
- }
338
- if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
339
- this.searchbar.focus();
340
- }
341
- this.togglePopup(!this.isOpen);
342
- event.preventDefault();
343
- }
344
- }
345
332
  /**
346
333
  * @hidden
347
334
  */
@@ -419,6 +406,67 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
419
406
  get tabIndex() {
420
407
  return this.tabindex;
421
408
  }
409
+ /**
410
+ * Sets the size of the component.
411
+ *
412
+ * The possible values are:
413
+ * * `'small'`
414
+ * * `'medium'` (default)
415
+ * * `'large'`
416
+ * * `null`
417
+ *
418
+ */
419
+ set size(size) {
420
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
421
+ if (size) {
422
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
423
+ }
424
+ this._size = size;
425
+ }
426
+ get size() {
427
+ return this._size;
428
+ }
429
+ /**
430
+ * Sets the border radius of the component.
431
+ *
432
+ * The possible values are:
433
+ * * `'small'`
434
+ * * `'medium'` (default)
435
+ * * `'large'`
436
+ * * `'full'`
437
+ * * `null`
438
+ *
439
+ */
440
+ set rounded(rounded) {
441
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
442
+ if (rounded) {
443
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
444
+ }
445
+ this._rounded = rounded;
446
+ }
447
+ get rounded() {
448
+ return this._rounded;
449
+ }
450
+ /**
451
+ * Sets the fillMode of the component.
452
+ *
453
+ * The possible values are:
454
+ * * `'flat'`
455
+ * * `'solid'` (default)
456
+ * * `'outline'`
457
+ * * `null`
458
+ *
459
+ */
460
+ set fillMode(fillMode) {
461
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
462
+ if (fillMode) {
463
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
464
+ }
465
+ this._fillMode = fillMode;
466
+ }
467
+ get fillMode() {
468
+ return this._fillMode;
469
+ }
422
470
  /**
423
471
  * The hint which is displayed when the component is empty.
424
472
  * When the values are selected, it disappears.
@@ -493,6 +541,25 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
493
541
  get disabledClass() {
494
542
  return this.disabled;
495
543
  }
544
+ get isLoading() {
545
+ return this.loading;
546
+ }
547
+ /**
548
+ * @hidden
549
+ */
550
+ hostMousedown(event) {
551
+ const inputElement = this.searchbar.input.nativeElement;
552
+ if (event.button === 0) {
553
+ if (this.isFocused && this.isOpen && event.target === inputElement) {
554
+ return;
555
+ }
556
+ if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
557
+ this.searchbar.focus();
558
+ }
559
+ this.togglePopup(!this.isOpen);
560
+ event.preventDefault();
561
+ }
562
+ }
496
563
  get listContainerClasses() {
497
564
  const containerClasses = ['k-list-container', 'k-reset'];
498
565
  if (this.popupSettings.popupClass) {
@@ -500,6 +567,12 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
500
567
  }
501
568
  return containerClasses;
502
569
  }
570
+ /**
571
+ * @hidden
572
+ */
573
+ get customItemSizeClass() {
574
+ return `${this.size ? getSizeClass('list', this.size) : ''}`;
575
+ }
503
576
  get width() {
504
577
  let wrapperOffsetWidth = 0;
505
578
  if (isDocumentAvailable()) {
@@ -744,7 +817,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
744
817
  this.valueChangeDetected = false;
745
818
  }
746
819
  ngOnInit() {
747
- this.renderer.removeAttribute(this.hostElement.nativeElement, "tabindex");
820
+ this.renderer.removeAttribute(this.wrapper.nativeElement, "tabindex");
748
821
  this.createCustomValueStream();
749
822
  this.localizationChangeSubscription = this.localization
750
823
  .changes.subscribe(({ rtl }) => {
@@ -753,6 +826,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
753
826
  });
754
827
  this.setMessages();
755
828
  this.setState(this.value);
829
+ this.setComponentClasses();
756
830
  this.initialized = true;
757
831
  }
758
832
  ngOnChanges(changes) {
@@ -840,7 +914,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
840
914
  this.cdr.markForCheck();
841
915
  }
842
916
  set isFocused(isFocused) {
843
- this.renderer[isFocused ? 'addClass' : 'removeClass'](this.hostElement.nativeElement, 'k-state-focused');
917
+ this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-focus');
844
918
  this._isFocused = isFocused;
845
919
  }
846
920
  get isFocused() {
@@ -877,7 +951,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
877
951
  // Roll up MultiSelect on iOS when tapped outside
878
952
  this.touchstartDisposeHandler = this.renderer.listen(document, 'touchstart', (e) => {
879
953
  const target = e.target;
880
- if ((this.isFocused || this.isOpen) && !inDropDown(this.hostElement, target, this.popupRef)) {
954
+ if ((this.isFocused || this.isOpen) && !inDropDown(this.wrapper, target, this.popupRef)) {
881
955
  this._zone.run(() => {
882
956
  this.blur();
883
957
  if (this.isOpen) {
@@ -1244,6 +1318,17 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
1244
1318
  });
1245
1319
  });
1246
1320
  }
1321
+ setComponentClasses() {
1322
+ if (this.size) {
1323
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
1324
+ }
1325
+ if (this.rounded) {
1326
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
1327
+ }
1328
+ if (this.fillMode) {
1329
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
1330
+ }
1331
+ }
1247
1332
  };
1248
1333
  tslib_1.__decorate([
1249
1334
  Input(),
@@ -1284,6 +1369,21 @@ tslib_1.__decorate([
1284
1369
  tslib_1.__metadata("design:type", Number),
1285
1370
  tslib_1.__metadata("design:paramtypes", [Number])
1286
1371
  ], MultiSelectComponent.prototype, "tabIndex", null);
1372
+ tslib_1.__decorate([
1373
+ Input(),
1374
+ tslib_1.__metadata("design:type", String),
1375
+ tslib_1.__metadata("design:paramtypes", [String])
1376
+ ], MultiSelectComponent.prototype, "size", null);
1377
+ tslib_1.__decorate([
1378
+ Input(),
1379
+ tslib_1.__metadata("design:type", String),
1380
+ tslib_1.__metadata("design:paramtypes", [String])
1381
+ ], MultiSelectComponent.prototype, "rounded", null);
1382
+ tslib_1.__decorate([
1383
+ Input(),
1384
+ tslib_1.__metadata("design:type", String),
1385
+ tslib_1.__metadata("design:paramtypes", [String])
1386
+ ], MultiSelectComponent.prototype, "fillMode", null);
1287
1387
  tslib_1.__decorate([
1288
1388
  Input(),
1289
1389
  tslib_1.__metadata("design:type", String),
@@ -1394,10 +1494,6 @@ tslib_1.__decorate([
1394
1494
  ViewChild('popupTemplate', { static: true }),
1395
1495
  tslib_1.__metadata("design:type", TemplateRef)
1396
1496
  ], MultiSelectComponent.prototype, "popupTemplate", void 0);
1397
- tslib_1.__decorate([
1398
- ViewChild('wrapper', { static: true }),
1399
- tslib_1.__metadata("design:type", ElementRef)
1400
- ], MultiSelectComponent.prototype, "wrapper", void 0);
1401
1497
  tslib_1.__decorate([
1402
1498
  ViewChild('optionsList', { static: false }),
1403
1499
  tslib_1.__metadata("design:type", ListComponent)
@@ -1439,20 +1535,31 @@ tslib_1.__decorate([
1439
1535
  tslib_1.__metadata("design:type", NoDataTemplateDirective)
1440
1536
  ], MultiSelectComponent.prototype, "noDataTemplate", void 0);
1441
1537
  tslib_1.__decorate([
1442
- HostBinding('class.k-widget'),
1443
1538
  HostBinding('class.k-multiselect'),
1539
+ HostBinding('class.k-input'),
1444
1540
  tslib_1.__metadata("design:type", Boolean)
1445
- ], MultiSelectComponent.prototype, "widgetClasses", void 0);
1541
+ ], MultiSelectComponent.prototype, "hostClasses", void 0);
1446
1542
  tslib_1.__decorate([
1447
1543
  HostBinding('attr.dir'),
1448
1544
  tslib_1.__metadata("design:type", String),
1449
1545
  tslib_1.__metadata("design:paramtypes", [])
1450
1546
  ], MultiSelectComponent.prototype, "dir", null);
1451
1547
  tslib_1.__decorate([
1452
- HostBinding('class.k-state-disabled'),
1548
+ HostBinding('class.k-disabled'),
1453
1549
  tslib_1.__metadata("design:type", Boolean),
1454
1550
  tslib_1.__metadata("design:paramtypes", [])
1455
1551
  ], MultiSelectComponent.prototype, "disabledClass", null);
1552
+ tslib_1.__decorate([
1553
+ HostBinding('class.k-loading'),
1554
+ tslib_1.__metadata("design:type", Boolean),
1555
+ tslib_1.__metadata("design:paramtypes", [])
1556
+ ], MultiSelectComponent.prototype, "isLoading", null);
1557
+ tslib_1.__decorate([
1558
+ HostListener('mousedown', ['$event']),
1559
+ tslib_1.__metadata("design:type", Function),
1560
+ tslib_1.__metadata("design:paramtypes", [Object]),
1561
+ tslib_1.__metadata("design:returntype", void 0)
1562
+ ], MultiSelectComponent.prototype, "hostMousedown", null);
1456
1563
  MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1457
1564
  Component({
1458
1565
  exportAs: 'kendoMultiSelect',
@@ -1484,24 +1591,22 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1484
1591
  clearTitle="clear"
1485
1592
  >
1486
1593
  </ng-container>
1487
- <div class="k-multiselect-wrap k-floatwrap"
1488
- #wrapper
1489
- (mousedown)="wrapperMousedown($event)"
1594
+ <kendo-taglist
1595
+ [size]="size"
1596
+ [rounded]="rounded"
1597
+ [fillMode]="fillMode"
1598
+ [id]="tagListId"
1599
+ [tags]="tags"
1600
+ [textField]="textField"
1601
+ [valueField]="valueField"
1602
+ [focused]="focusedTagIndex"
1603
+ [disabled]="disabled"
1604
+ [template]="tagTemplate"
1605
+ [groupTemplate]="groupTagTemplate"
1606
+ [tagPrefix]="tagPrefix"
1607
+ [disabledIndices]="disabledIndices"
1608
+ (removeTag)="handleRemoveTag($event)"
1490
1609
  >
1491
- <kendo-taglist
1492
- [id]="tagListId"
1493
- [tags]="tags"
1494
- [textField]="textField"
1495
- [valueField]="valueField"
1496
- [focused]="focusedTagIndex"
1497
- [disabled]="disabled"
1498
- [template]="tagTemplate"
1499
- [groupTemplate]="groupTagTemplate"
1500
- [tagPrefix]="tagPrefix"
1501
- [disabledIndices]="disabledIndices"
1502
- (removeTag)="handleRemoveTag($event)"
1503
- >
1504
- </kendo-taglist>
1505
1610
  <kendo-searchbar
1506
1611
  #searchbar
1507
1612
  [id]="focusableId"
@@ -1521,22 +1626,24 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1521
1626
  (onFocus)="onSearchBarFocus()"
1522
1627
  >
1523
1628
  </kendo-searchbar>
1524
- <span
1525
- *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
1526
- class="k-icon k-clear-value k-i-close"
1527
- [style.visibility]="clearButtonVisiblity"
1528
- [attr.title]="clearTitle"
1529
- role="button"
1530
- tabindex="-1"
1531
- (mousedown)="clearAll($event)"
1532
- >
1533
- </span>
1534
- <span
1535
- *ngIf="loading"
1536
- class="k-icon k-i-loading"
1537
- >
1538
- </span>
1539
- </div>
1629
+ </kendo-taglist>
1630
+
1631
+ <span
1632
+ *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
1633
+ class="k-clear-value"
1634
+ [style.visibility]="clearButtonVisiblity"
1635
+ [attr.title]="clearTitle"
1636
+ role="button"
1637
+ tabindex="-1"
1638
+ (mousedown)="clearAll($event)"
1639
+ >
1640
+ <span class="k-icon k-i-x"></span>
1641
+ </span>
1642
+ <span
1643
+ *ngIf="loading"
1644
+ class="k-icon k-i-loading"
1645
+ >
1646
+ </span>
1540
1647
  <ng-template #popupTemplate>
1541
1648
  <!--header template-->
1542
1649
  <ng-template *ngIf="headerTemplate"
@@ -1545,8 +1652,12 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1545
1652
  }">
1546
1653
  </ng-template>
1547
1654
  <!--custom item template-->
1548
- <div class="k-list" *ngIf="allowCustom && text">
1549
- <div class="k-item k-custom-item" kendoDropDownsSelectable [multipleSelection]="true" [index]="-1">
1655
+ <div
1656
+ *ngIf="allowCustom && text"
1657
+ class="k-list"
1658
+ [ngClass]="customItemSizeClass"
1659
+ >
1660
+ <div class="k-list-item k-custom-item" kendoDropDownsSelectable [multipleSelection]="true" [index]="-1">
1550
1661
  <ng-template *ngIf="customItemTemplate;else default_custom_item_template"
1551
1662
  [templateContext]="{
1552
1663
  templateRef: customItemTemplate.templateRef,
@@ -1560,6 +1671,8 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1560
1671
  <!--list-->
1561
1672
  <kendo-list
1562
1673
  #optionsList
1674
+ [size]="size"
1675
+ [rounded]="rounded"
1563
1676
  [id]="listBoxId"
1564
1677
  [optionPrefix]="optionPrefix"
1565
1678
  [data]="data"
@@ -1577,7 +1690,7 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1577
1690
  >
1578
1691
  </kendo-list>
1579
1692
  <!--no data template-->
1580
- <div class="k-nodata" *ngIf="data.length === 0">
1693
+ <div class="k-no-data" *ngIf="data.length === 0">
1581
1694
  <ng-template [ngIf]="noDataTemplate"
1582
1695
  [templateContext]="{
1583
1696
  templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
@@ -1601,7 +1714,8 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1601
1714
  `
1602
1715
  }),
1603
1716
  tslib_1.__param(11, Optional()), tslib_1.__param(11, Inject(TOUCH_ENABLED)),
1604
- tslib_1.__metadata("design:paramtypes", [LocalizationService,
1717
+ tslib_1.__metadata("design:paramtypes", [ElementRef,
1718
+ LocalizationService,
1605
1719
  PopupService,
1606
1720
  DataService,
1607
1721
  SelectionService,
@@ -1610,7 +1724,6 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
1610
1724
  ChangeDetectorRef,
1611
1725
  KeyValueDiffers,
1612
1726
  Renderer2,
1613
- ElementRef,
1614
1727
  NgZone, Boolean])
1615
1728
  ], MultiSelectComponent);
1616
1729
  export { MultiSelectComponent };
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dropdowns',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1637241736,
12
+ publishDate: 1642580652,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };