@progress/kendo-vue-dropdowns 5.3.0-dev.202410141143 → 5.3.0-develop.2

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