@progress/kendo-vue-dropdowns 5.3.0-dev.202409130647 → 5.3.0-develop.1

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 (273) hide show
  1. package/AutoComplete/AutoComplete.js +8 -0
  2. package/AutoComplete/AutoComplete.mjs +526 -0
  3. package/ComboBox/ComboBox.js +8 -0
  4. package/ComboBox/ComboBox.mjs +776 -0
  5. package/DropDownList/DropDownList.js +8 -0
  6. package/DropDownList/DropDownList.mjs +781 -0
  7. package/DropDownTree/DropDownTree.js +8 -0
  8. package/DropDownTree/DropDownTree.mjs +709 -0
  9. package/DropDownTree/ListNoData.js +8 -0
  10. package/DropDownTree/ListNoData.mjs +21 -0
  11. package/MultiSelect/MultiSelect.js +8 -0
  12. package/MultiSelect/MultiSelect.mjs +872 -0
  13. package/MultiSelect/TagList.js +8 -0
  14. package/MultiSelect/TagList.mjs +119 -0
  15. package/MultiSelectTree/MultiSelectTree.js +8 -0
  16. package/MultiSelectTree/MultiSelectTree.mjs +759 -0
  17. package/MultiSelectTree/utils.js +8 -0
  18. package/MultiSelectTree/utils.mjs +73 -0
  19. package/README.md +28 -43
  20. package/common/ClearButton.js +8 -0
  21. package/common/ClearButton.mjs +54 -0
  22. package/common/DropDownBase.js +8 -0
  23. package/common/DropDownBase.mjs +193 -0
  24. package/common/GroupStickyHeader.js +8 -0
  25. package/common/GroupStickyHeader.mjs +38 -0
  26. package/common/List.js +8 -0
  27. package/common/List.mjs +139 -0
  28. package/common/ListContainer.js +8 -0
  29. package/common/ListContainer.mjs +103 -0
  30. package/common/ListDefaultItem.js +8 -0
  31. package/common/ListDefaultItem.mjs +47 -0
  32. package/common/ListFilter.js +8 -0
  33. package/common/ListFilter.mjs +147 -0
  34. package/common/ListGroupItem.js +8 -0
  35. package/common/ListGroupItem.mjs +46 -0
  36. package/common/ListItem.js +8 -0
  37. package/common/ListItem.mjs +73 -0
  38. package/common/Navigation.js +8 -0
  39. package/common/Navigation.mjs +28 -0
  40. package/common/SearchBar.js +8 -0
  41. package/common/SearchBar.mjs +129 -0
  42. package/common/VirtualScroll.js +8 -0
  43. package/common/VirtualScroll.mjs +95 -0
  44. package/common/constants.js +8 -0
  45. package/common/constants.mjs +12 -0
  46. package/common/settings.js +8 -0
  47. package/common/settings.mjs +11 -0
  48. package/common/utils.js +8 -0
  49. package/common/utils.mjs +104 -0
  50. package/dist/cdn/js/kendo-vue-dropdowns.js +8 -1
  51. package/index.d.mts +4037 -0
  52. package/index.d.ts +4037 -0
  53. package/index.js +8 -0
  54. package/index.mjs +25 -0
  55. package/messages/main.js +8 -0
  56. package/messages/main.mjs +26 -0
  57. package/package-metadata.js +8 -0
  58. package/package-metadata.mjs +18 -0
  59. package/package.json +24 -58
  60. package/dist/es/AutoComplete/AutoComplete.d.ts +0 -107
  61. package/dist/es/AutoComplete/AutoComplete.js +0 -825
  62. package/dist/es/AutoComplete/AutoCompleteProps.d.ts +0 -234
  63. package/dist/es/AutoComplete/AutoCompleteProps.js +0 -2
  64. package/dist/es/ComboBox/ComboBox.d.ts +0 -99
  65. package/dist/es/ComboBox/ComboBox.js +0 -1315
  66. package/dist/es/ComboBox/ComboBoxProps.d.ts +0 -277
  67. package/dist/es/ComboBox/ComboBoxProps.js +0 -2
  68. package/dist/es/DropDownList/DropDownList.d.ts +0 -103
  69. package/dist/es/DropDownList/DropDownList.js +0 -1314
  70. package/dist/es/DropDownList/DropDownListProps.d.ts +0 -307
  71. package/dist/es/DropDownList/DropDownListProps.js +0 -2
  72. package/dist/es/DropDownTree/DropDownTree.d.ts +0 -49
  73. package/dist/es/DropDownTree/DropDownTree.js +0 -1090
  74. package/dist/es/DropDownTree/DropDownTreeProps.d.ts +0 -301
  75. package/dist/es/DropDownTree/DropDownTreeProps.js +0 -2
  76. package/dist/es/DropDownTree/ListNoData.d.ts +0 -42
  77. package/dist/es/DropDownTree/ListNoData.js +0 -32
  78. package/dist/es/MultiSelect/MultiSelect.d.ts +0 -115
  79. package/dist/es/MultiSelect/MultiSelect.js +0 -1515
  80. package/dist/es/MultiSelect/MultiSelectProps.d.ts +0 -290
  81. package/dist/es/MultiSelect/MultiSelectProps.js +0 -2
  82. package/dist/es/MultiSelect/TagList.d.ts +0 -54
  83. package/dist/es/MultiSelect/TagList.js +0 -176
  84. package/dist/es/MultiSelectTree/MultiSelectTree.d.ts +0 -48
  85. package/dist/es/MultiSelectTree/MultiSelectTree.js +0 -1220
  86. package/dist/es/MultiSelectTree/MultiSelectTreeProps.d.ts +0 -322
  87. package/dist/es/MultiSelectTree/MultiSelectTreeProps.js +0 -2
  88. package/dist/es/MultiSelectTree/utils.d.ts +0 -17
  89. package/dist/es/MultiSelectTree/utils.js +0 -109
  90. package/dist/es/additionalTypes.ts +0 -21
  91. package/dist/es/common/ClearButton.d.ts +0 -21
  92. package/dist/es/common/ClearButton.js +0 -73
  93. package/dist/es/common/DropDownBase.d.ts +0 -95
  94. package/dist/es/common/DropDownBase.js +0 -298
  95. package/dist/es/common/GroupStickyHeader.d.ts +0 -32
  96. package/dist/es/common/GroupStickyHeader.js +0 -60
  97. package/dist/es/common/List.d.ts +0 -60
  98. package/dist/es/common/List.js +0 -201
  99. package/dist/es/common/ListContainer.d.ts +0 -40
  100. package/dist/es/common/ListContainer.js +0 -161
  101. package/dist/es/common/ListDefaultItem.d.ts +0 -29
  102. package/dist/es/common/ListDefaultItem.js +0 -60
  103. package/dist/es/common/ListFilter.d.ts +0 -49
  104. package/dist/es/common/ListFilter.js +0 -175
  105. package/dist/es/common/ListGroupItem.d.ts +0 -41
  106. package/dist/es/common/ListGroupItem.js +0 -71
  107. package/dist/es/common/ListItem.d.ts +0 -71
  108. package/dist/es/common/ListItem.js +0 -101
  109. package/dist/es/common/Navigation.d.ts +0 -12
  110. package/dist/es/common/Navigation.js +0 -34
  111. package/dist/es/common/SearchBar.d.ts +0 -66
  112. package/dist/es/common/SearchBar.js +0 -177
  113. package/dist/es/common/VirtualScroll.d.ts +0 -42
  114. package/dist/es/common/VirtualScroll.js +0 -163
  115. package/dist/es/common/constants.d.ts +0 -4
  116. package/dist/es/common/constants.js +0 -4
  117. package/dist/es/common/events.d.ts +0 -63
  118. package/dist/es/common/events.js +0 -1
  119. package/dist/es/common/filterDescriptor.d.ts +0 -41
  120. package/dist/es/common/filterDescriptor.js +0 -2
  121. package/dist/es/common/settings.d.ts +0 -107
  122. package/dist/es/common/settings.js +0 -8
  123. package/dist/es/common/utils.d.ts +0 -70
  124. package/dist/es/common/utils.js +0 -202
  125. package/dist/es/main.d.ts +0 -18
  126. package/dist/es/main.js +0 -10
  127. package/dist/es/messages/main.d.ts +0 -40
  128. package/dist/es/messages/main.js +0 -41
  129. package/dist/es/package-metadata.d.ts +0 -5
  130. package/dist/es/package-metadata.js +0 -11
  131. package/dist/esm/AutoComplete/AutoComplete.d.ts +0 -107
  132. package/dist/esm/AutoComplete/AutoComplete.js +0 -825
  133. package/dist/esm/AutoComplete/AutoCompleteProps.d.ts +0 -234
  134. package/dist/esm/AutoComplete/AutoCompleteProps.js +0 -2
  135. package/dist/esm/ComboBox/ComboBox.d.ts +0 -99
  136. package/dist/esm/ComboBox/ComboBox.js +0 -1315
  137. package/dist/esm/ComboBox/ComboBoxProps.d.ts +0 -277
  138. package/dist/esm/ComboBox/ComboBoxProps.js +0 -2
  139. package/dist/esm/DropDownList/DropDownList.d.ts +0 -103
  140. package/dist/esm/DropDownList/DropDownList.js +0 -1314
  141. package/dist/esm/DropDownList/DropDownListProps.d.ts +0 -307
  142. package/dist/esm/DropDownList/DropDownListProps.js +0 -2
  143. package/dist/esm/DropDownTree/DropDownTree.d.ts +0 -49
  144. package/dist/esm/DropDownTree/DropDownTree.js +0 -1090
  145. package/dist/esm/DropDownTree/DropDownTreeProps.d.ts +0 -301
  146. package/dist/esm/DropDownTree/DropDownTreeProps.js +0 -2
  147. package/dist/esm/DropDownTree/ListNoData.d.ts +0 -42
  148. package/dist/esm/DropDownTree/ListNoData.js +0 -32
  149. package/dist/esm/MultiSelect/MultiSelect.d.ts +0 -115
  150. package/dist/esm/MultiSelect/MultiSelect.js +0 -1515
  151. package/dist/esm/MultiSelect/MultiSelectProps.d.ts +0 -290
  152. package/dist/esm/MultiSelect/MultiSelectProps.js +0 -2
  153. package/dist/esm/MultiSelect/TagList.d.ts +0 -54
  154. package/dist/esm/MultiSelect/TagList.js +0 -176
  155. package/dist/esm/MultiSelectTree/MultiSelectTree.d.ts +0 -48
  156. package/dist/esm/MultiSelectTree/MultiSelectTree.js +0 -1220
  157. package/dist/esm/MultiSelectTree/MultiSelectTreeProps.d.ts +0 -322
  158. package/dist/esm/MultiSelectTree/MultiSelectTreeProps.js +0 -2
  159. package/dist/esm/MultiSelectTree/utils.d.ts +0 -17
  160. package/dist/esm/MultiSelectTree/utils.js +0 -109
  161. package/dist/esm/additionalTypes.ts +0 -21
  162. package/dist/esm/common/ClearButton.d.ts +0 -21
  163. package/dist/esm/common/ClearButton.js +0 -73
  164. package/dist/esm/common/DropDownBase.d.ts +0 -95
  165. package/dist/esm/common/DropDownBase.js +0 -298
  166. package/dist/esm/common/GroupStickyHeader.d.ts +0 -32
  167. package/dist/esm/common/GroupStickyHeader.js +0 -60
  168. package/dist/esm/common/List.d.ts +0 -60
  169. package/dist/esm/common/List.js +0 -201
  170. package/dist/esm/common/ListContainer.d.ts +0 -40
  171. package/dist/esm/common/ListContainer.js +0 -161
  172. package/dist/esm/common/ListDefaultItem.d.ts +0 -29
  173. package/dist/esm/common/ListDefaultItem.js +0 -60
  174. package/dist/esm/common/ListFilter.d.ts +0 -49
  175. package/dist/esm/common/ListFilter.js +0 -175
  176. package/dist/esm/common/ListGroupItem.d.ts +0 -41
  177. package/dist/esm/common/ListGroupItem.js +0 -71
  178. package/dist/esm/common/ListItem.d.ts +0 -71
  179. package/dist/esm/common/ListItem.js +0 -101
  180. package/dist/esm/common/Navigation.d.ts +0 -12
  181. package/dist/esm/common/Navigation.js +0 -34
  182. package/dist/esm/common/SearchBar.d.ts +0 -66
  183. package/dist/esm/common/SearchBar.js +0 -177
  184. package/dist/esm/common/VirtualScroll.d.ts +0 -42
  185. package/dist/esm/common/VirtualScroll.js +0 -163
  186. package/dist/esm/common/constants.d.ts +0 -4
  187. package/dist/esm/common/constants.js +0 -4
  188. package/dist/esm/common/events.d.ts +0 -63
  189. package/dist/esm/common/events.js +0 -1
  190. package/dist/esm/common/filterDescriptor.d.ts +0 -41
  191. package/dist/esm/common/filterDescriptor.js +0 -2
  192. package/dist/esm/common/settings.d.ts +0 -107
  193. package/dist/esm/common/settings.js +0 -8
  194. package/dist/esm/common/utils.d.ts +0 -70
  195. package/dist/esm/common/utils.js +0 -202
  196. package/dist/esm/main.d.ts +0 -18
  197. package/dist/esm/main.js +0 -10
  198. package/dist/esm/messages/main.d.ts +0 -40
  199. package/dist/esm/messages/main.js +0 -41
  200. package/dist/esm/package-metadata.d.ts +0 -5
  201. package/dist/esm/package-metadata.js +0 -11
  202. package/dist/esm/package.json +0 -3
  203. package/dist/npm/AutoComplete/AutoComplete.d.ts +0 -107
  204. package/dist/npm/AutoComplete/AutoComplete.js +0 -832
  205. package/dist/npm/AutoComplete/AutoCompleteProps.d.ts +0 -234
  206. package/dist/npm/AutoComplete/AutoCompleteProps.js +0 -3
  207. package/dist/npm/ComboBox/ComboBox.d.ts +0 -99
  208. package/dist/npm/ComboBox/ComboBox.js +0 -1322
  209. package/dist/npm/ComboBox/ComboBoxProps.d.ts +0 -277
  210. package/dist/npm/ComboBox/ComboBoxProps.js +0 -3
  211. package/dist/npm/DropDownList/DropDownList.d.ts +0 -103
  212. package/dist/npm/DropDownList/DropDownList.js +0 -1321
  213. package/dist/npm/DropDownList/DropDownListProps.d.ts +0 -307
  214. package/dist/npm/DropDownList/DropDownListProps.js +0 -3
  215. package/dist/npm/DropDownTree/DropDownTree.d.ts +0 -49
  216. package/dist/npm/DropDownTree/DropDownTree.js +0 -1095
  217. package/dist/npm/DropDownTree/DropDownTreeProps.d.ts +0 -301
  218. package/dist/npm/DropDownTree/DropDownTreeProps.js +0 -3
  219. package/dist/npm/DropDownTree/ListNoData.d.ts +0 -42
  220. package/dist/npm/DropDownTree/ListNoData.js +0 -39
  221. package/dist/npm/MultiSelect/MultiSelect.d.ts +0 -115
  222. package/dist/npm/MultiSelect/MultiSelect.js +0 -1522
  223. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +0 -290
  224. package/dist/npm/MultiSelect/MultiSelectProps.js +0 -3
  225. package/dist/npm/MultiSelect/TagList.d.ts +0 -54
  226. package/dist/npm/MultiSelect/TagList.js +0 -183
  227. package/dist/npm/MultiSelectTree/MultiSelectTree.d.ts +0 -48
  228. package/dist/npm/MultiSelectTree/MultiSelectTree.js +0 -1227
  229. package/dist/npm/MultiSelectTree/MultiSelectTreeProps.d.ts +0 -322
  230. package/dist/npm/MultiSelectTree/MultiSelectTreeProps.js +0 -3
  231. package/dist/npm/MultiSelectTree/utils.d.ts +0 -17
  232. package/dist/npm/MultiSelectTree/utils.js +0 -114
  233. package/dist/npm/additionalTypes.ts +0 -21
  234. package/dist/npm/common/ClearButton.d.ts +0 -21
  235. package/dist/npm/common/ClearButton.js +0 -80
  236. package/dist/npm/common/DropDownBase.d.ts +0 -95
  237. package/dist/npm/common/DropDownBase.js +0 -303
  238. package/dist/npm/common/GroupStickyHeader.d.ts +0 -32
  239. package/dist/npm/common/GroupStickyHeader.js +0 -67
  240. package/dist/npm/common/List.d.ts +0 -60
  241. package/dist/npm/common/List.js +0 -208
  242. package/dist/npm/common/ListContainer.d.ts +0 -40
  243. package/dist/npm/common/ListContainer.js +0 -168
  244. package/dist/npm/common/ListDefaultItem.d.ts +0 -29
  245. package/dist/npm/common/ListDefaultItem.js +0 -67
  246. package/dist/npm/common/ListFilter.d.ts +0 -49
  247. package/dist/npm/common/ListFilter.js +0 -182
  248. package/dist/npm/common/ListGroupItem.d.ts +0 -41
  249. package/dist/npm/common/ListGroupItem.js +0 -78
  250. package/dist/npm/common/ListItem.d.ts +0 -71
  251. package/dist/npm/common/ListItem.js +0 -108
  252. package/dist/npm/common/Navigation.d.ts +0 -12
  253. package/dist/npm/common/Navigation.js +0 -37
  254. package/dist/npm/common/SearchBar.d.ts +0 -66
  255. package/dist/npm/common/SearchBar.js +0 -184
  256. package/dist/npm/common/VirtualScroll.d.ts +0 -42
  257. package/dist/npm/common/VirtualScroll.js +0 -168
  258. package/dist/npm/common/constants.d.ts +0 -4
  259. package/dist/npm/common/constants.js +0 -10
  260. package/dist/npm/common/events.d.ts +0 -63
  261. package/dist/npm/common/events.js +0 -2
  262. package/dist/npm/common/filterDescriptor.d.ts +0 -41
  263. package/dist/npm/common/filterDescriptor.js +0 -3
  264. package/dist/npm/common/settings.d.ts +0 -107
  265. package/dist/npm/common/settings.js +0 -11
  266. package/dist/npm/common/utils.d.ts +0 -70
  267. package/dist/npm/common/utils.js +0 -221
  268. package/dist/npm/main.d.ts +0 -18
  269. package/dist/npm/main.js +0 -36
  270. package/dist/npm/messages/main.d.ts +0 -40
  271. package/dist/npm/messages/main.js +0 -44
  272. package/dist/npm/package-metadata.d.ts +0 -5
  273. package/dist/npm/package-metadata.js +0 -14
