@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
@@ -33,7 +33,9 @@ import * as Vue from 'vue';
33
33
  var allVue = Vue;
34
34
  var gh = allVue.h;
35
35
  var ref = allVue.ref;
36
- import { classNames, Keys, guid, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';
36
+ import { classNames, Keys, guid, templateRendering, getListeners, getTemplate, kendoThemeMaps } from '@progress/kendo-vue-common';
37
+ var sizeMap = kendoThemeMaps.sizeMap,
38
+ roundedMap = kendoThemeMaps.roundedMap;
37
39
  import { ListContainer } from '../common/ListContainer';
38
40
  import { List } from '../common/List';
39
41
  import { TagList } from './TagList';
@@ -72,7 +74,7 @@ var FocusedItemType;
72
74
  */
73
75
 
74
76
 
75
- var MultiSelect = {
77
+ var MultiSelectVue2 = {
76
78
  name: 'KendoMultiSelect',
77
79
  model: {
78
80
  event: 'changemodel'
@@ -150,7 +152,35 @@ var MultiSelect = {
150
152
  default: undefined
151
153
  },
152
154
  ariaLabelledBy: String,
153
- ariaDescribedBy: String
155
+ ariaDescribedBy: String,
156
+ rounded: {
157
+ type: String,
158
+ default: 'medium',
159
+ validator: function validator(value) {
160
+ return ['small', 'medium', 'large', 'full'].includes(value);
161
+ }
162
+ },
163
+ tagsRounded: {
164
+ type: String,
165
+ default: 'medium',
166
+ validator: function validator(value) {
167
+ return ['small', 'medium', 'large', 'full'].includes(value);
168
+ }
169
+ },
170
+ fillMode: {
171
+ type: String,
172
+ default: 'solid',
173
+ validator: function validator(value) {
174
+ return ['solid', 'flat', 'outline'].includes(value);
175
+ }
176
+ },
177
+ size: {
178
+ type: String,
179
+ default: 'medium',
180
+ validator: function validator(value) {
181
+ return ['small', 'medium', 'large'].includes(value);
182
+ }
183
+ }
154
184
  },
155
185
  // @ts-ignore
156
186
  setup: !gh ? undefined : function () {
@@ -169,10 +199,10 @@ var MultiSelect = {
169
199
  var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;
170
200
  var editorValue = this.currentText || getItemValue(this.computedValue()[0], this.$props.textField);
171
201
  return {
172
- 'k-textbox-container': true,
173
- 'k-state-focused': this.currentFocused,
202
+ 'k-floating-label-container': true,
203
+ 'k-focus': this.currentFocused,
174
204
  'k-state-empty': !(editorValue && editorValue !== 0),
175
- 'k-state-invalid': !isValid && isValid !== undefined,
205
+ 'k-invalid': !isValid && isValid !== undefined,
176
206
  'k-rtl': this.$props.dir === 'rtl'
177
207
  };
178
208
  }
@@ -230,7 +260,6 @@ var MultiSelect = {
230
260
  }, this.$props.popupSettings);
231
261
  var list = this.$refs.list;
232
262
  var scrollElement = this.$refs.scrollElement;
233
- var scroller = this.$refs.scroller;
234
263
 
235
264
  if (list) {
236
265
  // @ts-ignore
@@ -243,8 +272,9 @@ var MultiSelect = {
243
272
  this.base.vs.scrollElement = scrollElement;
244
273
  }
245
274
 
246
- if (scroller) {
247
- this.base.vs.scrollerRef(scroller);
275
+ if (list && this.dataItems.length) {
276
+ // @ts-ignore
277
+ this.base.vs.scrollerRef(list.$el);
248
278
  }
249
279
 
250
280
  if (!popupSettings.animate && closing) {
@@ -279,7 +309,7 @@ var MultiSelect = {
279
309
  this.hasMounted = true; // @ts-ignore
280
310
 
281
311
  this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;
282
- this.base.wrapper = this.v3 ? this.baseWrapperRef : this.$refs.baseWrapper;
312
+ this.base.wrapper = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];
283
313
  this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];
284
314
  this.base.didMount();
285
315
  this.searchBarRef();
@@ -823,19 +853,25 @@ var MultiSelect = {
823
853
  }
824
854
  },
825
855
  render: function render(createElement) {
856
+ var _a;
857
+
826
858
  var _this = this;
827
859
 
828
860
  var h = gh || createElement;
829
- var _a = this.$props,
830
- style = _a.style,
831
- label = _a.label,
832
- dir = _a.dir,
833
- disabled = _a.disabled,
834
- tags = _a.tags,
835
- textField = _a.textField,
836
- dataItemKey = _a.dataItemKey,
837
- virtual = _a.virtual,
838
- loading = _a.loading;
861
+ var _b = this.$props,
862
+ style = _b.style,
863
+ label = _b.label,
864
+ dir = _b.dir,
865
+ disabled = _b.disabled,
866
+ tags = _b.tags,
867
+ textField = _b.textField,
868
+ dataItemKey = _b.dataItemKey,
869
+ virtual = _b.virtual,
870
+ loading = _b.loading,
871
+ size = _b.size,
872
+ fillMode = _b.fillMode,
873
+ rounded = _b.rounded,
874
+ tagsRounded = _b.tagsRounded;
839
875
  var focused = this.currentFocused;
840
876
  var popupSettings = Object.assign({}, {
841
877
  animate: true,
@@ -950,6 +986,8 @@ var MultiSelect = {
950
986
  };
951
987
 
952
988
  var renderList = function renderList() {
989
+ var _this2 = this;
990
+
953
991
  var _a = this.$props.dataItems,
954
992
  dataItems = _a === void 0 ? [] : _a;
955
993
  var itemRender = templateRendering.call(this, this.$props.itemRender, getListeners.call(this));
@@ -958,7 +996,7 @@ var MultiSelect = {
958
996
  var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
959
997
  var focusedIndex = this.getFocusedState().focusedIndex;
960
998
  var translate = "translateY(" + vs.translate + "px)";
961
- return (// @ts-ignore
999
+ return (// @ts-ignore function children
962
1000
  h(List, {
963
1001
  id: this.base.listBoxId,
964
1002
  attrs: this.v3 ? undefined : {
@@ -970,13 +1008,10 @@ var MultiSelect = {
970
1008
  textField: textField,
971
1009
  valueField: dataItemKey,
972
1010
  optionsGuid: this.base.guid,
973
- wrapperStyle: vs.enabled ? {
974
- float: 'left',
975
- width: '100%'
976
- } : {
1011
+ wrapperStyle: {
977
1012
  maxHeight: popupSettings.height
978
1013
  },
979
- wrapperCssClass: vs.enabled ? undefined : 'k-list-scroller',
1014
+ wrapperCssClass: 'k-list-content',
980
1015
  listStyle: vs.enabled ? {
981
1016
  transform: translate
982
1017
  } : undefined,
@@ -992,13 +1027,10 @@ var MultiSelect = {
992
1027
  valueField: dataItemKey,
993
1028
  optionsGuid: this.base.guid,
994
1029
  ref: 'list',
995
- wrapperStyle: vs.enabled ? {
996
- float: 'left',
997
- width: '100%'
998
- } : {
1030
+ wrapperStyle: {
999
1031
  maxHeight: popupSettings.height
1000
1032
  },
1001
- wrapperCssClass: vs.enabled ? undefined : 'k-list-scroller',
1033
+ wrapperCssClass: 'k-list-content',
1002
1034
  listStyle: vs.enabled ? {
1003
1035
  transform: translate
1004
1036
  } : undefined,
@@ -1006,27 +1038,16 @@ var MultiSelect = {
1006
1038
  skip: skip,
1007
1039
  onListclick: this.handleItemClick,
1008
1040
  on: this.v3 ? undefined : {
1009
- "listclick": this.handleItemClick
1041
+ "listclick": this.handleItemClick,
1042
+ "scroll": vs.scrollHandler
1010
1043
  },
1011
1044
  itemRender: itemRender,
1012
- noDataRender: listNoDataRender
1013
- })
1045
+ noDataRender: listNoDataRender,
1046
+ onScroll: vs.scrollHandler
1047
+ }, this.v3 ? function () {
1048
+ return [renderScrollElement.call(_this2)];
1049
+ } : [renderScrollElement.call(_this2)])
1014
1050
  );
1015
- }; // Common rendering
1016
-
1017
-
1018
- var renderScrollWrapper = function renderScrollWrapper(children) {
1019
- return vs.enabled ? h("div", {
1020
- onScroll: vs.scrollHandler,
1021
- on: this.v3 ? undefined : {
1022
- "scroll": vs.scrollHandler
1023
- },
1024
- ref: 'scroller',
1025
- style: {
1026
- height: popupSettings.height,
1027
- overflowY: 'scroll'
1028
- }
1029
- }, [children]) : children;
1030
1051
  };
1031
1052
 
1032
1053
  var renderScrollElement = function renderScrollElement() {
@@ -1037,13 +1058,15 @@ var MultiSelect = {
1037
1058
  };
1038
1059
 
1039
1060
  var renderListContainer = function renderListContainer() {
1040
- var _this2 = this;
1061
+ var _this3 = this;
1062
+
1063
+ var _a;
1041
1064
 
1042
1065
  var base = this.base;
1043
- var _a = this.$props,
1044
- allowCustom = _a.allowCustom,
1045
- _b = _a.dataItems,
1046
- dataItems = _b === void 0 ? [] : _b;
1066
+ var _b = this.$props,
1067
+ allowCustom = _b.allowCustom,
1068
+ _c = _b.dataItems,
1069
+ dataItems = _c === void 0 ? [] : _c;
1047
1070
  var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));
1048
1071
  var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));
1049
1072
  var header = getTemplate.call(this, {
@@ -1067,7 +1090,7 @@ var MultiSelect = {
1067
1090
  }
1068
1091
  }, [h("div", {
1069
1092
  "class": classNames('k-item k-custom-item', {
1070
- 'k-state-focused': isCustom(focusedType)
1093
+ 'k-focus': isCustom(focusedType)
1071
1094
  })
1072
1095
  }, [currentText, h("span", {
1073
1096
  "class": "k-icon k-i-plus",
@@ -1093,7 +1116,8 @@ var MultiSelect = {
1093
1116
  show: opened,
1094
1117
  onOpen: this.onPopupOpened,
1095
1118
  onClose: this.onPopupClosed,
1096
- className: classNames('k-list-container k-reset', popupSettings.className),
1119
+ popupClass: classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
1120
+ className: popupSettings.className,
1097
1121
  appendTo: popupSettings.appendTo
1098
1122
  },
1099
1123
  itemsCount: dataItems.length
@@ -1106,13 +1130,22 @@ var MultiSelect = {
1106
1130
  show: opened,
1107
1131
  onOpen: this.onPopupOpened,
1108
1132
  onClose: this.onPopupClosed,
1109
- className: classNames('k-list-container k-reset', popupSettings.className),
1133
+ popupClass: classNames(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-" + (sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
1134
+ className: popupSettings.className,
1110
1135
  appendTo: popupSettings.appendTo
1111
1136
  },
1112
1137
  itemsCount: dataItems.length
1113
1138
  }, this.v3 ? function () {
1114
- return [virtual && header, renderScrollWrapper.call(_this2, [!virtual && header, customItem, renderList.call(_this2), !virtual && footer, renderScrollElement.call(_this2)]), virtual && footer];
1115
- } : [virtual && header, renderScrollWrapper.call(_this2, [!virtual && header, customItem, renderList.call(_this2), !virtual && footer, renderScrollElement.call(_this2)]), virtual && footer])
1139
+ return [header && h("div", {
1140
+ "class": "k-list-header"
1141
+ }, [header]), customItem, renderList.call(_this3), footer && h("div", {
1142
+ "class": "k-list-footer"
1143
+ }, [footer]), virtual && header];
1144
+ } : [header && h("div", {
1145
+ "class": "k-list-header"
1146
+ }, [header]), customItem, renderList.call(_this3), footer && h("div", {
1147
+ "class": "k-list-footer"
1148
+ }, [footer]), virtual && header])
1116
1149
  );
1117
1150
  };
1118
1151
 
@@ -1120,11 +1153,7 @@ var MultiSelect = {
1120
1153
  ref: this.v3 ? function (el) {
1121
1154
  _this.kendoAnchorRef = el;
1122
1155
  } : this.anchor,
1123
- "class": classNames('k-widget k-multiselect', {
1124
- 'k-state-focused': focused && !disabled,
1125
- 'k-state-invalid': !isValid,
1126
- 'k-state-disabled': disabled
1127
- }),
1156
+ "class": classNames('k-multiselect', 'k-input', (_a = {}, _a["k-input-" + (sizeMap[size] || size)] = size, _a["k-rounded-" + (roundedMap[rounded] || rounded)] = rounded, _a["k-input-" + fillMode] = fillMode, _a['k-focus'] = focused && !disabled, _a['k-disabled'] = disabled, _a['k-invalid'] = !isValid, _a['k-valid'] = isValid, _a['k-loading'] = loading, _a['k-required'] = this.required, _a)),
1128
1157
  style: !label ? style : __assign(__assign({}, style), {
1129
1158
  width: undefined
1130
1159
  }),
@@ -1134,23 +1163,19 @@ var MultiSelect = {
1134
1163
  },
1135
1164
  onFocusin: this.handleFocus,
1136
1165
  on: this.v3 ? undefined : {
1137
- "focusin": this.handleFocus
1138
- }
1139
- }, [h("div", {
1140
- onClick: this.handleWrapperClick,
1141
- on: this.v3 ? undefined : {
1166
+ "focusin": this.handleFocus,
1142
1167
  "click": this.handleWrapperClick,
1143
1168
  "mousedown": preventDefaultNonInputs
1144
1169
  },
1145
- ref: this.v3 ? function (el) {
1146
- _this.baseWrapperRef = el;
1147
- } : 'baseWrapper',
1148
- "class": "k-multiselect-wrap k-floatwrap",
1170
+ onClick: this.handleWrapperClick,
1149
1171
  onMousedown: preventDefaultNonInputs
1150
1172
  }, [tagsToRender.length > 0 && // @ts-ignore function children
1151
1173
  h(TagList, {
1152
- tagRender: tagRender,
1174
+ tagsRounded: tagsRounded,
1153
1175
  attrs: this.v3 ? undefined : {
1176
+ tagsRounded: tagsRounded,
1177
+ size: size,
1178
+ fillMode: fillMode,
1154
1179
  tagRender: tagRender,
1155
1180
  dataItems: tagsToRender,
1156
1181
  guid: this.base.guid,
@@ -1158,6 +1183,9 @@ var MultiSelect = {
1158
1183
  return matchTags(t, focusedTag, dataItemKey);
1159
1184
  }) : undefined
1160
1185
  },
1186
+ size: size,
1187
+ fillMode: fillMode,
1188
+ tagRender: tagRender,
1161
1189
  onTagdelete: this.onTagDelete,
1162
1190
  on: this.v3 ? undefined : {
1163
1191
  "tagdelete": this.onTagDelete
@@ -1167,7 +1195,7 @@ var MultiSelect = {
1167
1195
  focused: focusedTag ? tagsToRender.find(function (t) {
1168
1196
  return matchTags(t, focusedTag, dataItemKey);
1169
1197
  }) : undefined
1170
- }), renderSearchBar.call(this, id), renderClearButton.call(this, clearButton), renderLoading.call(this, loading)]), renderListContainer.call(this)]);
1198
+ }), renderSearchBar.call(this, id), renderClearButton.call(this, clearButton), renderLoading.call(this, loading), renderListContainer.call(this)]);
1171
1199
  return label ? h("span", {
1172
1200
  "class": this.spanClassNames,
1173
1201
  dir: this.$props.dir,
@@ -1185,5 +1213,5 @@ var MultiSelect = {
1185
1213
  }, [this.$props.label]) : null]) : component;
1186
1214
  }
1187
1215
  };
1188
- var MultiSelectVue3 = MultiSelect;
1189
- export { MultiSelect, MultiSelectVue3 };
1216
+ var MultiSelect = MultiSelectVue2;
1217
+ export { MultiSelect, MultiSelectVue2 };
@@ -199,4 +199,57 @@ export interface MultiSelectProps extends FormComponentProps {
199
199
  * Sets the footer component of the MultiSelect ([see example]({% slug customrendering_multiselect %}#toc-headers-and-footers)).
200
200
  */
201
201
  footer?: any;
202
+ /**
203
+ * Configures the `size` of the MultiSelect.
204
+ *
205
+ * The available options are:
206
+ * - small
207
+ * - medium
208
+ * - large
209
+ * - null—Does not set a size `class`.
210
+ *
211
+ * @default `medium`
212
+ */
213
+ size?: null | 'small' | 'medium' | 'large' | string;
214
+ /**
215
+ * Configures the `roundness` of the MultiSelect.
216
+ *
217
+ * The available options are:
218
+ * - small
219
+ * - medium
220
+ * - large
221
+ * - circle
222
+ * - full
223
+ * - null—Does not set a rounded `class`.
224
+ *
225
+ * @default `medium`
226
+ */
227
+ rounded?: null | 'small' | 'medium' | 'large' | 'full' | string;
228
+ /**
229
+ * Configures the `roundness` of the tags in MultiSelect.
230
+ *
231
+ * The available options are:
232
+ * - small
233
+ * - medium
234
+ * - large
235
+ * - circle
236
+ * - full
237
+ * - null—Does not set a rounded `class`.
238
+ *
239
+ * @default `medium`
240
+ */
241
+ tagsRounded?: null | 'small' | 'medium' | 'large' | 'full' | string;
242
+ /**
243
+ * Configures the `fillMode` of the MultiSelect.
244
+ *
245
+ * The available options are:
246
+ * - solid
247
+ * - outline
248
+ * - flat
249
+ * - link
250
+ * - null—Does not set a fillMode `class`.
251
+ *
252
+ * @default `solid`
253
+ */
254
+ fillMode?: null | 'solid' | 'outline' | 'flat' | string;
202
255
  }
@@ -1,4 +1,4 @@
1
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
2
  declare type DefaultData<V> = object | ((this: V) => TagListAll);
3
3
  declare type DefaultMethods<V> = {
4
4
  [key: string]: (this: V, ...args: any[]) => any;
@@ -24,11 +24,14 @@ export interface TagListProps {
24
24
  guid: string;
25
25
  focused?: TagData;
26
26
  tagRender?: any;
27
+ size?: null | 'small' | 'medium' | 'large' | string;
28
+ fillMode?: null | 'solid' | 'outline' | 'flat' | string;
29
+ tagsRounded?: null | 'small' | 'medium' | 'large' | 'full' | string;
27
30
  }
28
31
  /**
29
32
  * @hidden
30
33
  */
31
- export interface TagListMethods extends Vue {
34
+ export interface TagListMethods extends Vue2type {
32
35
  [key: string]: any;
33
36
  onTagDelete: (data: any, e: any) => void;
34
37
  }
@@ -40,5 +43,6 @@ export interface TagListAll extends TagListMethods {
40
43
  /**
41
44
  * Represents the default `TagList` component.
42
45
  */
43
- declare let TagList: ComponentOptions<Vue, DefaultData<TagListAll>, DefaultMethods<TagListAll>, {}, RecordPropsDefinition<TagListProps>>;
44
- export { TagList };
46
+ declare let TagListVue2: ComponentOptions<Vue2type, DefaultData<TagListAll>, DefaultMethods<TagListAll>, {}, RecordPropsDefinition<TagListProps>>;
47
+ declare const TagList: DefineComponent<{}, any, {}, {}, TagListMethods, {}, {}, {}, string, {}, {}, {}>;
48
+ export { TagList, TagListVue2 };
@@ -15,13 +15,11 @@ var __assign = this && this.__assign || function () {
15
15
  }; // @ts-ignore
16
16
 
17
17
 
18
- import { getTemplate } from '@progress/kendo-vue-common';
18
+ import { getTemplate, kendoThemeMaps } from '@progress/kendo-vue-common';
19
19
  import * as Vue from 'vue';
20
20
  var allVue = Vue;
21
21
  var gh = allVue.h;
22
22
  var ref = allVue.ref;
23
- var tagClassName = 'k-button';
24
- var focusedTagClassName = tagClassName + ' k-state-focused';
25
23
 
26
24
  var preventDefault = function preventDefault(event) {
27
25
  return event.preventDefault();
@@ -35,13 +33,59 @@ var stopPropagation = function stopPropagation(event) {
35
33
  */
36
34
 
37
35
 
38
- var TagList = {
36
+ var TagListVue2 = {
39
37
  name: 'TagList',
40
38
  props: {
41
39
  dataItems: Array,
42
40
  guid: String,
43
41
  focused: Object,
44
- tagRender: [String, Function, Object]
42
+ tagRender: [String, Function, Object],
43
+ tagsRounded: {
44
+ type: String,
45
+ default: 'medium',
46
+ validator: function validator(value) {
47
+ return ['small', 'medium', 'large', 'full'].includes(value);
48
+ }
49
+ },
50
+ fillMode: {
51
+ type: String,
52
+ default: 'solid',
53
+ validator: function validator(value) {
54
+ return ['solid', 'flat', 'outline'].includes(value);
55
+ }
56
+ },
57
+ size: {
58
+ type: String,
59
+ default: 'medium',
60
+ validator: function validator(value) {
61
+ return ['small', 'medium', 'large'].includes(value);
62
+ }
63
+ }
64
+ },
65
+ computed: {
66
+ wrapperClass: function wrapperClass() {
67
+ var _a;
68
+
69
+ var _b = this.$props,
70
+ size = _b.size,
71
+ disabled = _b.disabled;
72
+ return _a = {
73
+ 'k-chip-list': true
74
+ }, _a["k-chip-list-" + (kendoThemeMaps.sizeMap[size] || size)] = size, _a['k-selection-single'] = true, _a['k-disabled'] = disabled, _a;
75
+ },
76
+ chipClass: function chipClass() {
77
+ var _a;
78
+
79
+ var _b = this.$props,
80
+ size = _b.size,
81
+ disabled = _b.disabled,
82
+ tagsRounded = _b.tagsRounded,
83
+ fillMode = _b.fillMode;
84
+ return _a = {
85
+ 'k-chip': true,
86
+ 'k-disabled': disabled
87
+ }, _a["k-chip-" + (kendoThemeMaps.sizeMap[size] || size)] = size, _a["k-rounded-" + (kendoThemeMaps.roundedMap[tagsRounded] || tagsRounded)] = tagsRounded, _a["k-chip-" + fillMode] = fillMode, _a["k-chip-" + fillMode + "-base"] = Boolean(fillMode), _a;
88
+ }
45
89
  },
46
90
  // @ts-ignore
47
91
  setup: !gh ? undefined : function () {
@@ -60,8 +104,8 @@ var TagList = {
60
104
  var _a = this.$props,
61
105
  dataItems = _a.dataItems,
62
106
  guid = _a.guid;
63
- return h("ul", {
64
- "class": "k-reset",
107
+ return h("div", {
108
+ "class": this.wrapperClass,
65
109
  role: "listbox",
66
110
  attrs: this.v3 ? undefined : {
67
111
  role: "listbox",
@@ -71,8 +115,10 @@ var TagList = {
71
115
  }, [dataItems.map(function (tagData, index) {
72
116
  var _this = this;
73
117
 
74
- var defaultRendering = h("li", {
75
- "class": tagData === this.$props.focused ? focusedTagClassName : tagClassName,
118
+ var defaultRendering = h("div", {
119
+ "class": __assign(__assign({}, this.chipClass), {
120
+ 'k-focus': tagData === this.$props.focused
121
+ }),
76
122
  key: tagData.text + index,
77
123
  id: "tag-" + guid + "-" + tagData.text.replace(/\s+/g, '-'),
78
124
  attrs: this.v3 ? undefined : {
@@ -90,7 +136,9 @@ var TagList = {
90
136
  "aria-selected": true,
91
137
  role: "option",
92
138
  "aria-setsize": dataItems.length
93
- }, [h("span", [tagData.text]), h("span", {
139
+ }, [h("span", {
140
+ "class": "k-chip-content"
141
+ }, [tagData.text]), h("span", {
94
142
  "aria-label": "delete",
95
143
  attrs: this.v3 ? undefined : {
96
144
  "aria-label": "delete"
@@ -122,4 +170,5 @@ var TagList = {
122
170
  }, this)]);
123
171
  }
124
172
  };
125
- export { TagList };
173
+ var TagList = TagListVue2;
174
+ export { TagList, TagListVue2 };
@@ -1,3 +1,9 @@
1
1
  // @ts-ignore
2
2
  import { DefineComponent } from 'vue';
3
- export { DefineComponent };
3
+ // @ts-ignore
4
+ import * as Vue from 'vue';
5
+ // @ts-ignore
6
+ type Vue2type = Vue.default;
7
+ // @ts-ignore
8
+ import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
9
+ export { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type };
@@ -1,5 +1,4 @@
1
- import { DefineComponent } from '../additionalTypes';
2
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
3
2
  declare type DefaultData<V> = object | ((this: V) => {});
4
3
  declare type DefaultMethods<V> = {
5
4
  [key: string]: (this: V, ...args: any[]) => any;
@@ -7,13 +6,13 @@ declare type DefaultMethods<V> = {
7
6
  /**
8
7
  * @hidden
9
8
  */
10
- export interface ClearButtonMethods extends Vue {
9
+ export interface ClearButtonMethods extends Vue2type {
11
10
  onMouseDown: (e: any) => void;
12
11
  onClickHandler: (e: any) => void;
13
12
  }
14
13
  /**
15
14
  * Represents the default `ClearButton` component.
16
15
  */
17
- declare let ClearButton: ComponentOptions<Vue, DefaultData<{}>, DefaultMethods<ClearButtonMethods>, {}, RecordPropsDefinition<{}>>;
18
- declare const ClearButtonVue3: DefineComponent<{}, any, {}, {}, ClearButtonMethods, {}, {}, {}, string, {}, {}, {}>;
19
- export { ClearButton, ClearButtonVue3 };
16
+ declare let ClearButtonVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<ClearButtonMethods>, {}, RecordPropsDefinition<{}>>;
17
+ declare const ClearButton: DefineComponent<{}, any, {}, {}, ClearButtonMethods, {}, {}, {}, string, {}, {}, {}>;
18
+ export { ClearButton, ClearButtonVue2 };
@@ -9,7 +9,7 @@ import { messages, clear } from '../messages';
9
9
  * Represents the default `ClearButton` component.
10
10
  */
11
11
 
12
- var ClearButton = {
12
+ var ClearButtonVue2 = {
13
13
  name: 'clear-button',
14
14
  inject: {
15
15
  kendoLocalizationService: {
@@ -38,7 +38,7 @@ var ClearButton = {
38
38
  var h = gh || createElement;
39
39
  var title = provideLocalizationService(this).toLanguageString(clear, messages[clear]);
40
40
  return h("span", {
41
- "class": "k-icon k-clear-value k-i-close",
41
+ "class": "k-clear-value",
42
42
  role: "button",
43
43
  attrs: this.v3 ? undefined : {
44
44
  role: "button",
@@ -54,8 +54,10 @@ var ClearButton = {
54
54
  tabIndex: -1,
55
55
  title: title,
56
56
  key: "clearbutton"
57
- });
57
+ }, [h("span", {
58
+ "class": "k-icon k-i-x"
59
+ })]);
58
60
  }
59
61
  };
60
- var ClearButtonVue3 = ClearButton;
61
- export { ClearButton, ClearButtonVue3 };
62
+ var ClearButton = ClearButtonVue2;
63
+ export { ClearButton, ClearButtonVue2 };
@@ -1,4 +1,3 @@
1
- import { VNode } from 'vue';
2
1
  import VirtualScroll from './VirtualScroll';
3
2
  import { Navigation } from './Navigation';
4
3
  import { ListItemProps } from './ListItem';
@@ -28,10 +27,10 @@ export interface DropDownComponentProps {
28
27
  onChange?: (event: any) => void;
29
28
  onFilterChange?: (event: any) => void;
30
29
  onPageChange?: (event: any) => void;
31
- itemRender?: (li: Element, itemProps: ListItemProps) => VNode;
32
- listNoDataRender?: (element: any) => VNode;
33
- header?: VNode;
34
- footer?: VNode;
30
+ itemRender?: (li: Element, itemProps: ListItemProps) => any;
31
+ listNoDataRender?: (element: any) => any;
32
+ header?: any;
33
+ footer?: any;
35
34
  }
36
35
  /**
37
36
  * @hidden
@@ -190,8 +190,11 @@ function () {
190
190
  if (item && itemIndex >= 0) {
191
191
  var vs = this.vs;
192
192
  var scrollElement = vs.container || list.parentNode;
193
- var virtualScroll = vsEnabled !== undefined ? vsEnabled : vs.enabled;
194
- scrollToItem(scrollElement, item.offsetHeight, itemIndex, vs.translate, virtualScroll);
193
+
194
+ if (scrollElement) {
195
+ var virtualScroll = vsEnabled !== undefined ? vsEnabled : vs.enabled;
196
+ scrollToItem(scrollElement, item.offsetHeight, itemIndex, vs.translate, virtualScroll);
197
+ }
195
198
  }
196
199
  };
197
200