@progress/kendo-vue-dropdowns 3.14.2-dev.202309250455 → 3.15.0-dev.202309281100

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 (62) hide show
  1. package/dist/cdn/js/kendo-vue-dropdowns.js +1 -1
  2. package/dist/es/ComboBox/ComboBox.js +244 -42
  3. package/dist/es/ComboBox/ComboBoxProps.d.ts +8 -0
  4. package/dist/es/DropDownList/DropDownList.d.ts +3 -0
  5. package/dist/es/DropDownList/DropDownList.js +197 -43
  6. package/dist/es/DropDownList/DropDownListProps.d.ts +8 -0
  7. package/dist/es/DropDownTree/DropDownTree.js +257 -105
  8. package/dist/es/DropDownTree/DropDownTreeProps.d.ts +8 -0
  9. package/dist/es/MultiSelect/MultiSelect.js +340 -65
  10. package/dist/es/MultiSelect/MultiSelectProps.d.ts +8 -0
  11. package/dist/es/MultiSelectTree/MultiSelectTree.js +345 -127
  12. package/dist/es/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
  13. package/dist/es/common/DropDownBase.d.ts +7 -0
  14. package/dist/es/common/DropDownBase.js +13 -1
  15. package/dist/es/common/ListFilter.d.ts +1 -0
  16. package/dist/es/common/ListFilter.js +31 -25
  17. package/dist/es/common/constants.d.ts +4 -0
  18. package/dist/es/common/constants.js +4 -0
  19. package/dist/es/messages/main.d.ts +10 -0
  20. package/dist/es/messages/main.js +10 -0
  21. package/dist/es/package-metadata.js +1 -1
  22. package/dist/esm/ComboBox/ComboBox.js +244 -42
  23. package/dist/esm/ComboBox/ComboBoxProps.d.ts +8 -0
  24. package/dist/esm/DropDownList/DropDownList.d.ts +3 -0
  25. package/dist/esm/DropDownList/DropDownList.js +197 -43
  26. package/dist/esm/DropDownList/DropDownListProps.d.ts +8 -0
  27. package/dist/esm/DropDownTree/DropDownTree.js +257 -105
  28. package/dist/esm/DropDownTree/DropDownTreeProps.d.ts +8 -0
  29. package/dist/esm/MultiSelect/MultiSelect.js +340 -65
  30. package/dist/esm/MultiSelect/MultiSelectProps.d.ts +8 -0
  31. package/dist/esm/MultiSelectTree/MultiSelectTree.js +345 -127
  32. package/dist/esm/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
  33. package/dist/esm/common/DropDownBase.d.ts +7 -0
  34. package/dist/esm/common/DropDownBase.js +13 -1
  35. package/dist/esm/common/ListFilter.d.ts +1 -0
  36. package/dist/esm/common/ListFilter.js +31 -25
  37. package/dist/esm/common/constants.d.ts +4 -0
  38. package/dist/esm/common/constants.js +4 -0
  39. package/dist/esm/messages/main.d.ts +10 -0
  40. package/dist/esm/messages/main.js +10 -0
  41. package/dist/esm/package-metadata.js +1 -1
  42. package/dist/npm/ComboBox/ComboBox.js +242 -40
  43. package/dist/npm/ComboBox/ComboBoxProps.d.ts +8 -0
  44. package/dist/npm/DropDownList/DropDownList.d.ts +3 -0
  45. package/dist/npm/DropDownList/DropDownList.js +195 -41
  46. package/dist/npm/DropDownList/DropDownListProps.d.ts +8 -0
  47. package/dist/npm/DropDownTree/DropDownTree.js +254 -102
  48. package/dist/npm/DropDownTree/DropDownTreeProps.d.ts +8 -0
  49. package/dist/npm/MultiSelect/MultiSelect.js +338 -63
  50. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +8 -0
  51. package/dist/npm/MultiSelectTree/MultiSelectTree.js +343 -125
  52. package/dist/npm/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
  53. package/dist/npm/common/DropDownBase.d.ts +7 -0
  54. package/dist/npm/common/DropDownBase.js +12 -0
  55. package/dist/npm/common/ListFilter.d.ts +1 -0
  56. package/dist/npm/common/ListFilter.js +31 -25
  57. package/dist/npm/common/constants.d.ts +4 -0
  58. package/dist/npm/common/constants.js +10 -0
  59. package/dist/npm/messages/main.d.ts +10 -0
  60. package/dist/npm/messages/main.js +11 -1
  61. package/dist/npm/package-metadata.js +1 -1
  62. package/package.json +12 -9