@@ -1,1322 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = undefined && undefined.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) {
8
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
- }
10
- }
11
- return t;
12
- };
13
- return __assign.apply(this, arguments);
14
- };
15
- Object.defineProperty(exports, "__esModule", {
16
- value: true
17
- });
18
- exports.ComboBoxVue2 = exports.ComboBox = void 0;
19
- // @ts-ignore
20
- var Vue = require("vue");
21
- var allVue = Vue;
22
- var gh = allVue.h;
23
- var isV3 = allVue.version && allVue.version[0] === '3';
24
- var ref = allVue.ref;
25
- var inject = allVue.inject;
26
- var DropDownBase_1 = require("../common/DropDownBase");
27
- var GroupStickyHeader_1 = require("../common/GroupStickyHeader");
28
- var kendo_vue_common_1 = require("@progress/kendo-vue-common");
29
- var kendo_vue_buttons_1 = require("@progress/kendo-vue-buttons");
30
- var sizeMap = kendo_vue_common_1.kendoThemeMaps.sizeMap,
31
- roundedMap = kendo_vue_common_1.kendoThemeMaps.roundedMap;
32
- var utils_1 = require("../common/utils");
33
- var SearchBar_1 = require("../common/SearchBar");
34
- var ListContainer_1 = require("../common/ListContainer");
35
- var List_1 = require("../common/List");
36
- var ClearButton_1 = require("../common/ClearButton");
37
- var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
38
- var main_1 = require("../messages/main");
39
- var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
40
- var constants_1 = require("../common/constants");
41
- var kendo_vue_layout_1 = require("@progress/kendo-vue-layout");
42
- var ListFilter_1 = require("../common/ListFilter");
43
- var VALIDATION_MESSAGE = 'Please enter a valid value!';
44
- /**
45
- * @hidden
46
- */
47
- var ComboBoxVue2 = {
48
- name: 'KendoComboBox',
49
- model: {
50
- event: 'changemodel'
51
- },
52
- // @ts-ignore
53
- emits: {
54
- 'changemodel': null,
55
- 'update:modelValue': null,
56
- 'filterchange': null,
57
- pagechange: null,
58
- change: null,
59
- focus: null,
60
- blur: null,
61
- open: null,
62
- close: null,
63
- scroll: null
64
- },
65
- props: {
66
- id: String,
67
- dataItemKey: {
68
- type: [Object, String]
69
- },
70
- defaultValue: {
71
- type: [String, Object, Number, Boolean],
72
- default: undefined
73
- },
74
- name: String,
75
- modelValue: {
76
- type: [String, Object, Number, Boolean],
77
- default: undefined
78
- },
79
- value: {
80
- type: [String, Object, Number, Boolean],
81
- default: undefined
82
- },
83
- label: {
84
- type: String
85
- },
86
- placeholder: String,
87
- required: {
88
- type: Boolean,
89
- default: false
90
- },
91
- valid: {
92
- type: Boolean,
93
- default: undefined
94
- },
95
- validationMessage: {
96
- type: String,
97
- default: undefined
98
- },
99
- validityStyles: {
100
- type: Boolean,
101
- default: true
102
- },
103
- iconClassName: String,
104
- opened: {
105
- type: Boolean,
106
- default: undefined
107
- },
108
- disabled: Boolean,
109
- dir: {
110
- type: String,
111
- default: undefined
112
- },
113
- tabIndex: {
114
- type: Number,
115
- default: 0
116
- },
117
- accessKey: String,
118
- dataItems: Array,
119
- textField: String,
120
- className: String,
121
- loading: Boolean,
122
- popupSettings: {
123
- type: Object,
124
- default: function _default() {
125
- return {
126
- animate: true,
127
- height: '200px',
128
- anchor: ''
129
- };
130
- }
131
- },
132
- itemRender: [String, Function, Object],
133
- groupHeaderItemRender: [String, Function, Object],
134
- groupStickyHeaderItemRender: [String, Function, Object],
135
- listNoDataRender: [String, Function, Object],
136
- focusedItemIndex: Function,
137
- header: [String, Function, Object],
138
- footer: [String, Function, Object],
139
- filterable: Boolean,
140
- filter: {
141
- type: String,
142
- default: undefined
143
- },
144
- virtual: {
145
- type: Object,
146
- default: undefined
147
- },
148
- suggest: {
149
- type: Boolean,
150
- default: false
151
- },
152
- allowCustom: {
153
- type: Boolean,
154
- default: false
155
- },
156
- clearButton: {
157
- type: Boolean,
158
- default: true
159
- },
160
- ariaLabel: {
161
- type: String,
162
- default: undefined
163
- },
164
- ariaLabelledBy: String,
165
- ariaDescribedBy: String,
166
- valueField: String,
167
- valuePrimitive: Boolean,
168
- rounded: {
169
- type: String,
170
- default: 'medium',
171
- validator: function validator(value) {
172
- return ['small', 'medium', 'large', 'full'].includes(value);
173
- }
174
- },
175
- fillMode: {
176
- type: String,
177
- default: 'solid',
178
- validator: function validator(value) {
179
- return ['solid', 'flat', 'outline'].includes(value);
180
- }
181
- },
182
- size: {
183
- type: String,
184
- default: 'medium',
185
- validator: function validator(value) {
186
- return ['small', 'medium', 'large'].includes(value);
187
- }
188
- },
189
- groupField: {
190
- type: String
191
- },
192
- adaptive: {
193
- type: Boolean,
194
- default: undefined
195
- },
196
- adaptiveTitle: {
197
- type: String,
198
- default: undefined
199
- }
200
- },
201
- inject: {
202
- kendoLocalizationService: {
203
- default: null
204
- }
205
- },
206
- data: function data() {
207
- return {
208
- hasMounted: false,
209
- currentText: '',
210
- currentValue: '',
211
- currentFocused: false,
212
- currentOpened: false,
213
- searchState: {
214
- word: '',
215
- last: ''
216
- },
217
- _skipFocusEvent: false,
218
- valueDuringOnChange: {},
219
- _navigated: false,
220
- suggested: '',
221
- group: undefined,
222
- isScrolling: false,
223
- itemHeight: 0,
224
- state: undefined,
225
- popupWidth: undefined,
226
- windowWidth: 0
227
- };
228
- },
229
- created: function created() {
230
- this.observer = null;
231
- this.valueDuringOnChange = undefined;
232
- this.currentText = undefined;
233
- this.currentValue = undefined;
234
- this.currentFocused = undefined;
235
- this.currentOpened = undefined;
236
- this.prevCurrentValue = this.computedValue();
237
- this.base = new DropDownBase_1.default(this);
238
- this.anchor = (0, kendo_vue_common_1.guid)();
239
- this.inputId = (0, kendo_vue_common_1.guid)();
240
- },
241
- // @ts-ignore
242
- setup: !isV3 ? undefined : function () {
243
- var v3 = !!isV3;
244
- var inputRef = ref(null);
245
- var elementRef = ref(null);
246
- var kendoAnchorRef = ref(null);
247
- var kendoLocalizationService = inject('kendoLocalizationService', {});
248
- return {
249
- v3: v3,
250
- inputRef: inputRef,
251
- elementRef: elementRef,
252
- kendoAnchorRef: kendoAnchorRef,
253
- kendoLocalizationService: kendoLocalizationService
254
- };
255
- },
256
- mounted: function mounted() {
257
- this.observer = kendo_vue_common_1.canUseDOM && new ResizeObserver(this.calculateMedia);
258
- if ((document === null || document === void 0 ? void 0 : document.body) && this.observer) {
259
- this.observer.observe(document.body);
260
- }
261
- this.hasMounted = true;
262
- // @ts-ignore
263
- this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;
264
- this.base.wrapper = (0, kendo_vue_common_1.getRef)(this, 'kendoAnchor', this.anchor);
265
- this.element = (0, kendo_vue_common_1.getRef)(this, 'kendoAnchor', this.anchor);
266
- this.base.didMount();
267
- this.setValidity();
268
- },
269
- destroyed: !!isV3 ? undefined : function () {
270
- if (this.observer) {
271
- this.observer.disconnect();
272
- }
273
- },
274
- updated: function updated() {
275
- var _a;
276
- var _b = this.$props,
277
- _c = _b.dataItems,
278
- dataItems = _c === void 0 ? [] : _c,
279
- dataItemKey = _b.dataItemKey,
280
- virtual = _b.virtual,
281
- groupField = _b.groupField,
282
- textField = _b.textField;
283
- var opened = this.isOpen;
284
- var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;
285
- var opening = !prevOpened && opened;
286
- var closing = prevOpened && !opened;
287
- var list = this.$refs.list;
288
- var scrollElement = this.$refs.scrollElement;
289
- var selectedItem = this.computedValue();
290
- this.valueOnDidUpdate = selectedItem;
291
- if (list) {
292
- // @ts-ignore
293
- this.base.vs.list = list.list;
294
- // @ts-ignore
295
- this.base.list = list.list;
296
- }
297
- if (scrollElement) {
298
- this.base.vs.scrollElement = scrollElement;
299
- }
300
- if (list && dataItems.length) {
301
- // @ts-ignore
302
- this.base.vs.scrollerRef(list.$el);
303
- }
304
- // @ts-ignore
305
- if (virtual && this.virtualTotalHasChanged) {
306
- this.base.vs.calcScrollElementHeight();
307
- this.base.vs.reset();
308
- this.virtualTotalHasChanged = false;
309
- } else {
310
- var prevSelectedItem = this.prevCurrentValue;
311
- var selectedItemIndex = dataItems.findIndex(function (i) {
312
- return (0, utils_1.areSame)(i, selectedItem, dataItemKey);
313
- });
314
- // Needed to calculate the proper item index when in grouping mode
315
- if (groupField) {
316
- selectedItemIndex = (_a = this.base.getGroupedDataModernMode(dataItems, groupField)) === null || _a === void 0 ? void 0 : _a.indexOf(selectedItem);
317
- }
318
- var selectedItemChanged = !(0, utils_1.areSame)(prevSelectedItem, selectedItem, dataItemKey);
319
- if (opening && virtual) {
320
- this.base.scrollToVirtualItem(virtual, selectedItemIndex);
321
- this.prevCurrentOpened = true;
322
- } else if (opening && !virtual) {
323
- // Resets the sticky header group value for scenarios with open/close of component's popup
324
- if (dataItems && dataItems.length !== 0) {
325
- this.base.resetGroupStickyHeader(dataItems[0][groupField], this);
326
- }
327
- this.base.scrollToItem(selectedItemIndex);
328
- this.prevCurrentOpened = true;
329
- } else if (opened && prevOpened && selectedItem && selectedItemChanged) {
330
- this.base.scrollToItem(selectedItemIndex);
331
- } else if (opened && !selectedItem && !this.isScrolling) {
332
- var groupHeadersBeforeFocus = 0;
333
- // Handle the items' focusing when working with grouped data
334
- if (groupField && this.getFocusedIndex() !== -1 && dataItems.length > 0) {
335
- var focusedElemBeforeGrouping_1 = dataItems[this.getFocusedIndex()][textField];
336
- var gropedDataItems = this.base.getGroupedDataModernMode(dataItems, groupField);
337
- var groupedDataIdex = gropedDataItems.findIndex(function (el) {
338
- return el[textField] === focusedElemBeforeGrouping_1;
339
- });
340
- groupHeadersBeforeFocus = gropedDataItems.slice(0, groupedDataIdex).filter(function (el) {
341
- return Object.keys(el).length === 1;
342
- }).length;
343
- }
344
- this.base.scrollToItem(this.getFocusedIndex() + groupHeadersBeforeFocus);
345
- }
346
- }
347
- if (opening && this.input) {
348
- this.input.focus();
349
- }
350
- this.prevCurrentValue = this.computedValue();
351
- this.setValidity();
352
- },
353
- watch: {
354
- currentOpened: function currentOpened(_, oldValue) {
355
- this.prevCurrentOpened = oldValue;
356
- },
357
- opened: function opened(_, oldValue) {
358
- this.prevOpened = oldValue;
359
- },
360
- virtual: function virtual(newValue, oldValue) {
361
- if (newValue && oldValue && newValue.total !== oldValue.total) {
362
- this.virtualTotalHasChanged = true;
363
- }
364
- this.virtualHasChanged = true;
365
- },
366
- isOpen: function isOpen() {
367
- var _this = this;
368
- setTimeout(function () {
369
- var listItem = document.querySelector('.k-list-item');
370
- _this.itemHeight = _this.base.getListItemHeight(listItem);
371
- }, 100);
372
- }
373
- },
374
- computed: {
375
- index: {
376
- get: function get() {
377
- var _a = this.$props,
378
- _b = _a.dataItems,
379
- dataItems = _b === void 0 ? [] : _b,
380
- dataItemKey = _a.dataItemKey;
381
- var value = this.computedValue();
382
- // TO DO: deprecate it!
383
- return dataItems.findIndex(function (i) {
384
- return (0, utils_1.areSame)(i, value, dataItemKey);
385
- });
386
- }
387
- },
388
- spanClassNames: {
389
- get: function get() {
390
- var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;
391
- return {
392
- 'k-floating-label-container': true,
393
- 'k-focus': this.currentFocused,
394
- 'k-empty': !this.computedValue(),
395
- 'k-invalid': !isValid && isValid !== undefined,
396
- 'k-rtl': this.$props.dir === 'rtl'
397
- };
398
- }
399
- },
400
- isOpen: {
401
- get: function get() {
402
- return this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
403
- }
404
- },
405
- animationStyles: {
406
- get: function get() {
407
- return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? {
408
- top: 0,
409
- width: '100%',
410
- height: '100%'
411
- } : undefined;
412
- }
413
- },
414
- classNameAdaptive: {
415
- get: function get() {
416
- return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? 'k-adaptive-actionsheet k-actionsheet-fullscreen' : 'k-adaptive-actionsheet k-actionsheet-bottom';
417
- }
418
- },
419
- adaptiveState: {
420
- get: function get() {
421
- return this.windowWidth <= constants_1.MOBILE_MEDIUM_DEVICE && this.$props.adaptive;
422
- }
423
- }
424
- },
425
- methods: {
426
- focus: function focus() {
427
- if (this.input) {
428
- this.input.focus();
429
- }
430
- },
431
- computedValue: function computedValue() {
432
- var value;
433
- if (this.valueDuringOnChange !== undefined) {
434
- value = this.valueDuringOnChange;
435
- } else if (this.$props.value !== undefined) {
436
- value = this.$props.value;
437
- } else if (this.$props.modelValue !== undefined) {
438
- value = this.$props.modelValue;
439
- } else if (this.currentValue !== undefined) {
440
- value = this.currentValue;
441
- } else if (this.$props.defaultValue !== undefined) {
442
- value = this.$props.defaultValue;
443
- }
444
- return this.valuePrimitive ? this.findByFieldValue(this.valueField, value) || value : value;
445
- },
446
- findByFieldValue: function findByFieldValue(field, value) {
447
- var index = this.dataItems.findIndex(function (i) {
448
- return (0, utils_1.getItemValue)(i, field) === value;
449
- });
450
- return this.dataItems[index];
451
- },
452
- primitiveValue: function primitiveValue() {
453
- var value = this.computedValue();
454
- return this.valuePrimitive ? (0, utils_1.getItemValue)(value, this.valueField) : value;
455
- },
456
- validity: function validity() {
457
- var customError = this.$props.validationMessage !== undefined;
458
- var isValid = !this.$props.required || this.computedValue() !== null && this.computedValue() !== '' && this.computedValue() !== undefined;
459
- var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;
460
- return {
461
- customError: customError,
462
- valid: valid,
463
- valueMissing: this.computedValue() === null
464
- };
465
- },
466
- handleItemSelect: function handleItemSelect(index, state) {
467
- var _a = this.$props,
468
- _b = _a.dataItems,
469
- dataItems = _b === void 0 ? [] : _b,
470
- virtual = _a.virtual,
471
- dataItemKey = _a.dataItemKey;
472
- var skip = virtual ? virtual.skip : 0;
473
- var item = dataItems[index - skip];
474
- var newSelected = !(0, utils_1.areSame)(item, this.computedValue(), dataItemKey);
475
- this.triggerOnChange(item, state);
476
- if (this.currentText !== undefined) {
477
- // @ts-ignore
478
- state.data.currentText = undefined;
479
- }
480
- if (newSelected) {
481
- this.base.triggerPageChangeCornerItems(item, state);
482
- }
483
- },
484
- onNavigate: function onNavigate(state, keyCode) {
485
- var _a = this.$props,
486
- _b = _a.dataItems,
487
- dataItems = _b === void 0 ? [] : _b,
488
- _c = _a.virtual,
489
- virtual = _c === void 0 ? {
490
- skip: 0
491
- } : _c;
492
- var text = this.$props.filter ? this.$props.filter : this.currentText;
493
- var focusedIndex = this.getFocusedIndex();
494
- var vs = this.base.vs;
495
- var value = this.computedValue();
496
- this.suggested = '';
497
- if (focusedIndex !== -1 && !(0, utils_1.isPresent)(value)) {
498
- this.handleItemSelect(focusedIndex, state);
499
- } else if (text === '') {
500
- this.handleItemSelect(0, state);
501
- } else {
502
- var currentIndex = virtual.skip + focusedIndex;
503
- var newIndex = this.base.navigation.navigate({
504
- keyCode: keyCode,
505
- current: currentIndex,
506
- max: (vs.enabled ? vs.total : dataItems.length) - 1,
507
- min: 0
508
- });
509
- if (newIndex !== undefined) {
510
- this.handleItemSelect(newIndex, state);
511
- }
512
- }
513
- },
514
- toggleBtnClick: function toggleBtnClick(event) {
515
- var state = this.base.initState();
516
- var opened = this.isOpen;
517
- var renderAdaptive = this.adaptiveState;
518
- state.event = event;
519
- this.base.togglePopup(state);
520
- if (!opened && renderAdaptive) {
521
- this.base.filterChanged('', state);
522
- }
523
- this.applyState(state);
524
- },
525
- applyValueOnEnter: function applyValueOnEnter(value, state) {
526
- var _a;
527
- var _b = this.$props,
528
- _c = _b.dataItems,
529
- dataItems = _c === void 0 ? [] : _c,
530
- textField = _b.textField,
531
- allowCustom = _b.allowCustom;
532
- var opened = this.isOpen;
533
- var currentValueText = (0, utils_1.getItemValue)(this.computedValue(), textField);
534
- var valueIndex = currentValueText === value ? this.index : (0, utils_1.getItemIndexByText)(dataItems, value, textField);
535
- var itemSelected = valueIndex !== -1;
536
- var newSelected = undefined;
537
- this.suggested = '';
538
- if (itemSelected) {
539
- // typed text match item from list
540
- newSelected = dataItems[valueIndex];
541
- } else {
542
- if (allowCustom) {
543
- // any custom text not in list
544
- newSelected = textField !== undefined ? (_a = {}, _a[textField] = value, _a) : value;
545
- } else {
546
- return this.selectFocusedItem(value, state);
547
- }
548
- }
549
- this.triggerOnChange(newSelected, state);
550
- if (opened) {
551
- this.base.togglePopup(state);
552
- }
553
- if (this.$props.filter === undefined && this.currentText !== undefined) {
554
- // @ts-ignore
555
- state.data.currentText = undefined;
556
- }
557
- this.applyState(state);
558
- },
559
- applyValueOnRejectSuggestions: function applyValueOnRejectSuggestions(text, state) {
560
- var _a;
561
- var _b = this.$props,
562
- _c = _b.dataItems,
563
- dataItems = _c === void 0 ? [] : _c,
564
- textField = _b.textField,
565
- allowCustom = _b.allowCustom;
566
- var opened = this.isOpen;
567
- var valueItemText = (0, utils_1.getItemValue)(this.computedValue(), textField);
568
- this.suggested = '';
569
- if (text === valueItemText || text === '' && !(0, utils_1.isPresent)(valueItemText)) {
570
- if (opened && !this.adaptiveState) {
571
- this.base.togglePopup(state);
572
- }
573
- return this.applyState(state);
574
- }
575
- var valueIndex = (0, utils_1.getItemIndexByText)(dataItems, text, textField, true);
576
- var itemSelected = valueIndex !== -1;
577
- var newSelected = null;
578
- if (itemSelected) {
579
- newSelected = dataItems[valueIndex];
580
- } else if (allowCustom) {
581
- newSelected = text ? textField ? (_a = {}, _a[textField] = text, _a) : text : null;
582
- }
583
- this.triggerOnChange(newSelected, state);
584
- if (this.currentText !== undefined) {
585
- // @ts-ignore
586
- state.data.currentText = undefined;
587
- this.base.filterChanged('', state);
588
- }
589
- if (opened && !this.adaptiveState) {
590
- this.base.togglePopup(state);
591
- }
592
- this.applyState(state);
593
- },
594
- selectFocusedItem: function selectFocusedItem(text, state) {
595
- var opened = this.isOpen;
596
- var _a = this.$props,
597
- _b = _a.dataItems,
598
- dataItems = _b === void 0 ? [] : _b,
599
- textField = _a.textField,
600
- _c = _a.virtual,
601
- virtual = _c === void 0 ? {
602
- skip: 0
603
- } : _c,
604
- _d = _a.focusedItemIndex,
605
- focusedItemIndex = _d === void 0 ? utils_1.itemIndexStartsWith : _d;
606
- var skip = virtual.skip;
607
- var focusedIndex = text === '' && skip === 0 ? 0 : focusedItemIndex(dataItems, text, textField);
608
- if (focusedIndex !== -1) {
609
- this.handleItemSelect(focusedIndex + skip, state);
610
- } else {
611
- this.triggerOnChange(null, state);
612
- if (this.currentText !== undefined) {
613
- // @ts-ignore
614
- state.data.currentText = undefined;
615
- }
616
- }
617
- if (opened) {
618
- this.base.togglePopup(state);
619
- }
620
- return this.applyState(state);
621
- },
622
- handleItemClick: function handleItemClick(index, event) {
623
- this.base.handleItemClick(index, event);
624
- this.valueDuringOnChange = undefined;
625
- },
626
- handleFocus: function handleFocus(event) {
627
- this.$emit('focus', event);
628
- },
629
- handleBlur: function handleBlur(event) {
630
- if (this.currentFocused) {
631
- var state = this.base.initState();
632
- state.data.currentFocused = false;
633
- state.events.push({
634
- type: 'blur'
635
- });
636
- state.event = event;
637
- this.applyValueOnRejectSuggestions(event.currentTarget.value, state);
638
- }
639
- },
640
- onInputKeyDown: function onInputKeyDown(event) {
641
- var _this = this;
642
- if (this.isScrolling) {
643
- this.isScrolling = false;
644
- }
645
- var keyCode = event.keyCode;
646
- var opened = this.isOpen;
647
- var state = this.base.initState();
648
- state.event = event;
649
- if (!event.altKey && (keyCode === kendo_vue_common_1.Keys.up || keyCode === kendo_vue_common_1.Keys.down)) {
650
- event.preventDefault();
651
- this.onNavigate(state, keyCode);
652
- this.applyState(state);
653
- return;
654
- }
655
- var togglePopup = function togglePopup() {
656
- event.preventDefault();
657
- _this.base.togglePopup(state);
658
- _this.applyState(state);
659
- };
660
- if (opened) {
661
- if (event.altKey && keyCode === kendo_vue_common_1.Keys.up) {
662
- togglePopup();
663
- } else if (keyCode === kendo_vue_common_1.Keys.enter) {
664
- event.preventDefault();
665
- this.applyValueOnEnter(event.currentTarget.value, state);
666
- } else if (keyCode === kendo_vue_common_1.Keys.esc) {
667
- if (this.adaptiveState) {
668
- this.toggleBtnClick(event); // Handle the closing on "Esc" key press in adaptive mode
669
- }
670
-
671
- togglePopup();
672
- }
673
- } else {
674
- if (event.altKey && keyCode === kendo_vue_common_1.Keys.down) {
675
- togglePopup();
676
- } else if (keyCode === kendo_vue_common_1.Keys.esc) {
677
- this.applyValueOnRejectSuggestions(event.currentTarget.value, state);
678
- }
679
- }
680
- },
681
- inputOnChange: function inputOnChange(event) {
682
- var state = this.base.initState();
683
- state.event = event;
684
- var opened = this.isOpen;
685
- var input = event.currentTarget;
686
- var value = input.value;
687
- if (this.$props.suggest) {
688
- var selectionAtEnd = input.selectionEnd === value.length;
689
- var prevText = this.$props.filter !== undefined ? this.$props.filter : this.currentText;
690
- if (!(0, utils_1.isPresent)(prevText)) {
691
- prevText = (0, utils_1.getItemValue)(this.computedValue(), this.$props.textField) || '';
692
- }
693
- var deletedSuggestion = prevText && prevText === value;
694
- var deleting = prevText && prevText.length > value.length;
695
- if (deletedSuggestion || deleting || !selectionAtEnd) {
696
- this.suggested = '';
697
- } else {
698
- this.suggestValue(value);
699
- }
700
- }
701
- if (this.$props.filter === undefined) {
702
- // @ts-ignore
703
- state.data.currentText = value;
704
- }
705
- if (this.currentFocusedItem !== undefined) {
706
- // @ts-ignore
707
- state.data.focusedItem = undefined;
708
- }
709
- if (!opened) {
710
- this.base.togglePopup(state);
711
- }
712
- this.base.filterChanged(value, state);
713
- // Resets the value of the StickyHeader when filtering the data or just entering symbols in the input
714
- if (this.$props.filterable) {
715
- state.data.group = undefined;
716
- }
717
- this.applyState(state);
718
- },
719
- clearButtonClick: function clearButtonClick(event) {
720
- var state = this.base.initState();
721
- state.event = event;
722
- event.stopPropagation();
723
- this.suggested = '';
724
- this.base.filterChanged('', state);
725
- if (this.$props.filter === undefined && this.currentText !== undefined) {
726
- // @ts-ignore
727
- state.data.currentText = undefined;
728
- }
729
- this.triggerOnChange(null, state);
730
- var opened = this.isOpen;
731
- if (opened) {
732
- this.base.togglePopup(state);
733
- }
734
- this.applyState(state);
735
- },
736
- getFocusedIndex: function getFocusedIndex() {
737
- var value = this.computedValue();
738
- var _a = this.$props,
739
- _b = _a.dataItems,
740
- dataItems = _b === void 0 ? [] : _b,
741
- textField = _a.textField,
742
- dataItemKey = _a.dataItemKey,
743
- _c = _a.virtual,
744
- virtual = _c === void 0 ? {
745
- skip: 0
746
- } : _c,
747
- _d = _a.focusedItemIndex,
748
- focusedItemIndex = _d === void 0 ? utils_1.itemIndexStartsWith : _d;
749
- var text = this.$props.filter ? this.$props.filter : this.currentText;
750
- if ((0, utils_1.isPresent)(value) && text === undefined) {
751
- return dataItems.findIndex(function (i) {
752
- return (0, utils_1.areSame)(i, value, dataItemKey);
753
- });
754
- } else if (text) {
755
- return focusedItemIndex(dataItems, text, textField);
756
- } else {
757
- return virtual.skip === 0 ? 0 : -1;
758
- }
759
- },
760
- suggestValue: function suggestValue(value) {
761
- var _a = this.$props,
762
- dataItems = _a.dataItems,
763
- textField = _a.textField;
764
- this.suggested = (0, utils_1.suggestValue)(value, dataItems, textField);
765
- },
766
- setValidity: function setValidity() {
767
- if (this.input && this.input.setCustomValidity) {
768
- this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);
769
- }
770
- },
771
- triggerOnChange: function triggerOnChange(item, state) {
772
- var value = this.computedValue();
773
- if (!(0, utils_1.isPresent)(value) && !(0, utils_1.isPresent)(item) || (0, utils_1.areSame)(value, item, this.$props.dataItemKey)) {
774
- return;
775
- }
776
- if (this.$props.value === undefined) {
777
- this.currentValue = item;
778
- }
779
- this.valueDuringOnChange = item;
780
- state.events.push({
781
- type: 'change'
782
- });
783
- },
784
- applyState: function applyState(state) {
785
- this.base.applyState(state);
786
- this.valueDuringOnChange = undefined;
787
- },
788
- calculateMedia: function calculateMedia(entries) {
789
- for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
790
- var entry = entries_1[_i];
791
- this.windowWidth = entry.target.clientWidth;
792
- }
793
- },
794
- repositionPopup: function repositionPopup() {
795
- this.base.repositionPopup();
796
- },
797
- onScroll: function onScroll(event) {
798
- this.isScrolling = true;
799
- var _a = this.base,
800
- vs = _a.vs,
801
- list = _a.list;
802
- vs.scrollHandler(event);
803
- var state = this.base.initState();
804
- var groupField = this.$props.groupField;
805
- var _b = this.$props.dataItems,
806
- dataItems = _b === void 0 ? [] : _b;
807
- var group;
808
- if (!groupField || !dataItems.length) {
809
- return;
810
- }
811
- var itemHeight = this.itemHeight = this.itemHeight || (vs.enabled ? vs.itemHeight : list ? list.children[0].offsetHeight : 0);
812
- var target = event.target;
813
- var scrollTop = target.scrollTop - vs.skip * itemHeight;
814
- if (groupField) {
815
- dataItems = this.base.getGroupedDataModernMode(dataItems, groupField);
816
- group = dataItems[0][groupField];
817
- }
818
- for (var i = 1; i < dataItems.length; i++) {
819
- if (itemHeight * i > scrollTop) {
820
- break;
821
- }
822
- if (dataItems[i] && dataItems[i][groupField]) {
823
- group = dataItems[i][groupField];
824
- }
825
- }
826
- if (group !== this.group) {
827
- state.data.group = group;
828
- this.applyState(state);
829
- }
830
- }
831
- },
832
- render: function render(createElement) {
833
- var _this = this;
834
- var h = gh || createElement;
835
- var _a = this.$props,
836
- dir = _a.dir,
837
- disabled = _a.disabled,
838
- clearButton = _a.clearButton,
839
- label = _a.label,
840
- textField = _a.textField,
841
- className = _a.className,
842
- style = _a.style,
843
- loading = _a.loading,
844
- icon = _a.icon,
845
- svgIcon = _a.svgIcon,
846
- iconClassName = _a.iconClassName,
847
- virtual = _a.virtual,
848
- size = _a.size,
849
- fillMode = _a.fillMode,
850
- rounded = _a.rounded,
851
- adaptiveTitle = _a.adaptiveTitle,
852
- header = _a.header,
853
- footer = _a.footer,
854
- groupStickyHeaderItemRender = _a.groupStickyHeaderItemRender,
855
- placeholder = _a.placeholder;
856
- var focused = this.currentFocused;
857
- var isValid = !this.$props.validityStyles || this.validity().valid;
858
- var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;
859
- var selectedItemText = (0, utils_1.getItemValue)(this.computedValue(), textField);
860
- var inputText = (0, utils_1.isPresent)(text) ? text : selectedItemText;
861
- var renderClearButton = clearButton && (!!inputText || (0, utils_1.isPresent)(this.computedValue()));
862
- var base = this.base;
863
- var vs = base.vs;
864
- var id = this.$props.id || this.inputId;
865
- var popupSettings = Object.assign({}, {
866
- animate: true,
867
- height: '200px'
868
- }, this.$props.popupSettings);
869
- var ariaLabelExpandButton = (0, kendo_vue_intl_1.provideLocalizationService)(this).toLanguageString(main_1.expandButton, main_1.messages[main_1.expandButton]);
870
- var opened = this.isOpen;
871
- var renderAdaptive = this.adaptiveState;
872
- vs.enabled = virtual !== undefined;
873
- if (virtual !== undefined) {
874
- vs.skip = virtual.skip;
875
- vs.total = virtual.total;
876
- vs.pageSize = virtual.pageSize;
877
- }
878
- if (this.group === undefined && this.$props.groupField !== undefined) {
879
- this.group = (0, utils_1.getItemValue)(this.$props.dataItems[0], this.$props.groupField);
880
- }
881
- var handleMobileFilterChange = function handleMobileFilterChange(event) {
882
- var state = _this.base.initState();
883
- state.event = event;
884
- var eventTargetValue = event.event.target.value;
885
- state.data.text = eventTargetValue;
886
- _this.base.filterChanged(eventTargetValue, state);
887
- _this.applyState(state);
888
- };
889
- var adaptiveActionSheetHeaderTemplateDef = function adaptiveActionSheetHeaderTemplateDef() {
890
- return [h("div", {
891
- "class": "k-actionsheet-titlebar-group k-hbox"
892
- }, [h("div", {
893
- "class": "k-actionsheet-title"
894
- }, [h("div", {
895
- "class": "k-text-center"
896
- }, [adaptiveTitle]), placeholder && h("div", {
897
- "class": "k-actionsheet-subtitle k-text-center"
898
- }, [placeholder])]), h("div", {
899
- "class": "k-actionsheet-actions"
900
- }, [h(kendo_vue_buttons_1.Button, {
901
- tabindex: 5,
902
- attrs: this.v3 ? undefined : {
903
- tabindex: 5,
904
- "aria-label": "Cancel",
905
- "aria-disabled": "false",
906
- type: "button",
907
- fillMode: "flat",
908
- icon: "x",
909
- svgIcon: kendo_svg_icons_1.xIcon
910
- },
911
- "aria-label": "Cancel",
912
- "aria-disabled": "false",
913
- type: "button",
914
- fillMode: "flat",
915
- onClick: _this.toggleBtnClick,
916
- on: this.v3 ? undefined : {
917
- "click": _this.toggleBtnClick
918
- },
919
- icon: "x",
920
- svgIcon: kendo_svg_icons_1.xIcon
921
- })])]), h("div", {
922
- "class": "k-actionsheet-titlebar-group k-actionsheet-filter"
923
- }, [renderMobileListFilter.call(_this)])];
924
- };
925
- var adaptiveActionSheetHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetHeaderTemplateDef, kendo_vue_common_1.getListeners.call(this));
926
- var adaptiveActionSheetContentTemplateDef = function adaptiveActionSheetContentTemplateDef() {
927
- var _a;
928
- var headerToRender = base.getTemplateDef.call(_this, header, h);
929
- var footerToRender = base.getTemplateDef.call(_this, footer, h);
930
- var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(_this, groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(_this));
931
- var dataItems = _this.$props.dataItems || [];
932
- return h("div", {
933
- "class": "k-list-container"
934
- }, [headerToRender && h("div", {
935
- "class": "k-list-header"
936
- }, [headerToRender]), h("div", {
937
- "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))
938
- }, [header && h("div", {
939
- "class": "k-list-header"
940
- }, [header]), _this.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
941
- group: _this.group,
942
- attrs: this.v3 ? undefined : {
943
- group: _this.group,
944
- render: groupStickyHeaderTemplate
945
- },
946
- render: groupStickyHeaderTemplate
947
- }), renderList.call(_this), footerToRender && h("div", {
948
- className: "k-list-footer",
949
- attrs: this.v3 ? undefined : {
950
- className: "k-list-footer"
951
- }
952
- }, [footerToRender])])]);
953
- };
954
- var adaptiveActionSheetContentTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetContentTemplateDef, kendo_vue_common_1.getListeners.call(this));
955
- var renderAdaptiveListContainer = function renderAdaptiveListContainer() {
956
- return h(kendo_vue_layout_1.ActionSheet, {
957
- expand: opened,
958
- attrs: this.v3 ? undefined : {
959
- expand: opened,
960
- animation: true,
961
- animationStyles: this.animationStyles,
962
- className: this.classNameAdaptive,
963
- contentClassName: '!k-overflow-hidden',
964
- header: adaptiveActionSheetHeaderTemplate,
965
- content: adaptiveActionSheetContentTemplate,
966
- navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
967
- },
968
- animation: true,
969
- animationStyles: this.animationStyles,
970
- className: this.classNameAdaptive,
971
- contentClassName: '!k-overflow-hidden',
972
- header: adaptiveActionSheetHeaderTemplate,
973
- content: adaptiveActionSheetContentTemplate,
974
- onClose: this.toggleBtnClick,
975
- on: this.v3 ? undefined : {
976
- "close": this.toggleBtnClick
977
- },
978
- navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
979
- });
980
- };
981
- var renderMobileListFilter = function renderMobileListFilter() {
982
- var state = this.base.initState();
983
- var mobileText = state.data.text;
984
- return h(ListFilter_1.ListFilter, {
985
- adaptiveMode: true,
986
- attrs: this.v3 ? undefined : {
987
- adaptiveMode: true,
988
- value: mobileText,
989
- size: this.$props.size,
990
- rounded: this.$props.rounded,
991
- fillMode: this.$props.fillMode
992
- },
993
- value: mobileText,
994
- ref: 'filterInput',
995
- onChange: function onChange(ev) {
996
- return handleMobileFilterChange(ev);
997
- },
998
- on: this.v3 ? undefined : {
999
- "change": function onChange(ev) {
1000
- return handleMobileFilterChange(ev);
1001
- },
1002
- "keydown": this.onInputKeyDown
1003
- },
1004
- onKeydown: this.onInputKeyDown,
1005
- size: this.$props.size,
1006
- rounded: this.$props.rounded,
1007
- fillMode: this.$props.fillMode
1008
- });
1009
- };
1010
- var renderList = function renderList() {
1011
- var _this2 = this;
1012
- var _a;
1013
- var _b = this.$props,
1014
- dataItemKey = _b.dataItemKey,
1015
- groupField = _b.groupField;
1016
- var dataItems = this.$props.dataItems || [];
1017
- var itemRender = kendo_vue_common_1.templateRendering.call(this, this.$props.itemRender, kendo_vue_common_1.getListeners.call(this));
1018
- var groupHeaderItemRender = kendo_vue_common_1.templateRendering.call(this, this.$props.groupHeaderItemRender, kendo_vue_common_1.getListeners.call(this));
1019
- var listNoDataRender = kendo_vue_common_1.templateRendering.call(this, this.$props.listNoDataRender, kendo_vue_common_1.getListeners.call(this));
1020
- if (!virtual) {
1021
- virtual = {
1022
- skip: 0
1023
- };
1024
- }
1025
- var skip = virtual.skip;
1026
- var translate = "translateY(".concat(vs.translate, "px)");
1027
- var focusedIndex = opened ? this.getFocusedIndex() : undefined;
1028
- var value = (0, utils_1.isPresent)(text) && text !== selectedItemText ? null : this.computedValue();
1029
- if (groupField) {
1030
- dataItems = this.base.getGroupedDataModernMode(dataItems, groupField);
1031
- }
1032
- return (
1033
- // @ts-ignore function children
1034
- h(List_1.List, {
1035
- id: base.listBoxId,
1036
- attrs: this.v3 ? undefined : {
1037
- id: base.listBoxId,
1038
- show: opened,
1039
- dataItems: dataItems,
1040
- focusedIndex: focusedIndex,
1041
- value: value,
1042
- textField: textField,
1043
- valueField: dataItemKey,
1044
- optionsGuid: base.guid,
1045
- wrapperStyle: {
1046
- maxHeight: !renderAdaptive ? popupSettings.height : undefined
1047
- },
1048
- wrapperCssClass: (0, kendo_vue_common_1.classNames)('k-list-content', (_a = {}, _a['k-list-scroller'] = !this.$props.virtual, _a)),
1049
- listStyle: vs.enabled ? {
1050
- transform: translate
1051
- } : undefined,
1052
- skip: skip,
1053
- itemRender: itemRender,
1054
- groupHeaderItemRender: groupHeaderItemRender,
1055
- noDataRender: listNoDataRender,
1056
- groupField: groupField
1057
- },
1058
- show: opened,
1059
- dataItems: dataItems,
1060
- focusedIndex: focusedIndex,
1061
- value: value,
1062
- textField: textField,
1063
- valueField: dataItemKey,
1064
- optionsGuid: base.guid,
1065
- ref: 'list',
1066
- wrapperStyle: {
1067
- maxHeight: !renderAdaptive ? popupSettings.height : undefined
1068
- },
1069
- wrapperCssClass: (0, kendo_vue_common_1.classNames)('k-list-content', (_a = {}, _a['k-list-scroller'] = !this.$props.virtual, _a)),
1070
- listStyle: vs.enabled ? {
1071
- transform: translate
1072
- } : undefined,
1073
- key: "listkey",
1074
- skip: skip,
1075
- onListclick: this.handleItemClick,
1076
- on: this.v3 ? undefined : {
1077
- "listclick": this.handleItemClick,
1078
- "scroll": this.onScroll
1079
- },
1080
- itemRender: itemRender,
1081
- groupHeaderItemRender: groupHeaderItemRender,
1082
- noDataRender: listNoDataRender,
1083
- groupField: groupField,
1084
- onScroll: this.onScroll
1085
- }, this.v3 ? function () {
1086
- return [renderScrollElement.call(_this2)];
1087
- } : [renderScrollElement.call(_this2)])
1088
- );
1089
- };
1090
- var renderScrollElement = function renderScrollElement() {
1091
- return vs.enabled && h("div", {
1092
- ref: 'scrollElement',
1093
- key: 'scrollElementKey'
1094
- });
1095
- };
1096
- var renderListContainer = function renderListContainer() {
1097
- var _this3 = this;
1098
- var _a;
1099
- var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(this));
1100
- var headerListContainer = base.getTemplateDef.call(this, header);
1101
- var footerListContainer = base.getTemplateDef.call(this, footer);
1102
- var dataItems = this.$props.dataItems || [];
1103
- if (this.group === undefined && this.$props.groupField !== undefined) {
1104
- this.group = (0, utils_1.getItemValue)(dataItems[0], this.$props.groupField);
1105
- }
1106
- return (
1107
- // @ts-ignore function children
1108
- h(ListContainer_1.ListContainer, {
1109
- ref: 'container',
1110
- onMousedown: function onMousedown(e) {
1111
- return e.preventDefault();
1112
- },
1113
- on: this.v3 ? undefined : {
1114
- "mousedown": function onMousedown(e) {
1115
- return e.preventDefault();
1116
- }
1117
- },
1118
- width: this.popupWidth,
1119
- attrs: this.v3 ? undefined : {
1120
- width: this.popupWidth,
1121
- popupSettings: __assign(__assign({}, popupSettings), {
1122
- anchor: this.anchor,
1123
- show: opened,
1124
- popupClass: (0, kendo_vue_common_1.classNames)(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-".concat(sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
1125
- className: (0, kendo_vue_common_1.classNames)('k-list-container', popupSettings.className)
1126
- }),
1127
- dir: dir !== undefined ? dir : this.base.dirCalculated
1128
- },
1129
- popupSettings: __assign(__assign({}, popupSettings), {
1130
- anchor: this.anchor,
1131
- show: opened,
1132
- popupClass: (0, kendo_vue_common_1.classNames)(popupSettings.popupClass, 'k-list', (_a = {}, _a["k-list-".concat(sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)),
1133
- className: (0, kendo_vue_common_1.classNames)('k-list-container', popupSettings.className)
1134
- }),
1135
- dir: dir !== undefined ? dir : this.base.dirCalculated
1136
- }, this.v3 ? function () {
1137
- return [headerListContainer && h("div", {
1138
- "class": "k-list-header"
1139
- }, [headerListContainer]), _this3.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
1140
- group: _this3.group,
1141
- attrs: _this3.v3 ? undefined : {
1142
- group: _this3.group,
1143
- render: groupStickyHeaderTemplate
1144
- },
1145
- render: groupStickyHeaderTemplate
1146
- }), renderList.call(_this3), footerListContainer && h("div", {
1147
- "class": "k-list-footer"
1148
- }, [footerListContainer])];
1149
- } : [headerListContainer && h("div", {
1150
- "class": "k-list-header"
1151
- }, [headerListContainer]), _this3.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
1152
- group: _this3.group,
1153
- attrs: _this3.v3 ? undefined : {
1154
- group: _this3.group,
1155
- render: groupStickyHeaderTemplate
1156
- },
1157
- render: groupStickyHeaderTemplate
1158
- }), renderList.call(_this3), footerListContainer && h("div", {
1159
- "class": "k-list-footer"
1160
- }, [footerListContainer])])
1161
- );
1162
- };
1163
- var renderSearchBar = function renderSearchBar(searchText, searchId) {
1164
- var _this = this;
1165
- var _a = this.$props,
1166
- tabIndex = _a.tabIndex,
1167
- _b = _a.dataItems,
1168
- dataItems = _b === void 0 ? [] : _b,
1169
- dataItemKey = _a.dataItemKey;
1170
- if (!virtual) {
1171
- virtual = {
1172
- skip: 0
1173
- };
1174
- }
1175
- var value = this.computedValue();
1176
- var selectedIndex = Math.max(0, dataItems.findIndex(function (i) {
1177
- return (0, utils_1.areSame)(i, value, dataItemKey);
1178
- }));
1179
- if (this.suggested && !(0, utils_1.areSame)(this.valueOnDidUpdate, value, dataItemKey)) {
1180
- this.suggested = '';
1181
- }
1182
- return (
1183
- // @ts-ignore function children
1184
- h(SearchBar_1.SearchBar, {
1185
- id: searchId,
1186
- attrs: this.v3 ? undefined : {
1187
- id: searchId,
1188
- placeholder: placeholder,
1189
- tabIndex: tabIndex || undefined,
1190
- accessKey: this.$props.accessKey,
1191
- value: searchText + this.suggested,
1192
- suggestedText: this.suggested,
1193
- disabled: disabled,
1194
- expanded: opened,
1195
- owns: this.base.listBoxId,
1196
- activedescendant: this.base.guid + '-' + (selectedIndex + virtual.skip),
1197
- ariaLabelledBy: this.$props.ariaLabelledBy,
1198
- ariaDescribedBy: this.$props.ariaDescribedBy,
1199
- ariaLabel: this.$props.ariaLabel
1200
- },
1201
- placeholder: placeholder,
1202
- tabIndex: tabIndex || undefined,
1203
- accessKey: this.$props.accessKey,
1204
- value: searchText + this.suggested,
1205
- suggestedText: this.suggested,
1206
- ref: this.v3 ? function (el) {
1207
- _this.inputRef = el;
1208
- } : 'input',
1209
- onKeydown: this.onInputKeyDown,
1210
- on: this.v3 ? undefined : {
1211
- "keydown": this.onInputKeyDown,
1212
- "change": this.inputOnChange,
1213
- "focus": this.base.handleFocus,
1214
- "blur": this.handleBlur
1215
- },
1216
- onChange: this.inputOnChange,
1217
- onFocus: this.base.handleFocus,
1218
- onBlur: this.handleBlur,
1219
- disabled: disabled,
1220
- expanded: opened,
1221
- owns: this.base.listBoxId,
1222
- activedescendant: this.base.guid + '-' + (selectedIndex + virtual.skip),
1223
- ariaLabelledBy: this.$props.ariaLabelledBy,
1224
- ariaDescribedBy: this.$props.ariaDescribedBy,
1225
- ariaLabel: this.$props.ariaLabel
1226
- })
1227
- );
1228
- };
1229
- var comboboxDefault = function comboboxDefault() {
1230
- var _a;
1231
- return h("span", {
1232
- "class": (0, kendo_vue_common_1.classNames)('k-combobox k-input', (_a = {}, _a["k-input-".concat(sizeMap[size] || size)] = size, _a["k-rounded-".concat(roundedMap[rounded] || rounded)] = rounded, _a["k-input-".concat(fillMode)] = fillMode, _a['k-invalid'] = !isValid, _a['k-loading'] = loading, _a['k-required'] = this.required, _a['k-disabled'] = disabled, _a['k-focus'] = focused && !disabled, _a), className),
1233
- ref: (0, kendo_vue_common_1.setRef)(this, 'kendoAnchor', this.anchor),
1234
- style: !label ? style : __assign(__assign({}, style), {
1235
- width: undefined
1236
- }),
1237
- dir: dir,
1238
- attrs: this.v3 ? undefined : {
1239
- dir: dir
1240
- }
1241
- }, [renderSearchBar.call(this, inputText || '', id), renderClearButton && !loading &&
1242
- // @ts-ignore function children
1243
- h(ClearButton_1.ClearButton, {
1244
- onClearclick: this.clearButtonClick,
1245
- on: this.v3 ? undefined : {
1246
- "clearclick": this.clearButtonClick
1247
- },
1248
- key: "clearbutton"
1249
- }), loading && h(kendo_vue_common_1.Icon, {
1250
- name: 'loading',
1251
- attrs: this.v3 ? undefined : {
1252
- name: 'loading'
1253
- },
1254
- "class": "k-input-loading-icon",
1255
- key: "loading"
1256
- }),
1257
- // @ts-ignore
1258
- h(kendo_vue_buttons_1.Button, {
1259
- type: "button",
1260
- attrs: this.v3 ? undefined : {
1261
- type: "button",
1262
- tabIndex: -1,
1263
- "aria-label": ariaLabelExpandButton,
1264
- size: size,
1265
- fillMode: fillMode,
1266
- rounded: null,
1267
- icon: icon || 'caret-alt-down',
1268
- svgIcon: svgIcon || kendo_svg_icons_1.caretAltDownIcon,
1269
- iconClass: iconClassName
1270
- },
1271
- tabIndex: -1,
1272
- "aria-label": ariaLabelExpandButton,
1273
- size: size,
1274
- fillMode: fillMode,
1275
- rounded: null,
1276
- "class": 'k-input-button',
1277
- icon: icon || 'caret-alt-down',
1278
- svgIcon: svgIcon || kendo_svg_icons_1.caretAltDownIcon,
1279
- iconClass: iconClassName,
1280
- onClick: this.toggleBtnClick,
1281
- on: this.v3 ? undefined : {
1282
- "click": this.toggleBtnClick,
1283
- "mousedown": function mousedown(e) {
1284
- return e.preventDefault();
1285
- }
1286
- },
1287
- onMousedown: function mousedown(e) {
1288
- return e.preventDefault();
1289
- }
1290
- }), !renderAdaptive && renderListContainer.call(this)]);
1291
- };
1292
- // The following one combines the default rendering of the Combobox and the Adaptive rendering.
1293
- // This is needed because of Vue 2 specifics
1294
- var combobox = [isV3 ? h(comboboxDefault.call(this), __assign({}, this.$attrs)) : comboboxDefault.call(this), renderAdaptive && renderAdaptiveListContainer.call(this)];
1295
- var comboboxToRender = isV3 ? combobox : renderAdaptive ? h("div", [combobox]) : comboboxDefault.call(this);
1296
- return label ? h("span", {
1297
- "class": this.spanClassNames,
1298
- onFocusin: this.handleFocus,
1299
- on: this.v3 ? undefined : {
1300
- "focusin": this.handleFocus
1301
- },
1302
- dir: this.$props.dir,
1303
- attrs: this.v3 ? undefined : {
1304
- dir: this.$props.dir
1305
- }
1306
- }, [comboboxToRender, this.$props.label ? id ? h("label", {
1307
- "for": id,
1308
- attrs: this.v3 ? undefined : {
1309
- "for": id
1310
- },
1311
- "class": "k-floating-label"
1312
- }, [this.$props.label]) : h("span", {
1313
- "class": "k-label"
1314
- }, [this.$props.label]) : null]) : comboboxToRender;
1315
- }
1316
- };
1317
- exports.ComboBoxVue2 = ComboBoxVue2;
1318
- /**
1319
- * @hidden
1320
- */
1321
- var ComboBox = ComboBoxVue2;
1322
- exports.ComboBox = ComboBox;