@progress/kendo-vue-dropdowns 3.5.0-dev.202208020811 → 3.5.1-dev.202208110751

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 (89) hide show
  1. package/dist/cdn/js/kendo-vue-dropdowns.js +1 -1
  2. package/dist/es/AutoComplete/AutoComplete.js +3 -3
  3. package/dist/es/AutoComplete/AutoCompleteProps.js +1 -0
  4. package/dist/es/ComboBox/ComboBox.js +4 -4
  5. package/dist/es/ComboBox/ComboBoxProps.d.ts +1 -1
  6. package/dist/es/ComboBox/ComboBoxProps.js +1 -0
  7. package/dist/es/DropDownList/DropDownList.js +5 -13
  8. package/dist/es/DropDownList/DropDownListProps.js +1 -0
  9. package/dist/es/MultiSelect/MultiSelect.js +16 -20
  10. package/dist/es/MultiSelect/MultiSelectProps.d.ts +1 -1
  11. package/dist/es/MultiSelect/MultiSelectProps.js +1 -0
  12. package/dist/es/MultiSelect/TagList.js +3 -3
  13. package/dist/es/common/List.js +2 -2
  14. package/dist/es/common/ListFilter.js +1 -1
  15. package/dist/es/common/events.js +1 -0
  16. package/dist/es/common/filterDescriptor.js +1 -0
  17. package/dist/es/package-metadata.js +1 -1
  18. package/dist/esm/AutoComplete/AutoComplete.d.ts +107 -0
  19. package/dist/esm/AutoComplete/AutoComplete.js +761 -0
  20. package/dist/esm/AutoComplete/AutoCompleteProps.d.ts +202 -0
  21. package/dist/esm/AutoComplete/AutoCompleteProps.js +2 -0
  22. package/dist/esm/ComboBox/ComboBox.d.ts +99 -0
  23. package/dist/esm/ComboBox/ComboBox.js +1063 -0
  24. package/dist/esm/ComboBox/ComboBoxProps.d.ts +244 -0
  25. package/dist/esm/ComboBox/ComboBoxProps.js +2 -0
  26. package/dist/esm/DropDownList/DropDownList.d.ts +100 -0
  27. package/dist/esm/DropDownList/DropDownList.js +1088 -0
  28. package/dist/esm/DropDownList/DropDownListProps.d.ts +274 -0
  29. package/dist/esm/DropDownList/DropDownListProps.js +2 -0
  30. package/dist/esm/MultiSelect/MultiSelect.d.ts +115 -0
  31. package/dist/esm/MultiSelect/MultiSelect.js +1249 -0
  32. package/dist/esm/MultiSelect/MultiSelectProps.d.ts +262 -0
  33. package/dist/esm/MultiSelect/MultiSelectProps.js +2 -0
  34. package/dist/esm/MultiSelect/TagList.d.ts +51 -0
  35. package/dist/esm/MultiSelect/TagList.js +180 -0
  36. package/dist/esm/additionalTypes.ts +21 -0
  37. package/dist/esm/common/ClearButton.d.ts +21 -0
  38. package/dist/esm/common/ClearButton.js +68 -0
  39. package/dist/esm/common/DropDownBase.d.ts +84 -0
  40. package/dist/esm/common/DropDownBase.js +303 -0
  41. package/dist/esm/common/List.d.ts +58 -0
  42. package/dist/esm/common/List.js +176 -0
  43. package/dist/esm/common/ListContainer.d.ts +40 -0
  44. package/dist/esm/common/ListContainer.js +131 -0
  45. package/dist/esm/common/ListDefaultItem.d.ts +29 -0
  46. package/dist/esm/common/ListDefaultItem.js +62 -0
  47. package/dist/esm/common/ListFilter.d.ts +46 -0
  48. package/dist/esm/common/ListFilter.js +112 -0
  49. package/dist/esm/common/ListItem.d.ts +71 -0
  50. package/dist/esm/common/ListItem.js +105 -0
  51. package/dist/esm/common/Navigation.d.ts +12 -0
  52. package/dist/esm/common/Navigation.js +34 -0
  53. package/dist/esm/common/SearchBar.d.ts +65 -0
  54. package/dist/esm/common/SearchBar.js +177 -0
  55. package/dist/esm/common/VirtualScroll.d.ts +42 -0
  56. package/dist/esm/common/VirtualScroll.js +196 -0
  57. package/dist/esm/common/events.d.ts +63 -0
  58. package/dist/esm/common/events.js +1 -0
  59. package/dist/esm/common/filterDescriptor.d.ts +41 -0
  60. package/dist/esm/common/filterDescriptor.js +2 -0
  61. package/dist/esm/common/settings.d.ts +102 -0
  62. package/dist/esm/common/settings.js +8 -0
  63. package/dist/esm/common/utils.d.ts +57 -0
  64. package/dist/esm/common/utils.js +184 -0
  65. package/dist/esm/main.d.ts +13 -0
  66. package/dist/esm/main.js +5 -0
  67. package/dist/esm/messages/index.d.ts +20 -0
  68. package/dist/esm/messages/index.js +21 -0
  69. package/dist/esm/package-metadata.d.ts +5 -0
  70. package/dist/esm/package-metadata.js +11 -0
  71. package/dist/esm/package.json +3 -0
  72. package/dist/npm/AutoComplete/AutoComplete.js +18 -18
  73. package/dist/npm/ComboBox/ComboBox.js +36 -36
  74. package/dist/npm/ComboBox/ComboBoxProps.d.ts +1 -1
  75. package/dist/npm/DropDownList/DropDownList.js +36 -44
  76. package/dist/npm/MultiSelect/MultiSelect.js +34 -38
  77. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +1 -1
  78. package/dist/npm/MultiSelect/TagList.js +3 -3
  79. package/dist/npm/common/ClearButton.js +1 -1
  80. package/dist/npm/common/DropDownBase.js +6 -6
  81. package/dist/npm/common/List.js +8 -8
  82. package/dist/npm/common/ListContainer.js +1 -1
  83. package/dist/npm/common/ListDefaultItem.js +2 -2
  84. package/dist/npm/common/ListFilter.js +3 -3
  85. package/dist/npm/common/ListItem.js +2 -2
  86. package/dist/npm/common/Navigation.js +1 -1
  87. package/dist/npm/common/SearchBar.js +2 -2
  88. package/dist/npm/package-metadata.js +1 -1
  89. package/package.json +11 -5