@@ -34,6 +34,8 @@ var DropDownBase_1 = require("../common/DropDownBase");
34
34
  var GroupStickyHeader_1 = require("../common/GroupStickyHeader");
35
35
  var main_1 = require("../messages/main");
36
36
  var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
37
+ var constants_1 = require("../common/constants");
38
+ var kendo_vue_layout_1 = require("@progress/kendo-vue-layout");
37
39
  var utils_1 = require("../common/utils");
38
40
  var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
39
41
  var VALIDATION_MESSAGE = 'Please select a value from the list!';
@@ -175,6 +177,14 @@ var DropDownListVue2 = {
175
177
  },
176
178
  groupField: {
177
179
  type: String
180
+ },
181
+ adaptive: {
182
+ type: Boolean,
183
+ default: undefined
184
+ },
185
+ adaptiveTitle: {
186
+ type: String,
187
+ default: undefined
178
188
  }
179
189
  },
180
190
  inject: {
@@ -198,7 +208,9 @@ var DropDownListVue2 = {
198
208
  _navigated: false,
199
209
  group: undefined,
200
210
  isScrolling: false,
201
- itemHeight: 0
211
+ itemHeight: 0,
212
+ state: undefined,
213
+ windowWidth: 0
202
214
  };
203
215
  },
204
216
  watch: {
@@ -215,9 +227,17 @@ var DropDownListVue2 = {
215
227
  this.virtualTotalHasChanged = true;
216
228
  }
217
229
  this.virtualHasChanged = true;
230
+ },
231
+ isOpen: function isOpen() {
232
+ var _this = this;
233
+ setTimeout(function () {
234
+ var listItem = document.querySelector('.k-list-item');
235
+ _this.itemHeight = _this.base.getListItemHeight(listItem);
236
+ }, 100);
218
237
  }
219
238
  },
220
239
  created: function created() {
240
+ this.observer = null;
221
241
  this.valueDuringOnChange = undefined;
222
242
  this.currentText = undefined;
223
243
  this.currentValue = undefined;
@@ -242,12 +262,21 @@ var DropDownListVue2 = {
242
262
  };
243
263
  },
244
264
  mounted: function mounted() {
265
+ this.observer = kendo_vue_common_1.canUseDOM && new ResizeObserver(this.calculateMedia);
266
+ if ((document === null || document === void 0 ? void 0 : document.body) && this.observer) {
267
+ this.observer.observe(document.body);
268
+ }
245
269
  this.hasMounted = true;
246
270
  this.select = (0, kendo_vue_common_1.getRef)(this, 'select');
247
271
  this.base.wrapper = (0, kendo_vue_common_1.getRef)(this, 'kendoAnchor', this.anchor);
248
272
  this.base.didMount();
249
273
  this.setValidity();
250
274
  },
