@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,4 +1,4 @@
1
- /*! Element Plus v0.0.20231024 */
1
+ /*! Element Plus v0.0.20231025 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
@@ -11291,7 +11291,7 @@
11291
11291
 
11292
11292
  const ElConfigProvider = withInstall(ConfigProvider);
11293
11293
 
11294
- const version$1 = "0.0.20231024";
11294
+ const version$1 = "0.0.20231025";
11295
11295
 
11296
11296
  const makeInstaller = (components = []) => {
11297
11297
  const install = (app, options) => {
@@ -38719,20 +38719,41 @@
38719
38719
  };
38720
38720
  }
38721
38721
 
38722
- const SelectProps = {
38722
+ const defaultProps$4 = {
38723
+ label: "label",
38724
+ value: "value",
38725
+ disabled: "disabled",
38726
+ options: "options"
38727
+ };
38728
+ function useProps(props) {
38729
+ const aliasProps = vue.computed(() => ({ ...defaultProps$4, ...props.props }));
38730
+ const getLabel = (option) => get(option, aliasProps.value.label);
38731
+ const getValue = (option) => get(option, aliasProps.value.value);
38732
+ const getDisabled = (option) => get(option, aliasProps.value.disabled);
38733
+ const getOptions = (option) => get(option, aliasProps.value.options);
38734
+ return {
38735
+ aliasProps,
38736
+ getLabel,
38737
+ getValue,
38738
+ getDisabled,
38739
+ getOptions
38740
+ };
38741
+ }
38742
+
38743
+ const SelectProps = buildProps({
38723
38744
  allowCreate: Boolean,
38724
38745
  autocomplete: {
38725
- type: String,
38746
+ type: definePropType(String),
38726
38747
  default: "none"
38727
38748
  },
38728
38749
  automaticDropdown: Boolean,
38729
38750
  clearable: Boolean,
38730
38751
  clearIcon: {
38731
- type: [String, Object],
38752
+ type: iconPropType,
38732
38753
  default: circle_close_default
38733
38754
  },
38734
38755
  effect: {
38735
- type: String,
38756
+ type: definePropType(String),
38736
38757
  default: "light"
38737
38758
  },
38738
38759
  collapseTags: Boolean,
@@ -38764,7 +38785,9 @@
38764
38785
  loading: Boolean,
38765
38786
  loadingText: String,
38766
38787
  label: String,
38767
- modelValue: [Array, String, Number, Boolean, Object],
38788
+ modelValue: {
38789
+ type: definePropType([Array, String, Number, Boolean, Object])
38790
+ },
38768
38791
  multiple: Boolean,
38769
38792
  multipleLimit: {
38770
38793
  type: Number,
@@ -38779,7 +38802,7 @@
38779
38802
  default: true
38780
38803
  },
38781
38804
  options: {
38782
- type: Array,
38805
+ type: definePropType(Array),
38783
38806
  required: true
38784
38807
  },
38785
38808
  placeholder: {
@@ -38795,13 +38818,14 @@
38795
38818
  default: ""
38796
38819
  },
38797
38820
  popperOptions: {
38798
- type: Object,
38821
+ type: definePropType(Object),
38799
38822
  default: () => ({})
38800
38823
  },
38801
38824
  remote: Boolean,
38802
- size: {
38803
- type: String,
38804
- validator: isValidComponentSize
38825
+ size: useSizeProp,
38826
+ props: {
38827
+ type: definePropType(Object),
38828
+ default: () => defaultProps$4
38805
38829
  },
38806
38830
  valueKey: {
38807
38831
  type: String,
@@ -38820,28 +38844,36 @@
38820
38844
  values: Ee,
38821
38845
  default: "bottom-start"
38822
38846
  }
38823
- };
38824
- const OptionProps = {
38847
+ });
38848
+ const OptionProps = buildProps({
38825
38849
  data: Array,
38826
38850
  disabled: Boolean,
38827
38851
  hovering: Boolean,
38828
- item: Object,
38852
+ item: {
38853
+ type: definePropType(Object),
38854
+ required: true
38855
+ },
38829
38856
  index: Number,
38830
38857
  style: Object,
38831
38858
  selected: Boolean,
38832
38859
  created: Boolean
38833
- };
38860
+ });
38861
+
38862
+ const selectV2InjectionKey = Symbol("ElSelectV2Injection");
38834
38863
 
38835
38864
  const _sfc_main$D = vue.defineComponent({
38836
38865
  props: OptionProps,
38837
38866
  emits: ["select", "hover"],
38838
38867
  setup(props, { emit }) {
38868
+ const select = vue.inject(selectV2InjectionKey);
38839
38869
  const ns = useNamespace("select");
38840
38870
  const { hoverItem, selectOptionClick } = useOption(props, { emit });
38871
+ const { getLabel } = useProps(select.props);
38841
38872
  return {
38842
38873
  ns,
38843
38874
  hoverItem,
38844
- selectOptionClick
38875
+ selectOptionClick,
38876
+ getLabel
38845
38877
  };
38846
38878
  }
38847
38879
  });
@@ -38865,14 +38897,12 @@
38865
38897
  index: _ctx.index,
38866
38898
  disabled: _ctx.disabled
38867
38899
  }, () => [
38868
- vue.createElementVNode("span", null, vue.toDisplayString(_ctx.item.label), 1)
38900
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.getLabel(_ctx.item)), 1)
38869
38901
  ])
38870
38902
  ], 46, _hoisted_1$h);
38871
38903
  }
38872
38904
  var OptionItem = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$6], ["__file", "option-item.vue"]]);
38873
38905
 
38874
- const selectV2InjectionKey = Symbol("ElSelectV2Injection");
38875
-
38876
38906
  var ElSelectMenu = vue.defineComponent({
38877
38907
  name: "ElSelectDropdown",
38878
38908
  props: {
@@ -38889,6 +38919,11 @@
38889
38919
  }) {
38890
38920
  const select = vue.inject(selectV2InjectionKey);
38891
38921
  const ns = useNamespace("select");
38922
+ const {
38923
+ getLabel,
38924
+ getValue,
38925
+ getDisabled
38926
+ } = useProps(select.props);
38892
38927
  const cachedHeights = vue.ref([]);
38893
38928
  const listRef = vue.ref();
38894
38929
  const size = vue.computed(() => props.data.length);
@@ -38933,9 +38968,9 @@
38933
38968
  };
38934
38969
  const isItemSelected = (modelValue, target) => {
38935
38970
  if (select.props.multiple) {
38936
- return contains(modelValue, target.value);
38971
+ return contains(modelValue, getValue(target));
38937
38972
  }
38938
- return isEqual(modelValue, target.value);
38973
+ return isEqual(modelValue, getValue(target));
38939
38974
  };
38940
38975
  const isItemDisabled = (modelValue, selected) => {
38941
38976
  const {
@@ -38998,7 +39033,7 @@
38998
39033
  const isHovering = isItemHovering(index);
38999
39034
  return vue.createVNode(OptionItem, vue.mergeProps(itemProps, {
39000
39035
  "selected": isSelected,
39001
- "disabled": item.disabled || isDisabled,
39036
+ "disabled": getDisabled(item) || isDisabled,
39002
39037
  "created": !!item.created,
39003
39038
  "hovering": isHovering,
39004
39039
  "item": item,
@@ -39007,7 +39042,7 @@
39007
39042
  }), {
39008
39043
  default: (props2) => {
39009
39044
  var _a;
39010
- return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || vue.createVNode("span", null, [item.label]);
39045
+ return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || vue.createVNode("span", null, [getLabel(item)]);
39011
39046
  }
39012
39047
  });
39013
39048
  };
@@ -39099,13 +39134,14 @@
39099
39134
  });
39100
39135
 
39101
39136
  function useAllowCreate(props, states) {
39137
+ const { aliasProps, getLabel, getValue } = useProps(props);
39102
39138
  const createOptionCount = vue.ref(0);
39103
39139
  const cachedSelectedOption = vue.ref(null);
39104
39140
  const enableAllowCreateMode = vue.computed(() => {
39105
39141
  return props.allowCreate && props.filterable;
39106
39142
  });
39107
39143
  function hasExistingOption(query) {
39108
- const hasValue = (option) => option.value === query;
39144
+ const hasValue = (option) => getValue(option) === query;
39109
39145
  return props.options && props.options.some(hasValue) || states.createdOptions.some(hasValue);
39110
39146
  }
39111
39147
  function selectNewOption(option) {
@@ -39122,10 +39158,10 @@
39122
39158
  if (enableAllowCreateMode.value) {
39123
39159
  if (query && query.length > 0 && !hasExistingOption(query)) {
39124
39160
  const newOption = {
39125
- value: query,
39126
- label: query,
39161
+ [aliasProps.value.value]: query,
39162
+ [aliasProps.value.label]: query,
39127
39163
  created: true,
39128
- disabled: false
39164
+ [aliasProps.value.disabled]: false
39129
39165
  };
39130
39166
  if (states.createdOptions.length >= createOptionCount.value) {
39131
39167
  states.createdOptions[createOptionCount.value] = newOption;
@@ -39146,10 +39182,10 @@
39146
39182
  }
39147
39183
  }
39148
39184
  function removeNewOption(option) {
39149
- if (!enableAllowCreateMode.value || !option || !option.created || option.created && props.reserveKeyword && states.inputValue === option.label) {
39185
+ if (!enableAllowCreateMode.value || !option || !option.created || option.created && props.reserveKeyword && states.inputValue === getLabel(option)) {
39150
39186
  return;
39151
39187
  }
39152
- const idx = states.createdOptions.findIndex((it) => it.value === option.value);
39188
+ const idx = states.createdOptions.findIndex((it) => getValue(it) === getValue(option));
39153
39189
  if (~idx) {
39154
39190
  states.createdOptions.splice(idx, 1);
39155
39191
  createOptionCount.value--;
@@ -39169,28 +39205,6 @@
39169
39205
  };
39170
39206
  }
39171
39207
 
39172
- const flattenOptions = (options) => {
39173
- const flattened = [];
39174
- options.forEach((option) => {
39175
- if (isArray$1(option.options)) {
39176
- flattened.push({
39177
- label: option.label,
39178
- isTitle: true,
39179
- type: "Group"
39180
- });
39181
- option.options.forEach((o) => {
39182
- flattened.push(o);
39183
- });
39184
- flattened.push({
39185
- type: "Group"
39186
- });
39187
- } else {
39188
- flattened.push(option);
39189
- }
39190
- });
39191
- return flattened;
39192
- };
39193
-
39194
39208
  function useInput(handleInput) {
39195
39209
  const isComposing = vue.ref(false);
39196
39210
  const handleCompositionStart = () => {
@@ -39228,6 +39242,7 @@
39228
39242
  const nsSelectV2 = useNamespace("select-v2");
39229
39243
  const nsInput = useNamespace("input");
39230
39244
  const { form: elForm, formItem: elFormItem } = useFormItem();
39245
+ const { getLabel, getValue, getDisabled, getOptions } = useProps(props);
39231
39246
  const states = vue.reactive({
39232
39247
  inputValue: DEFAULT_INPUT_PLACEHOLDER,
39233
39248
  displayInputValue: DEFAULT_INPUT_PLACEHOLDER,
@@ -39301,37 +39316,37 @@
39301
39316
  const isValidOption = (o) => {
39302
39317
  const query = states.inputValue;
39303
39318
  const regexp = new RegExp(escapeStringRegexp(query), "i");
39304
- const containsQueryString = query ? regexp.test(o.label || "") : true;
39319
+ const containsQueryString = query ? regexp.test(getLabel(o) || "") : true;
39305
39320
  return containsQueryString;
39306
39321
  };
39307
39322
  if (props.loading) {
39308
39323
  return [];
39309
39324
  }
39310
- return flattenOptions(props.options.concat(states.createdOptions).map((v) => {
39311
- if (isArray$1(v.options)) {
39312
- const filtered = v.options.filter(isValidOption);
39325
+ return [...props.options, ...states.createdOptions].reduce((all, item) => {
39326
+ const options = getOptions(item);
39327
+ if (isArray$1(options)) {
39328
+ const filtered = options.filter(isValidOption);
39313
39329
  if (filtered.length > 0) {
39314
- return {
39315
- ...v,
39316
- options: filtered
39317
- };
39318
- }
39319
- } else {
39320
- if (props.remote || isValidOption(v)) {
39321
- return v;
39330
+ all.push({
39331
+ label: getLabel(item),
39332
+ isTitle: true,
39333
+ type: "Group"
39334
+ }, ...filtered, { type: "Group" });
39322
39335
  }
39336
+ } else if (props.remote || isValidOption(item)) {
39337
+ all.push(item);
39323
39338
  }
39324
- return null;
39325
- }).filter((v) => v !== null));
39339
+ return all;
39340
+ }, []);
39326
39341
  });
39327
39342
  const filteredOptionsValueMap = vue.computed(() => {
39328
39343
  const valueMap = /* @__PURE__ */ new Map();
