@progress/kendo-vue-dropdowns 2.7.3 → 3.0.0-dev.202201141128

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 (72) hide show
  1. package/dist/cdn/js/kendo-vue-dropdowns.js +1 -1
  2. package/dist/es/AutoComplete/AutoComplete.d.ts +5 -6
  3. package/dist/es/AutoComplete/AutoComplete.js +62 -28
  4. package/dist/es/AutoComplete/AutoCompleteProps.d.ts +39 -0
  5. package/dist/es/ComboBox/ComboBox.d.ts +5 -6
  6. package/dist/es/ComboBox/ComboBox.js +101 -79
  7. package/dist/es/ComboBox/ComboBoxProps.d.ts +39 -0
  8. package/dist/es/DropDownList/DropDownList.d.ts +5 -6
  9. package/dist/es/DropDownList/DropDownList.js +181 -152
  10. package/dist/es/DropDownList/DropDownListProps.d.ts +43 -0
  11. package/dist/es/MultiSelect/MultiSelect.d.ts +5 -6
  12. package/dist/es/MultiSelect/MultiSelect.js +105 -77
  13. package/dist/es/MultiSelect/MultiSelectProps.d.ts +53 -0
  14. package/dist/es/MultiSelect/TagList.d.ts +8 -4
  15. package/dist/es/MultiSelect/TagList.js +60 -11
  16. package/dist/es/additionalTypes.ts +7 -1
  17. package/dist/es/common/ClearButton.d.ts +5 -6
  18. package/dist/es/common/ClearButton.js +7 -5
  19. package/dist/es/common/DropDownBase.d.ts +4 -5
  20. package/dist/es/common/DropDownBase.js +5 -2
  21. package/dist/es/common/List.d.ts +7 -4
  22. package/dist/es/common/List.js +21 -6
  23. package/dist/es/common/ListContainer.d.ts +5 -6
  24. package/dist/es/common/ListContainer.js +7 -4
  25. package/dist/es/common/ListDefaultItem.d.ts +5 -6
  26. package/dist/es/common/ListDefaultItem.js +7 -4
  27. package/dist/es/common/ListFilter.d.ts +8 -6
  28. package/dist/es/common/ListFilter.js +50 -7
  29. package/dist/es/common/ListItem.d.ts +5 -6
  30. package/dist/es/common/ListItem.js +17 -9
  31. package/dist/es/common/SearchBar.d.ts +6 -6
  32. package/dist/es/common/SearchBar.js +13 -13
  33. package/dist/es/common/VirtualScroll.js +6 -4
  34. package/dist/es/main.d.ts +5 -5
  35. package/dist/es/main.js +5 -5
  36. package/dist/es/package-metadata.js +1 -1
  37. package/dist/npm/AutoComplete/AutoComplete.d.ts +5 -6
  38. package/dist/npm/AutoComplete/AutoComplete.js +63 -29
  39. package/dist/npm/AutoComplete/AutoCompleteProps.d.ts +39 -0
  40. package/dist/npm/ComboBox/ComboBox.d.ts +5 -6
  41. package/dist/npm/ComboBox/ComboBox.js +104 -80
  42. package/dist/npm/ComboBox/ComboBoxProps.d.ts +39 -0
  43. package/dist/npm/DropDownList/DropDownList.d.ts +5 -6
  44. package/dist/npm/DropDownList/DropDownList.js +184 -153
  45. package/dist/npm/DropDownList/DropDownListProps.d.ts +43 -0
  46. package/dist/npm/MultiSelect/MultiSelect.d.ts +5 -6
  47. package/dist/npm/MultiSelect/MultiSelect.js +107 -78
  48. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +53 -0
  49. package/dist/npm/MultiSelect/TagList.d.ts +8 -4
  50. package/dist/npm/MultiSelect/TagList.js +60 -10
  51. package/dist/npm/additionalTypes.ts +7 -1
  52. package/dist/npm/common/ClearButton.d.ts +5 -6
  53. package/dist/npm/common/ClearButton.js +9 -7
  54. package/dist/npm/common/DropDownBase.d.ts +4 -5
  55. package/dist/npm/common/DropDownBase.js +5 -2
  56. package/dist/npm/common/List.d.ts +7 -4
  57. package/dist/npm/common/List.js +21 -5
  58. package/dist/npm/common/ListContainer.d.ts +5 -6
  59. package/dist/npm/common/ListContainer.js +9 -6
  60. package/dist/npm/common/ListDefaultItem.d.ts +5 -6
  61. package/dist/npm/common/ListDefaultItem.js +9 -6
  62. package/dist/npm/common/ListFilter.d.ts +8 -6
  63. package/dist/npm/common/ListFilter.js +54 -9
  64. package/dist/npm/common/ListItem.d.ts +5 -6
  65. package/dist/npm/common/ListItem.js +18 -10
  66. package/dist/npm/common/SearchBar.d.ts +6 -6
  67. package/dist/npm/common/SearchBar.js +15 -15
  68. package/dist/npm/common/VirtualScroll.js +6 -4
  69. package/dist/npm/main.d.ts +5 -5
  70. package/dist/npm/main.js +5 -5
  71. package/dist/npm/package-metadata.js +1 -1
  72. package/package.json +5 -4
