@element-plus/nightly 0.0.20231024 → 0.0.20231025

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 (296) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +104 -90
  3. package/dist/index.full.min.js +22 -22
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +22 -22
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +104 -90
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/ckb.js +1 -1
  33. package/dist/locale/ckb.min.js +1 -1
  34. package/dist/locale/ckb.min.mjs +1 -1
  35. package/dist/locale/ckb.mjs +1 -1
  36. package/dist/locale/cs.js +1 -1
  37. package/dist/locale/cs.min.js +1 -1
  38. package/dist/locale/cs.min.mjs +1 -1
  39. package/dist/locale/cs.mjs +1 -1
  40. package/dist/locale/da.js +1 -1
  41. package/dist/locale/da.min.js +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +1 -1
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.mjs +1 -1
  47. package/dist/locale/de.mjs +1 -1
  48. package/dist/locale/el.js +1 -1
  49. package/dist/locale/el.min.js +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +1 -1
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.mjs +1 -1
  55. package/dist/locale/en.mjs +1 -1
  56. package/dist/locale/eo.js +1 -1
  57. package/dist/locale/eo.min.js +1 -1
  58. package/dist/locale/eo.min.mjs +1 -1
  59. package/dist/locale/eo.mjs +1 -1
  60. package/dist/locale/es.js +1 -1
  61. package/dist/locale/es.min.js +1 -1
  62. package/dist/locale/es.min.mjs +1 -1
  63. package/dist/locale/es.mjs +1 -1
  64. package/dist/locale/et.js +1 -1
  65. package/dist/locale/et.min.js +1 -1
  66. package/dist/locale/et.min.mjs +1 -1
  67. package/dist/locale/et.mjs +1 -1
  68. package/dist/locale/eu.js +1 -1
  69. package/dist/locale/eu.min.js +1 -1
  70. package/dist/locale/eu.min.mjs +1 -1
  71. package/dist/locale/eu.mjs +1 -1
  72. package/dist/locale/fa.js +1 -1
  73. package/dist/locale/fa.min.js +1 -1
  74. package/dist/locale/fa.min.mjs +1 -1
  75. package/dist/locale/fa.mjs +1 -1
  76. package/dist/locale/fi.js +1 -1
  77. package/dist/locale/fi.min.js +1 -1
  78. package/dist/locale/fi.min.mjs +1 -1
  79. package/dist/locale/fi.mjs +1 -1
  80. package/dist/locale/fr.js +1 -1
  81. package/dist/locale/fr.min.js +1 -1
  82. package/dist/locale/fr.min.mjs +1 -1
  83. package/dist/locale/fr.mjs +1 -1
  84. package/dist/locale/he.js +1 -1
  85. package/dist/locale/he.min.js +1 -1
  86. package/dist/locale/he.min.mjs +1 -1
  87. package/dist/locale/he.mjs +1 -1
  88. package/dist/locale/hr.js +1 -1
  89. package/dist/locale/hr.min.js +1 -1
  90. package/dist/locale/hr.min.mjs +1 -1
  91. package/dist/locale/hr.mjs +1 -1
  92. package/dist/locale/hu.js +1 -1
  93. package/dist/locale/hu.min.js +1 -1
  94. package/dist/locale/hu.min.mjs +1 -1
  95. package/dist/locale/hu.mjs +1 -1
  96. package/dist/locale/hy-am.js +1 -1
  97. package/dist/locale/hy-am.min.js +1 -1
  98. package/dist/locale/hy-am.min.mjs +1 -1
  99. package/dist/locale/hy-am.mjs +1 -1
  100. package/dist/locale/id.js +1 -1
  101. package/dist/locale/id.min.js +1 -1
  102. package/dist/locale/id.min.mjs +1 -1
  103. package/dist/locale/id.mjs +1 -1
  104. package/dist/locale/it.js +1 -1
  105. package/dist/locale/it.min.js +1 -1
  106. package/dist/locale/it.min.mjs +1 -1
  107. package/dist/locale/it.mjs +1 -1
  108. package/dist/locale/ja.js +1 -1
  109. package/dist/locale/ja.min.js +1 -1
  110. package/dist/locale/ja.min.mjs +1 -1
  111. package/dist/locale/ja.mjs +1 -1
  112. package/dist/locale/kk.js +1 -1
  113. package/dist/locale/kk.min.js +1 -1
  114. package/dist/locale/kk.min.mjs +1 -1
  115. package/dist/locale/kk.mjs +1 -1
  116. package/dist/locale/km.js +1 -1
  117. package/dist/locale/km.min.js +1 -1
  118. package/dist/locale/km.min.mjs +1 -1
  119. package/dist/locale/km.mjs +1 -1
  120. package/dist/locale/ko.js +1 -1
  121. package/dist/locale/ko.min.js +1 -1
  122. package/dist/locale/ko.min.mjs +1 -1
  123. package/dist/locale/ko.mjs +1 -1
  124. package/dist/locale/ku.js +1 -1
  125. package/dist/locale/ku.min.js +1 -1
  126. package/dist/locale/ku.min.mjs +1 -1
  127. package/dist/locale/ku.mjs +1 -1
  128. package/dist/locale/ky.js +1 -1
  129. package/dist/locale/ky.min.js +1 -1
  130. package/dist/locale/ky.min.mjs +1 -1
  131. package/dist/locale/ky.mjs +1 -1
  132. package/dist/locale/lt.js +1 -1
  133. package/dist/locale/lt.min.js +1 -1
  134. package/dist/locale/lt.min.mjs +1 -1
  135. package/dist/locale/lt.mjs +1 -1
  136. package/dist/locale/lv.js +1 -1
  137. package/dist/locale/lv.min.js +1 -1
  138. package/dist/locale/lv.min.mjs +1 -1
  139. package/dist/locale/lv.mjs +1 -1
  140. package/dist/locale/mg.js +1 -1
  141. package/dist/locale/mg.min.js +1 -1
  142. package/dist/locale/mg.min.mjs +1 -1
  143. package/dist/locale/mg.mjs +1 -1
  144. package/dist/locale/mn.js +1 -1
  145. package/dist/locale/mn.min.js +1 -1
  146. package/dist/locale/mn.min.mjs +1 -1
  147. package/dist/locale/mn.mjs +1 -1
  148. package/dist/locale/nb-no.js +1 -1
  149. package/dist/locale/nb-no.min.js +1 -1
  150. package/dist/locale/nb-no.min.mjs +1 -1
  151. package/dist/locale/nb-no.mjs +1 -1
  152. package/dist/locale/nl.js +1 -1
  153. package/dist/locale/nl.min.js +1 -1
  154. package/dist/locale/nl.min.mjs +1 -1
  155. package/dist/locale/nl.mjs +1 -1
  156. package/dist/locale/pa.js +1 -1
  157. package/dist/locale/pa.min.js +1 -1
  158. package/dist/locale/pa.min.mjs +1 -1
  159. package/dist/locale/pa.mjs +1 -1
  160. package/dist/locale/pl.js +1 -1
  161. package/dist/locale/pl.min.js +1 -1
  162. package/dist/locale/pl.min.mjs +1 -1
  163. package/dist/locale/pl.mjs +1 -1
  164. package/dist/locale/pt-br.js +1 -1
  165. package/dist/locale/pt-br.min.js +1 -1
  166. package/dist/locale/pt-br.min.mjs +1 -1
  167. package/dist/locale/pt-br.mjs +1 -1
  168. package/dist/locale/pt.js +1 -1
  169. package/dist/locale/pt.min.js +1 -1
  170. package/dist/locale/pt.min.mjs +1 -1
  171. package/dist/locale/pt.mjs +1 -1
  172. package/dist/locale/ro.js +1 -1
  173. package/dist/locale/ro.min.js +1 -1
  174. package/dist/locale/ro.min.mjs +1 -1
  175. package/dist/locale/ro.mjs +1 -1
  176. package/dist/locale/ru.js +1 -1
  177. package/dist/locale/ru.min.js +1 -1
  178. package/dist/locale/ru.min.mjs +1 -1
  179. package/dist/locale/ru.mjs +1 -1
  180. package/dist/locale/sk.js +1 -1
  181. package/dist/locale/sk.min.js +1 -1
  182. package/dist/locale/sk.min.mjs +1 -1
  183. package/dist/locale/sk.mjs +1 -1
  184. package/dist/locale/sl.js +1 -1
  185. package/dist/locale/sl.min.js +1 -1
  186. package/dist/locale/sl.min.mjs +1 -1
  187. package/dist/locale/sl.mjs +1 -1
  188. package/dist/locale/sr.js +1 -1
  189. package/dist/locale/sr.min.js +1 -1
  190. package/dist/locale/sr.min.mjs +1 -1
  191. package/dist/locale/sr.mjs +1 -1
  192. package/dist/locale/sv.js +1 -1
  193. package/dist/locale/sv.min.js +1 -1
  194. package/dist/locale/sv.min.mjs +1 -1
  195. package/dist/locale/sv.mjs +1 -1
  196. package/dist/locale/ta.js +1 -1
  197. package/dist/locale/ta.min.js +1 -1
  198. package/dist/locale/ta.min.mjs +1 -1
  199. package/dist/locale/ta.mjs +1 -1
  200. package/dist/locale/th.js +1 -1
  201. package/dist/locale/th.min.js +1 -1
  202. package/dist/locale/th.min.mjs +1 -1
  203. package/dist/locale/th.mjs +1 -1
  204. package/dist/locale/tk.js +1 -1
  205. package/dist/locale/tk.min.js +1 -1
  206. package/dist/locale/tk.min.mjs +1 -1
  207. package/dist/locale/tk.mjs +1 -1
  208. package/dist/locale/tr.js +1 -1
  209. package/dist/locale/tr.min.js +1 -1
  210. package/dist/locale/tr.min.mjs +1 -1
  211. package/dist/locale/tr.mjs +1 -1
  212. package/dist/locale/ug-cn.js +1 -1
  213. package/dist/locale/ug-cn.min.js +1 -1
  214. package/dist/locale/ug-cn.min.mjs +1 -1
  215. package/dist/locale/ug-cn.mjs +1 -1
  216. package/dist/locale/uk.js +1 -1
  217. package/dist/locale/uk.min.js +1 -1
  218. package/dist/locale/uk.min.mjs +1 -1
  219. package/dist/locale/uk.mjs +1 -1
  220. package/dist/locale/uz-uz.js +1 -1
  221. package/dist/locale/uz-uz.min.js +1 -1
  222. package/dist/locale/uz-uz.min.mjs +1 -1
  223. package/dist/locale/uz-uz.mjs +1 -1
  224. package/dist/locale/vi.js +1 -1
  225. package/dist/locale/vi.min.js +1 -1
  226. package/dist/locale/vi.min.mjs +1 -1
  227. package/dist/locale/vi.mjs +1 -1
  228. package/dist/locale/zh-cn.js +1 -1
  229. package/dist/locale/zh-cn.min.js +1 -1
  230. package/dist/locale/zh-cn.min.mjs +1 -1
  231. package/dist/locale/zh-cn.mjs +1 -1
  232. package/dist/locale/zh-tw.js +1 -1
  233. package/dist/locale/zh-tw.min.js +1 -1
  234. package/dist/locale/zh-tw.min.mjs +1 -1
  235. package/dist/locale/zh-tw.mjs +1 -1
  236. package/es/components/select-v2/index.d.ts +298 -464
  237. package/es/components/select-v2/src/defaults.d.ts +76 -110
  238. package/es/components/select-v2/src/defaults.mjs +25 -16
  239. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  240. package/es/components/select-v2/src/option-item.mjs +8 -3
  241. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  242. package/es/components/select-v2/src/option-item.vue.d.ts +31 -20
  243. package/es/components/select-v2/src/select-dropdown.mjs +10 -4
  244. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  245. package/es/components/select-v2/src/select.mjs +9 -9
  246. package/es/components/select-v2/src/select.mjs.map +1 -1
  247. package/es/components/select-v2/src/select.types.d.ts +5 -11
  248. package/es/components/select-v2/src/select.vue.d.ts +149 -232
  249. package/es/components/select-v2/src/token.d.ts +1 -1
  250. package/es/components/select-v2/src/token.mjs.map +1 -1
  251. package/es/components/select-v2/src/useAllowCreate.mjs +8 -6
  252. package/es/components/select-v2/src/useAllowCreate.mjs.map +1 -1
  253. package/es/components/select-v2/src/useProps.d.ts +21 -0
  254. package/es/components/select-v2/src/useProps.mjs +26 -0
  255. package/es/components/select-v2/src/useProps.mjs.map +1 -0
  256. package/es/components/select-v2/src/useSelect.d.ts +52 -58
  257. package/es/components/select-v2/src/useSelect.mjs +30 -30
  258. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  259. package/es/version.d.ts +1 -1
  260. package/es/version.mjs +1 -1
  261. package/es/version.mjs.map +1 -1
  262. package/lib/components/select-v2/index.d.ts +298 -464
  263. package/lib/components/select-v2/src/defaults.d.ts +76 -110
  264. package/lib/components/select-v2/src/defaults.js +25 -16
  265. package/lib/components/select-v2/src/defaults.js.map +1 -1
  266. package/lib/components/select-v2/src/option-item.js +7 -2
  267. package/lib/components/select-v2/src/option-item.js.map +1 -1
  268. package/lib/components/select-v2/src/option-item.vue.d.ts +31 -20
  269. package/lib/components/select-v2/src/select-dropdown.js +10 -4
  270. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  271. package/lib/components/select-v2/src/select.js +9 -9
  272. package/lib/components/select-v2/src/select.js.map +1 -1
  273. package/lib/components/select-v2/src/select.types.d.ts +5 -11
  274. package/lib/components/select-v2/src/select.vue.d.ts +149 -232
  275. package/lib/components/select-v2/src/token.d.ts +1 -1
  276. package/lib/components/select-v2/src/token.js.map +1 -1
  277. package/lib/components/select-v2/src/useAllowCreate.js +8 -6
  278. package/lib/components/select-v2/src/useAllowCreate.js.map +1 -1
  279. package/lib/components/select-v2/src/useProps.d.ts +21 -0
  280. package/lib/components/select-v2/src/useProps.js +31 -0
  281. package/lib/components/select-v2/src/useProps.js.map +1 -0
  282. package/lib/components/select-v2/src/useSelect.d.ts +52 -58
  283. package/lib/components/select-v2/src/useSelect.js +30 -30
  284. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  285. package/lib/version.d.ts +1 -1
  286. package/lib/version.js +1 -1
  287. package/lib/version.js.map +1 -1
  288. package/package.json +2 -2
  289. package/tags.json +1 -1
  290. package/web-types.json +1 -1
  291. package/es/components/select-v2/src/util.d.ts +0 -2
  292. package/es/components/select-v2/src/util.mjs +0 -26
  293. package/es/components/select-v2/src/util.mjs.map +0 -1
  294. package/lib/components/select-v2/src/util.d.ts +0 -2
  295. package/lib/components/select-v2/src/util.js +0 -30
  296. package/lib/components/select-v2/src/util.js.map +0 -1
