@element-plus/nightly 0.0.20220305 → 0.0.20220306

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 (498) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +1142 -801
  3. package/dist/index.full.min.js +6 -6
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +6 -6
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +1137 -800
  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/bg.js +1 -1
  17. package/dist/locale/bg.min.js +1 -1
  18. package/dist/locale/bg.min.mjs +1 -1
  19. package/dist/locale/bg.mjs +1 -1
  20. package/dist/locale/bn.js +1 -1
  21. package/dist/locale/bn.min.js +1 -1
  22. package/dist/locale/bn.min.mjs +1 -1
  23. package/dist/locale/bn.mjs +1 -1
  24. package/dist/locale/ca.js +1 -1
  25. package/dist/locale/ca.min.js +1 -1
  26. package/dist/locale/ca.min.mjs +1 -1
  27. package/dist/locale/ca.mjs +1 -1
  28. package/dist/locale/cs.js +1 -1
  29. package/dist/locale/cs.min.js +1 -1
  30. package/dist/locale/cs.min.mjs +1 -1
  31. package/dist/locale/cs.mjs +1 -1
  32. package/dist/locale/da.js +1 -1
  33. package/dist/locale/da.min.js +1 -1
  34. package/dist/locale/da.min.mjs +1 -1
  35. package/dist/locale/da.mjs +1 -1
  36. package/dist/locale/de.js +1 -1
  37. package/dist/locale/de.min.js +1 -1
  38. package/dist/locale/de.min.mjs +1 -1
  39. package/dist/locale/de.mjs +1 -1
  40. package/dist/locale/el.js +1 -1
  41. package/dist/locale/el.min.js +1 -1
  42. package/dist/locale/el.min.mjs +1 -1
  43. package/dist/locale/el.mjs +1 -1
  44. package/dist/locale/en.js +1 -1
  45. package/dist/locale/en.min.js +1 -1
  46. package/dist/locale/en.min.mjs +1 -1
  47. package/dist/locale/en.mjs +1 -1
  48. package/dist/locale/eo.js +1 -1
  49. package/dist/locale/eo.min.js +1 -1
  50. package/dist/locale/eo.min.mjs +1 -1
  51. package/dist/locale/eo.mjs +1 -1
  52. package/dist/locale/es.js +1 -1
  53. package/dist/locale/es.min.js +1 -1
  54. package/dist/locale/es.min.mjs +1 -1
  55. package/dist/locale/es.mjs +1 -1
  56. package/dist/locale/et.js +1 -1
  57. package/dist/locale/et.min.js +1 -1
  58. package/dist/locale/et.min.mjs +1 -1
  59. package/dist/locale/et.mjs +1 -1
  60. package/dist/locale/eu.js +1 -1
  61. package/dist/locale/eu.min.js +1 -1
  62. package/dist/locale/eu.min.mjs +1 -1
  63. package/dist/locale/eu.mjs +1 -1
  64. package/dist/locale/fa.js +1 -1
  65. package/dist/locale/fa.min.js +1 -1
  66. package/dist/locale/fa.min.mjs +1 -1
  67. package/dist/locale/fa.mjs +1 -1
  68. package/dist/locale/fi.js +1 -1
  69. package/dist/locale/fi.min.js +1 -1
  70. package/dist/locale/fi.min.mjs +1 -1
  71. package/dist/locale/fi.mjs +1 -1
  72. package/dist/locale/fr.js +1 -1
  73. package/dist/locale/fr.min.js +1 -1
  74. package/dist/locale/fr.min.mjs +1 -1
  75. package/dist/locale/fr.mjs +1 -1
  76. package/dist/locale/he.js +1 -1
  77. package/dist/locale/he.min.js +1 -1
  78. package/dist/locale/he.min.mjs +1 -1
  79. package/dist/locale/he.mjs +1 -1
  80. package/dist/locale/hr.js +1 -1
  81. package/dist/locale/hr.min.js +1 -1
  82. package/dist/locale/hr.min.mjs +1 -1
  83. package/dist/locale/hr.mjs +1 -1
  84. package/dist/locale/hu.js +1 -1
  85. package/dist/locale/hu.min.js +1 -1
  86. package/dist/locale/hu.min.mjs +1 -1
  87. package/dist/locale/hu.mjs +1 -1
  88. package/dist/locale/hy-am.js +1 -1
  89. package/dist/locale/hy-am.min.js +1 -1
  90. package/dist/locale/hy-am.min.mjs +1 -1
  91. package/dist/locale/hy-am.mjs +1 -1
  92. package/dist/locale/id.js +1 -1
  93. package/dist/locale/id.min.js +1 -1
  94. package/dist/locale/id.min.mjs +1 -1
  95. package/dist/locale/id.mjs +1 -1
  96. package/dist/locale/it.js +1 -1
  97. package/dist/locale/it.min.js +1 -1
  98. package/dist/locale/it.min.mjs +1 -1
  99. package/dist/locale/it.mjs +1 -1
  100. package/dist/locale/ja.js +1 -1
  101. package/dist/locale/ja.min.js +1 -1
  102. package/dist/locale/ja.min.mjs +1 -1
  103. package/dist/locale/ja.mjs +1 -1
  104. package/dist/locale/kk.js +1 -1
  105. package/dist/locale/kk.min.js +1 -1
  106. package/dist/locale/kk.min.mjs +1 -1
  107. package/dist/locale/kk.mjs +1 -1
  108. package/dist/locale/km.js +1 -1
  109. package/dist/locale/km.min.js +1 -1
  110. package/dist/locale/km.min.mjs +1 -1
  111. package/dist/locale/km.mjs +1 -1
  112. package/dist/locale/ko.js +1 -1
  113. package/dist/locale/ko.min.js +1 -1
  114. package/dist/locale/ko.min.mjs +1 -1
  115. package/dist/locale/ko.mjs +1 -1
  116. package/dist/locale/ku.js +1 -1
  117. package/dist/locale/ku.min.js +1 -1
  118. package/dist/locale/ku.min.mjs +1 -1
  119. package/dist/locale/ku.mjs +1 -1
  120. package/dist/locale/ky.js +1 -1
  121. package/dist/locale/ky.min.js +1 -1
  122. package/dist/locale/ky.min.mjs +1 -1
  123. package/dist/locale/ky.mjs +1 -1
  124. package/dist/locale/lt.js +1 -1
  125. package/dist/locale/lt.min.js +1 -1
  126. package/dist/locale/lt.min.mjs +1 -1
  127. package/dist/locale/lt.mjs +1 -1
  128. package/dist/locale/lv.js +1 -1
  129. package/dist/locale/lv.min.js +1 -1
  130. package/dist/locale/lv.min.mjs +1 -1
  131. package/dist/locale/lv.mjs +1 -1
  132. package/dist/locale/mg.js +1 -1
  133. package/dist/locale/mg.min.js +1 -1
  134. package/dist/locale/mg.min.mjs +1 -1
  135. package/dist/locale/mg.mjs +1 -1
  136. package/dist/locale/mn.js +1 -1
  137. package/dist/locale/mn.min.js +1 -1
  138. package/dist/locale/mn.min.mjs +1 -1
  139. package/dist/locale/mn.mjs +1 -1
  140. package/dist/locale/nb-no.js +1 -1
  141. package/dist/locale/nb-no.min.js +1 -1
  142. package/dist/locale/nb-no.min.mjs +1 -1
  143. package/dist/locale/nb-no.mjs +1 -1
  144. package/dist/locale/nl.js +1 -1
  145. package/dist/locale/nl.min.js +1 -1
  146. package/dist/locale/nl.min.mjs +1 -1
  147. package/dist/locale/nl.mjs +1 -1
  148. package/dist/locale/pa.js +1 -1
  149. package/dist/locale/pa.min.js +1 -1
  150. package/dist/locale/pa.min.mjs +1 -1
  151. package/dist/locale/pa.mjs +1 -1
  152. package/dist/locale/pl.js +1 -1
  153. package/dist/locale/pl.min.js +1 -1
  154. package/dist/locale/pl.min.mjs +1 -1
  155. package/dist/locale/pl.mjs +1 -1
  156. package/dist/locale/pt-br.js +1 -1
  157. package/dist/locale/pt-br.min.js +1 -1
  158. package/dist/locale/pt-br.min.mjs +1 -1
  159. package/dist/locale/pt-br.mjs +1 -1
  160. package/dist/locale/pt.js +1 -1
  161. package/dist/locale/pt.min.js +1 -1
  162. package/dist/locale/pt.min.mjs +1 -1
  163. package/dist/locale/pt.mjs +1 -1
  164. package/dist/locale/ro.js +1 -1
  165. package/dist/locale/ro.min.js +1 -1
  166. package/dist/locale/ro.min.mjs +1 -1
  167. package/dist/locale/ro.mjs +1 -1
  168. package/dist/locale/ru.js +1 -1
  169. package/dist/locale/ru.min.js +1 -1
  170. package/dist/locale/ru.min.mjs +1 -1
  171. package/dist/locale/ru.mjs +1 -1
  172. package/dist/locale/sk.js +1 -1
  173. package/dist/locale/sk.min.js +1 -1
  174. package/dist/locale/sk.min.mjs +1 -1
  175. package/dist/locale/sk.mjs +1 -1
  176. package/dist/locale/sl.js +1 -1
  177. package/dist/locale/sl.min.js +1 -1
  178. package/dist/locale/sl.min.mjs +1 -1
  179. package/dist/locale/sl.mjs +1 -1
  180. package/dist/locale/sr.js +1 -1
  181. package/dist/locale/sr.min.js +1 -1
  182. package/dist/locale/sr.min.mjs +1 -1
  183. package/dist/locale/sr.mjs +1 -1
  184. package/dist/locale/sv.js +1 -1
  185. package/dist/locale/sv.min.js +1 -1
  186. package/dist/locale/sv.min.mjs +1 -1
  187. package/dist/locale/sv.mjs +1 -1
  188. package/dist/locale/ta.js +1 -1
  189. package/dist/locale/ta.min.js +1 -1
  190. package/dist/locale/ta.min.mjs +1 -1
  191. package/dist/locale/ta.mjs +1 -1
  192. package/dist/locale/th.js +1 -1
  193. package/dist/locale/th.min.js +1 -1
  194. package/dist/locale/th.min.mjs +1 -1
  195. package/dist/locale/th.mjs +1 -1
  196. package/dist/locale/tk.js +1 -1
  197. package/dist/locale/tk.min.js +1 -1
  198. package/dist/locale/tk.min.mjs +1 -1
  199. package/dist/locale/tk.mjs +1 -1
  200. package/dist/locale/tr.js +1 -1
  201. package/dist/locale/tr.min.js +1 -1
  202. package/dist/locale/tr.min.mjs +1 -1
  203. package/dist/locale/tr.mjs +1 -1
  204. package/dist/locale/ug-cn.js +1 -1
  205. package/dist/locale/ug-cn.min.js +1 -1
  206. package/dist/locale/ug-cn.min.mjs +1 -1
  207. package/dist/locale/ug-cn.mjs +1 -1
  208. package/dist/locale/uk.js +1 -1
  209. package/dist/locale/uk.min.js +1 -1
  210. package/dist/locale/uk.min.mjs +1 -1
  211. package/dist/locale/uk.mjs +1 -1
  212. package/dist/locale/uz-uz.js +1 -1
  213. package/dist/locale/uz-uz.min.js +1 -1
  214. package/dist/locale/uz-uz.min.mjs +1 -1
  215. package/dist/locale/uz-uz.mjs +1 -1
  216. package/dist/locale/vi.js +1 -1
  217. package/dist/locale/vi.min.js +1 -1
  218. package/dist/locale/vi.min.mjs +1 -1
  219. package/dist/locale/vi.mjs +1 -1
  220. package/dist/locale/zh-cn.js +1 -1
  221. package/dist/locale/zh-cn.min.js +1 -1
  222. package/dist/locale/zh-cn.min.mjs +1 -1
  223. package/dist/locale/zh-cn.mjs +1 -1
  224. package/dist/locale/zh-tw.js +1 -1
  225. package/dist/locale/zh-tw.min.js +1 -1
  226. package/dist/locale/zh-tw.min.mjs +1 -1
  227. package/dist/locale/zh-tw.mjs +1 -1
  228. package/es/components/autocomplete/index.d.ts +4 -4
  229. package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  230. package/es/components/button/index.d.ts +1 -1
  231. package/es/components/button/src/button.vue.d.ts +1 -1
  232. package/es/components/cascader/index.d.ts +18 -18
  233. package/es/components/cascader/src/index.mjs +5 -4
  234. package/es/components/cascader/src/index.mjs.map +1 -1
  235. package/es/components/cascader/src/index.vue.d.ts +9 -9
  236. package/es/components/checkbox/src/checkbox-group.mjs +2 -1
  237. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  238. package/es/components/checkbox/src/useCheckbox.d.ts +4 -4
  239. package/es/components/checkbox/src/useCheckbox.mjs +6 -4
  240. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  241. package/es/components/color-picker/src/index.mjs +6 -5
  242. package/es/components/color-picker/src/index.mjs.map +1 -1
  243. package/es/components/dropdown/index.d.ts +3 -0
  244. package/es/components/dropdown/src/dropdown.d.ts +1 -0
  245. package/es/components/dropdown/src/dropdown.mjs +4 -0
  246. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  247. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
  248. package/es/components/dropdown/src/dropdown2.mjs +8 -5
  249. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  250. package/es/components/form/index.d.ts +285 -210
  251. package/es/components/form/index.mjs +8 -5
  252. package/es/components/form/index.mjs.map +1 -1
  253. package/es/components/form/src/form-item.d.ts +21 -0
  254. package/es/components/form/src/form-item.mjs +41 -301
  255. package/es/components/form/src/form-item.mjs.map +1 -1
  256. package/es/components/form/src/form-item.vue.d.ts +104 -73
  257. package/es/components/form/src/form-item2.mjs +249 -0
  258. package/es/components/form/src/form-item2.mjs.map +1 -0
  259. package/es/components/form/src/form-label-wrap.d.ts +11 -0
  260. package/es/components/form/src/form-label-wrap.mjs +96 -0
  261. package/es/components/form/src/form-label-wrap.mjs.map +1 -0
  262. package/es/components/form/src/form.d.ts +25 -0
  263. package/es/components/form/src/form.mjs +43 -208
  264. package/es/components/form/src/form.mjs.map +1 -1
  265. package/es/components/form/src/form.vue.d.ts +86 -76
  266. package/es/components/form/src/form2.mjs +130 -0
  267. package/es/components/form/src/form2.mjs.map +1 -0
  268. package/es/components/form/src/types.d.ts +9 -0
  269. package/es/components/form/src/types.mjs +2 -0
  270. package/es/components/form/src/types.mjs.map +1 -0
  271. package/es/components/form/src/utils.d.ts +9 -0
  272. package/es/components/form/src/utils.mjs +48 -0
  273. package/es/components/form/src/utils.mjs.map +1 -0
  274. package/es/components/index.mjs +2 -0
  275. package/es/components/index.mjs.map +1 -1
  276. package/es/components/input/index.d.ts +1 -1
  277. package/es/components/input/src/input.vue.d.ts +1 -1
  278. package/es/components/input/src/input2.mjs +3 -2
  279. package/es/components/input/src/input2.mjs.map +1 -1
  280. package/es/components/input-number/index.d.ts +2 -2
  281. package/es/components/input-number/src/input-number.vue.d.ts +2 -2
  282. package/es/components/input-number/src/input-number2.mjs +2 -2
  283. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  284. package/es/components/popover/index.d.ts +2 -0
  285. package/es/components/popover/src/index.mjs +6 -1
  286. package/es/components/popover/src/index.mjs.map +1 -1
  287. package/es/components/popover/src/index.vue.d.ts +1 -0
  288. package/es/components/radio/index.d.ts +1 -1
  289. package/es/components/radio/src/radio-group.vue.d.ts +10 -10
  290. package/es/components/radio/src/radio-group2.mjs +3 -1
  291. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  292. package/es/components/radio/src/radio.vue.d.ts +1 -1
  293. package/es/components/rate/index.d.ts +1 -1
  294. package/es/components/rate/src/rate.vue.d.ts +1 -1
  295. package/es/components/rate/src/rate2.mjs +2 -2
  296. package/es/components/rate/src/rate2.mjs.map +1 -1
  297. package/es/components/scrollbar/index.d.ts +3 -3
  298. package/es/components/scrollbar/src/scrollbar.d.ts +1 -1
  299. package/es/components/scrollbar/src/scrollbar.mjs +1 -1
  300. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  301. package/es/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
  302. package/es/components/select/src/useSelect.mjs +7 -6
  303. package/es/components/select/src/useSelect.mjs.map +1 -1
  304. package/es/components/select-v2/index.d.ts +6 -6
  305. package/es/components/select-v2/src/defaults.d.ts +1 -1
  306. package/es/components/select-v2/src/select.vue.d.ts +3 -3
  307. package/es/components/select-v2/src/useSelect.mjs +2 -1
  308. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  309. package/es/components/slider/index.d.ts +2 -2
  310. package/es/components/slider/src/index.mjs +3 -3
  311. package/es/components/slider/src/index.mjs.map +1 -1
  312. package/es/components/slider/src/index.vue.d.ts +1 -1
  313. package/es/components/slider/src/useSlide.d.ts +2 -2
  314. package/es/components/slider/src/useSlide.mjs +3 -3
  315. package/es/components/slider/src/useSlide.mjs.map +1 -1
  316. package/es/components/switch/src/switch2.mjs +2 -2
  317. package/es/components/switch/src/switch2.mjs.map +1 -1
  318. package/es/components/table/index.d.ts +4 -0
  319. package/es/components/table/src/config.mjs +2 -2
  320. package/es/components/table/src/config.mjs.map +1 -1
  321. package/es/components/table/src/table/style-helper.d.ts +4 -0
  322. package/es/components/table/src/table/style-helper.mjs +6 -1
  323. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  324. package/es/components/table/src/table-column/index.mjs +11 -4
  325. package/es/components/table/src/table-column/index.mjs.map +1 -1
  326. package/es/components/table/src/table.mjs +7 -4
  327. package/es/components/table/src/table.mjs.map +1 -1
  328. package/es/components/table/src/table.vue.d.ts +4 -0
  329. package/es/components/time-picker/src/common/picker.mjs +6 -5
  330. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  331. package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
  332. package/es/components/transfer/src/index.mjs +6 -4
  333. package/es/components/transfer/src/index.mjs.map +1 -1
  334. package/es/hooks/use-common-props/index.mjs +4 -4
  335. package/es/hooks/use-common-props/index.mjs.map +1 -1
  336. package/es/hooks/use-form-item/index.d.ts +2 -2
  337. package/es/hooks/use-form-item/index.mjs +3 -3
  338. package/es/hooks/use-form-item/index.mjs.map +1 -1
  339. package/es/index.mjs +3 -1
  340. package/es/index.mjs.map +1 -1
  341. package/es/tokens/form.d.ts +17 -37
  342. package/es/tokens/form.mjs +3 -3
  343. package/es/tokens/form.mjs.map +1 -1
  344. package/es/tokens/index.mjs +1 -1
  345. package/es/utils/error.d.ts +1 -0
  346. package/es/utils/error.mjs +5 -1
  347. package/es/utils/error.mjs.map +1 -1
  348. package/es/utils/index.mjs +1 -1
  349. package/es/utils/objects.d.ts +3 -5
  350. package/es/utils/objects.mjs +10 -35
  351. package/es/utils/objects.mjs.map +1 -1
  352. package/es/version.d.ts +1 -1
  353. package/es/version.mjs +1 -1
  354. package/es/version.mjs.map +1 -1
  355. package/lib/components/autocomplete/index.d.ts +4 -4
  356. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  357. package/lib/components/button/index.d.ts +1 -1
  358. package/lib/components/button/src/button.vue.d.ts +1 -1
  359. package/lib/components/cascader/index.d.ts +18 -18
  360. package/lib/components/cascader/src/index.js +4 -3
  361. package/lib/components/cascader/src/index.js.map +1 -1
  362. package/lib/components/cascader/src/index.vue.d.ts +9 -9
  363. package/lib/components/checkbox/src/checkbox-group.js +2 -1
  364. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  365. package/lib/components/checkbox/src/useCheckbox.d.ts +4 -4
  366. package/lib/components/checkbox/src/useCheckbox.js +5 -3
  367. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  368. package/lib/components/color-picker/src/index.js +5 -4
  369. package/lib/components/color-picker/src/index.js.map +1 -1
  370. package/lib/components/dropdown/index.d.ts +3 -0
  371. package/lib/components/dropdown/src/dropdown.d.ts +1 -0
  372. package/lib/components/dropdown/src/dropdown.js +4 -0
  373. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  374. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
  375. package/lib/components/dropdown/src/dropdown2.js +8 -5
  376. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  377. package/lib/components/form/index.d.ts +285 -210
  378. package/lib/components/form/index.js +10 -3
  379. package/lib/components/form/index.js.map +1 -1
  380. package/lib/components/form/src/form-item.d.ts +21 -0
  381. package/lib/components/form/src/form-item.js +42 -305
  382. package/lib/components/form/src/form-item.js.map +1 -1
  383. package/lib/components/form/src/form-item.vue.d.ts +104 -73
  384. package/lib/components/form/src/form-item2.js +257 -0
  385. package/lib/components/form/src/form-item2.js.map +1 -0
  386. package/lib/components/form/src/form-label-wrap.d.ts +11 -0
  387. package/lib/components/form/src/form-label-wrap.js +100 -0
  388. package/lib/components/form/src/form-label-wrap.js.map +1 -0
  389. package/lib/components/form/src/form.d.ts +25 -0
  390. package/lib/components/form/src/form.js +44 -208
  391. package/lib/components/form/src/form.js.map +1 -1
  392. package/lib/components/form/src/form.vue.d.ts +86 -76
  393. package/lib/components/form/src/form2.js +134 -0
  394. package/lib/components/form/src/form2.js.map +1 -0
  395. package/lib/components/form/src/types.d.ts +9 -0
  396. package/lib/components/form/src/types.js +3 -0
  397. package/lib/components/form/src/types.js.map +1 -0
  398. package/lib/components/form/src/utils.d.ts +9 -0
  399. package/lib/components/form/src/utils.js +53 -0
  400. package/lib/components/form/src/utils.js.map +1 -0
  401. package/lib/components/index.js +6 -0
  402. package/lib/components/index.js.map +1 -1
  403. package/lib/components/input/index.d.ts +1 -1
  404. package/lib/components/input/src/input.vue.d.ts +1 -1
  405. package/lib/components/input/src/input2.js +3 -2
  406. package/lib/components/input/src/input2.js.map +1 -1
  407. package/lib/components/input-number/index.d.ts +2 -2
  408. package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
  409. package/lib/components/input-number/src/input-number2.js +2 -2
  410. package/lib/components/input-number/src/input-number2.js.map +1 -1
  411. package/lib/components/popover/index.d.ts +2 -0
  412. package/lib/components/popover/src/index.js +6 -1
  413. package/lib/components/popover/src/index.js.map +1 -1
  414. package/lib/components/popover/src/index.vue.d.ts +1 -0
  415. package/lib/components/radio/index.d.ts +1 -1
  416. package/lib/components/radio/src/radio-group.vue.d.ts +10 -10
  417. package/lib/components/radio/src/radio-group2.js +3 -1
  418. package/lib/components/radio/src/radio-group2.js.map +1 -1
  419. package/lib/components/radio/src/radio.vue.d.ts +1 -1
  420. package/lib/components/rate/index.d.ts +1 -1
  421. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  422. package/lib/components/rate/src/rate2.js +1 -1
  423. package/lib/components/rate/src/rate2.js.map +1 -1
  424. package/lib/components/scrollbar/index.d.ts +3 -3
  425. package/lib/components/scrollbar/src/scrollbar.d.ts +1 -1
  426. package/lib/components/scrollbar/src/scrollbar.js +1 -1
  427. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  428. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
  429. package/lib/components/select/src/useSelect.js +6 -5
  430. package/lib/components/select/src/useSelect.js.map +1 -1
  431. package/lib/components/select-v2/index.d.ts +6 -6
  432. package/lib/components/select-v2/src/defaults.d.ts +1 -1
  433. package/lib/components/select-v2/src/select.vue.d.ts +3 -3
  434. package/lib/components/select-v2/src/useSelect.js +2 -1
  435. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  436. package/lib/components/slider/index.d.ts +2 -2
  437. package/lib/components/slider/src/index.js +2 -2
  438. package/lib/components/slider/src/index.js.map +1 -1
  439. package/lib/components/slider/src/index.vue.d.ts +1 -1
  440. package/lib/components/slider/src/useSlide.d.ts +2 -2
  441. package/lib/components/slider/src/useSlide.js +2 -2
  442. package/lib/components/slider/src/useSlide.js.map +1 -1
  443. package/lib/components/switch/src/switch2.js +2 -2
  444. package/lib/components/switch/src/switch2.js.map +1 -1
  445. package/lib/components/table/index.d.ts +4 -0
  446. package/lib/components/table/src/config.js +1 -1
  447. package/lib/components/table/src/config.js.map +1 -1
  448. package/lib/components/table/src/table/style-helper.d.ts +4 -0
  449. package/lib/components/table/src/table/style-helper.js +6 -1
  450. package/lib/components/table/src/table/style-helper.js.map +1 -1
  451. package/lib/components/table/src/table-column/index.js +11 -4
  452. package/lib/components/table/src/table-column/index.js.map +1 -1
  453. package/lib/components/table/src/table.js +7 -4
  454. package/lib/components/table/src/table.js.map +1 -1
  455. package/lib/components/table/src/table.vue.d.ts +4 -0
  456. package/lib/components/time-picker/src/common/picker.js +5 -4
  457. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  458. package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
  459. package/lib/components/transfer/src/index.js +5 -3
  460. package/lib/components/transfer/src/index.js.map +1 -1
  461. package/lib/hooks/use-common-props/index.js +3 -3
  462. package/lib/hooks/use-common-props/index.js.map +1 -1
  463. package/lib/hooks/use-form-item/index.d.ts +2 -2
  464. package/lib/hooks/use-form-item/index.js +2 -2
  465. package/lib/hooks/use-form-item/index.js.map +1 -1
  466. package/lib/index.js +9 -3
  467. package/lib/index.js.map +1 -1
  468. package/lib/tokens/form.d.ts +17 -37
  469. package/lib/tokens/form.js +4 -4
  470. package/lib/tokens/form.js.map +1 -1
  471. package/lib/tokens/index.js +2 -2
  472. package/lib/utils/error.d.ts +1 -0
  473. package/lib/utils/error.js +5 -1
  474. package/lib/utils/error.js.map +1 -1
  475. package/lib/utils/index.js +1 -1
  476. package/lib/utils/objects.d.ts +3 -5
  477. package/lib/utils/objects.js +10 -34
  478. package/lib/utils/objects.js.map +1 -1
  479. package/lib/version.d.ts +1 -1
  480. package/lib/version.js +1 -1
  481. package/lib/version.js.map +1 -1
  482. package/package.json +2 -2
  483. package/theme-chalk/el-dropdown.css +1 -1
  484. package/theme-chalk/index.css +1 -1
  485. package/theme-chalk/src/dropdown.scss +5 -0
  486. package/web-types.json +1 -1
  487. package/es/components/form/src/form.type.d.ts +0 -5
  488. package/es/components/form/src/form.type.mjs +0 -2
  489. package/es/components/form/src/form.type.mjs.map +0 -1
  490. package/es/components/form/src/label-wrap.d.ts +0 -13
  491. package/es/components/form/src/label-wrap.mjs +0 -83
  492. package/es/components/form/src/label-wrap.mjs.map +0 -1
  493. package/lib/components/form/src/form.type.d.ts +0 -5
  494. package/lib/components/form/src/form.type.js +0 -3
  495. package/lib/components/form/src/form.type.js.map +0 -1
  496. package/lib/components/form/src/label-wrap.d.ts +0 -13
  497. package/lib/components/form/src/label-wrap.js +0 -87
  498. package/lib/components/form/src/label-wrap.js.map +0 -1