275
+ destroyed: !!isV3 ? undefined : function () {
276
+ if (this.observer) {
277
+ this.observer.disconnect();
278
+ }
279
+ },
251
280
  updated: function updated() {
252
281
  var _a;
253
282
  var _b = this.$props,
@@ -257,7 +286,7 @@ var DropDownListVue2 = {
257
286
  virtual = _b.virtual,
258
287
  groupField = _b.groupField,
259
288
  textField = _b.textField;
260
- var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
289
+ var opened = this.isOpen;
261
290
  var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;
262
291
  var opening = !prevOpened && opened;
263
292
  var closing = prevOpened && !opened;
@@ -359,6 +388,30 @@ var DropDownListVue2 = {
359
388
  get: function get() {
360
389
  return "value-".concat(this.base.guid).concat(this.$props.ariaDescribedBy ? ' ' + this.$props.ariaDescribedBy : '');
361
390
  }
391
+ },
392
+ isOpen: {
393
+ get: function get() {
394
+ return this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
395
+ }
396
+ },
397
+ animationStyles: {
398
+ get: function get() {
399
+ return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? {
400
+ top: 0,
401
+ width: '100%',
402
+ height: '100%'
403
+ } : undefined;
404
+ }
405
+ },
406
+ classNameAdaptive: {
407
+ get: function get() {
408
+ return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? 'k-adaptive-actionsheet k-actionsheet-fullscreen' : 'k-adaptive-actionsheet k-actionsheet-bottom';
409
+ }
410
+ },
411
+ adaptiveState: {
412
+ get: function get() {
413
+ return this.windowWidth <= constants_1.MOBILE_MEDIUM_DEVICE && this.$props.adaptive;
414
+ }
362
415
  }
363
416
  },
364
417
  methods: {
@@ -528,7 +581,7 @@ var DropDownListVue2 = {
528
581
  total: 0,
529
582
  pageSize: 0
530
583
  } : _c;
531
- var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
584
+ var opened = this.isOpen;
532
585
  var keyCode = event.keyCode;
533
586
  var homeOrEndKeys = keyCode === kendo_vue_common_1.Keys.home || keyCode === kendo_vue_common_1.Keys.end;
534
587
  var upOrDownKeys = keyCode === kendo_vue_common_1.Keys.up || keyCode === kendo_vue_common_1.Keys.down;
@@ -564,6 +617,10 @@ var DropDownListVue2 = {
564
617
  this.base.togglePopup(state);
565
618
  event.preventDefault();
566
619
  } else if (shouldOpen || shouldClose) {
620
+ if (this.adaptiveState) {
621
+ this.handleWrapperClick(event); // Handle the closing on "Esc" key press in adaptive mode
622
+ }
623
+
567
624
  this.base.togglePopup(state);
568
625
  event.preventDefault();
569
626
  } else if (shouldNavigate) {
@@ -586,14 +643,14 @@ var DropDownListVue2 = {
586
643
  if (this._skipFocusEvent || !this.currentFocused) {
587
644
  return;
588
645
  }
589
- var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
646
+ var opened = this.isOpen;
590
647
  var state = this.base.initState();
591
648
  state.event = event;
592
649
  state.data.currentFocused = false;
593
650
  state.events.push({
594
651
  type: 'blur'
595
652
  });
596
- if (opened) {
653
+ if (opened && !this.adaptiveState) {
597
654
  this.base.togglePopup(state);
598
655
  }
599
656
  this.applyState(state);
@@ -711,6 +768,12 @@ var DropDownListVue2 = {
711
768
  this.base.applyState(state);
712
769
  this.valueDuringOnChange = undefined;
713
770
  },
771
+ calculateMedia: function calculateMedia(entries) {
772
+ for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
773
+ var entry = entries_1[_i];
774
+ this.windowWidth = entry.target.clientWidth;
775
+ }
776
+ },
714
777
  repositionPopup: function repositionPopup() {
715
778
  this.base.repositionPopup();
716
779
  },
@@ -724,6 +787,7 @@ var DropDownListVue2 = {
724
787
  var groupField = this.$props.groupField;
725
788
  var _b = this.$props.dataItems,
726
789
  dataItems = _b === void 0 ? [] : _b;
790
+ var group;
727
791
  if (!groupField || !dataItems.length) {
728
792
  return;
729
793
  }
@@ -732,8 +796,8 @@ var DropDownListVue2 = {
732
796
  var scrollTop = target.scrollTop - vs.skip * itemHeight;
733
797
  if (groupField) {
734
798
  dataItems = this.base.getGroupedDataModernMode(dataItems, groupField);
799
+ group = dataItems[0][groupField];
735
800
  }
736
- var group = dataItems[0][groupField];
737
801
  for (var i = 1; i < dataItems.length; i++) {
738
802
  if (itemHeight * i > scrollTop) {
739
803
  break;
@@ -750,6 +814,7 @@ var DropDownListVue2 = {
750
814
  },
751
815
  render: function render(createElement) {
752
816
  var _a;
817
+ var _this = this;
753
818
  var h = gh || createElement;
754
819
  var _b = this.$props,
755
820
  style = _b.style,
@@ -762,8 +827,21 @@ var DropDownListVue2 = {
762
827
  } : _c,
763
828
  size = _b.size,
764
829
  rounded = _b.rounded,
765
- fillMode = _b.fillMode;
766
- var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
830
+ fillMode = _b.fillMode,
831
+ dataItemKey = _b.dataItemKey,
832
+ _d = _b.dataItems,
833
+ dataItems = _d === void 0 ? [] : _d,
834
+ disabled = _b.disabled,
835
+ tabIndex = _b.tabIndex,
836
+ loading = _b.loading,
837
+ icon = _b.icon,
838
+ svgIcon = _b.svgIcon,
839
+ iconClassName = _b.iconClassName,
840
+ adaptiveTitle = _b.adaptiveTitle,
841
+ header = _b.header,
842
+ footer = _b.footer,
843
+ groupStickyHeaderItemRender = _b.groupStickyHeaderItemRender;
844
+ var opened = this.isOpen;
767
845
  var text = (0, utils_1.getItemValue)(this.computedValue(), this.$props.textField);
768
846
  var isValid = !this.$props.validityStyles || this.validity().valid;
769
847
  var base = this.base;
@@ -775,16 +853,10 @@ var DropDownListVue2 = {
775
853
  height: '200px'
776
854
  }, this.$props.popupSettings);
777
855
  var ariaLabelSelectButton = (0, kendo_vue_intl_1.provideLocalizationService)(this).toLanguageString(main_1.selectButton, main_1.messages[main_1.selectButton]);
778
- var _d = this.$props,
779
- dataItemKey = _d.dataItemKey,
780
- _e = _d.dataItems,
781
- dataItems = _e === void 0 ? [] : _e,
782
- disabled = _d.disabled,
783
- tabIndex = _d.tabIndex,
784
- loading = _d.loading,
785
- icon = _d.icon,
786
- svgIcon = _d.svgIcon,
787
- iconClassName = _d.iconClassName;
856
+ var renderAdaptive = this.adaptiveState;
857
+ if (this.group === undefined && this.$props.groupField !== undefined) {
858
+ this.group = (0, utils_1.getItemValue)(this.$props.dataItems[0], this.$props.groupField);
859
+ }
788
860
  var valueRender = kendo_vue_common_1.templateRendering.call(this, this.$props.valueRender, kendo_vue_common_1.getListeners.call(this));
789
861
  var focused = this.currentFocused;
790
862
  var value = this.primitiveValue();
@@ -839,6 +911,95 @@ var DropDownListVue2 = {
839
911
  }
840
912
  })]);
841
913
  };
914
+ var adaptiveActionSheetHeaderTemplateDef = function adaptiveActionSheetHeaderTemplateDef() {
915
+ return [h("div", {
916
+ "class": "k-actionsheet-titlebar-group k-hbox"
917
+ }, [h("div", {
918
+ "class": "k-actionsheet-title"
919
+ }, [h("div", {
920
+ "class": "k-text-center"
921
+ }, [adaptiveTitle]), h("div", {
922
+ "class": "k-actionsheet-subtitle k-text-center"
923
+ })]), h("div", {
924
+ "class": "k-actionsheet-actions"
925
+ }, [h(kendo_vue_buttons_1.Button, {
926
+ tabindex: 5,
927
+ attrs: this.v3 ? undefined : {
928
+ tabindex: 5,
929
+ "aria-label": "Cancel",
930
+ "aria-disabled": "false",
931
+ type: "button",
932
+ fillMode: "flat",
933
+ icon: "x",
934
+ svgIcon: kendo_svg_icons_1.xIcon
935
+ },
936
+ "aria-label": "Cancel",
937
+ "aria-disabled": "false",
938
+ type: "button",
939
+ fillMode: "flat",
940
+ onClick: _this.handleWrapperClick,
941
+ on: this.v3 ? undefined : {
942
+ "click": _this.handleWrapperClick
943
+ },
944
+ icon: "x",
945
+ svgIcon: kendo_svg_icons_1.xIcon
946
+ })])]), h("div", {
947
+ "class": "k-actionsheet-titlebar-group k-actionsheet-filter"
948
+ }, [renderListFilter.call(_this)])];
949
+ };
950
+ var adaptiveActionSheetHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetHeaderTemplateDef, kendo_vue_common_1.getListeners.call(this));
951
+ var adaptiveActionSheetContentTemplateDef = function adaptiveActionSheetContentTemplateDef() {
952
+ var _a;
953
+ var headerToRender = base.getTemplateDef.call(_this, header, h);
954
+ var footerToRender = base.getTemplateDef.call(_this, footer, h);
955
+ var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(_this, groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(_this));
956
+ return h("div", {
957
+ "class": "k-list-container"
958
+ }, [headerToRender && h("div", {
959
+ "class": "k-list-header"
960
+ }, [headerToRender]), h("div", {
961
+ "class": (0, kendo_vue_common_1.classNames)('k-list', (_a = {}, _a["k-list-".concat(sizeMap[size] || size)] = !renderAdaptive ? size : false, _a['k-list-lg'] = renderAdaptive ? true : false, _a['k-virtual-list'] = vs.enabled, _a))
962
+ }, [renderDefaultItem.call(_this), _this.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
963
+ group: _this.group,
964
+ attrs: this.v3 ? undefined : {
965
+ group: _this.group,
966
+ render: groupStickyHeaderTemplate
967
+ },
968
+ render: groupStickyHeaderTemplate
969
+ }), renderList.call(_this), footerToRender && h("div", {
970
+ className: "k-list-footer",
971
+ attrs: this.v3 ? undefined : {
972
+ className: "k-list-footer"
973
+ }
974
+ }, [footerToRender])])]);
975
+ };
976
+ var adaptiveActionSheetContentTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetContentTemplateDef, kendo_vue_common_1.getListeners.call(this));
977
+ var renderAdaptiveListContainer = function renderAdaptiveListContainer() {
978
+ return h(kendo_vue_layout_1.ActionSheet, {
979
+ expand: opened,
980
+ attrs: this.v3 ? undefined : {
981
+ expand: opened,
982
+ animation: true,
983
+ animationStyles: this.animationStyles,
984
+ className: this.classNameAdaptive,
985
+ contentClassName: '!k-overflow-hidden',
986
+ header: adaptiveActionSheetHeaderTemplate,
987
+ content: adaptiveActionSheetContentTemplate,
988
+ navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
989
+ },
990
+ animation: true,
991
+ animationStyles: this.animationStyles,
992
+ className: this.classNameAdaptive,
993
+ contentClassName: '!k-overflow-hidden',
994
+ header: adaptiveActionSheetHeaderTemplate,
995
+ content: adaptiveActionSheetContentTemplate,
996
+ onClose: this.handleWrapperClick,
997
+ on: this.v3 ? undefined : {
998
+ "close": this.handleWrapperClick
999
+ },
1000
+ navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
1001
+ });
1002
+ };
842
1003
  var renderDefaultItem = function renderDefaultItem() {
843
1004
  var _a = this.$props,
844
1005
  textField = _a.textField,
@@ -966,21 +1127,10 @@ var DropDownListVue2 = {
966
1127
  var renderListContainer = function renderListContainer() {
967
1128
  var _this3 = this;
968
1129
  var _a;
969
- var headerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.header, kendo_vue_common_1.getListeners.call(this));
970
- var footerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.footer, kendo_vue_common_1.getListeners.call(this));
971
1130
  var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(this));