@@ -1,115 +1,81 @@
1
- import type { Component, PropType } from 'vue';
2
- import type { OptionType } from './select.types';
1
+ import type { Option, OptionType } from './select.types';
2
+ import type { Props } from './useProps';
3
3
  import type { Options, Placement } from '@element-plus/nightly/es/components/popper';
4
4
  export declare const SelectProps: {
5
- allowCreate: BooleanConstructor;
6
- autocomplete: {
7
- type: PropType<"none" | "inline" | "both" | "list">;
8
- default: string;
9
- };
10
- automaticDropdown: BooleanConstructor;
11
- clearable: BooleanConstructor;
12
- clearIcon: {
13
- type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
14
- default: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
15
- };
16
- effect: {
17
- type: PropType<string>;
18
- default: string;
19
- };
20
- collapseTags: BooleanConstructor;
21
- collapseTagsTooltip: {
22
- type: BooleanConstructor;
23
- default: boolean;
24
- };
25
- maxCollapseTags: {
26
- type: NumberConstructor;
27
- default: number;
28
- };
29
- defaultFirstOption: BooleanConstructor;
30
- disabled: BooleanConstructor;
31
- estimatedOptionHeight: {
32
- type: NumberConstructor;
33
- default: undefined;
34
- };
35
- filterable: BooleanConstructor;
36
- filterMethod: FunctionConstructor;
37
- height: {
38
- type: NumberConstructor;
39
- default: number;
40
- };
41
- itemHeight: {
42
- type: NumberConstructor;
43
- default: number;
44
- };
45
- id: StringConstructor;
46
- loading: BooleanConstructor;
47
- loadingText: StringConstructor;
48
- label: StringConstructor;
49
- modelValue: PropType<any>;
50
- multiple: BooleanConstructor;
51
- multipleLimit: {
52
- type: NumberConstructor;
53
- default: number;
54
- };
55
- name: StringConstructor;
56
- noDataText: StringConstructor;
57
- noMatchText: StringConstructor;
58
- remoteMethod: FunctionConstructor;
59
- reserveKeyword: {
60
- type: BooleanConstructor;
61
- default: boolean;
62
- };
63
- options: {
64
- type: PropType<OptionType<any>[]>;
65
- required: boolean;
66
- };
67
- placeholder: {
68
- type: StringConstructor;
69
- };
70
- teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
71
- persistent: {
72
- type: BooleanConstructor;
73
- default: boolean;
74
- };
75
- popperClass: {
76
- type: StringConstructor;
77
- default: string;
78
- };
79
- popperOptions: {
80
- type: PropType<Partial<Options>>;
81
- default: () => Partial<Options>;
82
- };
83
- remote: BooleanConstructor;
84
- size: {
85
- type: PropType<"" | "default" | "small" | "large">;
86
- validator: (val: string) => val is "" | "default" | "small" | "large";
87
- };
88
- valueKey: {
89
- type: StringConstructor;
90
- default: string;
91
- };
92
- scrollbarAlwaysOn: {
93
- type: BooleanConstructor;
94
- default: boolean;
95
- };
96
- validateEvent: {
97
- type: BooleanConstructor;
98
- default: boolean;
99
- };
100
- placement: {
101
- type: PropType<Placement>;
102
- values: Placement[];
103
- default: string;
104
- };
5
+ readonly allowCreate: BooleanConstructor;
6
+ readonly autocomplete: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("none" | "inline" | "both" | "list") & {}) | (() => "none" | "inline" | "both" | "list") | ((new (...args: any[]) => ("none" | "inline" | "both" | "list") & {}) | (() => "none" | "inline" | "both" | "list"))[], unknown, unknown, "none", boolean>;
7
+ readonly automaticDropdown: BooleanConstructor;
8
+ readonly clearable: BooleanConstructor;
9
+ readonly clearIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, boolean>;
10
+ readonly effect: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string & {}) | (() => string) | ((new (...args: any[]) => string & {}) | (() => string))[], unknown, unknown, "light", boolean>;
11
+ readonly collapseTags: BooleanConstructor;
12
+ readonly collapseTagsTooltip: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
13
+ readonly maxCollapseTags: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
14
+ readonly defaultFirstOption: BooleanConstructor;
15
+ readonly disabled: BooleanConstructor;
16
+ readonly estimatedOptionHeight: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
17
+ readonly filterable: BooleanConstructor;
18
+ readonly filterMethod: FunctionConstructor;
19
+ readonly height: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 170, boolean>;
20
+ readonly itemHeight: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 34, boolean>;
21
+ readonly id: StringConstructor;
22
+ readonly loading: BooleanConstructor;
23
+ readonly loadingText: StringConstructor;
24
+ readonly label: StringConstructor;
25
+ readonly modelValue: {
26
+ readonly type: import("vue").PropType<any>;
27
+ readonly required: false;
28
+ readonly validator: ((val: unknown) => boolean) | undefined;
29
+ __epPropKey: true;
30
+ };
31
+ readonly multiple: BooleanConstructor;
32
+ readonly multipleLimit: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
33
+ readonly name: StringConstructor;
34
+ readonly noDataText: StringConstructor;
35
+ readonly noMatchText: StringConstructor;
36
+ readonly remoteMethod: FunctionConstructor;
37
+ readonly reserveKeyword: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
38
+ readonly options: {
39
+ readonly type: import("vue").PropType<OptionType[]>;
40
+ readonly required: true;
41
+ readonly validator: ((val: unknown) => boolean) | undefined;
42
+ __epPropKey: true;
43
+ };
44
+ readonly placeholder: {
45
+ readonly type: import("vue").PropType<string>;
46
+ readonly required: false;
47
+ readonly validator: ((val: unknown) => boolean) | undefined;
48
+ __epPropKey: true;
49
+ };
50
+ readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
51
+ readonly persistent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
52
+ readonly popperClass: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
53
+ readonly popperOptions: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | ((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>))[], unknown, unknown, () => Partial<Options>, boolean>;
54
+ readonly remote: BooleanConstructor;
55
+ readonly size: {
56
+ readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
57
+ readonly required: false;
58
+ readonly validator: ((val: unknown) => boolean) | undefined;
59
+ __epPropKey: true;
60
+ };
61
+ readonly props: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Props) | (() => Props) | ((new (...args: any[]) => Props) | (() => Props))[], unknown, unknown, () => Required<Props>, boolean>;
62
+ readonly valueKey: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "value", boolean>;
63
+ readonly scrollbarAlwaysOn: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
64
+ readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
65
+ readonly placement: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Placement & {}) | (() => Placement) | ((new (...args: any[]) => Placement & {}) | (() => Placement))[], Placement, unknown, "bottom-start", boolean>;
105
66
  };