@@ -19,7 +19,7 @@ var __assign = undefined && undefined.__assign || function () {
19
19
  Object.defineProperty(exports, "__esModule", {
20
20
  value: true
21
21
  });
22
- exports.AutoCompleteVue3 = exports.AutoComplete = void 0; // @ts-ignore
22
+ exports.AutoCompleteVue2 = exports.AutoComplete = void 0; // @ts-ignore
23
23
 
24
24
  var Vue = require("vue");
25
25
 
@@ -41,12 +41,14 @@ var utils_1 = require("../common/utils");
41
41
 
42
42
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
43
43
 
44
+ var sizeMap = kendo_vue_common_1.kendoThemeMaps.sizeMap,
45
+ roundedMap = kendo_vue_common_1.kendoThemeMaps.roundedMap;
44
46
  var VALIDATION_MESSAGE = 'Please enter a valid value!';
45
47
  /**
46
48
  * Represents the default `AutoComplete` component.
47
49
  */
48
50
 
49
- var AutoComplete = {
51
+ var AutoCompleteVue2 = {
50
52
  name: 'KendoAutoComplete',
51
53
  model: {
52
54
  event: 'changemodel'
@@ -103,7 +105,6 @@ var AutoComplete = {
103
105
  accessKey: String,
104
106
  dataItems: Array,
105
107
  textField: String,
106
- className: String,
107
108
  loading: Boolean,
108
109
  popupSettings: {
109
110
  type: Object,
@@ -124,7 +125,28 @@ var AutoComplete = {
124
125
  default: false
125
126
  },
126
127
  ariaLabelledBy: String,
127
- ariaDescribedBy: String
128
+ ariaDescribedBy: String,
129
+ rounded: {
130
+ type: String,
131
+ default: 'medium',
132
+ validator: function validator(value) {
133
+ return ['small', 'medium', 'large', 'full'].includes(value);
134
+ }
135
+ },
136
+ fillMode: {
137
+ type: String,
138
+ default: 'solid',
139
+ validator: function validator(value) {
140
+ return ['solid', 'flat', 'outline'].includes(value);
141
+ }
142
+ },
143
+ size: {
144
+ type: String,
145
+ default: 'medium',
146
+ validator: function validator(value) {
147
+ return ['small', 'medium', 'large'].includes(value);
148
+ }
149
+ }
128
150
  },
129
151
  data: function data() {
130
152
  return {
@@ -216,10 +238,10 @@ var AutoComplete = {
216
238
  get: function get() {
217
239
  var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;
218
240
  return {
219
- 'k-textbox-container': true,
220
- 'k-state-focused': this.currentFocused,
241
+ 'k-floating-label-container': true,
242
+ 'k-focus': this.currentFocused,
221
243
  'k-state-empty': !this.computedValue(),
222
- 'k-state-invalid': !isValid && isValid !== undefined,
244
+ 'k-invalid': !isValid && isValid !== undefined,
223
245
  'k-rtl': this.$props.dir === 'rtl'
224
246
  };
225
247
  }
@@ -478,17 +500,21 @@ var AutoComplete = {
478
500
  }
479
501
  },
480
502
  render: function render(createElement) {
503
+ var _a;
504
+
481
505
  var _this = this;
482
506
 
483
507
  var h = gh || createElement;
484
- var _a = this.$props,
485
- dir = _a.dir,
486
- disabled = _a.disabled,
487
- label = _a.label,
488
- className = _a.className,
489
- style = _a.style,
490
- loading = _a.loading,
491
- suggest = _a.suggest;
508
+ var _b = this.$props,
509
+ dir = _b.dir,
510
+ disabled = _b.disabled,
511
+ label = _b.label,
512
+ size = _b.size,
513
+ rounded = _b.rounded,
514
+ fillMode = _b.fillMode,
515
+ style = _b.style,
516
+ loading = _b.loading,
517
+ suggest = _b.suggest;
492
518
  var isValid = !this.$props.validityStyles || this.validity().valid;
493
519
  var focused = this.currentFocused;
494
520
  var base = this.base;
@@ -589,7 +615,7 @@ var AutoComplete = {
589
615
  wrapperStyle: {
590
616
  maxHeight: popupSettings.height
591
617
  },
592
- wrapperCssClass: "k-list-scroller",
618
+ wrapperCssClass: "k-list-content",
593
619
  itemRender: itemRender,
594
620
  noDataRender: listNoDataRender
595
621
  },
@@ -605,7 +631,7 @@ var AutoComplete = {
605
631
  wrapperStyle: {
606
632
  maxHeight: popupSettings.height
607
633
  },
608
- wrapperCssClass: "k-list-scroller",
634
+ wrapperCssClass: "k-list-content",
609
635
  onListclick: this.handleItemClick,
610
636
  on: this.v3 ? undefined : {
611
637
  "listclick": this.handleItemClick
@@ -619,6 +645,8 @@ var AutoComplete = {
619
645
  var renderListContainer = function renderListContainer() {
620
646
  var _this2 = this;
621
647
 
648
+ var _a;
649
+
622
650
  var headerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.header, kendo_vue_common_1.getListeners.call(this));
623
651
  var footerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.footer, kendo_vue_common_1.getListeners.call(this));
624
652
  var header = kendo_vue_common_1.getTemplate.call(this, {
@@ -648,7 +676,8 @@ var AutoComplete = {
648
676
  animate: popupSettings.animate,
649
677
  anchor: this.anchor,
650
678
  show: opened,
651
- className: kendo_vue_common_1.classNames('k-list-container k-reset', popupSettings.className),
679
+ popupClass: kendo_vue_common_1.classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a)),
680
+ className: popupSettings.className,
652
681
  appendTo: popupSettings.appendTo
653
682
  },
654
683
  dir: dir !== undefined ? dir : this.base.dirCalculated
@@ -658,13 +687,22 @@ var AutoComplete = {
658
687
  animate: popupSettings.animate,
659
688
  anchor: this.anchor,
660
689
  show: opened,
661
- className: kendo_vue_common_1.classNames('k-list-container k-reset', popupSettings.className),
690
+ popupClass: kendo_vue_common_1.classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a)),
691
+ className: popupSettings.className,
662
692
  appendTo: popupSettings.appendTo
663
693
  },
664
694
  dir: dir !== undefined ? dir : this.base.dirCalculated
665
695
  }, this.v3 ? function () {
666
- return [header, renderList.call(_this2), footer];
667
- } : [header, renderList.call(_this2), footer])
696
+ return [header && h("div", {
697
+ "class": "k-list-header"
698
+ }, [header]), renderList.call(_this2), footer && h("div", {
699
+ "class": "k-list-footer"
700
+ }, [footer])];
701
+ } : [header && h("div", {
702
+ "class": "k-list-header"
703
+ }, [header]), renderList.call(_this2), footer && h("div", {
704
+ "class": "k-list-footer"
705
+ }, [footer])])
668
706
  );
669
707
  };
670
708
 
@@ -694,11 +732,7 @@ var AutoComplete = {
694
732
  };
695
733
 
696
734
  var autoComplete = h("span", {
697
- "class": kendo_vue_common_1.classNames('k-widget k-autocomplete', className, {
698
- 'k-state-disabled': disabled,
699
- 'k-state-focused': focused && !disabled,
700
- 'k-state-invalid': !isValid
701
- }),
735
+ "class": kendo_vue_common_1.classNames('k-autocomplete k-input', (_a = {}, _a["k-input-" + (sizeMap[size] || size)] = size, _a["k-rounded-" + (roundedMap[rounded] || rounded)] = rounded, _a["k-input-" + fillMode] = fillMode, _a['k-valid'] = isValid, _a['k-invalid'] = !isValid, _a['k-focus'] = focused && !disabled, _a['k-loading'] = loading, _a['k-required'] = this.required, _a['k-disabled'] = disabled, _a)),
702
736
  ref: this.v3 ? function (el) {
703
737
  _this.kendoAnchorRef = el;
704
738
  } : this.anchor,
@@ -727,6 +761,6 @@ var AutoComplete = {
727
761
  }, [this.$props.label]) : null]) : autoComplete;
728
762
  }