972
- var header = kendo_vue_common_1.getTemplate.call(this, {
973
- h: h,
974
- template: headerTemplate
975
- });
976
- var footer = kendo_vue_common_1.getTemplate.call(this, {
977
- h: h,
978
- template: footerTemplate
979
- });
1131
+ var headerListContainer = base.getTemplateDef.call(this, header);
1132
+ var footerListContainer = base.getTemplateDef.call(this, footer);
980
1133
  var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;
981
- if (this.group === undefined && this.$props.groupField !== undefined) {
982
- this.group = (0, utils_1.getItemValue)(dataItems[0], this.$props.groupField);
983
- }
984
1134
  return (
985
1135
  // @ts-ignore function children
986
1136
  h(ListContainer_1.ListContainer, {
@@ -1023,11 +1173,11 @@ var DropDownListVue2 = {
1023
1173
  render: groupStickyHeaderTemplate
1024
1174
  },
1025
1175
  render: groupStickyHeaderTemplate
1026
- }), header && h("div", {
1176
+ }), headerListContainer && h("div", {
1027
1177
  "class": "k-list-header"
1028
- }, [header]), renderList.call(_this3), footer && h("div", {
1178
+ }, [headerListContainer]), renderList.call(_this3), footerListContainer && h("div", {
1029
1179
  "class": "k-list-footer"
1030
- }, [footer])];
1180
+ }, [footerListContainer])];
1031
1181
  } : [renderListFilter.call(_this3), renderDefaultItem.call(_this3), _this3.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
1032
1182
  group: _this3.group,
1033
1183
  attrs: _this3.v3 ? undefined : {
@@ -1035,11 +1185,11 @@ var DropDownListVue2 = {
1035
1185
  render: groupStickyHeaderTemplate
1036
1186
  },
1037
1187
  render: groupStickyHeaderTemplate
1038
- }), header && h("div", {
1188
+ }), headerListContainer && h("div", {
1039
1189
  "class": "k-list-header"
1040
- }, [header]), renderList.call(_this3), footer && h("div", {
1190
+ }, [headerListContainer]), renderList.call(_this3), footerListContainer && h("div", {
1041
1191
  "class": "k-list-footer"
1042
- }, [footer])])
1192
+ }, [footerListContainer])])
1043
1193
  );