106
67
  export declare const OptionProps: {
107
- data: ArrayConstructor;
108
- disabled: BooleanConstructor;
109
- hovering: BooleanConstructor;
110
- item: ObjectConstructor;
111
- index: NumberConstructor;
112
- style: ObjectConstructor;
113
- selected: BooleanConstructor;
114
- created: BooleanConstructor;
68
+ readonly data: ArrayConstructor;
69
+ readonly disabled: BooleanConstructor;
70
+ readonly hovering: BooleanConstructor;
71
+ readonly item: {
72
+ readonly type: import("vue").PropType<Option>;
73
+ readonly required: true;
74
+ readonly validator: ((val: unknown) => boolean) | undefined;
75
+ __epPropKey: true;
76
+ };
77
+ readonly index: NumberConstructor;
78
+ readonly style: ObjectConstructor;
79
+ readonly selected: BooleanConstructor;
80
+ readonly created: BooleanConstructor;
115
81
  };
@@ -1,25 +1,28 @@
1
1
  import { placements } from '@popperjs/core';
2
+ import '../../../hooks/index.mjs';
2
3
  import '../../../utils/index.mjs';
3
4
  import '../../tooltip/index.mjs';
4
5
  import { CircleClose } from '@element-plus/icons-vue';
6
+ import { defaultProps } from './useProps.mjs';
7
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
8
+ import { iconPropType } from '../../../utils/vue/icon.mjs';
5
9
  import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