@@ -0,0 +1,303 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+
6
+ for (var p in s) {
7
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ };
16
+
17
+ import VirtualScroll from './VirtualScroll.js';
18
+ import { Navigation } from './Navigation.js';
19
+ import { scrollToItem, areSame } from './utils.js';
20
+ import { guid, validatePackage } from '@progress/kendo-vue-common';
21
+ import { packageMetadata } from '../package-metadata.js';
22
+ /**
23
+ * @hidden
24
+ */
25
+
26
+ var DropDownBase =
27
+ /** @class */
28
+ function () {
29
+ function DropDownBase(component) {
30
+ var _this = this;
31
+
32
+ this.vs = new VirtualScroll();
33
+ this.navigation = new Navigation();
34
+
35
+ this.handleItemClick = function (index, event) {
36
+ var state = _this.initState();
37
+
38
+ state.event = event;
39
+
40
+ _this.component.handleItemSelect(index, state);
41
+
42
+ _this.togglePopup(state);
43
+
44
+ _this.applyState(state);
45
+ };
46
+
47
+ this.handleFocus = function (event) {
48
+ if (!_this.component.currentFocused) {
49
+ var state = _this.initState(); // @ts-ignore
50
+
51
+
52
+ state.data.currentFocused = true;
53
+ state.events.push({
54
+ type: 'focus'
55
+ });
56
+ state.event = event;
57
+
58
+ _this.applyState(state);
59
+ }
60
+ };
61
+
62
+ this.filterChanged = function (text, state) {
63
+ // @ts-ignore
64
+ var _a = _this.component.$props,
65
+ textField = _a.textField,
66
+ filterable = _a.filterable;
67
+
68
+ if (filterable) {
69
+ state.events.push({
70
+ type: 'filterchange',
71
+ filter: {
72
+ field: textField,
73
+ operator: 'contains',
74
+ ignoreCase: true,
75
+ value: text
76
+ }
77
+ });
78
+ }
79
+ };
80
+
81
+ this.togglePopup = function (state) {
82
+ // @ts-ignore
83
+ var props = _this.component.$props; // @ts-ignore
84
+
85
+ var opened = props.opened !== undefined ? props.opened : _this.component.currentOpened; // @ts-ignore
86
+
87
+ if (props.opened === undefined) {
88
+ // @ts-ignore
89
+ state.data.currentOpened = !opened;
90
+ }
91
+
92
+ if (opened) {
93
+ state.events.push({
94
+ type: 'close'
95
+ });
96
+ } else {
97
+ state.events.push({
98
+ type: 'open'
99
+ });
100
+
101
+ _this.calculatePopupWidth();
102
+ }
103
+ };
104
+
105
+ this.pageChange = function (page, event) {
106
+ var state = _this.initState();
107
+
108
+ state.event = event;
109
+
110
+ _this.triggerOnPageChange(state, page.skip, page.take);
111
+
112
+ _this.applyState(state);
113
+ };
114
+
115
+ this.scrollChange = function (event) {
116
+ _this.component.$emit('scroll', event);
117
+ };
118
+
119
+ this.scrollToVirtualItem = function (virtual, selectedItemIndex) {
120
+ var vs = _this.vs;
121
+ vs.enabled = false;
122
+
123
+ if (virtual.skip === 0) {
124
+ vs.reset();
125
+ } else if (virtual.skip + virtual.pageSize === virtual.total) {
126
+ vs.scrollToEnd();
127
+ } else {
128
+ var scrollTop = vs.translate;
129
+
130
+ if (scrollTop === 0) {
131
+ vs.calcScrollElementHeight();
132
+ scrollTop = vs.itemHeight * virtual.skip;
133
+ vs.translateTo(scrollTop - vs.itemHeight);
134
+ }
135
+
136
+ if (vs.container) {
137
+ vs.container.scrollTop = scrollTop;
138
+ }
139
+
140
+ _this.scrollToItem(selectedItemIndex, true);
141
+ }
142
+
143
+ setTimeout(function () {
144
+ return vs.enabled = true;
145
+ }, 10);
146
+ };
147
+
148
+ validatePackage(packageMetadata);
149
+ this.listBoxId = guid();
150
+ this.guid = guid();
151
+ this.component = component;
152
+ this.vs.PageChange = this.pageChange;
153
+ this.vs.ScrollChange = this.scrollChange;
154
+ }
155
+
156
+ DropDownBase.prototype.didMount = function () {
157
+ // @ts-ignore
158
+ var props = this.component.$props;
159
+ var popupSettings = props.popupSettings || {};
160
+ var style = props.style || {};
161
+ var popupWidth = popupSettings.width;
162
+ var shouldUpdate = props.opened === true;
163
+
164
+ if (popupWidth === undefined) {
165
+ this.calculatePopupWidth();
166
+ }
167
+
168
+ if (props.dir === undefined && style.direction === undefined) {
169
+ this.calculateDir();
170
+ shouldUpdate = true;
171
+ }
172
+
173
+ if (shouldUpdate) {
174
+ // @ts-ignore
175
+ this.component.$forceUpdate();
176
+ }
177
+ };
178
+
179
+ DropDownBase.prototype.calculateDir = function () {
180
+ if (this.component.element) {
181
+ this.dirCalculated = window.getComputedStyle(this.component.element).direction || undefined;
182
+ }
183
+ };
184
+
185
+ DropDownBase.prototype.calculatePopupWidth = function () {
186
+ if (this.wrapper) {
187
+ this.popupWidth = this.wrapper.offsetWidth + 'px';
188
+ }
189
+ };
190
+
191
+ DropDownBase.prototype.scrollToItem = function (itemIndex, vsEnabled) {
192
+ var list = this.list || this.vs.list;
193
+ var item = list ? list.children[0] : undefined;
194
+
195
+ if (item && itemIndex >= 0) {
196
+ var vs = this.vs;
197
+ var scrollElement = vs.container || list.parentNode;
198
+
199
+ if (scrollElement) {
200
+ var virtualScroll = vsEnabled !== undefined ? vsEnabled : vs.enabled;
201
+ scrollToItem(scrollElement, item.offsetHeight, itemIndex, vs.translate, virtualScroll);
202
+ }
203
+ }
204
+ };
205
+
206
+ DropDownBase.prototype.initState = function () {
207
+ var state = {
208
+ data: {},
209
+ events: [],
210
+ event: undefined
211
+ };
212
+ return state;
213
+ };
214
+
215
+ DropDownBase.prototype.applyState = function (state) {
216
+ var _this = this;
217
+
218
+ if (Object.keys(state.data).length > 0) {
219
+ Object.keys(state.data).forEach(function (key) {
220
+ _this.component[key] = state.data[key];
221
+ });
222
+ } // @ts-ignore
223
+
224
+
225
+ var newValue = this.component.primitiveValue();
226
+ var eventArgs = {
227
+ event: state.event,
228
+ component: this.component,
229
+ target: {
230
+ // @ts-ignore
231
+ name: this.component.$props.name,
232
+ value: newValue
233
+ },
234
+ value: newValue
235
+ };
236
+ state.events.forEach(function (eventData) {
237
+ var type = eventData.type;
238
+ delete eventData.type;
239
+
240
+ if (type) {
241
+ if (type === 'change') {
242
+ // @ts-ignore
243
+ _this.component.$emit('changemodel', newValue); // @ts-ignore
244
+
245
+
246
+ _this.component.$emit('update:modelValue', newValue);
247
+ } // @ts-ignore
248
+
249
+
250
+ _this.component.$emit(type, __assign(__assign({}, eventArgs), eventData));
251
+ }
252
+ });
253
+ };
254
+
255
+ DropDownBase.prototype.triggerOnPageChange = function (state, skip, take) {
256
+ // @ts-ignore
257
+ var virtual = this.component.$props.virtual;
258
+
259
+ if (virtual) {
260
+ var newSkip = Math.min(Math.max(0, skip), Math.max(0, virtual.total - take));
261
+
262
+ if (newSkip !== virtual.skip) {
263
+ state.events.push({
264
+ type: 'pagechange',
265
+ page: {
266
+ skip: newSkip,
267
+ take: take
268
+ }
269
+ });
270
+ }
271
+ }
272
+ };
273
+
274
+ DropDownBase.prototype.triggerPageChangeCornerItems = function (item, state) {
275
+ // @ts-ignore
276
+ var props = this.component.$props;
277
+ var _a = props.dataItems,
278
+ dataItems = _a === void 0 ? [] : _a,
279
+ dataItemKey = props.dataItemKey,
280
+ virtual = props.virtual;
281
+ var opened = props.opened !== undefined ? props.opened : this.component.currentOpened;
282
+
283
+ if (item && virtual && this.vs.enabled) {
284
+ if (virtual.skip > 0 && areSame(item, dataItems[0], dataItemKey)) {
285
+ this.triggerOnPageChange(state, virtual.skip - 1, virtual.pageSize);
286
+ } else if (!opened && virtual.skip + virtual.pageSize < virtual.total && areSame(item, dataItems[dataItems.length - 1], dataItemKey)) {
287
+ this.triggerOnPageChange(state, virtual.skip + 1, virtual.pageSize);
288
+ }
289
+ }
290
+ };
291
+
292
+ DropDownBase.defaultProps = {
293
+ popupSettings: {
294
+ animate: true,
295
+ height: '200px'
296
+ },
297
+ required: false,
298
+ validityStyles: true
299
+ };
300
+ return DropDownBase;
301
+ }();
302
+
303
+ export default DropDownBase;
@@ -0,0 +1,58 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ /**
7
+ * @hidden
8
+ */
9
+ export interface ListProps {
10
+ id?: string;
11
+ show?: boolean;
12
+ dataItems: any[];
13
+ value?: any;
14
+ textField?: string;
15
+ valueField?: string;
16
+ optionsGuid?: string;
17
+ listRef?: (element: HTMLUListElement) => void;
18
+ wrapperCssClass?: string;
19
+ wrapperStyle?: any;
20
+ listStyle?: any;
21
+ skip?: number;
22
+ focusedIndex?: number;
23
+ highlightSelected?: boolean;
24
+ onClick?: (index: number, event: any) => void;
25
+ itemRender?: any;
26
+ noDataRender?: any;
27
+ scroller?: boolean;
28
+ }
29
+ /**
30
+ * @hidden
31
+ */
32
+ export interface ListMethods extends Vue2type {
33
+ handleClick: (e: any) => void;
34
+ handleScroll: (e: any) => void;
35
+ }
36
+ /**
37
+ * @hidden
38
+ */
39
+ export interface ListState {
40
+ list: any;
41
+ listRef: any;
42
+ v3: boolean;
43
+ }
44
+ /**
45
+ * @hidden
46
+ */
47
+ export interface ListAll extends ListMethods, ListState {
48
+ listRef: any;
49
+ }
50
+ /**
51
+ * @hidden
52
+ */
53
+ declare let ListVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<ListMethods>, {}, RecordPropsDefinition<ListProps>>;
54
+ /**
55
+ * @hidden
56
+ */
57
+ declare const List: DefineComponent<{}, any, {}, {}, ListMethods, {}, {}, {}, string, {}, {}, {}>;
58
+ export { List, ListVue2 };
@@ -0,0 +1,176 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var ref = allVue.ref;
7
+ var inject = allVue.inject;
8
+ import { ListItem } from './ListItem.js';
9
+ import { areSame } from './utils.js';
10
+ import { getTemplate, getDefaultSlots, setRef, getRef } from '@progress/kendo-vue-common';
11
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
12
+ import { messages, nodata } from '../messages.js';
13
+ /**
14
+ * @hidden
15
+ */
16
+
17
+ var ListVue2 = {
18
+ name: 'list',
19
+ // @ts-ignore
20
+ emits: {
21
+ listclick: null,
22
+ scroll: null
23
+ },
24
+ props: {
25
+ id: String,
26
+ show: Boolean,
27
+ dataItems: Array,
28
+ value: [Object, String, Number, Boolean, Array],
29
+ textField: String,
30
+ valueField: String,
31
+ optionsGuid: String,
32
+ wrapperCssClass: String,
33
+ wrapperStyle: Object,
34
+ listStyle: Object,
35
+ skip: Number,
36
+ focusedIndex: Number,
37
+ highlightSelected: {
38
+ type: Boolean,
39
+ default: true
40
+ },
41
+ itemRender: [String, Function, Object],
42
+ noDataRender: [String, Function, Object],
43
+ scroller: Boolean
44
+ },
45
+ inject: {
46
+ kendoLocalizationService: {
47
+ default: null
48
+ }
49
+ },
50
+ // @ts-ignore
51
+ setup: !isV3 ? undefined : function () {
52
+ var v3 = !!isV3;
53
+ var listRef = ref(null);
54
+ var kendoLocalizationService = inject('kendoLocalizationService', {});
55
+ return {
56
+ v3: v3,
57
+ listRef: listRef,
58
+ kendoLocalizationService: kendoLocalizationService
59
+ };
60
+ },
61
+ mounted: function mounted() {
62
+ this.list = getRef(this, 'list');
63
+ },
64
+ methods: {
65
+ handleClick: function handleClick(index, e) {
66
+ this.$emit('listclick', index, e);
67
+ },
68
+ handleScroll: function handleScroll(e) {
69
+ this.$emit('scroll', e);
70
+ }
71
+ },
72
+ // @ts-ignore
73
+ render: function render(createElement) {
74
+ var h = gh || createElement;
75
+ var defaultSlot = getDefaultSlots(this);
76
+ var localizationService = provideLocalizationService(this);
77
+ var _a = this.$props,
78
+ id = _a.id,
79
+ show = _a.show,
80
+ wrapperCssClass = _a.wrapperCssClass,
81
+ wrapperStyle = _a.wrapperStyle,
82
+ listStyle = _a.listStyle,
83
+ listRef = _a.listRef;
84
+
85
+ var renderNoValueElement = function renderNoValueElement() {
86
+ var noDataRender = this.$props.noDataRender;
87
+ var noDataElement = h("div", {
88
+ "class": 'k-nodata'
89
+ }, [h("div", [localizationService.toLanguageString(nodata, messages[nodata])])]);
90
+ return getTemplate.call(this, {
91
+ h: h,
92
+ template: noDataRender,
93
+ defaultRendering: noDataElement
94
+ });
95
+ };
96
+
97
+ var renderItems = function renderItems() {
98
+ var _a = this.$props,
99
+ textField = _a.textField,
100
+ valueField = _a.valueField,
101
+ optionsGuid = _a.optionsGuid,
102
+ _b = _a.skip,
103
+ skip = _b === void 0 ? 0 : _b,
104
+ focusedIndex = _a.focusedIndex,
105
+ highlightSelected = _a.highlightSelected,
106
+ value = _a.value,
107
+ itemRender = _a.itemRender;
108
+ var isArray = Array.isArray(value);
109
+ return this.$props.dataItems.map(function (item, index) {
110
+ var realIndex = skip + index;
111
+ var selected = highlightSelected && (!isArray && areSame(item, value, valueField) || isArray && value.findIndex(function (i) {
112
+ return areSame(i, item, valueField);
113
+ }) !== -1);
114
+ return (// @ts-ignore
115
+ h(ListItem, {
116
+ id: "option-".concat(optionsGuid, "-").concat(realIndex),
117
+ attrs: this.v3 ? undefined : {
118
+ id: "option-".concat(optionsGuid, "-").concat(realIndex),
119
+ dataItem: item,
120
+ selected: selected,
121
+ focused: focusedIndex === index,
122
+ index: realIndex,
123
+ textField: textField,
124
+ render: itemRender
125
+ },
126
+ dataItem: item,
127
+ selected: selected,
128
+ focused: focusedIndex === index,
129
+ index: realIndex,
130
+ key: realIndex,
131
+ onItemclick: this.handleClick,
132
+ on: this.v3 ? undefined : {
133
+ "itemclick": this.handleClick
134
+ },
135
+ textField: textField,
136
+ render: itemRender
137
+ })
138
+ );
139
+ }, this);
140
+ };
141
+
142
+ var items = renderItems.call(this);
143
+ return items.length ? h("div", {
144
+ "class": wrapperCssClass,
145
+ style: wrapperStyle,
146
+ unselectable: 'on',
147
+ attrs: this.v3 ? undefined : {
148
+ unselectable: 'on'
149
+ },
150
+ onScroll: this.handleScroll,
151
+ on: this.v3 ? undefined : {
152
+ "scroll": this.handleScroll
153
+ }
154
+ }, [h("ul", {
155
+ id: id,
156
+ attrs: this.v3 ? undefined : {
157
+ id: id,
158
+ role: "listbox",
159
+ "aria-live": "polite",
160
+ "aria-hidden": !show ? true : undefined
161
+ },
162
+ role: "listbox",
163
+ "aria-live": "polite",
164
+ "aria-hidden": !show ? true : undefined,
165
+ "class": 'k-list-ul',
166
+ ref: setRef(this, 'list'),
167
+ style: listStyle
168
+ }, [items]), defaultSlot]) : renderNoValueElement.call(this);
169
+ }
170
+ };
171
+ /**
172
+ * @hidden
173
+ */
174
+
175
+ var List = ListVue2;
176
+ export { List, ListVue2 };
@@ -0,0 +1,40 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ /**
7
+ * @hidden
8
+ */
9
+ export interface ListContainerProps {
10
+ width?: string | number;
11
+ onMouseDown?: any;
12
+ onBlur?: any;
13
+ dir?: string;
14
+ popupSettings?: object;
15
+ itemsCount?: number;
16
+ }
17
+ /**
18
+ * @hidden
19
+ */
20
+ export interface ListContainerState {
21
+ kendoAnchorRef: any;
22
+ }
23
+ /**
24
+ * @hidden
25
+ */
26
+ export interface ListContainerMethods extends Vue2type {
27
+ onMouseDown: (e: any) => void;
28
+ onBlur: (e: any) => void;
29
+ onOpen: (e: any) => void;
30
+ onClose: (e: any) => void;
31
+ }
32
+ /**
33
+ * @hidden
34
+ */
35
+ declare let ListContainerVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<ListContainerMethods>, {}, RecordPropsDefinition<ListContainerProps>>;
36
+ /**
37
+ * @hidden
38
+ */
39
+ declare const ListContainer: DefineComponent<ListContainerProps, any, {}, {}, ListContainerMethods, {}, {}, {}, string, ListContainerProps, ListContainerProps, {}>;
40
+ export { ListContainer, ListContainerVue2 };
@@ -0,0 +1,131 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { Popup } from '@progress/kendo-vue-popup';
7
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
8
+ /**
9
+ * @hidden
10
+ */
11
+
12
+ var ListContainerVue2 = {
13
+ name: 'list-container',
14
+ // @ts-ignore
15
+ emits: {
16
+ mousedown: null,
17
+ blur: null,
18
+ open: null,
19
+ close: null
20
+ },
21
+ props: {
22
+ width: [String, Number],
23
+ dir: String,
24
+ itemsCount: Number,
25
+ popupSettings: {
26
+ type: Object,
27
+ default: function _default() {
28
+ return {
29
+ animate: true,
30
+ height: '200px'
31
+ };
32
+ }
33
+ }
34
+ },
35
+ created: function created() {
36
+ this.kendoAnchorRef = undefined;
37
+ },
38
+ // @ts-ignore
39
+ setup: !isV3 ? undefined : function () {
40
+ var v3 = !!isV3;
41
+ return {
42
+ v3: v3
43
+ };
44
+ },
45
+ methods: {
46
+ onMouseDown: function onMouseDown(e) {
47
+ this.$emit('mousedown', e);
48
+ },
49
+ onBlur: function onBlur(e) {
50
+ this.$emit('blur', e);
51
+ },
52
+ onOpen: function onOpen(e) {
53
+ this.$emit('open', e);
54
+ },
55
+ onClose: function onClose(e) {
56
+ this.$emit('close', e);
57
+ }
58
+ },
59
+ // @ts-ignore
60
+ render: function render(createElement) {
61
+ var _this = this;
62
+
63
+ var h = gh || createElement;
64
+ var defaultSlot = getDefaultSlots(this);
65
+ var _a = this.$props,
66
+ onMouseDown = _a.onMouseDown,
67
+ onBlur = _a.onBlur,
68
+ width = _a.width,
69
+ dir = _a.dir,
70
+ popupSettings = _a.popupSettings; // @ts-ignore
71
+
72
+ var popupClass = popupSettings.popupClass,
73
+ className = popupSettings.className,
74
+ animate = popupSettings.animate,
75
+ anchor = popupSettings.anchor,
76
+ show = popupSettings.show,
77
+ open = popupSettings.open,
78
+ close = popupSettings.close,
79
+ itemsCount = popupSettings.itemsCount;
80
+ return (// @ts-ignore function children
81
+ h(Popup, {
82
+ style: {
83
+ width: width,
84
+ direction: dir
85
+ },
86
+ className: className,
87
+ attrs: this.v3 ? undefined : {
88
+ className: className,
89
+ animate: animate,
90
+ anchor: anchor,
91
+ show: show,
92
+ contentKey: itemsCount
93
+ },
94
+ animate: animate,
95
+ anchor: anchor,
96
+ show: show,
97
+ contentKey: itemsCount,
98
+ onOpen: this.onOpen,
99
+ on: this.v3 ? undefined : {
100
+ "open": this.onOpen,
101
+ "close": this.onClose
102
+ },
103
+ onClose: this.onClose
104
+ }, this.v3 ? function () {
105
+ return [h("div", {
106
+ "class": popupClass,
107
+ onMousedown: _this.onMouseDown,
108
+ on: _this.v3 ? undefined : {
109
+ "mousedown": _this.onMouseDown,
110
+ "focusout": _this.onBlur
111
+ },
112
+ onFocusout: _this.onBlur
113
+ }, [defaultSlot])];
114
+ } : [h("div", {
115
+ "class": popupClass,
116
+ onMousedown: _this.onMouseDown,
117
+ on: _this.v3 ? undefined : {
118
+ "mousedown": _this.onMouseDown,
119
+ "focusout": _this.onBlur
120
+ },
121
+ onFocusout: _this.onBlur
122
+ }, [defaultSlot])])
123
+ );
124
+ }
125
+ };
126
+ /**
127
+ * @hidden
128
+ */
129
+
130
+ var ListContainer = ListContainerVue2;
131
+ export { ListContainer, ListContainerVue2 };