1044
1194
  };
1045
1195
  if (this.$props.virtual !== undefined) {
@@ -1049,7 +1199,7 @@ var DropDownListVue2 = {
1049
1199
  // @ts-ignore
1050
1200
  base.vs.pageSize = virtual.pageSize;
1051
1201
  }
1052
- var dropdownlist = h("span", {
1202
+ var dropdownlistDefault = h("span", {
1053
1203
  ref: (0, kendo_vue_common_1.setRef)(this, 'kendoAnchor', this.anchor),
1054
1204
  "class": (0, kendo_vue_common_1.classNames)('k-dropdownlist k-picker', className, (_a = {}, _a["k-picker-".concat(sizeMap[size] || size)] = size, _a["k-rounded-".concat(roundedMap[rounded] || rounded)] = rounded, _a["k-picker-".concat(fillMode)] = fillMode, _a['k-focus'] = focused, _a['k-disabled'] = disabled, _a['k-invalid'] = !isValid, _a['k-loading'] = loading, _a['k-required'] = this.required, _a)),
1055
1205
  style: !label ? style : __assign(__assign({}, style), {
@@ -1130,7 +1280,11 @@ var DropDownListVue2 = {
1130
1280
  svgIcon: svgIcon || kendo_svg_icons_1.caretAltDownIcon,
1131
1281
  iconClass: iconClassName,
1132
1282
  "aria-hidden": true
1133
- }), dummySelect.call(this, value), renderListContainer.call(this)]);
1283
+ }), dummySelect.call(this, value), !renderAdaptive && renderListContainer.call(this)]);
1284
+ // The following one combines the default rendering of the DropDownList and the Adaptive rendering.
1285
+ // This is needed because of Vue 2 specifics
1286
+ var dropdownlist = [dropdownlistDefault, renderAdaptive && renderAdaptiveListContainer.call(this)];
1287
+ var dropdownlistToRender = isV3 ? dropdownlist : this.$props.adaptive ? h("span", [dropdownlist]) : dropdownlistDefault;
1134
1288
  return label ? h("span", {
1135
1289
  "class": this.spanClassNames,
1136
1290
  onFocusin: this.handleFocus,
@@ -1143,7 +1297,7 @@ var DropDownListVue2 = {
1143
1297
  attrs: this.v3 ? undefined : {
1144
1298
  dir: this.$props.dir
1145
1299
  }
1146
- }, [dropdownlist, this.$props.label ? id ? h("label", {
1300
+ }, [dropdownlistToRender, this.$props.label ? id ? h("label", {
1147
1301
  "for": id,
1148
1302
  attrs: this.v3 ? undefined : {
1149
1303
  "for": id
@@ -1151,7 +1305,7 @@ var DropDownListVue2 = {
1151
1305
  "class": "k-label"
1152
1306
  }, [this.$props.label]) : h("span", {
1153
1307
  "class": "k-label"
1154
- }, [this.$props.label]) : null]) : dropdownlist;
1308
+ }, [this.$props.label]) : null]) : dropdownlistToRender;
1155
1309
  }
1156
1310
  };
1157
1311
  exports.DropDownListVue2 = DropDownListVue2;
@@ -296,4 +296,12 @@ export interface DropDownListProps extends FormComponentProps {
296
296
  * Fires when a DropDownList sticky group header item is about to be rendered. Used to override the default appearance of the sticky group header of the component.
297
297
  */
298
298
  groupStickyHeaderItemRender?: any;
299
+ /**
300
+ * Provides different rendering of the popup element based on the screen dimensions ([see example]({% slug adaptive_rendering_dropdownlist %})).
301
+ */
302
+ adaptive?: boolean;
303
+ /**
304
+ * Specifies the text that is rendered as title in the adaptive popup ([see example]({% slug adaptive_rendering_dropdownlist %})).
305
+ */
306
+ adaptiveTitle?: string;
299
307
  }