@progress/kendo-vue-dropdowns 5.3.0-dev.202410141143 → 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,1090 +0,0 @@
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
- for (var p in s) {
6
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
7
- }
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
- // @ts-ignore
23
- import * as Vue from 'vue';
24
- var allVue = Vue;
25
- var gh = allVue.h;
26
- var isV3 = allVue.version && allVue.version[0] === '3';
27
- import { classNames, noop,
28
- // useRtl,
29
- getTabIndex, Keys, guid, kendoThemeMaps, Icon, getRef, templateRendering, getListeners, getTemplate, canUseDOM, setRef } from '@progress/kendo-vue-common';
30
- import { Popup } from '@progress/kendo-vue-popup';
31
- import { provideLocalizationService } from '@progress/kendo-vue-intl';
32
- import { TreeView } from '@progress/kendo-vue-treeview';
33
- import { validatePackage } from '@progress/kendo-vue-common';
34
- import { packageMetadata } from './../package-metadata';
35
- import { getItemValue, areSame, isPresent } from '../common/utils';
36
- import { ListNoData } from './ListNoData';
37
- import { messages, clear, nodata } from './../messages/main';
38
- import { FloatingLabel } from '@progress/kendo-vue-labels';
39
- import { ListFilter } from '../common/ListFilter';
40
- import { Button as KButton } from '@progress/kendo-vue-buttons';
41
- import { xIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';
42
- import { MOBILE_SMALL_DEVICE, MOBILE_MEDIUM_DEVICE } from '../common/constants';
43
- import { ActionSheet } from '@progress/kendo-vue-layout';
44
- import DropDownBase from '../common/DropDownBase';
45
- var sizeMap = kendoThemeMaps.sizeMap,
46
- roundedMap = kendoThemeMaps.roundedMap;
47
- var VALIDATION_MESSAGE = 'Please select a value from the list!';
48
- // const ValueHolder: React.FunctionComponent<ValueHolderProps> = props =>
49
- // <span class="k-input-value-text">{props.children}</span>;
50
- var toLevel = function toLevel(hierarchicalIndex) {
51
- return hierarchicalIndex.split('_').map(function (i) {
52
- return parseInt(i, 10);
53
- });
54
- };
55
- var getValidity = function getValidity(parameters, hasValue) {
56
- var validationMessage = parameters.validationMessage,
57
- valid = parameters.valid,
58
- required = parameters.required;
59
- return {
60
- customError: validationMessage !== undefined,
61
- valid: Boolean(valid !== undefined ? valid : !required || hasValue),
62
- valueMissing: !hasValue
63
- };
64
- };
65
- /**
66
- * @hidden
67
- */
68
- var DropDownTreeVue2 = {
69
- name: 'KendoDropDownTree',
70
- model: {
71
- event: 'changemodel'
72
- },
73
- // @ts-ignore
74
- emits: {
75
- open: null,
76
- close: null,
77
- focus: null,
78
- blur: null,
79
- change: null,
80
- filterchange: null,
81
- expandchange: null,
82
- 'changemodel': null,
83
- 'update:modelValue': null
84
- },
85
- props: {
86
- opened: {
87
- type: Boolean,
88
- default: undefined
89
- },
90
- disabled: Boolean,
91
- dir: String,
92
- tabIndex: Number,
93
- accessKey: String,
94
- dataItems: {
95
- type: Array,
96
- default: function _default() {
97
- return [];
98
- }
99
- },
100
- value: {
101
- type: [Object, String, Number, Boolean],
102
- default: function _default() {
103
- return undefined;
104
- }
105
- },
106
- modelValue: {
107
- type: [Object, String, Number, Boolean],
108
- default: function _default() {
109
- return undefined;
110
- }
111
- },
112
- valueMap: Function,
113
- placeholder: String,
114
- dataItemKey: {
115
- type: String,
116
- required: true
117
- },
118
- textField: {
119
- type: String,
120
- required: true
121
- },
122
- selectField: {
123
- type: String,
124
- default: 'selected'
125
- },
126
- expandField: String,
127
- subItemsField: {
128
- type: String,
129
- default: 'items'
130
- },
131
- className: String,
132
- label: String,
133
- validationMessage: String,
134
- validityStyles: {
135
- type: Boolean,
136
- default: true
137
- },
138
- valid: {
139
- type: Boolean,
140
- default: undefined
141
- },
142
- required: Boolean,
143
- name: String,
144
- id: String,
145
- ariaLabel: {
146
- type: String,
147
- default: undefined
148
- },
149
- ariaLabelledBy: String,
150
- ariaDescribedBy: String,
151
- filterable: Boolean,
152
- filter: String,
153
- loading: Boolean,
154
- popupSettings: {
155
- type: Object,
156
- default: function _default() {
157
- return {
158
- animate: true,
159
- height: '200px',
160
- anchor: ''
161
- };
162
- }
163
- },
164
- size: {
165
- type: String,
166
- default: 'medium',
167
- validator: function validator(value) {
168
- return [null, 'small', 'medium', 'large'].includes(value);
169
- }
170
- },
171
- rounded: {
172
- type: String,
173
- default: 'medium',
174
- validator: function validator(value) {
175
- return [null, 'small', 'medium', 'large', 'full'].includes(value);
176
- }
177
- },
178
- fillMode: {
179
- type: String,
180
- default: 'solid',
181
- validator: function validator(value) {
182
- return [null, 'flat', 'outline', 'solid'].includes(value);
183
- }
184
- },
185
- item: [String, Function, Object],
186
- header: [String, Function, Object],
187
- footer: [String, Function, Object],
188
- valueRender: [String, Function, Object],
189
- listNoData: [String, Function, Object],
190
- adaptive: {
191
- type: Boolean,
192
- default: undefined
193
- },
194
- adaptiveTitle: {
195
- type: String,
196
- default: undefined
197
- }
198
- },
199
- inject: {
200
- kendoLocalizationService: {
201
- default: null
202
- }
203
- },
204
- created: function created() {
205
- this.observer = null;
206
- validatePackage(packageMetadata);
207
- this.base = new DropDownBase(this);
208
- this.componentGuid = guid();
209
- this.anchor = guid();
210
- },
211
- data: function data() {
212
- return {
213
- currentOpened: false,
214
- focused: false,
215
- filterState: '',
216
- currentValue: undefined,
217
- popupWidth: '200px',
218
- windowWidth: 0,
219
- initialAdaptiveRenderingValues: undefined
220
- };
221
- },
222
- computed: {
223
- wrapperClass: function wrapperClass() {
224
- var _a;
225
- var _b = this.$props,
226
- validationMessage = _b.validationMessage,
227
- valid = _b.valid,
228
- required = _b.required,
229
- validityStyles = _b.validityStyles;
230
- var validity = getValidity({
231
- validationMessage: validationMessage,
232
- valid: valid,
233
- required: required
234
- }, this.hasValue);
235
- var isValid = !validityStyles || validity.valid;
236
- var _c = this.$props,
237
- size = _c.size,
238
- rounded = _c.rounded,
239
- fillMode = _c.fillMode;
240
- return _a = {
241
- 'k-dropdowntree': true,
242
- 'k-picker': true
243
- }, _a[this.$props.className] = this.$props.className, _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'] = this.focused, _a['k-invalid'] = !isValid, _a['k-loading'] = this.$props.loading, _a['k-required'] = required, _a['k-disabled'] = this.$props.disabled, _a;
244
- },
245
- animationStyles: {
246
- get: function get() {
247
- return this.windowWidth <= MOBILE_SMALL_DEVICE ? {
248
- top: 0,
249
- width: '100%',
250
- height: '100%'
251
- } : undefined;
252
- }
253
- },
254
- classNameAdaptive: {
255
- get: function get() {
256
- return this.windowWidth <= MOBILE_SMALL_DEVICE ? 'k-adaptive-actionsheet k-actionsheet-fullscreen' : 'k-adaptive-actionsheet k-actionsheet-bottom';
257
- }
258
- },
259
- adaptiveState: {
260
- get: function get() {
261
- return this.windowWidth <= MOBILE_MEDIUM_DEVICE && this.$props.adaptive;
262
- }
263
- },
264
- isOpen: function isOpen() {
265
- return this.opened !== undefined ? this.opened : this.currentOpened;
266
- },
267
- computedValue: function computedValue() {
268
- return this.value !== undefined ? this.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentValue;
269
- },
270
- hasValue: function hasValue() {
271
- return isPresent(this.computedValue);
272
- },
273
- currentValueText: function currentValueText() {
274
- return this.hasValue ? getItemValue(this.computedValue, this.$props.textField) : '';
275
- }
276
- },
277
- watch: {
278
- // This watch gets the state of the data when the adaptive mode is activated
279
- isOpen: function isOpen(newValue) {
280
- if (newValue && this.value) {
281
- this.initialAdaptiveRenderingValues = __spreadArray([], this.value, true);
282
- } else {
283
- this.initialAdaptiveRenderingValues = undefined;
284
- }
285
- }
286
- },
287
- mounted: function mounted() {
288
- this.observer = canUseDOM && new ResizeObserver(this.calculateMedia);
289
- if ((document === null || document === void 0 ? void 0 : document.body) && this.observer) {
290
- this.observer.observe(document.body);
291
- }
292
- this.elementRef = getRef(this, 'kendoAnchor', this.anchor);
293
- this.inputRef = getRef(this, 'input');
294
- this.selectRef = getRef(this, 'select');
295
- this.treeViewRef = getRef(this, 'treeView');
296
- this.skipFocusRef = false;
297
- this.popupRef = getRef(this, 'popup');
298
- this.calculatePopupWidth();
299
- },
300
- destroyed: !!isV3 ? undefined : function () {
301
- if (this.observer) {
302
- this.observer.disconnect();
303
- }
304
- },
305
- updated: function updated() {
306
- this.inputRef = getRef(this, 'input');
307
- this.treeViewRef = getRef(this, 'treeView');
308
- if (this.popupRef && this.isOpen && this.hasValue) {
309
- this.popupRef.reposition();
310
- }
311
- this.setValidity();
312
- this.calculatePopupWidth();
313
- },
314
- // @ts-ignore
315
- setup: !isV3 ? undefined : function () {
316
- var v3 = !!isV3;
317
- return {
318
- v3: v3
319
- };
320
- },
321
- // @ts-ignore
322
- render: function render(createElement) {
323
- var _this = this;
324
- var h = gh || createElement;
325
- var id = this.$props.id || this.componentGuid;
326
- var _a = this.$props,
327
- dataItems = _a.dataItems,
328
- dataItemKey = _a.dataItemKey,
329
- popupSettings = _a.popupSettings,
330
- disabled = _a.disabled,
331
- placeholder = _a.placeholder,
332
- label = _a.label,
333
- name = _a.name,
334
- selectField = _a.selectField,
335
- subItemsField = _a.subItemsField,
336
- validationMessage = _a.validationMessage,
337
- valid = _a.valid,
338
- required = _a.required,
339
- validityStyles = _a.validityStyles,
340
- adaptiveTitle = _a.adaptiveTitle;
341
- var tabIndex = getTabIndex(this.$props.tabIndex, disabled);
342
- var localization = provideLocalizationService(this);
343
- var validity = getValidity({
344
- validationMessage: validationMessage,
345
- valid: valid,
346
- required: required
347
- }, this.hasValue);
348
- var renderAdaptive = this.adaptiveState;
349
- var dir = this.$props.dir; // useRtl(elementRef, props.dir);
350
- var itemTemplate = templateRendering.call(this, this.item, getListeners.call(this));
351
- var valueTemplate = templateRendering.call(this, this.valueRender, getListeners.call(this));
352
- var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));
353
- var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));
354
- var header = getTemplate.call(this, {
355
- h: h,
356
- template: headerTemplate
357
- });
358
- var footer = getTemplate.call(this, {
359
- h: h,
360
- template: footerTemplate
361
- });
362
- var listNoDataRender = templateRendering.call(this, this.$props.listNoData, getListeners.call(this));
363
- var noDataDefault =
364
- // @ts-ignore function children
365
- h(ListNoData, this.v3 ? function () {
366
- return [localization.toLanguageString(nodata, messages[nodata])];
367
- } : [localization.toLanguageString(nodata, messages[nodata])]);
368
- var noDataTemplate = getTemplate.call(this, {
369
- h: h,
370
- defaultRendering: noDataDefault,
371
- template: listNoDataRender
372
- });
373
- var valueDefault = h("span", {
374
- "class": "k-input-value-text"
375
- }, [this.currentValueText || placeholder]);
376
- var valueToRender = getTemplate.call(this, {
377
- h: h,
378
- defaultRendering: valueDefault,
379
- template: valueTemplate,
380
- additionalProps: {
381
- value: this.computedValue
382
- }
383
- });
384
- var adaptiveActionSheetHeaderTemplateDef = function adaptiveActionSheetHeaderTemplateDef() {
385
- return [h("div", {
386
- "class": "k-actionsheet-titlebar-group k-hbox"
387
- }, [h("div", {
388
- "class": "k-actionsheet-title"
389
- }, [h("div", {
390
- "class": "k-text-center"
391
- }, [adaptiveTitle]), h("div", {
392
- "class": "k-actionsheet-subtitle k-text-center"
393
- }, [placeholder])]), h("div", {
394
- "class": "k-actionsheet-actions"
395
- }, [h(KButton, {
396
- tabindex: 1,
397
- attrs: this.v3 ? undefined : {
398
- tabindex: 1,
399
- "aria-label": "Cancel",
400
- "aria-disabled": "false",
401
- type: "button",
402
- fillMode: "flat",
403
- icon: "x",
404
- svgIcon: xIcon
405
- },
406
- "aria-label": "Cancel",
407
- "aria-disabled": "false",
408
- type: "button",
409
- fillMode: "flat",
410
- onClick: _this.onWrapperClick,
411
- on: this.v3 ? undefined : {
412
- "click": _this.onWrapperClick
413
- },
414
- icon: "x",
415
- svgIcon: xIcon
416
- })])]), h("div", {
417
- "class": "k-actionsheet-titlebar-group k-actionsheet-filter"
418
- }, [_this.$props.filterable &&
419
- // @ts-ignore
420
- h(ListFilter, {
421
- tabindex: 0,
422
- attrs: this.v3 ? undefined : {
423
- tabindex: 0,
424
- value: _this.$props.filter === undefined ? _this.filterState : _this.$props.filter,
425
- size: size,
426
- rounded: rounded,
427
- fillMode: fillMode
428
- },
429
- value: _this.$props.filter === undefined ? _this.filterState : _this.$props.filter,
430
- ref: setRef(_this, 'input'),
431
- onChange: _this.onFilterChange,
432
- on: this.v3 ? undefined : {
433
- "change": _this.onFilterChange,
434
- "keydown": _this.onInputKeyDown,
435
- "focus": _this.onFocus,
436
- "blur": _this.onBlur
437
- },
438
- onKeydown: _this.onInputKeyDown,
439
- size: size,
440
- rounded: rounded,
441
- fillMode: fillMode,
442
- onFocus: _this.onFocus,
443
- onBlur: _this.onBlur
444
- })])];
445
- };
446
- var adaptiveActionSheetHeaderTemplate = templateRendering.call(this, adaptiveActionSheetHeaderTemplateDef, getListeners.call(this));
447
- var adaptiveActionSheetContentTemplateDef = function adaptiveActionSheetContentTemplateDef() {
448
- var headerToRender = _this.base.getTemplateDef.call(_this, header, h);
449
- var footerToRender = _this.base.getTemplateDef.call(_this, footer, h);
450
- return [headerToRender && h("div", {
451
- "class": "k-list-header"
452
- }, [headerToRender]), dataItems.length > 0 ?
453
- // @ts-ignore
454
- h(TreeView, {
455
- ref: setRef(_this, 'treeView'),
456
- tabIndex: tabIndex,
457
- attrs: this.v3 ? undefined : {
458
- tabIndex: tabIndex,
459
- dataItems: dataItems,
460
- focusIdField: dataItemKey,
461
- textField: _this.$props.textField,
462
- selectField: selectField,
463
- expandField: _this.$props.expandField,
464
- childrenField: subItemsField,
465
- expandIcons: true,
466
- size: 'large',
467
- item: itemTemplate
468
- },
469
- dataItems: dataItems,
470
- focusIdField: dataItemKey,
471
- textField: _this.$props.textField,
472
- selectField: selectField,
473
- expandField: _this.$props.expandField,
474
- childrenField: subItemsField,
475
- expandIcons: true,
476
- onItemclick: _this.onChange,
477
- on: this.v3 ? undefined : {
478
- "itemclick": _this.onChange,
479
- "expandchange": _this.onExpand,
480
- "focus": _this.onFocus,
481
- "blur": _this.onBlur,
482
- "keydown": _this.onWrapperKeyDown
483
- },
484
- onExpandchange: _this.onExpand,
485
- onFocus: _this.onFocus,
486
- onBlur: _this.onBlur,
487
- onKeydown: _this.onWrapperKeyDown,
488
- size: 'large',
489
- item: itemTemplate
490
- }) : noDataTemplate, footerToRender && h("div", {
491
- className: "k-list-footer",
492
- attrs: this.v3 ? undefined : {
493
- className: "k-list-footer"
494
- }
495
- }, [footerToRender])];
496
- };
497
- var adaptiveActionSheetContentTemplate = templateRendering.call(this, adaptiveActionSheetContentTemplateDef, getListeners.call(this));
498
- var renderAdaptiveListContainer = function renderAdaptiveListContainer() {
499
- return h(ActionSheet, {
500
- expand: this.isOpen,
501
- attrs: this.v3 ? undefined : {
502
- expand: this.isOpen,
503
- animation: true,
504
- animationStyles: this.animationStyles,
505
- className: this.classNameAdaptive,
506
- header: adaptiveActionSheetHeaderTemplate,
507
- content: adaptiveActionSheetContentTemplate,
508
- contentClassName: '!k-overflow-hidden',
509
- navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
510
- },
511
- animation: true,
512
- animationStyles: this.animationStyles,
513
- className: this.classNameAdaptive,
514
- header: adaptiveActionSheetHeaderTemplate,
515
- content: adaptiveActionSheetContentTemplate,
516
- contentClassName: '!k-overflow-hidden',
517
- onClose: this.onWrapperClick,
518
- on: this.v3 ? undefined : {
519
- "close": this.onWrapperClick
520
- },
521
- navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
522
- });
523
- };
524
- var isValid = !validityStyles || validity.valid;
525
- var _b = this.$props,
526
- size = _b.size,
527
- rounded = _b.rounded,
528
- fillMode = _b.fillMode;
529
- var component = function component() {
530
- var _this2 = this;
531
- return h("span", {
532
- "class": this.wrapperClass,
533
- tabIndex: tabIndex,
534
- attrs: this.v3 ? undefined : {
535
- tabIndex: tabIndex,
536
- accessKey: this.$props.accessKey,
537
- id: id,
538
- dir: dir,
539
- role: "combobox",
540
- "aria-haspopup": "tree",
541
- "aria-expanded": this.isOpen,
542
- "aria-disabled": disabled,
543
- "aria-label": label || this.$props.ariaLabel,
544
- "aria-labelledby": this.$props.ariaLabelledBy,
545
- "aria-describedby": this.$props.ariaDescribedBy,
546
- "aria-required": required
547
- },
548
- accessKey: this.$props.accessKey,
549
- id: id,
550
- dir: dir,
551
- ref: setRef(this, 'kendoAnchor', this.anchor),
552
- onKeydown: this.onWrapperKeyDown,
553
- on: this.v3 ? undefined : {
554
- "keydown": this.onWrapperKeyDown,
555
- "click": this.onWrapperClick,
556
- "mousedown": this.onWrapperMouseDown,
557
- "focusin": this.onFocus,
558
- "focusout": this.onBlur
559
- },
560
- onClick: this.onWrapperClick,
561
- onMousedown: this.onWrapperMouseDown,
562
- onFocusin: this.onFocus,
563
- onFocusout: this.onBlur,
564
- role: "combobox",
565
- "aria-haspopup": "tree",
566
- "aria-expanded": this.isOpen,
567
- "aria-disabled": disabled,
568
- "aria-label": label || this.$props.ariaLabel,
569
- "aria-labelledby": this.$props.ariaLabelledBy,
570
- "aria-describedby": this.$props.ariaDescribedBy,
571
- "aria-required": required
572
- }, [h("span", {
573
- "class": "k-input-inner"
574
- }, [valueToRender]), this.$props.loading && h(Icon, {
575
- "class": "k-input-loading-icon",
576
- name: "loading",
577
- attrs: this.v3 ? undefined : {
578
- name: "loading"
579
- }
580
- }), this.hasValue && !disabled && h("span", {
581
- onClick: this.onClear,
582
- on: this.v3 ? undefined : {
583
- "click": this.onClear,
584
- "mousedown": function mousedown(e) {
585
- return e.preventDefault();
586
- }
587
- },
588
- "class": "k-clear-value",
589
- title: localization.toLanguageString(clear, messages[clear]),
590
- attrs: this.v3 ? undefined : {
591
- title: localization.toLanguageString(clear, messages[clear]),
592
- role: "button",
593
- tabIndex: -1
594
- },
595
- role: "button",
596
- tabIndex: -1,
597
- onMousedown: function mousedown(e) {
598
- return e.preventDefault();
599
- }
600
- }, [h(Icon, {
601
- name: "x",
602
- attrs: this.v3 ? undefined : {
603
- name: "x",
604
- icon: xIcon
605
- },
606
- icon: xIcon
607
- })]), h(KButton, {
608
- tabIndex: -1,
609
- attrs: this.v3 ? undefined : {
610
- tabIndex: -1,
611
- type: "button",
612
- "aria-label": "select",
613
- size: size,
614
- fillMode: fillMode,
615
- themeColor: "base",
616
- rounded: null,
617
- icon: "caret-alt-down",
618
- svgIcon: caretAltDownIcon
619
- },
620
- type: "button",
621
- "aria-label": "select",
622
- "class": "k-input-button",
623
- size: size,
624
- fillMode: fillMode,
625
- themeColor: "base",
626
- rounded: null,
627
- icon: "caret-alt-down",
628
- svgIcon: caretAltDownIcon
629
- }), /* Dummy component to support forms */h("select", {
630
- name: name,
631
- attrs: this.v3 ? undefined : {
632
- name: name,
633
- tabIndex: -1,
634
- "aria-hidden": true,
635
- title: label
636
- },
637
- ref: setRef(this, 'select'),
638
- tabIndex: -1,
639
- "aria-hidden": true,
640
- title: label,
641
- style: {
642
- opacity: 0,
643
- width: 1,
644
- border: 0,
645
- zIndex: -1,
646
- position: 'absolute',
647
- left: '50%'
648
- }
649
- }, [h("option", {
650
- value: this.v3 ? this.$props.valueMap ? this.$props.valueMap.call(undefined, this.computedValue) : this.computedValue : null,
651
- domProps: this.v3 ? undefined : {
652
- "value": this.$props.valueMap ? this.$props.valueMap.call(undefined, this.computedValue) : this.computedValue
653
- }
654
- })]), !renderAdaptive &&
655
- // @ts-ignore function children
656
- h(Popup, {
657
- style: {
658
- width: this.popupWidth,
659
- direction: dir
660
- },
661
- ref: setRef(this, 'popup'),
662
- "class": classNames(popupSettings.className, {
663
- 'k-rtl': dir === 'rtl'
664
- }),
665
- popupClass: classNames(popupSettings.popupClass, 'k-dropdowntree-popup', 'popup-' + this.componentGuid),
666
- attrs: this.v3 ? undefined : {
667
- popupClass: classNames(popupSettings.popupClass, 'k-dropdowntree-popup', 'popup-' + this.componentGuid),
668
- animate: popupSettings.animate,
669
- anchor: this.anchor,
670
- show: this.isOpen,
671
- appendTo: popupSettings.appendTo
672
- },
673
- animate: popupSettings.animate,
674
- anchor: this.anchor,
675
- show: this.isOpen,
676
- onOpen: this.onPopupOpened,
677
- on: this.v3 ? undefined : {
678
- "open": this.onPopupOpened,
679
- "close": this.onPopupClosed
680
- },
681
- onClose: this.onPopupClosed,
682
- appendTo: popupSettings.appendTo
683
- }, this.v3 ? function () {
684
- return [_this2.$props.filterable &&
685
- // @ts-ignore
686
- h(ListFilter, {
687
- value: _this2.$props.filter === undefined ? _this2.filterState : _this2.$props.filter,
688
- attrs: _this2.v3 ? undefined : {
689
- value: _this2.$props.filter === undefined ? _this2.filterState : _this2.$props.filter,
690
- size: size,
691
- rounded: rounded,
692
- fillMode: fillMode
693
- },
694
- ref: setRef(_this2, 'input'),
695
- onChange: _this2.onFilterChange,
696
- on: _this2.v3 ? undefined : {
697
- "change": _this2.onFilterChange,
698
- "keydown": _this2.onInputKeyDown,
699
- "blur": _this2.onBlur
700
- },
701
- onKeydown: _this2.onInputKeyDown,
702
- onBlur: _this2.onBlur,
703
- size: size,
704
- rounded: rounded,
705
- fillMode: fillMode
706
- }), header && h("div", {
707
- "class": "k-list-header"
708
- }, [header]), dataItems.length > 0 ?
709
- // @ts-ignore
710
- h(TreeView, {
711
- ref: setRef(_this2, 'treeView'),
712
- tabIndex: tabIndex,
713
- attrs: _this2.v3 ? undefined : {
714
- tabIndex: tabIndex,
715
- dataItems: dataItems,
716
- focusIdField: dataItemKey,
717
- textField: _this2.$props.textField,
718
- selectField: selectField,
719
- expandField: _this2.$props.expandField,
720
- childrenField: subItemsField,
721
- expandIcons: true,
722
- size: size,
723
- item: itemTemplate
724
- },
725
- dataItems: dataItems,
726
- focusIdField: dataItemKey,
727
- textField: _this2.$props.textField,
728
- selectField: selectField,
729
- expandField: _this2.$props.expandField,
730
- childrenField: subItemsField,
731
- expandIcons: true,
732
- onItemclick: _this2.onChange,
733
- on: _this2.v3 ? undefined : {
734
- "itemclick": _this2.onChange,
735
- "expandchange": _this2.onExpand,
736
- "focus": _this2.onFocus,
737
- "blur": _this2.onBlur,
738
- "keydown": _this2.onWrapperKeyDown
739
- },
740
- onExpandchange: _this2.onExpand,
741
- onFocus: _this2.onFocus,
742
- onBlur: _this2.onBlur,
743
- onKeydown: _this2.onWrapperKeyDown,
744
- size: size,
745
- item: itemTemplate
746
- }) : noDataTemplate, footer && h("div", {
747
- "class": "k-list-footer"
748
- }, [footer])];
749
- } : [_this2.$props.filterable && h(ListFilter, {
750
- value: _this2.$props.filter === undefined ? _this2.filterState : _this2.$props.filter,
751
- attrs: _this2.v3 ? undefined : {
752
- value: _this2.$props.filter === undefined ? _this2.filterState : _this2.$props.filter,
753
- size: size,
754
- rounded: rounded,
755
- fillMode: fillMode
756
- },
757
- ref: setRef(_this2, 'input'),
758
- onChange: _this2.onFilterChange,
759
- on: _this2.v3 ? undefined : {
760
- "change": _this2.onFilterChange,
761
- "keydown": _this2.onInputKeyDown,
762
- "blur": _this2.onBlur
763
- },
764
- onKeydown: _this2.onInputKeyDown,
765
- onBlur: _this2.onBlur,
766
- size: size,
767
- rounded: rounded,
768
- fillMode: fillMode
769
- }), header && h("div", {
770
- "class": "k-list-header"
771
- }, [header]), dataItems.length > 0 ? h(TreeView, {
772
- ref: setRef(_this2, 'treeView'),
773
- tabIndex: tabIndex,
774
- attrs: _this2.v3 ? undefined : {
775
- tabIndex: tabIndex,
776
- dataItems: dataItems,
777
- focusIdField: dataItemKey,
778
- textField: _this2.$props.textField,
779
- selectField: selectField,
780
- expandField: _this2.$props.expandField,
781
- childrenField: subItemsField,
782
- expandIcons: true,
783
- size: size,
784
- item: itemTemplate
785
- },
786
- dataItems: dataItems,
787
- focusIdField: dataItemKey,
788
- textField: _this2.$props.textField,
789
- selectField: selectField,
790
- expandField: _this2.$props.expandField,
791
- childrenField: subItemsField,
792
- expandIcons: true,
793
- onItemclick: _this2.onChange,
794
- on: _this2.v3 ? undefined : {
795
- "itemclick": _this2.onChange,
796
- "expandchange": _this2.onExpand,
797
- "focus": _this2.onFocus,
798
- "blur": _this2.onBlur,
799
- "keydown": _this2.onWrapperKeyDown
800
- },
801
- onExpandchange: _this2.onExpand,
802
- onFocus: _this2.onFocus,
803
- onBlur: _this2.onBlur,
804
- onKeydown: _this2.onWrapperKeyDown,
805
- size: size,
806
- item: itemTemplate
807
- }) : noDataTemplate, footer && h("div", {
808
- "class": "k-list-footer"
809
- }, [footer])])]);
810
- };
811
- // The following one combines the default rendering of the MultiSelect and the Adaptive rendering.
812
- // This is needed because of Vue 2 specifics
813
- var dropdowntree = [isV3 ? h(component.call(this), __assign({}, this.$attrs)) : component.call(this), renderAdaptive && renderAdaptiveListContainer.call(this)];
814
- var dropdowntreeToRender = isV3 ? dropdowntree : this.$props.adaptive ? h("span", [dropdowntree]) : component.call(this);
815
- return label ?
816
- // @ts-ignore function children
817
- h(FloatingLabel, {
818
- label: label,
819
- attrs: this.v3 ? undefined : {
820
- label: label,
821
- editorValue: this.currentValueText,
822
- editorPlaceholder: placeholder,
823
- editorValid: isValid,
824
- editorDisabled: disabled,
825
- editorId: id,
826
- focused: this.focused,
827
- dir: dir
828
- },
829
- editorValue: this.currentValueText,
830
- editorPlaceholder: placeholder,
831
- editorValid: isValid,
832
- editorDisabled: disabled,
833
- editorId: id,
834
- focused: this.focused,
835
- dir: dir
836
- }, this.v3 ? function () {
837
- return [dropdowntreeToRender];
838
- } : [dropdowntreeToRender]) : dropdowntreeToRender;
839
- },
840
- methods: {
841
- calculateMedia: function calculateMedia(entries) {
842
- for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
843
- var entry = entries_1[_i];
844
- this.windowWidth = entry.target.clientWidth;
845
- }
846
- },
847
- calculatePopupWidth: function calculatePopupWidth() {
848
- if (this.elementRef) {
849
- this.popupWidth = this.popupSettings.width !== undefined ? this.popupSettings.width : this.elementRef.offsetWidth + 'px';
850
- }
851
- },
852
- focus: function focus() {
853
- if (this.$el) {
854
- this.$el.focus();
855
- }
856
- },
857
- setValidity: function setValidity() {
858
- if (this.selectRef && this.selectRef.setCustomValidity) {
859
- var _a = this.$props,
860
- validationMessage = _a.validationMessage,
861
- valid = _a.valid,
862
- required = _a.required;
863
- var validity = getValidity({
864
- validationMessage: validationMessage,
865
- valid: valid,
866
- required: required
867
- }, this.hasValue);
868
- this.selectRef.setCustomValidity(validity.valid ? '' : this.validationMessage === undefined ? VALIDATION_MESSAGE : this.validationMessage);
869
- }
870
- },
871
- openPopup: function openPopup(event) {
872
- if (!this.isOpen) {
873
- var openEvent = __assign({}, event);
874
- this.$emit('open', openEvent);
875
- this.currentOpened = true;
876
- }
877
- },
878
- closePopup: function closePopup(event) {
879
- if (this.isOpen) {
880
- var closeEvent = __assign({}, event);
881
- this.$emit('close', closeEvent);
882
- this.currentOpened = false;
883
- }
884
- },
885
- onWrapperClick: function onWrapperClick(event) {
886
- this.onFilterChange(__assign(__assign({}, event), {
887
- target: {
888
- value: ''
889
- }
890
- }));
891
- if (!event.defaultPrevented && this.$el) {
892
- this.focused = true;
893
- var ev = {
894
- event: event,
895
- target: this
896
- };
897
- (this.isOpen ? this.closePopup : this.openPopup)(ev);
898
- }
899
- },
900
- switchFocus: function switchFocus(focusFn) {
901
- var _this = this;
902
- this.skipFocusRef = true;
903
- focusFn();
904
- window.setTimeout(function () {
905
- return _this.skipFocusRef = false;
906
- }, 0);
907
- },
908
- onWrapperKeyDown: function onWrapperKeyDown(event) {
909
- var _this = this;
910
- var keyCode = event.keyCode,
911
- altKey = event.altKey;
912
- var treeview = this.treeViewRef && this.treeViewRef.$el;
913
- var inputElement = this.inputRef && this.inputRef.input;
914
- if (this.$props.disabled || event.defaultPrevented && inputElement === event.target) {
915
- return;
916
- }
917
- var ev = {
918
- event: event,
919
- target: this
920
- };
921
- if (this.isOpen) {
922
- if (keyCode === Keys.esc || altKey && keyCode === Keys.up) {
923
- event.preventDefault();
924
- this.closePopup(ev);
925
- } else if (treeview && treeview.querySelector('.k-focus') && (keyCode === Keys.up || keyCode === Keys.down || keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end)) {
926
- if (keyCode === Keys.up && inputElement) {
927
- var items = Array.from(treeview.querySelectorAll('.k-treeview-item'));
928
- var focusedItem = __spreadArray([], items, true).reverse().find(function (i) {
929
- return Boolean(i && i.querySelector('.k-focus'));
930
- });
931
- if (focusedItem && items.indexOf(focusedItem) === 0) {
932
- return this.switchFocus(function () {
933
- _this.focusElement(inputElement);
934
- });
935
- }
936
- }
937
- this.switchFocus(noop);
938
- } else if (keyCode === Keys.down) {
939
- this.switchFocus(function () {
940
- _this.focusElement(inputElement || treeview);
941
- });
942
- }
943
- } else {
944
- if (altKey && keyCode === Keys.down) {
945
- event.preventDefault();
946
- this.openPopup(ev);
947
- }
948
- }
949
- },
950
- onInputKeyDown: function onInputKeyDown(event) {
951
- var _this = this;
952
- var keyCode = event.keyCode,
953
- altKey = event.altKey;
954
- if (keyCode === Keys.esc) {
955
- this.onWrapperClick(event);
956
- } else if (altKey || keyCode !== Keys.up && keyCode !== Keys.down) {
957
- return;
958
- }
959
- event.preventDefault();
960
- this.switchFocus(keyCode === Keys.up ? function () {
961
- _this.focusElement(_this.elementRef);
962
- } : function () {
963
- _this.focusElement(_this.treeViewRef && _this.treeViewRef.$el);
964
- });
965
- },
966
- focusElement: function focusElement(element) {
967
- if (element) {
968
- this.switchFocus(function () {
969
- return element.focus();
970
- });
971
- }
972
- },
973
- onPopupOpened: function onPopupOpened() {
974
- if (!this.focused && this.isOpen && !this.currentOpened) {
975
- this.closePopup({
976
- target: this
977
- });
978
- } else {
979
- if (this.$props.filterable) {
980
- var inputElement = this.inputRef && this.inputRef.input;
981
- this.focusElement(inputElement);
982
- } else {
983
- this.focusElement(this.treeViewRef && this.treeViewRef.$el);
984
- }
985
- }
986
- },
987
- onPopupClosed: function onPopupClosed() {
988
- if (this.focused) {
989
- // Move the focus from treeview to dropdown without triggering Focus or Blur events.
990
- this.focusElement(this.elementRef);
991
- }
992
- },
993
- onFocus: function onFocus(event) {
994
- if (!this.focused && !this.skipFocusRef) {
995
- this.focused = true;
996
- var focusEvent = {
997
- event: event,
998
- target: this
999
- };
1000
- this.$emit('focus', focusEvent);
1001
- }
1002
- },
1003
- onBlur: function onBlur(event) {
1004
- if (this.focused && !this.skipFocusRef) {
1005
- this.focused = false;
1006
- var ev = {
1007
- event: event,
1008
- target: this
1009
- };
1010
- var focusEvent = __assign({}, ev);
1011
- if ((!event.relatedTarget || !event.relatedTarget.closest('.popup-' + this.componentGuid)) && !this.adaptiveState) {
1012
- this.$emit('blur', focusEvent);
1013
- this.closePopup(ev);
1014
- }
1015
- }
1016
- },
1017
- onWrapperMouseDown: function onWrapperMouseDown() {
1018
- if (this.focused) {
1019
- // moving focus from treeview to dropdown triggers Focus and Blur events.
1020
- this.switchFocus(noop);
1021
- }
1022
- },
1023
- changeValue: function changeValue(event, newValue, hierarchicalIndex) {
1024
- var changeEvent = __assign({
1025
- value: newValue,
1026
- level: hierarchicalIndex ? toLevel(hierarchicalIndex) : []
1027
- }, event);
1028
- this.$emit('changemodel', newValue);
1029
- this.$emit('update:modelValue', newValue);
1030
- this.$emit('change', changeEvent);
1031
- this.currentValue = newValue;
1032
- },
1033
- onChange: function onChange(e) {
1034
- if (areSame(e.item, this.computedValue, this.dataItemKey) || !this.$el) {
1035
- return;
1036
- }
1037
- var item = e.item,
1038
- itemHierarchicalIndex = e.itemHierarchicalIndex,
1039
- event = e.event;
1040
- var ev = {
1041
- event: event,
1042
- target: this
1043
- };
1044
- this.changeValue(ev, item, itemHierarchicalIndex);
1045
- this.closePopup(ev);
1046
- },
1047
- onClear: function onClear(event) {
1048
- var ev = {
1049
- event: event,
1050
- target: this
1051
- };
1052
- this.changeValue(ev, null);
1053
- this.closePopup(ev);
1054
- event.preventDefault();
1055
- },
1056
- onExpand: function onExpand(e) {
1057
- var item = e.item,
1058
- itemHierarchicalIndex = e.itemHierarchicalIndex,
1059
- event = e.event;
1060
- var expandEvent = {
1061
- level: toLevel(itemHierarchicalIndex),
1062
- item: item,
1063
- event: event,
1064
- target: this
1065
- };
1066
- this.$emit('expandchange', expandEvent);
1067
- },
1068
- onFilterChange: function onFilterChange(event) {
1069
- var filterDesc = {
1070
- field: this.$props.textField,
1071
- operator: 'contains',
1072
- value: event.target.value
1073
- };
1074
- var ev = {
1075
- filter: filterDesc,
1076
- event: event,
1077
- target: this
1078
- };
1079
- this.$emit('filterchange', ev);
1080
- if (this.$props.filter === undefined) {
1081
- this.filterState = event.target.value;
1082
- }
1083
- }
1084
- }
1085
- };
1086
- /**
1087
- * @hidden
1088
- */
1089
- var DropDownTree = DropDownTreeVue2;
1090
- export { DropDownTree, DropDownTreeVue2 };