39329
39344
  filteredOptions.value.forEach((option, index) => {
39330
- valueMap.set(getValueKey(option.value), { option, index });
39345
+ valueMap.set(getValueKey(getValue(option)), { option, index });
39331
39346
  });
39332
39347
  return valueMap;
39333
39348
  });
39334
- const optionsAllDisabled = vue.computed(() => filteredOptions.value.every((option) => option.disabled));
39349
+ const optionsAllDisabled = vue.computed(() => filteredOptions.value.every((option) => getDisabled(option)));
39335
39350
  const selectSize = useFormSize();
39336
39351
  const collapseTagSize = vue.computed(() => selectSize.value === "small" ? "small" : "default");
39337
39352
  const tagMaxWidth = vue.computed(() => {
@@ -39447,7 +39462,7 @@
39447
39462
  const update = (val) => {
39448
39463
  emit(UPDATE_MODEL_EVENT, val);
39449
39464
  emitChange(val);
39450
- states.previousValue = val == null ? void 0 : val.toString();
39465
+ states.previousValue = String(val);
39451
39466
  };
39452
39467
  const getValueIndex = (arr = [], value) => {
39453
39468
  if (!isObject$1(value)) {
@@ -39467,9 +39482,6 @@
39467
39482
  const getValueKey = (item) => {
39468
39483
  return isObject$1(item) ? get(item, props.valueKey) : item;
39469
39484
  };
39470
- const getLabel = (item) => {
39471
- return isObject$1(item) ? item.label : item;
39472
- };
39473
39485
  const resetInputHeight = () => {
39474
39486
  return vue.nextTick(() => {
39475
39487
  var _a, _b;
@@ -39501,7 +39513,7 @@
39501
39513
  var _a, _b;
39502
39514
  if (props.multiple) {
39503
39515
  let selectedOptions = props.modelValue.slice();
39504
- const index = getValueIndex(selectedOptions, option.value);
39516
+ const index = getValueIndex(selectedOptions, getValue(option));
39505
39517
  if (index > -1) {
39506
39518
  selectedOptions = [
39507
39519
  ...selectedOptions.slice(0, index),
@@ -39510,7 +39522,7 @@
39510
39522
  states.cachedOptions.splice(index, 1);
39511
39523
  removeNewOption(option);
39512
39524
  } else if (props.multipleLimit <= 0 || selectedOptions.length < props.multipleLimit) {
39513
- selectedOptions = [...selectedOptions, option.value];
39525
+ selectedOptions = [...selectedOptions, getValue(option)];
39514
39526
  states.cachedOptions.push(option);
39515
39527
  selectNewOption(option);
39516
39528
  updateHoveringIndex(idx);
@@ -39532,8 +39544,8 @@
39532
39544
  setSoftFocus();
39533
39545
  } else {
39534
39546
  selectedIndex.value = idx;
39535
- states.selectedLabel = option.label;
39536
- update(option.value);
39547
+ states.selectedLabel = getLabel(option);
39548
+ update(getValue(option));
39537
39549
  expanded.value = false;
39538
39550
  states.isComposing = false;
39539
39551
  states.isSilentBlur = byClick;
@@ -39546,7 +39558,7 @@
39546
39558
  };
39547
39559
  const deleteTag = (event, option) => {
39548
39560
  let selectedOptions = props.modelValue.slice();
39549
- const index = getValueIndex(selectedOptions, option.value);
39561
+ const index = getValueIndex(selectedOptions, getValue(option));
39550
39562
  if (index > -1 && !selectDisabled.value) {
39551
39563
  selectedOptions = [
39552
39564
  ...props.modelValue.slice(0, index),
@@ -39554,7 +39566,7 @@
39554
39566
  ];
39555
39567
  states.cachedOptions.splice(index, 1);
39556
39568
  update(selectedOptions);
39557
- emit("remove-tag", option.value);
39569
+ emit("remove-tag", getValue(option));
39558
39570
  states.softFocus = true;
39559
39571
  removeNewOption(option);
39560
39572
  return vue.nextTick(focusAndUpdatePopup);
@@ -39652,7 +39664,7 @@
39652
39664
  }
39653
39665
  }
39654
39666
  const option = options[newIndex];
39655
- if (option.disabled || option.type === "Group") {
39667
+ if (getDisabled(option) || option.type === "Group") {
39656
39668
  return onKeyboardNavigate(direction, newIndex);
39657
39669
  } else {
39658
39670
  updateHoveringIndex(newIndex);
@@ -39737,9 +39749,9 @@
39737
39749
  if (hasModelValue.value) {
39738
39750
  states.previousValue = props.modelValue;
39739
39751
  const options = filteredOptions.value;
39740
- const selectedItemIndex = options.findIndex((option) => getValueKey(option.value) === getValueKey(props.modelValue));
39752
+ const selectedItemIndex = options.findIndex((option) => getValueKey(getValue(option)) === getValueKey(props.modelValue));
39741
39753
  if (~selectedItemIndex) {
39742
- states.selectedLabel = options[selectedItemIndex].label;
39754
+ states.selectedLabel = getLabel(options[selectedItemIndex]);
39743
39755
  updateHoveringIndex(selectedItemIndex);
39744
39756
  } else {
39745
39757
  states.selectedLabel = `${props.modelValue}`;
@@ -39831,6 +39843,8 @@
39831
39843
  debouncedOnInputChange,
39832
39844
  deleteTag,
39833
39845
  getLabel,
39846
+ getValue,
39847
+ getDisabled,
39834
39848
  getValueKey,
39835
39849
  handleBlur,
39836
39850
  handleClear,
@@ -39963,11 +39977,11 @@
39963
39977
  _ctx.collapseTags && _ctx.modelValue.length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
39964
39978
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.showTagList, (item) => {
39965
39979
  return vue.openBlock(), vue.createElementBlock("div", {
39966
- key: _ctx.getValueKey(item),
39980
+ key: _ctx.getValueKey(_ctx.getValue(item)),
39967
39981
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
39968
39982
  }, [
39969
39983
  vue.createVNode(_component_el_tag, {
39970
- closable: !_ctx.selectDisabled && !(item == null ? void 0 : item.disable),
39984
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(item),
39971
39985
  size: _ctx.collapseTagSize,
39972
39986
  type: "info",
39973
39987
  "disable-transitions": "",
@@ -39979,7 +39993,7 @@
39979
39993
  style: vue.normalizeStyle({
39980
39994
  maxWidth: `${_ctx.tagMaxWidth}px`
39981
39995
  })
39982
- }, vue.toDisplayString(item == null ? void 0 : item.label), 7)
39996
+ }, vue.toDisplayString(_ctx.getLabel(item)), 7)
39983
39997
  ]),
39984
39998
  _: 2
39985
39999
  }, 1032, ["closable", "size", "onClose"])
@@ -40010,7 +40024,7 @@
40010
40024
  style: vue.normalizeStyle({
40011
40025
  maxWidth: `${_ctx.tagMaxWidth}px`
40012
40026
  })
40013
- }, "+ " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7)
40027
+ }, " + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7)
40014
40028
  ]),
40015
40029
  content: vue.withCtx(() => [
40016
40030
  vue.createElementVNode("div", {
@@ -40018,11 +40032,11 @@
40018
40032
  }, [
40019
40033
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.collapseTagList, (selected) => {
40020
40034
  return vue.openBlock(), vue.createElementBlock("div", {
40021
- key: _ctx.getValueKey(selected),
40035
+ key: _ctx.getValueKey(_ctx.getValue(selected)),
40022
40036
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
40023
40037
  }, [
40024
40038
  vue.createVNode(_component_el_tag, {
40025
- closable: !_ctx.selectDisabled && !selected.disabled,
40039
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(selected),
40026
40040
  size: _ctx.collapseTagSize,
40027
40041
  class: "in-tooltip",
40028
40042
  type: "info",
@@ -40050,18 +40064,18 @@
40050
40064
  style: vue.normalizeStyle({
40051
40065
  maxWidth: `${_ctx.tagMaxWidth}px`
40052
40066
  })
40053
- }, "+ " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7))
40067
+ }, " + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 7))
40054
40068
  ]),
40055
40069
  _: 1
40056
40070
  }, 8, ["size"])) : vue.createCommentVNode("v-if", true)
40057
40071
  ], 2)
40058
40072
  ], 64)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.states.cachedOptions, (selected) => {
40059
40073
  return vue.openBlock(), vue.createElementBlock("div", {
40060
- key: _ctx.getValueKey(selected),
40074
+ key: _ctx.getValueKey(_ctx.getValue(selected)),
40061
40075
  class: vue.normalizeClass(_ctx.nsSelectV2.e("selected-item"))
40062
40076
  }, [
40063
40077
  vue.createVNode(_component_el_tag, {
40064
- closable: !_ctx.selectDisabled && !selected.disabled,
40078
+ closable: !_ctx.selectDisabled && !_ctx.getDisabled(selected),
40065
40079
  size: _ctx.collapseTagSize,
40066
40080
  type: "info",
40067
40081
  "disable-transitions": "",