729
763
  };
730
- exports.AutoComplete = AutoComplete;
731
- var AutoCompleteVue3 = AutoComplete;
732
- exports.AutoCompleteVue3 = AutoCompleteVue3;
764
+ exports.AutoCompleteVue2 = AutoCompleteVue2;
765
+ var AutoComplete = AutoCompleteVue2;
766
+ exports.AutoComplete = AutoComplete;
@@ -165,4 +165,43 @@ export interface AutoCompleteProps extends FormComponentProps {
165
165
  * Sets the footer component of the AutoComplete ([see example]({% slug customrendering_autocomplete %}#toc-headers-and-footers)).
166
166
  */
167
167
  footer?: any;
168
+ /**
169
+ * Configures the `size` of the AutoComnplete.
170
+ *
171
+ * The available options are:
172
+ * - small
173
+ * - medium
174
+ * - large
175
+ * - null—Does not set a size `class`.
176
+ *
177
+ * @default `medium`
178
+ */
179
+ size?: null | 'small' | 'medium' | 'large' | string;
180
+ /**
181
+ * Configures the `roundness` of the AutoComnplete.
182
+ *
183
+ * The available options are:
184
+ * - small
185
+ * - medium
186
+ * - large
187
+ * - circle
188
+ * - full
189
+ * - null—Does not set a rounded `class`.
190
+ *
191
+ * @default `medium`
192
+ */
193
+ rounded?: null | 'small' | 'medium' | 'large' | 'full' | string;
194
+ /**
195
+ * Configures the `fillMode` of the AutoComnplete.
196
+ *
197
+ * The available options are:
198
+ * - solid
199
+ * - outline
200
+ * - flat
201
+ * - link
202
+ * - null—Does not set a fillMode `class`.
203
+ *
204
+ * @default `solid`
205
+ */
206
+ fillMode?: null | 'solid' | 'outline' | 'flat' | string;
168
207
  }
@@ -1,4 +1,3 @@
1
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
2
1
  declare type DefaultData<V> = object | ((this: V) => ComboBoxData);
3
2
  declare type DefaultMethods<V> = {
4
3
  [key: string]: (this: V, ...args: any[]) => any;
@@ -6,7 +5,7 @@ declare type DefaultMethods<V> = {
6
5
  import { ComboBoxProps } from './ComboBoxProps';
7
6
  import { DropDownStateBase, InternalState } from './../common/settings';
8
7
  import { FormComponentValidity } from '@progress/kendo-vue-common';
9
- import { DefineComponent } from '../additionalTypes';
8
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
10
9
  /**
11
10
  * @hidden
12
11
  */
@@ -88,11 +87,11 @@ export interface ComboBoxComputed {
88
87
  /**
89
88
  * @hidden
90
89
  */
91
- export interface ComboBoxAll extends ComboBoxMethods, ComboBoxState, ComboBoxData, ComboBoxComputed, Vue {
90
+ export interface ComboBoxAll extends ComboBoxMethods, ComboBoxState, ComboBoxData, ComboBoxComputed, Vue2type {
92
91
  }
93
92
  /**
94
93
  * Represents the default `ComboBox` component.
95
94
  */
96
- declare let ComboBox: ComponentOptions<Vue, DefaultData<ComboBoxData>, DefaultMethods<ComboBoxAll>, ComboBoxComputed, RecordPropsDefinition<ComboBoxProps>>;
97
- declare const ComboBoxVue3: DefineComponent<ComboBoxProps, any, ComboBoxData, ComboBoxComputed, ComboBoxMethods, {}, {}, {}, string, ComboBoxProps, ComboBoxProps, {}>;
98
- export { ComboBox, ComboBoxVue3 };
95
+ declare let ComboBoxVue2: ComponentOptions<Vue2type, DefaultData<ComboBoxData>, DefaultMethods<ComboBoxAll>, ComboBoxComputed, RecordPropsDefinition<ComboBoxProps>>;
96
+ declare const ComboBox: DefineComponent<ComboBoxProps, any, ComboBoxData, ComboBoxComputed, ComboBoxMethods, {}, {}, {}, string, ComboBoxProps, ComboBoxProps, {}>;
97
+ export { ComboBox, ComboBoxVue2 };
@@ -19,7 +19,7 @@ var __assign = undefined && undefined.__assign || function () {
19
19
  Object.defineProperty(exports, "__esModule", {
20
20
  value: true
21
21
  });
22
- exports.ComboBoxVue3 = exports.ComboBox = void 0; // @ts-ignore
22
+ exports.ComboBoxVue2 = exports.ComboBox = void 0; // @ts-ignore
23
23
 
24
24
  var Vue = require("vue");
25
25
 
@@ -31,6 +31,11 @@ var DropDownBase_1 = require("../common/DropDownBase");
31
31
 
32
32
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
33
33
 
34
+ var kendo_vue_buttons_1 = require("@progress/kendo-vue-buttons");
35
+
36
+ var sizeMap = kendo_vue_common_1.kendoThemeMaps.sizeMap,
37
+ roundedMap = kendo_vue_common_1.kendoThemeMaps.roundedMap;
38
+
34
39
  var utils_1 = require("../common/utils");
35
40
 
36
41
  var SearchBar_1 = require("../common/SearchBar");
@@ -46,7 +51,7 @@ var VALIDATION_MESSAGE = 'Please enter a valid value!';
46
51
  * Represents the default `ComboBox` component.
47
52
  */
48
53
 
49
- var ComboBox = {
54
+ var ComboBoxVue2 = {
50
55
  name: 'KendoComboBox',
51
56
  model: {
52
57
  event: 'changemodel'
@@ -155,7 +160,28 @@ var ComboBox = {
155
160
  default: true
156
161
  },
157
162
  ariaLabelledBy: String,
158
- ariaDescribedBy: String
163
+ ariaDescribedBy: String,
164
+ rounded: {
165
+ type: String,
166
+ default: 'medium',
167
+ validator: function validator(value) {
168
+ return ['small', 'medium', 'large', 'full'].includes(value);
169
+ }
170
+ },
171
+ fillMode: {
172
+ type: String,
173
+ default: 'solid',
174
+ validator: function validator(value) {
175
+ return ['solid', 'flat', 'outline'].includes(value);
176
+ }
177
+ },
178
+ size: {
179
+ type: String,
180
+ default: 'medium',
181
+ validator: function validator(value) {
182
+ return ['small', 'medium', 'large'].includes(value);
183
+ }
184
+ }
159
185
  },
160
186
  data: function data() {
161
187
  return {
@@ -201,8 +227,8 @@ var ComboBox = {
201
227
  this.hasMounted = true; // @ts-ignore
202
228
 
203
229
  this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;
204
- this.base.wrapper = this.v3 ? this.baseWrapperRef : this.$refs.baseWrapper;
205
- this.element = this.v3 ? this.elementRef : this.$refs.element;
230
+ this.base.wrapper = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];
231
+ this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];
206
232
  this.base.didMount();
207
233
  this.setValidity();
208
234
  },
@@ -218,7 +244,6 @@ var ComboBox = {
218
244
  var closing = prevOpened && !opened;
219
245
  var list = this.$refs.list;
220
246
  var scrollElement = this.$refs.scrollElement;
221
- var scroller = this.$refs.scroller;
222
247
  var selectedItem = this.computedValue();
223
248
  this.valueOnDidUpdate = selectedItem;
224
249
 
@@ -233,8 +258,9 @@ var ComboBox = {
233
258
  this.base.vs.scrollElement = scrollElement;
234
259
  }
235
260
 
236
- if (scroller) {
237
- this.base.vs.scrollerRef(scroller);
261
+ if (list && dataItems.length) {
262
+ // @ts-ignore
263
+ this.base.vs.scrollerRef(list.$el);
238
264
  } // @ts-ignore
239
265
 
240
266
 
@@ -305,10 +331,10 @@ var ComboBox = {
305
331
  get: function get() {
306
332
  var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;
307
333
  return {
308
- 'k-textbox-container': true,
309
- 'k-state-focused': this.currentFocused,
334
+ 'k-floating-label-container': true,
335
+ 'k-focus': this.currentFocused,
310
336
  'k-state-empty': !this.computedValue(),
311
- 'k-state-invalid': !isValid && isValid !== undefined,
337
+ 'k-invalid': !isValid && isValid !== undefined,
312
338
  'k-rtl': this.$props.dir === 'rtl'
313
339
  };
314
340
  }
@@ -696,20 +722,25 @@ var ComboBox = {
696
722
  }
697
723
  },
698
724
  render: function render(createElement) {
725
+ var _a;
726
+
699
727
  var _this = this;
700
728
 
701
729
  var h = gh || createElement;
702
- var _a = this.$props,
703
- dir = _a.dir,
704
- disabled = _a.disabled,
705
- clearButton = _a.clearButton,
706
- label = _a.label,
707
- textField = _a.textField,
708
- className = _a.className,
709
- style = _a.style,
710
- loading = _a.loading,
711
- iconClassName = _a.iconClassName,
712
- virtual = _a.virtual;
730
+ var _b = this.$props,
731
+ dir = _b.dir,
732
+ disabled = _b.disabled,
733
+ clearButton = _b.clearButton,
734
+ label = _b.label,
735
+ textField = _b.textField,
736
+ className = _b.className,
737
+ style = _b.style,
738
+ loading = _b.loading,
739
+ iconClassName = _b.iconClassName,
740
+ virtual = _b.virtual,
741
+ size = _b.size,
742
+ fillMode = _b.fillMode,
743
+ rounded = _b.rounded;
713
744
  var focused = this.currentFocused;
714
745
  var isValid = !this.$props.validityStyles || this.validity().valid;
715
746
  var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;
@@ -732,6 +763,8 @@ var ComboBox = {
732
763
  }
733
764
 
734
765
  var renderList = function renderList() {
766
+ var _this2 = this;
767
+
735
768
  var _a = this.$props,
736
769
  dataItemKey = _a.dataItemKey,
737
770
  _b = _a.dataItems,
@@ -750,7 +783,7 @@ var ComboBox = {
750
783
  var translate = "translateY(" + vs.translate + "px)";
751
784
  var focusedIndex = opened ? this.getFocusedIndex() : undefined;
752
785
  var value = utils_1.isPresent(text) && text !== selectedItemText ? null : this.computedValue();
753
- return (// @ts-ignore
786
+ return (// @ts-ignore function children
754
787
  h(List_1.List, {
755
788
  id: base.listBoxId,
756
789
  attrs: this.v3 ? undefined : {
@@ -762,13 +795,10 @@ var ComboBox = {
762
795
  textField: textField,
763
796
  valueField: dataItemKey,
764
797
  optionsGuid: base.guid,
765
- wrapperStyle: !vs.enabled ? {
798
+ wrapperStyle: {
766
799
  maxHeight: popupSettings.height
767
- } : {
768
- float: 'left',
769
- width: '100%'
770
800
  },
771
- wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,
801
+ wrapperCssClass: 'k-list-content',
772
802
  listStyle: vs.enabled ? {
773
803
  transform: translate
774
804
  } : undefined,
@@ -784,13 +814,10 @@ var ComboBox = {
784
814
  valueField: dataItemKey,
785
815
  optionsGuid: base.guid,
786
816
  ref: 'list',
787
- wrapperStyle: !vs.enabled ? {
817
+ wrapperStyle: {
788
818
  maxHeight: popupSettings.height
789
- } : {
790
- float: 'left',
791
- width: '100%'
792
819
  },
793
- wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,
820
+ wrapperCssClass: 'k-list-content',
794
821
  listStyle: vs.enabled ? {
795
822
  transform: translate
796
823
  } : undefined,
@@ -798,27 +825,16 @@ var ComboBox = {
798
825
  skip: skip,
799
826
  onListclick: this.handleItemClick,
800
827
  on: this.v3 ? undefined : {
801
- "listclick": this.handleItemClick
828
+ "listclick": this.handleItemClick,
829
+ "scroll": vs.scrollHandler
802
830
  },
803
831
  itemRender: itemRender,
804
- noDataRender: listNoDataRender
805
- })
832
+ noDataRender: listNoDataRender,
833
+ onScroll: vs.scrollHandler
834
+ }, this.v3 ? function () {
835
+ return [renderScrollElement.call(_this2)];
836
+ } : [renderScrollElement.call(_this2)])
806
837
  );
807
- }; // Common rendering
808
-
809
-
810
- var renderScrollWrapper = function renderScrollWrapper(children) {
811
- return vs.enabled ? h("div", {
812
- onScroll: vs.scrollHandler,
813
- on: this.v3 ? undefined : {
814
- "scroll": vs.scrollHandler
815
- },
816
- ref: 'scroller',
817
- style: {
818
- height: popupSettings.height,
819
- overflowY: 'scroll'
820
- }
821
- }, [children]) : children;
822
838
  };
823
839
 
824
840
  var renderScrollElement = function renderScrollElement() {
@@ -829,7 +845,9 @@ var ComboBox = {
829
845
  };
830
846
 
831
847
  var renderListContainer = function renderListContainer() {
832
- var _this2 = this;
848
+ var _this3 = this;
849
+
850
+ var _a;
833
851
 
834
852
  var headerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.header, kendo_vue_common_1.getListeners.call(this));
835
853
  var footerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.footer, kendo_vue_common_1.getListeners.call(this));
@@ -860,7 +878,8 @@ var ComboBox = {
860
878
  animate: popupSettings.animate,
861
879
  anchor: this.anchor,
862
880
  show: opened,
863
- className: kendo_vue_common_1.classNames('k-list-container k-reset', popupSettings.className),
881
+ popupClass: kendo_vue_common_1.classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
882
+ className: popupSettings.className,
864
883
  appendTo: popupSettings.appendTo
865
884
  },
866
885
  dir: dir !== undefined ? dir : this.base.dirCalculated
@@ -869,13 +888,22 @@ var ComboBox = {
869
888
  animate: popupSettings.animate,
870
889
  anchor: this.anchor,
871
890
  show: opened,
872
- className: kendo_vue_common_1.classNames('k-list-container k-reset', popupSettings.className),
891
+ popupClass: kendo_vue_common_1.classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
892
+ className: popupSettings.className,
873
893
  appendTo: popupSettings.appendTo
874
894
  },
875
895
  dir: dir !== undefined ? dir : this.base.dirCalculated
876
896
  }, this.v3 ? function () {
877
- return [header, renderScrollWrapper.call(_this2, [renderList.call(_this2), renderScrollElement.call(_this2)]), footer];
878
- } : [header, renderScrollWrapper.call(_this2, [renderList.call(_this2), renderScrollElement.call(_this2)]), footer])
897
+ return [header && h("div", {
898
+ "class": "k-list-header"
899
+ }, [header]), renderList.call(_this3), footer && h("div", {
900
+ "class": "k-list-footer"
901
+ }, [footer])];
902
+ } : [header && h("div", {
903
+ "class": "k-list-header"
904
+ }, [header]), renderList.call(_this3), footer && h("div", {
905
+ "class": "k-list-footer"
906
+ }, [footer])])
879
907
  );
880
908
  };
881
909
 
@@ -951,10 +979,7 @@ var ComboBox = {
951
979
  };
952
980
 
953
981
  var combobox = h("span", {
954
- "class": kendo_vue_common_1.classNames('k-widget k-combobox', {
955
- 'k-combobox-clearable': clearButton,
956
- 'k-state-invalid': !isValid
957
- }, className),
982
+ "class": kendo_vue_common_1.classNames('k-combobox k-input', (_a = {}, _a["k-input-" + (sizeMap[size] || size)] = size, _a["k-rounded-" + (roundedMap[rounded] || rounded)] = rounded, _a["k-input-" + fillMode] = fillMode, _a['k-valid'] = isValid, _a['k-invalid'] = !isValid, _a['k-loading'] = loading, _a['k-required'] = this.required, _a['k-disabled'] = disabled, _a['k-focus'] = focused && !disabled, _a), className),
958
983
  ref: this.v3 ? function (el) {
959
984
  _this.kendoAnchorRef = el;
960
985
  } : this.anchor,
@@ -965,23 +990,27 @@ var ComboBox = {
965
990
  attrs: this.v3 ? undefined : {
966
991
  dir: dir
967
992
  }
968
- }, [h("span", {
969
- ref: this.v3 ? function (el) {
970
- _this.baseWrapperRef = el;
971
- } : 'baseWrapper',
972
- "class": kendo_vue_common_1.classNames('k-dropdown-wrap', {
973
- 'k-state-disabled': disabled,
974
- 'k-state-focused': focused && !disabled
975
- })
976
- }, [renderSearchBar.call(this, inputText || '', id), renderClearButton && // @ts-ignore function children
993
+ }, [renderSearchBar.call(this, inputText || '', id), renderClearButton && !loading && // @ts-ignore function children
977
994
  h(ClearButton_1.ClearButton, {
978
995
  onClearclick: this.clearButtonClick,
979
996
  on: this.v3 ? undefined : {
980
997
  "clearclick": this.clearButtonClick
981
998
  },
982
999
  key: "clearbutton"
983
- }), h("span", {
984
- "class": "k-select",
1000
+ }), loading && h("span", {
1001
+ "class": "k-icon k-i-loading",
1002
+ key: "loading"
1003
+ }), // @ts-ignore
1004
+ h(kendo_vue_buttons_1.Button, {
1005
+ size: size,
1006
+ attrs: this.v3 ? undefined : {
1007
+ size: size,
1008
+ fillMode: fillMode,
1009
+ iconClass: kendo_vue_common_1.classNames('k-icon k-i-arrow-s', iconClassName)
1010
+ },
1011
+ fillMode: fillMode,
1012
+ "class": 'k-input-button',
1013
+ iconClass: kendo_vue_common_1.classNames('k-icon k-i-arrow-s', iconClassName),
985
1014
  onClick: this.toggleBtnClick,
986
1015
  on: this.v3 ? undefined : {
987
1016
  "click": this.toggleBtnClick,
@@ -992,12 +1021,7 @@ var ComboBox = {
992
1021
  onMousedown: function mousedown(e) {
993
1022
  return e.preventDefault();
994
1023
  }
995
- }, [h("span", {
996
- "class": kendo_vue_common_1.classNames('k-icon', iconClassName, {
997
- 'k-i-arrow-s': !loading && !iconClassName,
998
- 'k-i-loading': loading && !iconClassName
999
- })
1000
- })])]), renderListContainer.call(this)]);
1024
+ }), renderListContainer.call(this)]);
1001
1025
  return label ? h("span", {
1002
1026
  "class": this.spanClassNames,
1003
1027
  onFocusin: this.handleFocus,
@@ -1019,6 +1043,6 @@ var ComboBox = {
1019
1043
  }, [this.$props.label]) : null]) : combobox;
1020
1044
  }
1021
1045
  };
1022
- exports.ComboBox = ComboBox;
1023
- var ComboBoxVue3 = ComboBox;
1024
- exports.ComboBoxVue3 = ComboBoxVue3;
1046
+ exports.ComboBoxVue2 = ComboBoxVue2;
1047
+ var ComboBox = ComboBoxVue2;
1048
+ exports.ComboBox = ComboBox;
@@ -195,4 +195,43 @@ export interface ComboBoxProps extends FormComponentProps {
195
195
  * Sets the footer component of the ComboBox ([see example]({% slug customrendering_combobox %}#toc-headers-and-footers)).
196
196
  */
197
197
  footer?: any;
198
+ /**
199
+ * Configures the `size` of the ComboBox.
200
+ *
201
+ * The available options are:
202
+ * - small
203
+ * - medium
204
+ * - large
205
+ * - null&mdash;Does not set a size `class`.
206
+ *
207
+ * @default `medium`
208
+ */
209
+ size?: null | 'small' | 'medium' | 'large' | string;
210
+ /**
211
+ * Configures the `roundness` of the ComboBox.
212
+ *
213
+ * The available options are:
214
+ * - small
215
+ * - medium
216
+ * - large
217
+ * - circle
218
+ * - full
219
+ * - null&mdash;Does not set a rounded `class`.
220
+ *
221
+ * @default `medium`
222
+ */
223
+ rounded?: null | 'small' | 'medium' | 'large' | 'full' | string;
224
+ /**
225
+ * Configures the `fillMode` of the ComboBox.
226
+ *
227
+ * The available options are:
228
+ * - solid
229
+ * - outline
230
+ * - flat
231
+ * - link
232
+ * - null&mdash;Does not set a fillMode `class`.
233
+ *
234
+ * @default `solid`
235
+ */
236
+ fillMode?: null | 'solid' | 'outline' | 'flat' | string;
198
237
  }
@@ -1,10 +1,9 @@
1
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
2
1
  declare type DefaultData<V> = object | ((this: V) => DropDownListData);
3
2
  declare type DefaultMethods<V> = {
4
3
  [key: string]: (this: V, ...args: any[]) => any;
5
4
  };
6
5
  import { FormComponentValidity } from '@progress/kendo-vue-common';
7
- import { DefineComponent } from '../additionalTypes';
6
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
8
7
  import { DropDownListProps } from './DropDownListProps';
9
8
  import { DropDownStateBase, InternalState } from './../common/settings';
10
9
  /**
@@ -89,11 +88,11 @@ export interface DropDownListComputed {
89
88
  /**
90
89
  * @hidden
91
90
  */
92
- export interface DropDownListAll extends DropDownListMethods, DropDownListState, DropDownListData, DropDownListComputed, Vue {
91
+ export interface DropDownListAll extends DropDownListMethods, DropDownListState, DropDownListData, DropDownListComputed, Vue2type {
93
92
  }
94
93
  /**
95
94
  * Represents the default `DropDownList` component.
96
95
  */
97
- declare let DropDownList: ComponentOptions<Vue, DefaultData<DropDownListData>, DefaultMethods<DropDownListAll>, DropDownListComputed, RecordPropsDefinition<DropDownListProps>>;
98
- declare let DropDownListVue3: DefineComponent<DropDownListProps, any, DropDownListData, DropDownListComputed, DropDownListMethods, {}, {}, {}, string, DropDownListProps, DropDownListProps, {}>;
99
- export { DropDownList, DropDownListVue3 };
96
+ declare let DropDownListVue2: ComponentOptions<Vue2type, DefaultData<DropDownListData>, DefaultMethods<DropDownListAll>, DropDownListComputed, RecordPropsDefinition<DropDownListProps>>;
97
+ declare let DropDownList: DefineComponent<DropDownListProps, any, DropDownListData, DropDownListComputed, DropDownListMethods, {}, {}, {}, string, DropDownListProps, DropDownListProps, {}>;
98
+ export { DropDownList, DropDownListVue2 };