6
- import { isValidComponentSize } from '../../../utils/vue/validator.mjs';
7
- import { definePropType } from '../../../utils/vue/props/runtime.mjs';
10
+ import { useSizeProp } from '../../../hooks/use-size/index.mjs';
8
11
 
9
- const SelectProps = {
12
+ const SelectProps = buildProps({
10
13
  allowCreate: Boolean,
11
14
  autocomplete: {
12
- type: String,
15
+ type: definePropType(String),
13
16
  default: "none"
14
17
  },
15
18
  automaticDropdown: Boolean,
16
19
  clearable: Boolean,
17
20
  clearIcon: {
18
- type: [String, Object],
21
+ type: iconPropType,
19
22
  default: CircleClose
20
23
  },
21
24
  effect: {
22
- type: String,
25
+ type: definePropType(String),
23
26
  default: "light"
24
27
  },
25
28
  collapseTags: Boolean,
@@ -51,7 +54,9 @@ const SelectProps = {
51
54
  loading: Boolean,
52
55
  loadingText: String,
53
56
  label: String,
54
- modelValue: [Array, String, Number, Boolean, Object],
57
+ modelValue: {
58
+ type: definePropType([Array, String, Number, Boolean, Object])
59
+ },
55
60
  multiple: Boolean,
56
61
  multipleLimit: {
57
62
  type: Number,
@@ -66,7 +71,7 @@ const SelectProps = {
66
71
  default: true
67
72
  },
68
73
  options: {
69
- type: Array,
74
+ type: definePropType(Array),
70
75
  required: true
71
76
  },
72
77
  placeholder: {
@@ -82,13 +87,14 @@ const SelectProps = {
82
87
  default: ""
83
88
  },
84
89
  popperOptions: {
85
- type: Object,
90
+ type: definePropType(Object),
86
91
  default: () => ({})
87
92
  },
88
93
  remote: Boolean,
89
- size: {
90
- type: String,
91
- validator: isValidComponentSize
94
+ size: useSizeProp,
95
+ props: {
96
+ type: definePropType(Object),
97
+ default: () => defaultProps
92
98
  },
93
99
  valueKey: {
94
100
  type: String,
@@ -107,17 +113,20 @@ const SelectProps = {
107
113
  values: placements,
108
114
  default: "bottom-start"
109
115
  }
110
- };
111
- const OptionProps = {
116
+ });
117
+ const OptionProps = buildProps({
112
118
  data: Array,
113
119
  disabled: Boolean,
114
120
  hovering: Boolean,
115
- item: Object,
121
+ item: {
122
+ type: definePropType(Object),
123
+ required: true
124
+ },
116
125
  index: Number,
117
126
  style: Object,
118
127
  selected: Boolean,
119
128
  created: Boolean
120
- };
129
+ });
121
130
 
122
131
  export { OptionProps, SelectProps };
123
132
  //# sourceMappingURL=defaults.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { definePropType, isValidComponentSize } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport type { Component, PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { OptionType } from './select.types'\nimport type { Options, Placement } from '@element-plus/components/popper'\n\nexport const SelectProps = {\n allowCreate: Boolean,\n autocomplete: {\n type: String as PropType<'none' | 'both' | 'list' | 'inline'>,\n default: 'none',\n },\n automaticDropdown: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n collapseTags: Boolean,\n collapseTagsTooltip: {\n type: Boolean,\n default: false,\n },\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n defaultFirstOption: Boolean,\n disabled: Boolean,\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n filterable: Boolean,\n filterMethod: Function,\n height: {\n type: Number,\n default: 170, // 5 items by default\n },\n itemHeight: {\n type: Number,\n default: 34,\n },\n id: String,\n loading: Boolean,\n loadingText: String,\n label: String,\n modelValue: [Array, String, Number, Boolean, Object] as PropType<\n any[] | string | number | boolean | Record<string, any> | any\n >,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n name: String,\n noDataText: String,\n noMatchText: String,\n remoteMethod: Function,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n options: {\n type: Array as PropType<OptionType[]>,\n required: true,\n },\n placeholder: {\n type: String,\n },\n teleported: useTooltipContentProps.teleported,\n persistent: {\n type: Boolean,\n default: true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: Object as PropType<Partial<Options>>,\n default: () => ({} as Partial<Options>),\n },\n remote: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n}\n\nexport const OptionProps = {\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: Object,\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport { defaultProps } from './useProps'\n\nimport type { Option, OptionType } from './select.types'\nimport type { Props } from './useProps'\nimport type { Options, Placement } from '@element-plus/components/popper'\n\nexport const SelectProps = buildProps({\n allowCreate: Boolean,\n autocomplete: {\n type: definePropType<'none' | 'both' | 'list' | 'inline'>(String),\n default: 'none',\n },\n automaticDropdown: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n effect: {\n type: definePropType<'light' | 'dark' | string>(String),\n default: 'light',\n },\n collapseTags: Boolean,\n collapseTagsTooltip: {\n type: Boolean,\n default: false,\n },\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n defaultFirstOption: Boolean,\n disabled: Boolean,\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n filterable: Boolean,\n filterMethod: Function,\n height: {\n type: Number,\n default: 170, // 5 items by default\n },\n itemHeight: {\n type: Number,\n default: 34,\n },\n id: String,\n loading: Boolean,\n loadingText: String,\n label: String,\n modelValue: {\n type: definePropType<\n any[] | string | number | boolean | Record<string, any> | any\n >([Array, String, Number, Boolean, Object]),\n },\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n name: String,\n noDataText: String,\n noMatchText: String,\n remoteMethod: Function,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n options: {\n type: definePropType<OptionType[]>(Array),\n required: true,\n },\n placeholder: {\n type: String,\n },\n teleported: useTooltipContentProps.teleported,\n persistent: {\n type: Boolean,\n default: true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n remote: Boolean,\n size: useSizeProp,\n props: {\n type: definePropType<Props>(Object),\n default: () => defaultProps,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n} as const)\n\nexport const OptionProps = buildProps({\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: {\n type: definePropType<Option>(Object),\n required: true,\n },\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n} as const)\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeStyle, normalizeClass, withModifiers, renderSlot, createElementVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, inject, openBlock, createElementBlock, normalizeStyle, normalizeClass, withModifiers, renderSlot, createElementVNode, toDisplayString } from 'vue';
2
2
  import '../../../hooks/index.mjs';
3
3
  import { useOption } from './useOption.mjs';
4
+ import { useProps } from './useProps.mjs';
4
5
  import { OptionProps } from './defaults.mjs';
6
+ import { selectV2InjectionKey } from './token.mjs';
5
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
9
 
@@ -9,12 +11,15 @@ const _sfc_main = defineComponent({
9
11
  props: OptionProps,
10
12
  emits: ["select", "hover"],
11
13
  setup(props, { emit }) {
14
+ const select = inject(selectV2InjectionKey);
12
15
  const ns = useNamespace("select");
13
16
  const { hoverItem, selectOptionClick } = useOption(props, { emit });
17
+ const { getLabel } = useProps(select.props);
14
18
  return {
15
19
  ns,
16
20
  hoverItem,
17
- selectOptionClick
21
+ selectOptionClick,
22
+ getLabel
18
23
  };
19
24
  }
20
25
  });
@@ -38,7 +43,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
38
43
  index: _ctx.index,
39
44
  disabled: _ctx.disabled
40
45
  }, () => [
41
- createElementVNode("span", null, toDisplayString(_ctx.item.label), 1)
46
+ createElementVNode("span", null, toDisplayString(_ctx.getLabel(_ctx.item)), 1)
42
47
  ])
43
48
  ], 46, _hoisted_1);
44
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"option-item.mjs","sources":["../../../../../../packages/components/select-v2/src/option-item.vue"],"sourcesContent":["<template>\n <li\n :aria-selected=\"selected\"\n :style=\"style\"\n :class=\"[\n ns.be('dropdown', 'option-item'),\n ns.is('selected', selected),\n ns.is('disabled', disabled),\n ns.is('created', created),\n { hover: hovering },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot :item=\"item\" :index=\"index\" :disabled=\"disabled\">\n <span>{{ item.label }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport { OptionProps } from './defaults'\n\nexport default defineComponent({\n props: OptionProps,\n emits: ['select', 'hover'],\n setup(props, { emit }) {\n const ns = useNamespace('select')\n const { hoverItem, selectOptionClick } = useOption(props, { emit })\n return {\n ns,\n hoverItem,\n selectOptionClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_normalizeClass","_renderSlot","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;AA2BA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,KAAO,EAAA,WAAA;AAAA,EACP,KAAA,EAAO,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACzB,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,EAAE,SAAW,EAAA,iBAAA,EAAA,GAAsB,UAAU,KAAO,EAAA,EAAE,MAAM,CAAA,CAAA;AAClE,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,SAAA;AAAA,MACA,iBAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;sBAtCCA,kBAgBK,CAAA,IAAA,EAAA;AAAA,IAfF,eAAe,EAAA,IAAA,CAAA,QAAA;AAAA,IACf,KAAA,EAAKC,eAAE,IAAK,CAAA,KAAA,CAAA;AAAA,IACZ,KAAK,EAAAC,cAAA,CAAA;AAAA,MAAU,QAAG,EAAE,CAAA,UAAA,EAAA,aAAA,CAAA;AAAA,MAAmC,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,QAAA,CAAA;AAAA,MAAS,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,QAAA,CAAA;AAAA,MAAS,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAY,IAAO,CAAA,OAAA,CAAA;AAAA,MAAA,EAAA,KAAA,EAAkB,IAAQ,CAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAO/K,IAAA,YAAA,EAAU,MAAE,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,SAAA,IAAA,IAAA,CAAA,SAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,IACZ,OAAA,EAAK,qDAAO,IAAiB,CAAA,iBAAA,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA,EAAA;IAE9BC,UAEO,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,MAFA,IAAM,EAAA,IAAA,CAAA,IAAA;AAAA,MAAO,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,MAAQ,QAAU,EAAA,IAAA,CAAA,QAAA;AAAA,KAAA,EAA7C,MAEO;AAAA,MADLC,kBAAA,CAA6B,MAApB,EAAA,IAAA,EAAAC,eAAA,CAAA,IAAA,CAAA,IAAA,CAAK,KAAK,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;"}
1
+ {"version":3,"file":"option-item.mjs","sources":["../../../../../../packages/components/select-v2/src/option-item.vue"],"sourcesContent":["<template>\n <li\n :aria-selected=\"selected\"\n :style=\"style\"\n :class=\"[\n ns.be('dropdown', 'option-item'),\n ns.is('selected', selected),\n ns.is('disabled', disabled),\n ns.is('created', created),\n { hover: hovering },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot :item=\"item\" :index=\"index\" :disabled=\"disabled\">\n <span>{{ getLabel(item) }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport { useProps } from './useProps'\nimport { OptionProps } from './defaults'\nimport { selectV2InjectionKey } from './token'\n\nexport default defineComponent({\n props: OptionProps,\n emits: ['select', 'hover'],\n setup(props, { emit }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { hoverItem, selectOptionClick } = useOption(props, { emit })\n const { getLabel } = useProps(select.props)\n\n return {\n ns,\n hoverItem,\n selectOptionClick,\n getLabel,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_normalizeClass","_renderSlot","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;AA4BA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,KAAO,EAAA,WAAA;AAAA,EACP,KAAA,EAAO,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACzB,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,MAAA,GAAS,OAAO,oBAAoB,CAAA,CAAA;AAC1C,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,EAAE,SAAW,EAAA,iBAAA,EAAA,GAAsB,UAAU,KAAO,EAAA,EAAE,MAAM,CAAA,CAAA;AAClE,IAAA,MAAM,EAAE,QAAA,EAAA,GAAa,QAAS,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAE1C,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,SAAA;AAAA,MACA,iBAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;sBA3CCA,kBAgBK,CAAA,IAAA,EAAA;AAAA,IAfF,eAAe,EAAA,IAAA,CAAA,QAAA;AAAA,IACf,KAAA,EAAKC,eAAE,IAAK,CAAA,KAAA,CAAA;AAAA,IACZ,KAAK,EAAAC,cAAA,CAAA;AAAA,MAAU,QAAG,EAAE,CAAA,UAAA,EAAA,aAAA,CAAA;AAAA,MAAmC,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,QAAA,CAAA;AAAA,MAAS,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,QAAA,CAAA;AAAA,MAAS,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAY,IAAO,CAAA,OAAA,CAAA;AAAA,MAAA,EAAA,KAAA,EAAkB,IAAQ,CAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAO/K,IAAA,YAAA,EAAU,MAAE,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,SAAA,IAAA,IAAA,CAAA,SAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,IACZ,OAAA,EAAK,qDAAO,IAAiB,CAAA,iBAAA,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA,EAAA;IAE9BC,UAEO,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,MAFA,IAAM,EAAA,IAAA,CAAA,IAAA;AAAA,MAAO,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,MAAQ,QAAU,EAAA,IAAA,CAAA,QAAA;AAAA,KAAA,EAA7C,MAEO;AAAA,MADLC,kBAAA,CAAiC,MAAxB,EAAA,IAAA,EAAAC,eAAA,CAAA,IAAA,CAAA,QAAA,CAAS,IAAI,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;"}
@@ -1,12 +1,17 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- data: ArrayConstructor;
3
- disabled: BooleanConstructor;
4
- hovering: BooleanConstructor;
5
- item: ObjectConstructor;
6
- index: NumberConstructor;
7
- style: ObjectConstructor;
8
- selected: BooleanConstructor;
9
- created: BooleanConstructor;
2
+ readonly data: ArrayConstructor;
3
+ readonly disabled: BooleanConstructor;
4
+ readonly hovering: BooleanConstructor;
5
+ readonly item: {
6
+ readonly type: import("vue").PropType<import("./select.types").Option>;
7
+ readonly required: true;
8
+ readonly validator: ((val: unknown) => boolean) | undefined;
9
+ __epPropKey: true;
10
+ };
11
+ readonly index: NumberConstructor;
12
+ readonly style: ObjectConstructor;
13
+ readonly selected: BooleanConstructor;
14
+ readonly created: BooleanConstructor;
10
15
  }, {
11
16
  ns: {
12
17
  namespace: import("vue").ComputedRef<string>;
@@ -28,22 +33,28 @@ declare const _default: import("vue").DefineComponent<{
28
33
  };
29
34
  hoverItem: () => void;
30
35
  selectOptionClick: () => void;
36
+ getLabel: (option: import("./select.types").Option) => any;
31
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("hover" | "select")[], "select" | "hover", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
- data: ArrayConstructor;
33
- disabled: BooleanConstructor;
34
- hovering: BooleanConstructor;
35
- item: ObjectConstructor;
36
- index: NumberConstructor;
37
- style: ObjectConstructor;
38
- selected: BooleanConstructor;
39
- created: BooleanConstructor;
38
+ readonly data: ArrayConstructor;
39
+ readonly disabled: BooleanConstructor;
40
+ readonly hovering: BooleanConstructor;
41
+ readonly item: {
42
+ readonly type: import("vue").PropType<import("./select.types").Option>;
43
+ readonly required: true;
44
+ readonly validator: ((val: unknown) => boolean) | undefined;
45
+ __epPropKey: true;
46
+ };
47
+ readonly index: NumberConstructor;
48
+ readonly style: ObjectConstructor;
49
+ readonly selected: BooleanConstructor;
50
+ readonly created: BooleanConstructor;
40
51
  }>> & {
41
52
  onSelect?: ((...args: any[]) => any) | undefined;
42
53
  onHover?: ((...args: any[]) => any) | undefined;
43
54
  }, {
44
- disabled: boolean;
45
- hovering: boolean;
46
- created: boolean;
47
- selected: boolean;
55
+ readonly disabled: boolean;
56
+ readonly hovering: boolean;
57
+ readonly created: boolean;
58
+ readonly selected: boolean;
48
59
  }>;
49
60
  export default _default;
@@ -6,6 +6,7 @@ import '../../../hooks/index.mjs';
6
6
  import '../../../constants/index.mjs';
7
7
  import GroupItem from './group-item.mjs';
8
8
  import OptionItem from './option-item.mjs';
9
+ import { useProps } from './useProps.mjs';
9
10
  import { selectV2InjectionKey } from './token.mjs';
10
11
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
12
  import { isUndefined } from '../../../utils/types.mjs';
@@ -30,6 +31,11 @@ var ElSelectMenu = defineComponent({
30
31
  }) {
31
32
  const select = inject(selectV2InjectionKey);
32
33
  const ns = useNamespace("select");
34
+ const {
35
+ getLabel,
36
+ getValue,
37
+ getDisabled
38
+ } = useProps(select.props);
33
39
  const cachedHeights = ref([]);
34
40
  const listRef = ref();
35
41
  const size = computed(() => props.data.length);
@@ -74,9 +80,9 @@ var ElSelectMenu = defineComponent({
74
80
  };
75
81
  const isItemSelected = (modelValue, target) => {
76
82
  if (select.props.multiple) {
77
- return contains(modelValue, target.value);
83
+ return contains(modelValue, getValue(target));
78
84
  }
79
- return isEqual(modelValue, target.value);
85
+ return isEqual(modelValue, getValue(target));
80
86
  };
81
87
  const isItemDisabled = (modelValue, selected) => {
82
88
  const {
@@ -139,7 +145,7 @@ var ElSelectMenu = defineComponent({
139
145
  const isHovering = isItemHovering(index);
140
146
  return createVNode(OptionItem, mergeProps(itemProps, {
141
147
  "selected": isSelected,
142
- "disabled": item.disabled || isDisabled,
148
+ "disabled": getDisabled(item) || isDisabled,
143
149
  "created": !!item.created,
144
150
  "hovering": isHovering,
145
151
  "item": item,
@@ -148,7 +154,7 @@ var ElSelectMenu = defineComponent({
148
154
  }), {
149
155
  default: (props2) => {
150
156
  var _a;
151
- return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || createVNode("span", null, [item.label]);
157
+ return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || createVNode("span", null, [getLabel(item)]);
152
158
  }
153
159
  });
154
160
  };
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: {\n type: Array,\n required: true,\n },\n hoveringIndex: Number,\n width: Number,\n },\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.popper.value.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n if (select.props.multiple) {\n return contains(modelValue, target.value)\n }\n return isEqual(modelValue, target.value)\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n expose({\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n })\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={(sized ? itemSize : estimatedSize) as number}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={item.disabled || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{item.label}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n if (data.length === 0) {\n return (\n <div\n class={ns.b('dropdown')}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.empty?.()}\n </div>\n )\n }\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div class={[ns.b('dropdown'), ns.is('multiple', multiple)]}>\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n </div>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","data","type","Array","required","hoveringIndex","Number","width","slots","expose","select","ns","cachedHeights","ref","listRef","size","computed","watch","popper","value","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","contains","valueKey","isObject","target","arr","item","isEqual","selected","get","isItemSelected","modelValue","isItemDisabled","multipleLimit","isItemHovering","scrollToItem","resetScrollTop","list","Item","itemProps","style","_createVNode","unref","_mergeProps","onSelect","onHover","sized","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","expanded","onKeydown","code","e","tab","enter","EVENT_CODE","esc"],"mappings":"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"}
1
+ {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: {\n type: Array,\n required: true,\n },\n hoveringIndex: Number,\n width: Number,\n },\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.popper.value.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n expose({\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n })\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={(sized ? itemSize : estimatedSize) as number}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n if (data.length === 0) {\n return (\n <div\n class={ns.b('dropdown')}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.empty?.()}\n </div>\n )\n }\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div class={[ns.b('dropdown'), ns.is('multiple', multiple)]}>\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n </div>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","data","type","Array","required","hoveringIndex","Number","width","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","ref","listRef","size","computed","watch","popper","value","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","contains","valueKey","isObject","target","arr","item","isEqual","selected","get","isItemSelected","modelValue","isItemDisabled","multipleLimit","isItemHovering","scrollToItem","resetScrollTop","list","Item","itemProps","style","_createVNode","unref","_mergeProps","onSelect","onHover","sized","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","expanded","onKeydown","code","e","tab","enter","EVENT_CODE","esc"],"mappings":"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"}