@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
@@ -61,7 +61,8 @@ exports.DROPDOWNLIST_VALUE_ACCESSOR = {
61
61
  * ```
62
62
  */
63
63
  var DropDownListComponent = /** @class */ (function () {
64
- function DropDownListComponent(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, _zone, renderer, hostElement, cdr, touchEnabled) {
64
+ function DropDownListComponent(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, _zone, renderer, cdr, touchEnabled) {
65
+ this.wrapper = wrapper;
65
66
  this.localization = localization;
66
67
  this.popupService = popupService;
67
68
  this.selectionService = selectionService;
@@ -70,7 +71,6 @@ var DropDownListComponent = /** @class */ (function () {
70
71
  this.dataService = dataService;
71
72
  this._zone = _zone;
72
73
  this.renderer = renderer;
73
- this.hostElement = hostElement;
74
74
  this.cdr = cdr;
75
75
  this.touchEnabled = touchEnabled;
76
76
  /**
@@ -154,7 +154,8 @@ var DropDownListComponent = /** @class */ (function () {
154
154
  * Fires each time the DropDownList gets blurred.
155
155
  */
156
156
  this.onBlur = new core_1.EventEmitter();
157
- this.widgetClasses = true;
157
+ this.hostClasses = true;
158
+ this.role = 'listbox';
158
159
  this.groupIndices = [];
159
160
  this.listBoxId = util_1.guid();
160
161
  this.optionPrefix = util_1.guid();
@@ -166,16 +167,20 @@ var DropDownListComponent = /** @class */ (function () {
166
167
  this.last = "";
167
168
  this.filterFocused = new core_1.EventEmitter();
168
169
  this.filterBlurred = new core_1.EventEmitter();
169
- this.wrapperFocused = new core_1.EventEmitter();
170
- this.wrapperBlurred = new core_1.EventEmitter();
170
+ this.hostElementFocused = new core_1.EventEmitter();
171
+ this.hostElementBlurred = new core_1.EventEmitter();
171
172
  this.selectionSubscription = new rxjs_1.Subscription();
172
173
  this._open = false;
173
174
  this._popupSettings = { animate: true };
175
+ this._size = 'medium';
176
+ this._rounded = 'medium';
177
+ this._fillMode = 'solid';
174
178
  kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
175
179
  this.direction = localization.rtl ? 'rtl' : 'ltr';
176
180
  this.data = [];
177
181
  this.subscribeEvents();
178
182
  this.subscribeTouchEvents();
183
+ this.subscribeFocusEvents();
179
184
  this.popupMouseDownHandler = this.onMouseDown.bind(this);
180
185
  }
181
186
  DropDownListComponent_1 = DropDownListComponent;
@@ -384,11 +389,88 @@ var DropDownListComponent = /** @class */ (function () {
384
389
  enumerable: true,
385
390
  configurable: true
386
391
  });
392
+ Object.defineProperty(DropDownListComponent.prototype, "size", {
393
+ get: function () {
394
+ return this._size;
395
+ },
396
+ /**
397
+ * Sets the size of the component.
398
+ *
399
+ * The possible values are:
400
+ * * `'small'`
401
+ * * `'medium'` (default)
402
+ * * `'large'`
403
+ * * `null`
404
+ *
405
+ */
406
+ set: function (size) {
407
+ this.renderer.removeClass(this.wrapper.nativeElement, util_1.getSizeClass('picker', this.size));
408
+ if (size) {
409
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getSizeClass('picker', size));
410
+ }
411
+ this._size = size;
412
+ },
413
+ enumerable: true,
414
+ configurable: true
415
+ });
416
+ Object.defineProperty(DropDownListComponent.prototype, "rounded", {
417
+ get: function () {
418
+ return this._rounded;
419
+ },
420
+ /**
421
+ * Sets the border radius of the component.
422
+ *
423
+ * The possible values are:
424
+ * * `'small'`
425
+ * * `'medium'` (default)
426
+ * * `'large'`
427
+ * * `'full'`
428
+ * * `null`
429
+ *
430
+ */
431
+ set: function (rounded) {
432
+ this.renderer.removeClass(this.wrapper.nativeElement, util_1.getRoundedClass(this.rounded));
433
+ if (rounded) {
434
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getRoundedClass(rounded));
435
+ }
436
+ this._rounded = rounded;
437
+ },
438
+ enumerable: true,
439
+ configurable: true
440
+ });
441
+ Object.defineProperty(DropDownListComponent.prototype, "fillMode", {
442
+ get: function () {
443
+ return this._fillMode;
444
+ },
445
+ /**
446
+ * Sets the fillMode of the component.
447
+ *
448
+ * The possible values are:
449
+ * * `'flat'`
450
+ * * `'solid'` (default)
451
+ * * `'outline'`
452
+ * * `null`
453
+ *
454
+ */
455
+ set: function (fillMode) {
456
+ this.renderer.removeClass(this.wrapper.nativeElement, util_1.getFillModeClass('picker', this.fillMode));
457
+ if (fillMode) {
458
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getFillModeClass('picker', fillMode));
459
+ }
460
+ this._fillMode = fillMode;
461
+ },
462
+ enumerable: true,
463
+ configurable: true
464
+ });
387
465
  /**
388
466
  * @hidden
389
467
  */
390
- DropDownListComponent.prototype.blurComponent = function () {
391
- this.wrapperBlurred.emit();
468
+ DropDownListComponent.prototype.blurComponent = function (event) {
469
+ if (event.target !== this.wrapper.nativeElement) {
470
+ return;
471
+ }
472
+ event.stopImmediatePropagation();
473
+ this.hostElementBlurred.emit();
392
474
  };
393
475
  /**
394
476
  * @hidden
@@ -399,9 +481,13 @@ var DropDownListComponent = /** @class */ (function () {
399
481
  /**
400
482
  * @hidden
401
483
  */
402
- DropDownListComponent.prototype.focusComponent = function () {
484
+ DropDownListComponent.prototype.focusComponent = function (event) {
403
485
  var _this = this;
404
- this.wrapperFocused.emit();
486
+ if (event.target !== this.wrapper.nativeElement) {
487
+ return;
488
+ }
489
+ event.stopImmediatePropagation();
490
+ this.hostElementFocused.emit();
405
491
  if (!this.isFocused) {
406
492
  this.isFocused = true;
407
493
  if (kendo_angular_common_1.hasObservers(this.onFocus)) {
@@ -411,6 +497,87 @@ var DropDownListComponent = /** @class */ (function () {
411
497
  }
412
498
  }
413
499
  };
500
+ /**
501
+ * @hidden
502
+ */
503
+ DropDownListComponent.prototype.onResize = function () {
504
+ if (this._open) {
505
+ var popupWrapper = this.popupRef.popupElement;
506
+ var _a = this.width, min = _a.min, max = _a.max;
507
+ popupWrapper.style.minWidth = min;
508
+ popupWrapper.style.width = max;
509
+ }
510
+ };
511
+ Object.defineProperty(DropDownListComponent.prototype, "isDisabled", {
512
+ get: function () {
513
+ return this.disabled;
514
+ },
515
+ enumerable: true,
516
+ configurable: true
517
+ });
518
+ Object.defineProperty(DropDownListComponent.prototype, "isLoading", {
519
+ get: function () {
520
+ return this.loading;
521
+ },
522
+ enumerable: true,
523
+ configurable: true
524
+ });
525
+ Object.defineProperty(DropDownListComponent.prototype, "id", {
526
+ get: function () {
527
+ return this.focusableId;
528
+ },
529
+ enumerable: true,
530
+ configurable: true
531
+ });
532
+ Object.defineProperty(DropDownListComponent.prototype, "dir", {
533
+ get: function () {
534
+ return this.direction;
535
+ },
536
+ enumerable: true,
537
+ configurable: true
538
+ });
539
+ Object.defineProperty(DropDownListComponent.prototype, "hostTabIndex", {
540
+ get: function () {
541
+ return this.widgetTabIndex;
542
+ },
543
+ enumerable: true,
544
+ configurable: true
545
+ });
546
+ Object.defineProperty(DropDownListComponent.prototype, "isReadonly", {
547
+ get: function () {
548
+ return this.readonly;
549
+ },
550
+ enumerable: true,
551
+ configurable: true
552
+ });
553
+ Object.defineProperty(DropDownListComponent.prototype, "isAriaExpanded", {
554
+ get: function () {
555
+ return this.ariaExpanded;
556
+ },
557
+ enumerable: true,
558
+ configurable: true
559
+ });
560
+ Object.defineProperty(DropDownListComponent.prototype, "hostAriaOwns", {
561
+ get: function () {
562
+ return this.ariaOwns;
563
+ },
564
+ enumerable: true,
565
+ configurable: true
566
+ });
567
+ Object.defineProperty(DropDownListComponent.prototype, "hostAriaActivedescendant", {
568
+ get: function () {
569
+ return this.ariaActivedescendant;
570
+ },
571
+ enumerable: true,
572
+ configurable: true
573
+ });
574
+ Object.defineProperty(DropDownListComponent.prototype, "hostNoDataLabel", {
575
+ get: function () {
576
+ return this.noDataLabel;
577
+ },
578
+ enumerable: true,
579
+ configurable: true
580
+ });
414
581
  /**
415
582
  * @hidden
416
583
  */
@@ -471,30 +638,12 @@ var DropDownListComponent = /** @class */ (function () {
471
638
  this.focus();
472
639
  this.togglePopup(!this.isOpen);
473
640
  };
474
- /**
475
- * @hidden
476
- */
477
- DropDownListComponent.prototype.onResize = function () {
478
- if (this._open) {
479
- var popupWrapper = this.popupRef.popupElement;
480
- var _a = this.width, min = _a.min, max = _a.max;
481
- popupWrapper.style.minWidth = min;
482
- popupWrapper.style.width = max;
483
- }
484
- };
485
- Object.defineProperty(DropDownListComponent.prototype, "dir", {
486
- get: function () {
487
- return this.direction;
488
- },
489
- enumerable: true,
490
- configurable: true
491
- });
492
641
  Object.defineProperty(DropDownListComponent.prototype, "isFocused", {
493
642
  get: function () {
494
643
  return this._isFocused;
495
644
  },
496
645
  set: function (isFocused) {
497
- this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-state-focused');
646
+ this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-focus');
498
647
  this._isFocused = isFocused;
499
648
  },
500
649
  enumerable: true,
@@ -502,7 +651,7 @@ var DropDownListComponent = /** @class */ (function () {
502
651
  });
503
652
  DropDownListComponent.prototype.ngOnInit = function () {
504
653
  var _this = this;
505
- this.renderer.removeAttribute(this.hostElement.nativeElement, "tabindex");
654
+ this.renderer.removeAttribute(this.wrapper.nativeElement, "tabindex");
506
655
  this.localizationChangesSubscription = this.localization
507
656
  .changes.subscribe(function (_a) {
508
657
  var rtl = _a.rtl;
@@ -511,6 +660,7 @@ var DropDownListComponent = /** @class */ (function () {
511
660
  });
512
661
  this.setMessages();
513
662
  this.assignAriaDescribedBy();
663
+ this.setComponentClasses();
514
664
  };
515
665
  /**
516
666
  * @hidden
@@ -692,6 +842,36 @@ var DropDownListComponent = /** @class */ (function () {
692
842
  enumerable: true,
693
843
  configurable: true
694
844
  });
845
+ Object.defineProperty(DropDownListComponent.prototype, "selectButtonClasses", {
846
+ /**
847
+ * @hidden
848
+ */
849
+ get: function () {
850
+ return (this.size ? util_1.getSizeClass('button', this.size) : '') + " " + (this.fillMode ? 'k-button-' + this.fillMode : '') + " " + (this.fillMode ? 'k-button-' + this.fillMode + '-base' : '');
851
+ },
852
+ enumerable: true,
853
+ configurable: true
854
+ });
855
+ Object.defineProperty(DropDownListComponent.prototype, "filterInputClasses", {
856
+ /**
857
+ * @hidden
858
+ */
859
+ get: function () {
860
+ return (this.size ? util_1.getSizeClass('input', this.size) : '') + " " + (this.fillMode ? 'k-input-' + this.fillMode : '') + " " + (this.rounded ? util_1.getRoundedClass(this.rounded) : '');
861
+ },
862
+ enumerable: true,
863
+ configurable: true
864
+ });
865
+ Object.defineProperty(DropDownListComponent.prototype, "optionLabelSizeClass", {
866
+ /**
867
+ * @hidden
868
+ */
869
+ get: function () {
870
+ return "" + (this.size ? util_1.getSizeClass('list', this.size) : '');
871
+ },
872
+ enumerable: true,
873
+ configurable: true
874
+ });
695
875
  Object.defineProperty(DropDownListComponent.prototype, "listContainerClasses", {
696
876
  /**
697
877
  * @hidden
@@ -839,13 +1019,13 @@ var DropDownListComponent = /** @class */ (function () {
839
1019
  .subscribe(this.handleEnter.bind(this));
840
1020
  this.escSubscription = this.navigationService.esc
841
1021
  .subscribe(this.handleEscape.bind(this));
842
- this.filterBlurredSubscription = this.filterBlurred.pipe(operators_1.concatMap(function () { return rxjs_1.interval(10).pipe(operators_1.take(1), operators_1.takeUntil(_this.wrapperFocused)); }))
1022
+ this.filterBlurredSubscription = this.filterBlurred.pipe(operators_1.concatMap(function () { return rxjs_1.interval(10).pipe(operators_1.take(1), operators_1.takeUntil(_this.hostElementFocused)); }))
843
1023
  .subscribe(function () {
844
- _this.wrapperBlurred.emit();
1024
+ _this.hostElementBlurred.emit();
845
1025
  });
846
1026
  this._zone.runOutsideAngular(function () {
847
1027
  _this.componentBlurredSubscription =
848
- rxjs_1.merge(_this.wrapperBlurred.pipe(operators_1.concatMap(function () { return rxjs_1.interval(10).pipe(operators_1.take(1), operators_1.takeUntil(_this.filterFocused)); })), _this.navigationService.tab).pipe(operators_1.tap(function (event) { return event instanceof navigation_service_1.NavigationEvent && _this.focus(); }), operators_1.filter(function () { return _this.isFocused; }))
1028
+ rxjs_1.merge(_this.hostElementBlurred.pipe(operators_1.concatMap(function () { return rxjs_1.interval(10).pipe(operators_1.take(1), operators_1.takeUntil(_this.filterFocused)); })), _this.navigationService.tab).pipe(operators_1.tap(function (event) { return event instanceof navigation_service_1.NavigationEvent && _this.focus(); }), operators_1.filter(function () { return _this.isFocused; }))
849
1029
  .subscribe(function () { return _this.componentBlur(); });
850
1030
  });
851
1031
  };
@@ -858,7 +1038,7 @@ var DropDownListComponent = /** @class */ (function () {
858
1038
  // Roll up DropDownList on iOS when tapped outside
859
1039
  return _this.touchstartDisposeHandler = _this.renderer.listen(document, 'touchstart', function (e) {
860
1040
  var target = e.target;
861
- if (_this.isFocused && !util_1.inDropDown(_this.hostElement, target, _this.popupRef)) {
1041
+ if (_this.isFocused && !util_1.inDropDown(_this.wrapper, target, _this.popupRef)) {
862
1042
  _this._zone.run(function () {
863
1043
  if (_this.filterFocused) {
864
1044
  // Close popup if filter is focused
@@ -870,6 +1050,25 @@ var DropDownListComponent = /** @class */ (function () {
870
1050
  });
871
1051
  });
872
1052
  };
1053
+ DropDownListComponent.prototype.subscribeFocusEvents = function () {
1054
+ var _this = this;
1055
+ if (kendo_angular_common_1.isDocumentAvailable()) {
1056
+ this.focusComponent = this.focusComponent.bind(this);
1057
+ this.blurComponent = this.blurComponent.bind(this);
1058
+ this._zone.runOutsideAngular(function () {
1059
+ var useCapture = true;
1060
+ document.addEventListener('focus', _this.focusComponent, useCapture);
1061
+ document.addEventListener('blur', _this.blurComponent, useCapture);
1062
+ });
1063
+ }
1064
+ };
1065
+ DropDownListComponent.prototype.unSubscribeFocusEvents = function () {
1066
+ if (kendo_angular_common_1.isDocumentAvailable()) {
1067
+ var useCapture = true;
1068
+ document.removeEventListener('focus', this.focusComponent, useCapture);
1069
+ document.removeEventListener('blur', this.blurComponent, useCapture);
1070
+ }
1071
+ };
873
1072
  DropDownListComponent.prototype.unsubscribeEvents = function () {
874
1073
  if (!kendo_angular_common_1.isDocumentAvailable()) {
875
1074
  return;
@@ -881,6 +1080,7 @@ var DropDownListComponent = /** @class */ (function () {
881
1080
  this.escSubscription.unsubscribe();
882
1081
  this.componentBlurredSubscription.unsubscribe();
883
1082
  this.filterBlurredSubscription.unsubscribe();
1083
+ this.unSubscribeFocusEvents();
884
1084
  if (this.touchstartDisposeHandler) {
885
1085
  this.touchstartDisposeHandler();
886
1086
  }
@@ -973,7 +1173,7 @@ var DropDownListComponent = /** @class */ (function () {
973
1173
  kendo_angular_common_1.hasObservers(this.close) ||
974
1174
  kendo_angular_common_1.hasObservers(this.onBlur) ||
975
1175
  kendo_angular_common_1.hasObservers(this.filterChange) ||
976
- util_1.isUntouched(this.hostElement.nativeElement)) {
1176
+ util_1.isUntouched(this.wrapper.nativeElement)) {
977
1177
  this._zone.run(function () {
978
1178
  if (valueHasChanged) {
979
1179
  _this.selectionService.change(_this.selectionService.selected[0]);
@@ -1157,6 +1357,17 @@ var DropDownListComponent = /** @class */ (function () {
1157
1357
  var newValue = (this.valueLabelId + " " + trimmed).trim();
1158
1358
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-describedby', newValue);
1159
1359
  };
1360
+ DropDownListComponent.prototype.setComponentClasses = function () {
1361
+ if (this.size) {
1362
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getSizeClass('picker', this.size));
1363
+ }
1364
+ if (this.rounded) {
1365
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getRoundedClass(this.rounded));
1366
+ }
1367
+ if (this.fillMode) {
1368
+ this.renderer.addClass(this.wrapper.nativeElement, util_1.getFillModeClass('picker', this.fillMode));
1369
+ }
1370
+ };
1160
1371
  var DropDownListComponent_1;
1161
1372
  tslib_1.__decorate([
1162
1373
  core_1.Input(),
@@ -1245,6 +1456,21 @@ var DropDownListComponent = /** @class */ (function () {
1245
1456
  tslib_1.__metadata("design:type", Number),
1246
1457
  tslib_1.__metadata("design:paramtypes", [Number])
1247
1458
  ], DropDownListComponent.prototype, "tabIndex", null);
1459
+ tslib_1.__decorate([
1460
+ core_1.Input(),
1461
+ tslib_1.__metadata("design:type", String),
1462
+ tslib_1.__metadata("design:paramtypes", [String])
1463
+ ], DropDownListComponent.prototype, "size", null);
1464
+ tslib_1.__decorate([
1465
+ core_1.Input(),
1466
+ tslib_1.__metadata("design:type", String),
1467
+ tslib_1.__metadata("design:paramtypes", [String])
1468
+ ], DropDownListComponent.prototype, "rounded", null);
1469
+ tslib_1.__decorate([
1470
+ core_1.Input(),
1471
+ tslib_1.__metadata("design:type", String),
1472
+ tslib_1.__metadata("design:paramtypes", [String])
1473
+ ], DropDownListComponent.prototype, "fillMode", null);
1248
1474
  tslib_1.__decorate([
1249
1475
  core_1.Output(),
1250
1476
  tslib_1.__metadata("design:type", core_1.EventEmitter)
@@ -1317,24 +1543,90 @@ var DropDownListComponent = /** @class */ (function () {
1317
1543
  core_1.ViewChild('popupTemplate', { static: true }),
1318
1544
  tslib_1.__metadata("design:type", core_1.TemplateRef)
1319
1545
  ], DropDownListComponent.prototype, "popupTemplate", void 0);
1320
- tslib_1.__decorate([
1321
- core_1.ViewChild('wrapper', { static: true }),
1322
- tslib_1.__metadata("design:type", core_1.ElementRef)
1323
- ], DropDownListComponent.prototype, "wrapper", void 0);
1324
1546
  tslib_1.__decorate([
1325
1547
  core_1.ViewChild('optionsList', { static: false }),
1326
1548
  tslib_1.__metadata("design:type", list_component_1.ListComponent)
1327
1549
  ], DropDownListComponent.prototype, "optionsList", void 0);
1328
1550
  tslib_1.__decorate([
1329
- core_1.HostBinding('class.k-widget'),
1330
- core_1.HostBinding('class.k-dropdown'),
1551
+ core_1.HostBinding('class.k-dropdownlist'),
1552
+ core_1.HostBinding('class.k-picker'),
1331
1553
  tslib_1.__metadata("design:type", Boolean)
1332
- ], DropDownListComponent.prototype, "widgetClasses", void 0);
1554
+ ], DropDownListComponent.prototype, "hostClasses", void 0);
1555
+ tslib_1.__decorate([
1556
+ core_1.HostBinding('class.k-disabled'),
1557
+ core_1.HostBinding('attr.aria-disabled'),
1558
+ tslib_1.__metadata("design:type", Boolean),
1559
+ tslib_1.__metadata("design:paramtypes", [])
1560
+ ], DropDownListComponent.prototype, "isDisabled", null);
1561
+ tslib_1.__decorate([
1562
+ core_1.HostBinding('class.k-loading'),
1563
+ tslib_1.__metadata("design:type", Boolean),
1564
+ tslib_1.__metadata("design:paramtypes", [])
1565
+ ], DropDownListComponent.prototype, "isLoading", null);
1566
+ tslib_1.__decorate([
1567
+ core_1.HostBinding('attr.id'),
1568
+ tslib_1.__metadata("design:type", String),
1569
+ tslib_1.__metadata("design:paramtypes", [])
1570
+ ], DropDownListComponent.prototype, "id", null);
1333
1571
  tslib_1.__decorate([
1334
1572
  core_1.HostBinding('attr.dir'),
1335
1573
  tslib_1.__metadata("design:type", String),
1336
1574
  tslib_1.__metadata("design:paramtypes", [])
1337
1575
  ], DropDownListComponent.prototype, "dir", null);
1576
+ tslib_1.__decorate([
1577
+ core_1.HostBinding('attr.tabindex'),
1578
+ tslib_1.__metadata("design:type", Number),
1579
+ tslib_1.__metadata("design:paramtypes", [])
1580
+ ], DropDownListComponent.prototype, "hostTabIndex", null);
1581
+ tslib_1.__decorate([
1582
+ core_1.HostBinding('attr.readonly'),
1583
+ core_1.HostBinding('attr.aria-readonly'),
1584
+ tslib_1.__metadata("design:type", Boolean),
1585
+ tslib_1.__metadata("design:paramtypes", [])
1586
+ ], DropDownListComponent.prototype, "isReadonly", null);
1587
+ tslib_1.__decorate([
1588
+ core_1.HostBinding('attr.role'),
1589
+ core_1.HostBinding('attr.aria-haspopup'),
1590
+ tslib_1.__metadata("design:type", String)
1591
+ ], DropDownListComponent.prototype, "role", void 0);
1592
+ tslib_1.__decorate([
1593
+ core_1.HostBinding('attr.aria-expanded'),
1594
+ tslib_1.__metadata("design:type", Boolean),
1595
+ tslib_1.__metadata("design:paramtypes", [])
1596
+ ], DropDownListComponent.prototype, "isAriaExpanded", null);
1597
+ tslib_1.__decorate([
1598
+ core_1.HostBinding('attr.aria-owns'),
1599
+ tslib_1.__metadata("design:type", String),
1600
+ tslib_1.__metadata("design:paramtypes", [])
1601
+ ], DropDownListComponent.prototype, "hostAriaOwns", null);
1602
+ tslib_1.__decorate([
1603
+ core_1.HostBinding('attr.aria-activedescendant'),
1604
+ tslib_1.__metadata("design:type", String),
1605
+ tslib_1.__metadata("design:paramtypes", [])
1606
+ ], DropDownListComponent.prototype, "hostAriaActivedescendant", null);
1607
+ tslib_1.__decorate([
1608
+ core_1.HostBinding('attr.aria-label'),
1609
+ tslib_1.__metadata("design:type", String),
1610
+ tslib_1.__metadata("design:paramtypes", [])
1611
+ ], DropDownListComponent.prototype, "hostNoDataLabel", null);
1612
+ tslib_1.__decorate([
1613
+ core_1.HostListener('keydown', ['$event']),
1614
+ tslib_1.__metadata("design:type", Function),
1615
+ tslib_1.__metadata("design:paramtypes", [Object]),
1616
+ tslib_1.__metadata("design:returntype", void 0)
1617
+ ], DropDownListComponent.prototype, "keydown", null);
1618
+ tslib_1.__decorate([
1619
+ core_1.HostListener('keypress', ['$event']),
1620
+ tslib_1.__metadata("design:type", Function),
1621
+ tslib_1.__metadata("design:paramtypes", [Object]),
1622
+ tslib_1.__metadata("design:returntype", void 0)
1623
+ ], DropDownListComponent.prototype, "keypress", null);
1624
+ tslib_1.__decorate([
1625
+ core_1.HostListener('click', ['$event']),
1626
+ tslib_1.__metadata("design:type", Function),
1627
+ tslib_1.__metadata("design:paramtypes", [MouseEvent]),
1628
+ tslib_1.__metadata("design:returntype", void 0)
1629
+ ], DropDownListComponent.prototype, "click", null);
1338
1630
  DropDownListComponent = DropDownListComponent_1 = tslib_1.__decorate([
1339
1631
  core_1.Component({
1340
1632
  exportAs: 'kendoDropDownList',
@@ -1357,10 +1649,11 @@ var DropDownListComponent = /** @class */ (function () {
1357
1649
  }
1358
1650
  ],
1359
1651
  selector: 'kendo-dropdownlist',
1360
- template: "\n <ng-container kendoDropDownListLocalizedMessages\n i18n-noDataText=\"kendo.dropdownlist.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n >\n </ng-container>\n <span #wrapper unselectable=\"on\"\n role=\"listbox\"\n [id]=\"focusableId\"\n [ngClass]=\"{\n 'k-dropdown-wrap': true,\n 'k-state-disabled': this.disabled\n }\"\n [attr.dir]=\"direction\"\n [attr.readonly]=\"readonly\"\n [attr.tabindex]=\"widgetTabIndex\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.aria-activedescendant]=\"ariaActivedescendant\"\n [attr.aria-label]=\"noDataLabel\"\n (keydown)=\"keydown($event)\"\n (keypress)=\"keypress($event)\"\n (click)=\"click($event)\"\n [kendoEventsOutsideAngular]=\"{\n focus: focusComponent,\n blur: blurComponent\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-input\" unselectable=\"on\" [id]=\"valueLabelId\">\n <ng-template *ngIf=\"valueTemplate\"\n [templateContext]=\"{\n templateRef: valueTemplate.templateRef,\n $implicit: dataItem\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!valueTemplate\">{{ getText() }}</ng-template>\n </span>\n <span class=\"k-select\" unselectable=\"on\">\n <span\n class=\"k-icon\"\n unselectable=\"on\"\n [ngClass]=\"buttonClasses\"\n >\n </span>\n </span>\n <ng-template #popupTemplate>\n <!--filterable-->\n\n <ng-template [ngIf]=\"filterable\">\n <span class=\"k-list-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <input\n [attr.aria-owns]=\"ariaOwns\"\n [attr.aria-activedescendant]=\"ariaActivedescendant\"\n [attr.aria-label]=\"noDataLabel\"\n tabindex=\"-1\"\n [filterInput]=\"isFocused && !touchEnabled\"\n [dir]=\"direction\"\n [(ngModel)]=\"filterText\"\n class=\"k-textbox\"\n (keydown)=\"keydown($event)\"\n (input)=\"handleFilter($event)\"\n (focus)=\"onFilterFocus()\"\n (blur)=\"blurFilterInput()\" />\n <span class=\"k-icon k-i-search\" unselectable=\"on\"></span>\n </span>\n </ng-template>\n <!--default item-->\n <ng-template [ngIf]=\"defaultItem && !itemTemplate\">\n <div class=\"k-list-optionlabel\" [ngClass]=\"{ 'k-state-disabled': isDisabledDefaultItem }\" kendoDropDownsSelectable [index]=\"-1\">\n {{ getDefaultItemText() }}\n </div>\n </ng-template>\n <ng-template [ngIf]=\"defaultItem && itemTemplate\">\n <div class=\"k-list-optionlabel\" [ngClass]=\"{ 'k-state-disabled': isDisabledDefaultItem }\" kendoDropDownsSelectable [index]=\"-1\">\n <ng-template\n [templateContext]=\"{\n templateRef: itemTemplate.templateRef,\n $implicit: defaultItem\n }\">\n </ng-template>\n </div>\n </ng-template>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"itemTemplate\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-nodata\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n </span>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1652
+ template: "\n <ng-container kendoDropDownListLocalizedMessages\n i18n-noDataText=\"kendo.dropdownlist.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n >\n </ng-container>\n <span class=\"k-input-inner\" unselectable=\"on\" [id]=\"valueLabelId\">\n <span class=\"k-input-value-text\">\n <ng-template *ngIf=\"valueTemplate\"\n [templateContext]=\"{\n templateRef: valueTemplate.templateRef,\n $implicit: dataItem\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!valueTemplate\">{{ getText() }}</ng-template>\n </span>\n </span>\n <button\n tabindex=\"-1\"\n unselectable=\"on\"\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [ngClass]=\"selectButtonClasses\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: onMouseDown\n }\"\n >\n <span\n class=\"k-button-icon k-icon\"\n unselectable=\"on\"\n [ngClass]=\"buttonClasses\"\n ></span>\n </button>\n <ng-template #popupTemplate>\n <!--filterable-->\n\n <ng-template [ngIf]=\"filterable\">\n <div class=\"k-list-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <span\n class=\"k-searchbox k-input\"\n [ngClass]=\"filterInputClasses\"\n >\n <span class=\"k-input-icon k-icon k-i-search\" unselectable=\"on\"></span>\n <input\n [attr.aria-owns]=\"ariaOwns\"\n [attr.aria-activedescendant]=\"ariaActivedescendant\"\n [attr.aria-label]=\"noDataLabel\"\n tabindex=\"-1\"\n [filterInput]=\"isFocused && !touchEnabled\"\n [dir]=\"direction\"\n [(ngModel)]=\"filterText\"\n class=\"k-input-inner\"\n (keydown)=\"keydown($event)\"\n (input)=\"handleFilter($event)\"\n (focus)=\"onFilterFocus()\"\n (blur)=\"blurFilterInput()\" />\n </span>\n </div>\n </ng-template>\n <!--default item-->\n <ng-template [ngIf]=\"defaultItem && !itemTemplate\">\n <div\n class=\"k-list\"\n [ngClass]=\"optionLabelSizeClass\"\n >\n <div class=\"k-list-optionlabel k-list-item\" [ngClass]=\"{ 'k-disabled': isDisabledDefaultItem }\" kendoDropDownsSelectable [index]=\"-1\">\n {{ getDefaultItemText() }}\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"defaultItem && itemTemplate\">\n <div\n class=\"k-list\"\n [ngClass]=\"optionLabelSizeClass\"\n >\n <div class=\"k-list-optionlabel k-list-item\" [ngClass]=\"{ 'k-disabled': isDisabledDefaultItem }\" kendoDropDownsSelectable [index]=\"-1\">\n <ng-template\n [templateContext]=\"{\n templateRef: itemTemplate.templateRef,\n $implicit: defaultItem\n }\">\n </ng-template>\n </div>\n </div>\n </ng-template>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [size]=\"size\"\n [rounded]=\"rounded\"\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"itemTemplate\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-no-data\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1361
1653
  }),
1362
1654
  tslib_1.__param(10, core_1.Optional()), tslib_1.__param(10, core_1.Inject(touch_enabled_1.TOUCH_ENABLED)),
1363
- tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
1655
+ tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
1656
+ kendo_angular_l10n_1.LocalizationService,
1364
1657
  kendo_angular_popup_1.PopupService,
1365
1658
  selection_service_1.SelectionService,
1366
1659
  navigation_service_1.NavigationService,
@@ -1368,7 +1661,6 @@ var DropDownListComponent = /** @class */ (function () {
1368
1661
  data_service_1.DataService,
1369
1662
  core_1.NgZone,
1370
1663
  core_1.Renderer2,
1371
- core_1.ElementRef,
1372
1664
  core_1.ChangeDetectorRef, Boolean])
1373
1665
  ], DropDownListComponent);
1374
1666
  return DropDownListComponent;