@@ -153,8 +153,8 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
153
153
  type: string;
154
154
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
155
155
  disabled: boolean;
156
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
157
156
  label: string;
157
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
158
158
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
159
159
  autosize: boolean | {
160
160
  minRows?: number | undefined;
@@ -312,8 +312,8 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
312
312
  type: string;
313
313
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
314
314
  disabled: boolean;
315
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
316
315
  label: string;
316
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
317
317
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
318
318
  autosize: boolean | {
319
319
  minRows?: number | undefined;
@@ -154,8 +154,8 @@ declare const _default: import("vue").DefineComponent<{
154
154
  type: string;
155
155
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
156
156
  disabled: boolean;
157
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
158
157
  label: string;
158
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
159
159
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
160
160
  autosize: boolean | {
161
161
  minRows?: number | undefined;
@@ -313,8 +313,8 @@ declare const _default: import("vue").DefineComponent<{
313
313
  type: string;
314
314
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
315
315
  disabled: boolean;
316
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
317
316
  label: string;
317
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
318
318
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
319
319
  autosize: boolean | {
320
320
  minRows?: number | undefined;
@@ -132,7 +132,7 @@ const _sfc_main = defineComponent({
132
132
  emit("update:modelValue", newVal);
133
133
  emit("input", newVal);
134
134
  emit("change", newVal, oldVal);
135
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change");
135
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
136
136
  data.currentValue = newVal;
137
137
  };
138
138
  const handleInput = (value) => {
@@ -159,7 +159,7 @@ const _sfc_main = defineComponent({
159
159
  const handleBlur = (event) => {
160
160
  var _a;
161
161
  emit("blur", event);
162
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur");
162
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
163
163
  };
164
164
  watch(() => props.modelValue, (value) => {
165
165
  let newVal = Number(value);
@@ -1 +1 @@
1
- {"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n watch,\n onMounted,\n onUpdated,\n} from 'vue'\n\nimport { ElIcon } from '@element-plus/components/icon'\nimport { RepeatClick } from '@element-plus/directives'\nimport {\n useDisabled,\n useFormItem,\n useSize,\n useNamespace,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { isNumber, debugWarn } from '@element-plus/utils'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons-vue'\nimport { inputNumberProps, inputNumberEmits } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number | undefined\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'ElInputNumber',\n components: {\n ElInput,\n ElIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n directives: {\n RepeatClick,\n },\n props: inputNumberProps,\n emits: inputNumberEmits,\n setup(props, { emit }) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n const { formItem } = useFormItem()\n const ns = useNamespace('input-number')\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const inputNumberSize = useSize()\n const inputNumberDisabled = useDisabled()\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n const increase = () => {\n if (inputNumberDisabled.value || maxDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _increase(value)\n setCurrentValue(newVal)\n }\n const decrease = () => {\n if (inputNumberDisabled.value || minDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _decrease(value)\n setCurrentValue(newVal)\n }\n const setCurrentValue = (newVal: number | string) => {\n const oldVal = data.currentValue\n if (typeof newVal === 'number' && props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n if (newVal !== undefined && newVal >= props.max) newVal = props.max\n if (newVal !== undefined && newVal <= props.min) newVal = props.min\n if (oldVal === newVal) return\n if (!isNumber(newVal)) {\n newVal = undefined\n }\n data.userInput = null\n emit('update:modelValue', newVal)\n emit('input', newVal)\n emit('change', newVal, oldVal)\n formItem?.validate?.('change')\n data.currentValue = newVal\n }\n const handleInput = (value: string) => {\n return (data.userInput = value)\n }\n const handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n }\n\n const focus = () => {\n input.value?.focus?.()\n }\n\n const blur = () => {\n input.value?.blur?.()\n }\n\n const handleFocus = (event: MouseEvent) => {\n emit('focus', event)\n }\n\n const handleBlur = (event: MouseEvent) => {\n emit('blur', event)\n formItem?.validate?.('blur')\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n let newVal = Number(value)\n if (value === null) {\n newVal = Number.NaN\n }\n if (!isNaN(newVal)) {\n if (props.stepStrictly) {\n const stepPrecision = getPrecision(props.step)\n const precisionFactor = Math.pow(10, stepPrecision)\n newVal =\n (Math.round(newVal / props.step) * precisionFactor * props.step) /\n precisionFactor\n }\n if (props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n\n if (newVal > props.max) {\n newVal = props.max\n emit('update:modelValue', newVal)\n }\n if (newVal < props.min) {\n newVal = props.min\n emit('update:modelValue', newVal)\n }\n }\n data.currentValue = newVal\n data.userInput = null\n },\n { immediate: true }\n )\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n if (!isNumber(props.modelValue)) {\n let val: number | undefined = Number(props.modelValue)\n if (isNaN(val)) {\n val = undefined\n }\n emit('update:modelValue', val)\n }\n })\n onUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', data.currentValue)\n })\n return {\n input,\n displayValue,\n handleInput,\n handleInputChange,\n controlsAtRight,\n decrease,\n increase,\n inputNumberSize,\n inputNumberDisabled,\n maxDisabled,\n minDisabled,\n focus,\n blur,\n handleFocus,\n handleBlur,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n watch,\n onMounted,\n onUpdated,\n} from 'vue'\n\nimport { ElIcon } from '@element-plus/components/icon'\nimport { RepeatClick } from '@element-plus/directives'\nimport {\n useDisabled,\n useFormItem,\n useSize,\n useNamespace,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport { isNumber, debugWarn } from '@element-plus/utils'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons-vue'\nimport { inputNumberProps, inputNumberEmits } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number | undefined\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'ElInputNumber',\n components: {\n ElInput,\n ElIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n directives: {\n RepeatClick,\n },\n props: inputNumberProps,\n emits: inputNumberEmits,\n setup(props, { emit }) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n const { formItem } = useFormItem()\n const ns = useNamespace('input-number')\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const inputNumberSize = useSize()\n const inputNumberDisabled = useDisabled()\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n const increase = () => {\n if (inputNumberDisabled.value || maxDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _increase(value)\n setCurrentValue(newVal)\n }\n const decrease = () => {\n if (inputNumberDisabled.value || minDisabled.value) return\n const value = props.modelValue || 0\n const newVal = _decrease(value)\n setCurrentValue(newVal)\n }\n const setCurrentValue = (newVal: number | string) => {\n const oldVal = data.currentValue\n if (typeof newVal === 'number' && props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n if (newVal !== undefined && newVal >= props.max) newVal = props.max\n if (newVal !== undefined && newVal <= props.min) newVal = props.min\n if (oldVal === newVal) return\n if (!isNumber(newVal)) {\n newVal = undefined\n }\n data.userInput = null\n emit('update:modelValue', newVal)\n emit('input', newVal)\n emit('change', newVal, oldVal)\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n data.currentValue = newVal\n }\n const handleInput = (value: string) => {\n return (data.userInput = value)\n }\n const handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n }\n\n const focus = () => {\n input.value?.focus?.()\n }\n\n const blur = () => {\n input.value?.blur?.()\n }\n\n const handleFocus = (event: MouseEvent) => {\n emit('focus', event)\n }\n\n const handleBlur = (event: MouseEvent) => {\n emit('blur', event)\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n let newVal = Number(value)\n if (value === null) {\n newVal = Number.NaN\n }\n if (!isNaN(newVal)) {\n if (props.stepStrictly) {\n const stepPrecision = getPrecision(props.step)\n const precisionFactor = Math.pow(10, stepPrecision)\n newVal =\n (Math.round(newVal / props.step) * precisionFactor * props.step) /\n precisionFactor\n }\n if (props.precision !== undefined) {\n newVal = toPrecision(newVal, props.precision)\n }\n\n if (newVal > props.max) {\n newVal = props.max\n emit('update:modelValue', newVal)\n }\n if (newVal < props.min) {\n newVal = props.min\n emit('update:modelValue', newVal)\n }\n }\n data.currentValue = newVal\n data.userInput = null\n },\n { immediate: true }\n )\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n if (!isNumber(props.modelValue)) {\n let val: number | undefined = Number(props.modelValue)\n if (isNaN(val)) {\n val = undefined\n }\n emit('update:modelValue', val)\n }\n })\n onUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', data.currentValue)\n })\n return {\n input,\n displayValue,\n handleInput,\n handleInputChange,\n controlsAtRight,\n decrease,\n increase,\n inputNumberSize,\n inputNumberDisabled,\n maxDisabled,\n minDisabled,\n focus,\n blur,\n handleFocus,\n handleBlur,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@ declare const _Popover: SFCWithInstall<import("vue").DefineComponent<{
78
78
  kls: import("vue").ComputedRef<(string | {
79
79
  [x: string]: any;
80
80
  } | undefined)[]>;
81
+ gpuAcceleration: import("vue").ComputedRef<boolean>;
81
82
  style: import("vue").ComputedRef<import("vue").StyleValue>;
82
83
  tooltipRef: import("vue").Ref<({
83
84
  $: import("vue").ComponentInternalInstance;
@@ -868,6 +869,7 @@ export declare const ElPopover: SFCWithInstall<import("vue").DefineComponent<{
868
869
  kls: import("vue").ComputedRef<(string | {
869
870
  [x: string]: any;
870
871
  } | undefined)[]>;
872
+ gpuAcceleration: import("vue").ComputedRef<boolean>;
871
873
  style: import("vue").ComputedRef<import("vue").StyleValue>;
872
874
  tooltipRef: import("vue").Ref<({
873
875
  $: import("vue").ComponentInternalInstance;
@@ -48,6 +48,9 @@ const _sfc_main = defineComponent({
48
48
  const kls = computed(() => {
49
49
  return [ns.b(), props.popperClass, { [ns.m("plain")]: !!props.content }];
50
50
  });
51
+ const gpuAcceleration = computed(() => {
52
+ return props.transition === "el-fade-in-linear";
53
+ });
51
54
  const { compatTeleported } = useDeprecateAppendToBody(COMPONENT_NAME, "appendToBody");
52
55
  const hide = () => {
53
56
  var _a;
@@ -69,6 +72,7 @@ const _sfc_main = defineComponent({
69
72
  compatTeleported,
70
73
  ns,
71
74
  kls,
75
+ gpuAcceleration,
72
76
  style,
73
77
  tooltipRef,
74
78
  popperRef,
@@ -104,6 +108,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
104
108
  "popper-style": _ctx.style,
105
109
  teleported: _ctx.compatTeleported,
106
110
  persistent: _ctx.persistent,
111
+ "gpu-acceleration": _ctx.gpuAcceleration,
107
112
  onBeforeShow: _ctx.beforeEnter,
108
113
  onBeforeHide: _ctx.beforeLeave,
109
114
  onShow: _ctx.afterEnter,
@@ -123,7 +128,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
123
128
  _ctx.$slots.reference ? renderSlot(_ctx.$slots, "reference", { key: 0 }) : createCommentVNode("v-if", true)
124
129
  ]),
125
130
  _: 3
126
- }, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "append-to-body", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "onBeforeShow", "onBeforeHide", "onShow", "onHide"]);
131
+ }, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "append-to-body", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "gpu-acceleration", "onBeforeShow", "onBeforeHide", "onShow", "onHide"]);
127
132
  }
128
133
  var Popover = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
129
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n :persistent=\"persistent\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = [\n 'update:visible',\n 'before-enter',\n 'before-leave',\n 'after-enter',\n 'after-leave',\n]\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const beforeEnter = () => {\n emit('before-enter')\n }\n const beforeLeave = () => {\n emit('before-leave')\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n style,\n tooltipRef,\n popperRef,\n hide,\n beforeEnter,\n beforeLeave,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAsDA,MAAM,QAAQ;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGF,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB;AACE;AAAK;AAEP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;AAjIY;AACJ;AACE,IACX;AAAU,IACV,SAAS;AAAA,IACT;AAAY,IACZ;AAAgB,IAChB,UAAU;AAAA,IACV,kBAAgB;AAAA,IAChB;AAAS,IACT;AAAQ,IACR,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ;AAAQ,IACR;AAAW,IACX;AAAc,IACd,gBAAc;AAAA,IACd;AAAY,IACZ;AAAY,IACZ;AAAa,IACb;AAAa,IACb;AAAM,IACN;AAAM;IAMI;AAGH,MAFK;AAEL;;AAFwB,QAAW,MAAK;AAAA,sCACpC;;AAIH;AADK;AAAA;AAAA;AAPH,MAFK;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n :persistent=\"persistent\"\n :gpu-acceleration=\"gpuAcceleration\"\n @before-show=\"beforeEnter\"\n @before-hide=\"beforeLeave\"\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = [\n 'update:visible',\n 'before-enter',\n 'before-leave',\n 'after-enter',\n 'after-leave',\n]\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const gpuAcceleration = computed(() => {\n return props.transition === 'el-fade-in-linear'\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const beforeEnter = () => {\n emit('before-enter')\n }\n const beforeLeave = () => {\n emit('before-leave')\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n gpuAcceleration,\n style,\n tooltipRef,\n popperRef,\n hide,\n beforeEnter,\n beforeLeave,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAuDA,MAAM,QAAQ;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGF,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AACE;AAA4B;AAG9B;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB;AACE;AAAK;AAEP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;AAvIY;AACJ;AACE,IACX;AAAU,IACV,SAAS;AAAA,IACT;AAAY,IACZ;AAAgB,IAChB,UAAU;AAAA,IACV,kBAAgB;AAAA,IAChB;AAAS,IACT;AAAQ,IACR,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ;AAAQ,IACR;AAAW,IACX;AAAc,IACd,gBAAc;AAAA,IACd;AAAY,IACZ;AAAY,IACZ;AAAkB,IAClB;AAAa,IACb;AAAa,IACb;AAAM,IACN;AAAM;IAMI;AAGH,MAFK;AAEL;;AAFwB,QAAW,MAAK;AAAA,sCACpC;;AAIH;AADK;AAAA;AAAA;AAPH,MAFK;;;;;;;;;;;"}
@@ -77,6 +77,7 @@ declare const _default: import("vue").DefineComponent<{
77
77
  kls: import("vue").ComputedRef<(string | {
78
78
  [x: string]: any;
79
79
  } | undefined)[]>;
80
+ gpuAcceleration: import("vue").ComputedRef<boolean>;
80
81
  style: import("vue").ComputedRef<StyleValue>;
81
82
  tooltipRef: import("vue").Ref<({
82
83
  $: import("vue").ComponentInternalInstance;
@@ -45,8 +45,8 @@ export declare const ElRadio: import("element-plus/es/utils").SFCWithInstall<imp
45
45
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
46
46
  disabled: boolean;
47
47
  name: string;
48
- modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
49
48
  label: import("element-plus/es/utils").BuildPropType<(BooleanConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
49
+ modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
50
50
  border: boolean;
51
51
  }>> & {
52
52
  RadioButton: import("vue").DefineComponent<{
@@ -1,9 +1,9 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly size: import("../../../utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
2
+ readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
3
3
  readonly disabled: BooleanConstructor;
4
- readonly modelValue: import("../../../utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
5
- readonly fill: import("../../../utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
6
- readonly textColor: import("../../../utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
4
+ readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
5
+ readonly fill: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
6
+ readonly textColor: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
7
7
  }, {
8
8
  ns: {
9
9
  namespace: import("vue").ComputedRef<string>;
@@ -25,19 +25,19 @@ declare const _default: import("vue").DefineComponent<{
25
25
  "update:modelValue": (val: string | number | boolean) => boolean;
26
26
  change: (val: string | number | boolean) => boolean;
27
27
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
- readonly size: import("../../../utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
28
+ readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "default" | "small" | "large", never>;
29
29
  readonly disabled: BooleanConstructor;
30
- readonly modelValue: import("../../../utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
31
- readonly fill: import("../../../utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
32
- readonly textColor: import("../../../utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
30
+ readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor, BooleanConstructor], "", unknown, unknown, unknown>;
31
+ readonly fill: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
32
+ readonly textColor: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
33
33
  }>> & {
34
34
  onChange?: ((val: string | number | boolean) => any) | undefined;
35
35
  "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
36
36
  }, {
37
- size: import("../../../utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
37
+ size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
38
38
  disabled: boolean;
39
39
  fill: string;
40
- modelValue: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
40
+ modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
41
41
  textColor: string;
42
42
  }>;
43
43
  export default _default;
@@ -2,6 +2,7 @@ import { defineComponent, ref, nextTick, onMounted, provide, reactive, toRefs, w
2
2
  import '../../../constants/index.mjs';
3
3
  import '../../../tokens/index.mjs';
4
4
  import '../../../hooks/index.mjs';
5
+ import '../../../utils/index.mjs';
5
6
  import { radioGroupProps, radioGroupEmits } from './radio-group.mjs';
6
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
@@ -9,6 +10,7 @@ import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
9
10
  import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
10
11
  import { EVENT_CODE } from '../../../constants/aria.mjs';
11
12
  import { radioGroupKey } from '../../../tokens/radio.mjs';
13
+ import { debugWarn } from '../../../utils/error.mjs';
12
14
 
13
15
  const _sfc_main = defineComponent({
14
16
  name: "ElRadioGroup",
@@ -64,7 +66,7 @@ const _sfc_main = defineComponent({
64
66
  ...toRefs(props),
65
67
  changeEvent
66
68
  }));
67
- watch(() => props.modelValue, () => formItem == null ? void 0 : formItem.validate("change"));
69
+ watch(() => props.modelValue, () => formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err)));
68
70
  return {
69
71
  ns,
70
72
  radioGroupRef,
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change')\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;AA4BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,gBAAgB;AACtB,UAAM,EAAE,aAAa;AAErB,UAAM,cAAc,CAAC,UAAyC;AAC5D,UAAI,KAAK,oBAAoB;AAC7B,eAAS,MAAM,IAAI,KAAK,UAAU;AAAA;AAGpC,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,CAAC,cAAc;AAAO;AAG1B,YAAM,SAAS,EAAE;AACjB,YAAM,YACJ,OAAO,aAAa,UAAU,iBAAiB;AACjD,YAAM,SACJ,cAAc,MAAM,iBAAmC;AACzD,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ;AACzC,YAAM,aACJ,cAAc,MAAM,iBAAmC;AAEzD,UAAI,YAA2B;AAC/B,cAAQ,EAAE;AAAA,aACH,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC/C;AAAA,aACG,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,SAAS,IAAI,IAAI,QAAQ;AAC/C;AAAA;AAEA;AAAA;AAEJ,UAAI,cAAc;AAAM;AACxB,iBAAW,WAAW;AACtB,iBAAW,WAAW;AAAA;AAGxB,cAAU,MAAM;AACd,YAAM,SACJ,cAAc,MAAO,iBAAmC;AAC1D,YAAM,aAAa,OAAO;AAC1B,UAAI,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,UAAU,MAAM,YAAY,YAAY;AACpE,mBAAW,WAAW;AAAA;AAAA;AAI1B,YACE,eACA,SAAS;AAAA,SACJ,OAAO;AAAA,MACV;AAAA;AAIJ,UACE,MAAM,MAAM,YACZ,MAAM,mBAAmB;AAG3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;sBAvGJA,mBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,eAAE,QAAG,EAAC;AAAA,IACZ,MAAK;AAAA,IACJ,WAAO,uCAAE;AAAA;IAEVC,WAAa;AAAA;;;;;;"}
1
+ {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change').catch((err) => debugWarn(err))\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;;;AA6BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,gBAAgB;AACtB,UAAM,EAAE,aAAa;AAErB,UAAM,cAAc,CAAC,UAAyC;AAC5D,UAAI,KAAK,oBAAoB;AAC7B,eAAS,MAAM,IAAI,KAAK,UAAU;AAAA;AAGpC,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,CAAC,cAAc;AAAO;AAG1B,YAAM,SAAS,EAAE;AACjB,YAAM,YACJ,OAAO,aAAa,UAAU,iBAAiB;AACjD,YAAM,SACJ,cAAc,MAAM,iBAAmC;AACzD,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ;AACzC,YAAM,aACJ,cAAc,MAAM,iBAAmC;AAEzD,UAAI,YAA2B;AAC/B,cAAQ,EAAE;AAAA,aACH,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC/C;AAAA,aACG,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,SAAS,IAAI,IAAI,QAAQ;AAC/C;AAAA;AAEA;AAAA;AAEJ,UAAI,cAAc;AAAM;AACxB,iBAAW,WAAW;AACtB,iBAAW,WAAW;AAAA;AAGxB,cAAU,MAAM;AACd,YAAM,SACJ,cAAc,MAAO,iBAAmC;AAC1D,YAAM,aAAa,OAAO;AAC1B,UAAI,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,UAAU,MAAM,YAAY,YAAY;AACpE,mBAAW,WAAW;AAAA;AAAA;AAI1B,YACE,eACA,SAAS;AAAA,SACJ,OAAO;AAAA,MACV;AAAA;AAIJ,UACE,MAAM,MAAM,YACZ,MAAM,mBAAmB,iBAAiB,kBAAkB;AAG9D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;sBAxGJA,mBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,eAAE,QAAG,EAAC;AAAA,IACZ,MAAK;AAAA,IACJ,WAAO,uCAAE;AAAA;IAEVC,WAAa;AAAA;;;;;;"}
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
45
45
  size: import("../../../utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
46
46
  disabled: boolean;
47
47
  name: string;
48
- modelValue: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
49
48
  label: import("../../../utils").BuildPropType<(BooleanConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
49
+ modelValue: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
50
50
  border: boolean;
51
51
  }>;
52
52
  export default _default;
@@ -34,7 +34,7 @@ export declare const ElRate: import("element-plus/es/utils").SFCWithInstall<impo
34
34
  };
35
35
  hoverIndex: import("vue").Ref<number>;
36
36
  currentValue: import("vue").Ref<number>;
37
- rateDisabled: import("vue").ComputedRef<boolean | undefined>;
37
+ rateDisabled: import("vue").ComputedRef<boolean>;
38
38
  text: import("vue").ComputedRef<string>;
39
39
  decimalStyle: import("vue").ComputedRef<{
40
40
  color: string | {
@@ -34,7 +34,7 @@ declare const _default: import("vue").DefineComponent<{
34
34
  };
35
35
  hoverIndex: import("vue").Ref<number>;
36
36
  currentValue: import("vue").Ref<number>;
37
- rateDisabled: import("vue").ComputedRef<boolean | undefined>;
37
+ rateDisabled: import("vue").ComputedRef<boolean>;
38
38
  text: import("vue").ComputedRef<string>;
39
39
  decimalStyle: import("vue").ComputedRef<{
40
40
  color: string | {
@@ -8,7 +8,7 @@ import { StarFilled, Star } from '@element-plus/icons-vue';
8
8
  import '../../../hooks/index.mjs';
9
9
  import { rateProps, rateEmits } from './rate.mjs';
10
10
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
- import { elFormKey } from '../../../tokens/form.mjs';
11
+ import { formContextKey } from '../../../tokens/form.mjs';
12
12
  import { useSize } from '../../../hooks/use-common-props/index.mjs';
13
13
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
14
14
  import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
@@ -35,7 +35,7 @@ const _sfc_main = defineComponent({
35
35
  props: rateProps,
36
36
  emits: rateEmits,
37
37
  setup(props, { emit }) {
38
- const elForm = inject(elFormKey, {});
38
+ const elForm = inject(formContextKey, {});
39
39
  const rateSize = useSize();
40
40
  const ns = useNamespace("rate");
41
41
  const currentValue = ref(props.modelValue);
@@ -1 +1 @@
1
- {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_normalizeStyle","_createVNode","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;;;;AA0DA,yBACE,OACA,KACA;AACA,QAAM,mBAAmB,CACvB,QACyD,SAAS;AAEpE,QAAM,cAAc,OAAO,KAAK,KAC7B,IAAI,CAAC,QAAQ,CAAC,KACd,OAAO,CAAC,QAAQ;AACf,UAAM,MAAM,IAAI;AAChB,UAAM,WAAW,iBAAiB,OAAO,IAAI,WAAW;AACxD,WAAO,WAAW,QAAQ,MAAM,SAAS;AAAA,KAE1C,KAAK,CAAC,GAAG,MAAM,IAAI;AACtB,QAAM,eAAe,IAAI,YAAY;AACrC,SAAQ,iBAAiB,iBAAiB,aAAa,SAAU;AAAA;AAGnE,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,SAAS,OAAO,WAAW;AACjC,UAAM,WAAW;AACjB,UAAM,KAAK,aAAa;AAExB,UAAM,eAAe,IAAI,MAAM;AAC/B,UAAM,aAAa,IAAI;AACvB,UAAM,oBAAoB,IAAI;AAE9B,UAAM,UAAU,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,SAAS;AAEtD,UAAM,eAAe,SAAS,MAAM,MAAM,YAAY,OAAO;AAC7D,UAAM,OAAO,SAAS,MAAM;AAC1B,UAAI,SAAS;AACb,UAAI,MAAM,WAAW;AACnB,iBAAS,MAAM,cAAc,QAC3B,mBACA,aAAa,QAAQ,GAAG,MAAM,eAAe,GAAG,aAAa;AAAA,iBAEtD,MAAM,UAAU;AACzB,iBAAS,MAAM,MAAM,KAAK,KAAK,aAAa,SAAS;AAAA;AAEvD,aAAO;AAAA;AAET,UAAM,eAAe,SACnB,MAAM,MAAM,aAAa,MAAM,KAAK,MAAM,MAAM,cAAc;AAEhE,UAAM,WAAW,SAAS,MACxB,QAAQ,MAAM,UACV;AAAA,OACG,MAAM,eAAe,MAAM,OAAO;AAAA,OAClC,MAAM,gBAAgB,EAAE,OAAO,MAAM,OAAO,IAAI,UAAU;AAAA,OAC1D,MAAM,MAAM,MAAM,OAAO;AAAA,QAE5B,MAAM;AAEZ,UAAM,cAAc,SAAS,MAC3B,gBAAgB,aAAa,OAAO,SAAS;AAE/C,UAAM,eAAe,SAAS,MAAM;AAClC,UAAI,QAAQ;AACZ,UAAI,aAAa,OAAO;AACtB,gBAAQ,GAAG,aAAa;AAAA,iBACf,MAAM,WAAW;AAC1B,gBAAQ;AAAA;AAEV,aAAO;AAAA,QACL,OAAO,YAAY;AAAA,QACnB;AAAA;AAAA;AAGJ,UAAM,eAAe,SAAS,MAC5B,QAAQ,MAAM,SACV;AAAA,OACG,MAAM,eAAe,MAAM,MAAM;AAAA,OACjC,MAAM,gBAAgB;AAAA,QACrB,OAAO,MAAM,MAAM;AAAA,QACnB,UAAU;AAAA;AAAA,OAEX,MAAM,MAAM,MAAM,MAAM;AAAA,QAE3B,MAAM;AAEZ,UAAM,uBAAuB,SAAS,MACpC,gBAAgB,MAAM,YAAY,aAAa;AAEjD,UAAM,gBAAgB,SAAS,MAC7B,aAAa,QAAQ,MAAM,mBAAmB,MAAM;AAEtD,UAAM,kBAAkB,SAAS,MAC/B,gBAAgB,aAAa,OAAO,aAAa;AAEnD,UAAM,iBAAiB,SAAS,MAAM;AACpC,YAAM,SAAS,MAAM,MAAM;AAC3B,YAAM,YAAY,aAAa;AAC/B,aAAO,KAAK,gBAAgB,OAAO,GAAG;AACtC,aAAO,KAAK,cAAc,OAAO,WAAW,MAAM;AAClD,aAAO;AAAA;AAGT,6BAAyB,MAAc;AACrC,YAAM,mBACJ,aAAa,SACb,aAAa,QAAQ,KACrB,OAAO,IAAI,MAAM,cACjB,OAAO,MAAM;AACf,YAAM,oBACJ,MAAM,aACN,kBAAkB,SAClB,OAAO,OAAO,aAAa,SAC3B,OAAO,aAAa;AACtB,aAAO,oBAAoB;AAAA;AAG7B,0BAAsB,MAAc;AAClC,YAAM,YAAY,aAAa,QAC3B,MAAM,oBACN,MAAM;AACV,aAAO;AAAA,QACL,OAAO,QAAQ,aAAa,QAAQ,YAAY,QAAQ;AAAA;AAAA;AAI5D,yBAAqB,OAAe;AAClC,UAAI,aAAa,OAAO;AACtB;AAAA;AAEF,UAAI,MAAM,aAAa,kBAAkB,OAAO;AAC9C,aAAK,oBAAoB,aAAa;AACtC,YAAI,MAAM,eAAe,aAAa,OAAO;AAC3C,eAAK,UAAU,aAAa;AAAA;AAAA,aAEzB;AACL,aAAK,oBAAoB;AACzB,YAAI,MAAM,eAAe,OAAO;AAC9B,eAAK,UAAU;AAAA;AAAA;AAAA;AAKrB,uBAAmB,GAAkB;AACnC,UAAI,aAAa,OAAO;AACtB;AAAA;AAEF,UAAI,gBAAgB,aAAa;AACjC,YAAM,OAAO,EAAE;AACf,UAAI,SAAS,WAAW,MAAM,SAAS,WAAW,OAAO;AACvD,YAAI,MAAM,WAAW;AACnB,2BAAiB;AAAA,eACZ;AACL,2BAAiB;AAAA;AAEnB,UAAE;AACF,UAAE;AAAA,iBACO,SAAS,WAAW,QAAQ,SAAS,WAAW,MAAM;AAC/D,YAAI,MAAM,WAAW;AACnB,2BAAiB;AAAA,eACZ;AACL,2BAAiB;AAAA;AAEnB,UAAE;AACF,UAAE;AAAA;AAEJ,sBAAgB,gBAAgB,IAAI,IAAI;AACxC,sBAAgB,gBAAgB,MAAM,MAAM,MAAM,MAAM;AACxD,WAAK,oBAAoB;AACzB,WAAK,UAAU;AACf,aAAO;AAAA;AAGT,6BAAyB,OAAe,OAAmB;AACzD,UAAI,aAAa,OAAO;AACtB;AAAA;AAEF,UAAI,MAAM,WAAW;AAEnB,YAAI,SAAS,MAAM;AACnB,YAAI,SAAS,QAAQ,GAAG,EAAE,UAAU;AAClC,mBAAS,OAAO,cAAc,IAAI,GAAG,EAAE;AAAA;AAEzC,YAAI,OAAO,gBAAgB,KAAK,SAAS,QAAQ,GAAG,EAAE,aAAa;AACjE,mBAAS,OAAO;AAAA;AAElB,0BAAkB,QAAQ,MAAM,UAAU,KAAK,OAAO;AACtD,qBAAa,QAAQ,kBAAkB,QAAQ,QAAQ,MAAM;AAAA,aACxD;AACL,qBAAa,QAAQ;AAAA;AAEvB,iBAAW,QAAQ;AAAA;AAGrB,iCAA6B;AAC3B,UAAI,aAAa,OAAO;AACtB;AAAA;AAEF,UAAI,MAAM,WAAW;AACnB,0BAAkB,QAChB,MAAM,eAAe,KAAK,MAAM,MAAM;AAAA;AAE1C,mBAAa,QAAQ,MAAM;AAC3B,iBAAW,QAAQ;AAAA;AAGrB,UACE,MAAM,MAAM,YACZ,CAAC,QAAQ;AACP,mBAAa,QAAQ;AACrB,wBAAkB,QAChB,MAAM,eAAe,KAAK,MAAM,MAAM;AAAA;AAI5C,QAAI,CAAC,MAAM,YAAY;AACrB,WAAK,oBAAoB;AAAA;AAG3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;sBA3SJA,mBA2CM;AAAA,IA1CH,OAAKC,eAAE;AAAA,IACR,MAAK;AAAA,IACJ,iBAAe;AAAA,IACf,kBAAgB;AAAA,IACjB,iBAAc;AAAA,IACb,iBAAe;AAAA,IAChB,UAAS;AAAA,IACR,WAAO,uCAAE;AAAA;sBAEVD,mBAyBOE,2BAxBiB,UAAG,CAAjB,MAAM,QAAG;0BADnBF,mBAyBO;AAAA,QAvBJ;AAAA,QACA,OAAKC,eAAE,QAAG,EAAC;AAAA,QACX,OAAKE,yBAAY,oBAAY;AAAA,QAC7B,aAAS,YAAE,qBAAgB,MAAM;AAAA,QACjC,cAAU,uCAAE;AAAA,QACZ,SAAK,YAAE,iBAAY;AAAA;QAEpBC,YAeU;AAAA,UAdP,OAAKH,gBAAG,QAAG,EAAC,kBAAmB,oBAAe;AAAA,UAC9C,OAAKE,eAAE,kBAAa;AAAA;2BAErB,MAGE;AAAA,aADO,qBAAgB,sBAFzBE,YAGEC,wBAFK,oBAAe,OAAI;YAIlB,qBAAgB,sBADxBD,YAMU;AAAA;cAJP,OAAKF,eAAE;AAAA,cACP,OAAKF,gBAAG,QAAG,EAAC,SAAU,QAAG,EAAC;AAAA;+BAE3B,MAAwC;AAAA,8BAAxCI,YAAwCC,wBAAxB;AAAA;AAAA;;;;;;;IAKd,iBAAY,+BADpBN,mBAMO;AAAA;MAJJ,OAAKC,eAAE,QAAG,EAAC;AAAA,MACX,OAAKE,wBAAW;AAAA,uBAEd,YAAI;;;;;;;"}
1
+ {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { formContextKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\n\nimport type { FormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(formContextKey, {} as FormContext)\n\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_normalizeStyle","_createVNode","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
5
5
  readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
6
6
  readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
7
7
  readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
8
- readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
8
+ readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
9
9
  readonly noresize: BooleanConstructor;
10
10
  readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
11
11
  readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
@@ -52,7 +52,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
52
52
  readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, "", unknown, unknown, unknown>;
53
53
  readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
54
54
  readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
55
- readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
55
+ readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
56
56
  readonly noresize: BooleanConstructor;
57
57
  readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
58
58
  readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
@@ -70,7 +70,7 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
70
70
  wrapStyle: import("vue").StyleValue;
71
71
  wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
72
72
  viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
73
- viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
73
+ viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
74
74
  tag: string;
75
75
  minSize: number;
76
76
  noresize: boolean;
@@ -6,7 +6,7 @@ export declare const scrollbarProps: {
6
6
  readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
7
7
  readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
8
8
  readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
9
- readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
9
+ readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
10
10
  readonly noresize: BooleanConstructor;
11
11
  readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
12
12
  readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
@@ -28,7 +28,7 @@ const scrollbarProps = buildProps({
28
28
  default: ""
29
29
  },
30
30
  viewStyle: {
31
- type: [String, Array],
31
+ type: [String, Array, Object],
32
32
  default: ""
33
33
  },
34
34
  noresize: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { StyleValue, ExtractPropTypes } from 'vue'\n\nexport const scrollbarProps = buildProps({\n height: {\n type: [String, Number],\n default: '',\n },\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n native: {\n type: Boolean,\n default: false,\n },\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n viewClass: {\n type: [String, Array],\n default: '',\n },\n viewStyle: {\n type: [String, Array],\n default: '',\n },\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\n\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => isNumber(scrollTop) && isNumber(scrollLeft),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,CAAC;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;AACnD;;;;"}
1
+ {"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { StyleValue, ExtractPropTypes } from 'vue'\n\nexport const scrollbarProps = buildProps({\n height: {\n type: [String, Number],\n default: '',\n },\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n native: {\n type: Boolean,\n default: false,\n },\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n viewClass: {\n type: [String, Array],\n default: '',\n },\n viewStyle: {\n type: [String, Array, Object],\n default: '',\n },\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\n\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => isNumber(scrollTop) && isNumber(scrollLeft),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,CAAC;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;AACnD;;;;"}
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
6
6
  readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
7
7
  readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
8
8
  readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
9
- readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
9
+ readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
10
10
  readonly noresize: BooleanConstructor;
11
11
  readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
12
12
  readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
@@ -53,7 +53,7 @@ declare const _default: import("vue").DefineComponent<{
53
53
  readonly wrapStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, "", unknown, unknown, unknown>;
54
54
  readonly wrapClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
55
55
  readonly viewClass: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
56
- readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor], "", unknown, unknown, unknown>;
56
+ readonly viewStyle: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], "", unknown, unknown, unknown>;
57
57
  readonly noresize: BooleanConstructor;
58
58
  readonly tag: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "div", unknown, unknown, unknown>;
59
59
  readonly always: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
@@ -71,7 +71,7 @@ declare const _default: import("vue").DefineComponent<{
71
71
  wrapStyle: StyleValue;
72
72
  wrapClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
73
73
  viewClass: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
74
- viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
74
+ viewStyle: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
75
75
  tag: string;
76
76
  minSize: number;
77
77
  noresize: boolean;
@@ -8,8 +8,9 @@ import '../../../hooks/index.mjs';
8
8
  import '../../../tokens/index.mjs';
9
9
  import { useLocale } from '../../../hooks/use-locale/index.mjs';
10
10
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
- import { elFormKey, elFormItemKey } from '../../../tokens/form.mjs';
11
+ import { formContextKey, formItemContextKey } from '../../../tokens/form.mjs';
12
12
  import { useSize } from '../../../hooks/use-common-props/index.mjs';
13
+ import { debugWarn } from '../../../utils/error.mjs';
13
14
  import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
14
15
  import { scrollIntoView } from '../../../utils/dom/scroll.mjs';
15
16
  import { EVENT_CODE } from '../../../constants/aria.mjs';
@@ -56,8 +57,8 @@ const useSelect = (props, states, ctx) => {
56
57
  const hoverOption = ref(-1);
57
58
  const queryChange = shallowRef({ query: "" });
58
59
  const groupQueryChange = shallowRef("");
59
- const elForm = inject(elFormKey, {});
60
- const elFormItem = inject(elFormItemKey, {});
60
+ const elForm = inject(formContextKey, {});
61
+ const elFormItem = inject(formItemContextKey, {});
61
62
  const readonly = computed(() => !props.filterable || props.multiple || !states.visible);
62
63
  const selectDisabled = computed(() => props.disabled || elForm.disabled);
63
64
  const showClose = computed(() => {
@@ -130,7 +131,7 @@ const useSelect = (props, states, ctx) => {
130
131
  states.inputLength = 20;
131
132
  }
132
133
  if (!isEqual(val, oldVal)) {
133
- (_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
134
+ (_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
134
135
  }
135
136
  }, {
136
137
  flush: "post",
@@ -539,10 +540,10 @@ const useSelect = (props, states, ctx) => {
539
540
  const handleFocus = (event) => {
540
541
  if (!states.softFocus) {
541
542
  if (props.automaticDropdown || props.filterable) {
542
- states.visible = true;
543
- if (props.filterable) {
543
+ if (props.filterable && !states.visible) {
544
544
  states.menuVisibleOnFocus = true;
545
545
  }
546
+ states.visible = true;
546
547
  }
547
548
  ctx.emit("focus", event);
548
549
  } else {