@element-plus/nightly 0.0.20250824 → 0.0.20250826

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 (596) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +305 -283
  3. package/dist/index.full.min.js +19 -19
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +19 -19
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +305 -283
  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-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/cascader/src/cascader.d.ts +1 -1
  277. package/es/components/cascader/src/cascader.mjs +1 -1
  278. package/es/components/cascader/src/cascader.vue.d.ts +2 -2
  279. package/es/components/cascader-panel/src/config.d.ts +2 -2
  280. package/es/components/cascader-panel/src/config.mjs +1 -1
  281. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  282. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  283. package/es/components/cascader-panel/src/node.d.ts +1 -1
  284. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  285. package/es/components/cascader-panel/src/types.d.ts +1 -1
  286. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  287. package/es/components/check-tag/index.mjs +2 -2
  288. package/es/components/check-tag/src/check-tag.mjs +14 -38
  289. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  290. package/es/components/check-tag/src/check-tag2.mjs +38 -14
  291. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  292. package/es/components/collapse/index.mjs +4 -4
  293. package/es/components/collapse/src/collapse-item.mjs +95 -18
  294. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  295. package/es/components/collapse/src/collapse-item2.mjs +18 -95
  296. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  297. package/es/components/collapse/src/collapse.mjs +28 -23
  298. package/es/components/collapse/src/collapse.mjs.map +1 -1
  299. package/es/components/collapse/src/collapse2.mjs +23 -28
  300. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  301. package/es/components/date-picker-panel/src/composables/use-range-picker.d.ts +3 -3
  302. package/es/components/date-picker-panel/src/composables/use-range-picker.mjs +6 -6
  303. package/es/components/date-picker-panel/src/composables/use-range-picker.mjs.map +1 -1
  304. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs +6 -5
  305. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs.map +1 -1
  306. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.mjs +4 -4
  307. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.mjs.map +1 -1
  308. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.mjs +4 -4
  309. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.mjs.map +1 -1
  310. package/es/components/descriptions/src/description2.mjs +1 -1
  311. package/es/components/descriptions/src/descriptions-row.mjs +63 -6
  312. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  313. package/es/components/descriptions/src/descriptions-row2.mjs +6 -63
  314. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  315. package/es/components/dropdown/src/dropdown.mjs +1 -1
  316. package/es/components/index.mjs +18 -18
  317. package/es/components/input/src/input2.mjs +1 -1
  318. package/es/components/input/src/input2.mjs.map +1 -1
  319. package/es/components/input-tag/src/input-tag.mjs +1 -1
  320. package/es/components/input-tag/style/css.d.ts +1 -0
  321. package/es/components/input-tag/style/css.mjs +1 -0
  322. package/es/components/input-tag/style/css.mjs.map +1 -1
  323. package/es/components/input-tag/style/index.d.ts +2 -1
  324. package/es/components/input-tag/style/index.mjs +1 -0
  325. package/es/components/input-tag/style/index.mjs.map +1 -1
  326. package/es/components/link/index.mjs +2 -2
  327. package/es/components/link/src/link.mjs +71 -25
  328. package/es/components/link/src/link.mjs.map +1 -1
  329. package/es/components/link/src/link2.mjs +25 -71
  330. package/es/components/link/src/link2.mjs.map +1 -1
  331. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  332. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  333. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  334. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  335. package/es/components/mention/src/mention2.mjs +1 -1
  336. package/es/components/menu/index.mjs +2 -2
  337. package/es/components/menu/src/menu-item.mjs +100 -15
  338. package/es/components/menu/src/menu-item.mjs.map +1 -1
  339. package/es/components/menu/src/menu-item2.mjs +15 -100
  340. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  341. package/es/components/message/index.mjs +1 -1
  342. package/es/components/message/src/message.mjs +166 -107
  343. package/es/components/message/src/message.mjs.map +1 -1
  344. package/es/components/message/src/message2.mjs +107 -166
  345. package/es/components/message/src/message2.mjs.map +1 -1
  346. package/es/components/message/src/method.mjs +2 -2
  347. package/es/components/notification/src/notify.mjs +3 -3
  348. package/es/components/notification/src/notify.mjs.map +1 -1
  349. package/es/components/popover/src/popover.mjs +1 -1
  350. package/es/components/popper/src/trigger2.mjs +1 -1
  351. package/es/components/rate/index.mjs +2 -2
  352. package/es/components/rate/src/rate.mjs +248 -83
  353. package/es/components/rate/src/rate.mjs.map +1 -1
  354. package/es/components/rate/src/rate2.mjs +83 -258
  355. package/es/components/rate/src/rate2.mjs.map +1 -1
  356. package/es/components/result/index.mjs +2 -2
  357. package/es/components/result/src/result.mjs +62 -30
  358. package/es/components/result/src/result.mjs.map +1 -1
  359. package/es/components/result/src/result2.mjs +30 -62
  360. package/es/components/result/src/result2.mjs.map +1 -1
  361. package/es/components/scrollbar/index.mjs +1 -1
  362. package/es/components/scrollbar/src/bar2.mjs +1 -1
  363. package/es/components/scrollbar/src/thumb.mjs +139 -11
  364. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  365. package/es/components/scrollbar/src/thumb2.mjs +11 -139
  366. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  367. package/es/components/select/index.mjs +1 -1
  368. package/es/components/select/src/option.mjs +89 -13
  369. package/es/components/select/src/option.mjs.map +1 -1
  370. package/es/components/select/src/option2.mjs +13 -89
  371. package/es/components/select/src/option2.mjs.map +1 -1
  372. package/es/components/select/src/select.mjs +1 -1
  373. package/es/components/select/src/select.vue.d.ts +14 -1
  374. package/es/components/select/src/select2.mjs +4 -1
  375. package/es/components/select/src/select2.mjs.map +1 -1
  376. package/es/components/select/src/type.d.ts +1 -0
  377. package/es/components/select/src/useOption.mjs +1 -1
  378. package/es/components/select/src/useSelect.d.ts +14 -1
  379. package/es/components/select/src/useSelect.mjs +3 -0
  380. package/es/components/select/src/useSelect.mjs.map +1 -1
  381. package/es/components/select-v2/src/defaults.mjs +1 -1
  382. package/es/components/select-v2/src/select.mjs +232 -226
  383. package/es/components/select-v2/src/select.mjs.map +1 -1
  384. package/es/components/select-v2/src/select.vue.d.ts +2 -0
  385. package/es/components/select-v2/src/useSelect.d.ts +2 -0
  386. package/es/components/select-v2/src/useSelect.mjs +6 -0
  387. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  388. package/es/components/skeleton/index.mjs +2 -2
  389. package/es/components/skeleton/src/skeleton.mjs +18 -48
  390. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  391. package/es/components/skeleton/src/skeleton2.mjs +48 -18
  392. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  393. package/es/components/splitter/src/split-panel2.mjs +4 -0
  394. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  395. package/es/components/tabs/index.mjs +2 -2
  396. package/es/components/tabs/src/tab-pane.mjs +82 -13
  397. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  398. package/es/components/tabs/src/tab-pane2.mjs +13 -82
  399. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  400. package/es/components/tag/index.mjs +2 -2
  401. package/es/components/tag/src/tag.mjs +27 -99
  402. package/es/components/tag/src/tag.mjs.map +1 -1
  403. package/es/components/tag/src/tag2.mjs +99 -27
  404. package/es/components/tag/src/tag2.mjs.map +1 -1
  405. package/es/components/timeline/index.mjs +2 -2
  406. package/es/components/timeline/src/timeline-item.mjs +72 -33
  407. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  408. package/es/components/timeline/src/timeline-item2.mjs +33 -72
  409. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  410. package/es/components/tooltip/index.mjs +1 -1
  411. package/es/components/tooltip/src/tooltip.mjs +1 -1
  412. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  413. package/es/components/tooltip/src/trigger.mjs +14 -72
  414. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  415. package/es/components/tooltip/src/trigger2.mjs +72 -14
  416. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  417. package/es/components/tooltip-v2/index.mjs +1 -1
  418. package/es/components/tooltip-v2/src/root.mjs +79 -17
  419. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  420. package/es/components/tooltip-v2/src/root2.mjs +17 -79
  421. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  422. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  423. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  424. package/es/components/tree-v2/src/composables/useFilter.mjs +6 -2
  425. package/es/components/tree-v2/src/composables/useFilter.mjs.map +1 -1
  426. package/es/components/tree-v2/src/composables/useTree.mjs +5 -0
  427. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  428. package/es/directives/click-outside/index.mjs +1 -1
  429. package/es/hooks/use-lockscreen/index.mjs +1 -1
  430. package/es/index.d.ts +26 -10
  431. package/es/index.mjs +18 -18
  432. package/es/version.d.ts +1 -1
  433. package/es/version.mjs +1 -1
  434. package/es/version.mjs.map +1 -1
  435. package/lib/components/cascader/src/cascader.d.ts +1 -1
  436. package/lib/components/cascader/src/cascader.js +1 -1
  437. package/lib/components/cascader/src/cascader.vue.d.ts +2 -2
  438. package/lib/components/cascader-panel/src/config.d.ts +2 -2
  439. package/lib/components/cascader-panel/src/config.js +1 -1
  440. package/lib/components/cascader-panel/src/config.js.map +1 -1
  441. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  442. package/lib/components/cascader-panel/src/node.d.ts +1 -1
  443. package/lib/components/cascader-panel/src/node.js.map +1 -1
  444. package/lib/components/cascader-panel/src/types.d.ts +1 -1
  445. package/lib/components/cascader-panel/src/types.js.map +1 -1
  446. package/lib/components/check-tag/index.js +2 -2
  447. package/lib/components/check-tag/src/check-tag.js +15 -38
  448. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  449. package/lib/components/check-tag/src/check-tag2.js +38 -15
  450. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  451. package/lib/components/collapse/index.js +4 -4
  452. package/lib/components/collapse/src/collapse-item.js +95 -18
  453. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  454. package/lib/components/collapse/src/collapse-item2.js +18 -95
  455. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  456. package/lib/components/collapse/src/collapse.js +28 -25
  457. package/lib/components/collapse/src/collapse.js.map +1 -1
  458. package/lib/components/collapse/src/collapse2.js +25 -28
  459. package/lib/components/collapse/src/collapse2.js.map +1 -1
  460. package/lib/components/date-picker-panel/src/composables/use-range-picker.d.ts +3 -3
  461. package/lib/components/date-picker-panel/src/composables/use-range-picker.js +6 -6
  462. package/lib/components/date-picker-panel/src/composables/use-range-picker.js.map +1 -1
  463. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js +6 -5
  464. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js.map +1 -1
  465. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.js +4 -4
  466. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.js.map +1 -1
  467. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.js +4 -4
  468. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.js.map +1 -1
  469. package/lib/components/descriptions/src/description2.js +1 -1
  470. package/lib/components/descriptions/src/descriptions-row.js +63 -6
  471. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  472. package/lib/components/descriptions/src/descriptions-row2.js +6 -63
  473. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  474. package/lib/components/dropdown/src/dropdown.js +1 -1
  475. package/lib/components/index.js +23 -23
  476. package/lib/components/input/src/input2.js +1 -1
  477. package/lib/components/input/src/input2.js.map +1 -1
  478. package/lib/components/input-tag/src/input-tag.js +1 -1
  479. package/lib/components/input-tag/style/css.d.ts +1 -0
  480. package/lib/components/input-tag/style/css.js +1 -0
  481. package/lib/components/input-tag/style/css.js.map +1 -1
  482. package/lib/components/input-tag/style/index.d.ts +2 -1
  483. package/lib/components/input-tag/style/index.js +1 -0
  484. package/lib/components/input-tag/style/index.js.map +1 -1
  485. package/lib/components/link/index.js +2 -2
  486. package/lib/components/link/src/link.js +71 -26
  487. package/lib/components/link/src/link.js.map +1 -1
  488. package/lib/components/link/src/link2.js +26 -71
  489. package/lib/components/link/src/link2.js.map +1 -1
  490. package/lib/components/mention/src/mention-dropdown.js +166 -16
  491. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  492. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  493. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  494. package/lib/components/mention/src/mention2.js +1 -1
  495. package/lib/components/menu/index.js +2 -2
  496. package/lib/components/menu/src/menu-item.js +100 -16
  497. package/lib/components/menu/src/menu-item.js.map +1 -1
  498. package/lib/components/menu/src/menu-item2.js +16 -100
  499. package/lib/components/menu/src/menu-item2.js.map +1 -1
  500. package/lib/components/message/index.js +1 -1
  501. package/lib/components/message/src/message.js +165 -111
  502. package/lib/components/message/src/message.js.map +1 -1
  503. package/lib/components/message/src/message2.js +111 -165
  504. package/lib/components/message/src/message2.js.map +1 -1
  505. package/lib/components/message/src/method.js +2 -2
  506. package/lib/components/notification/src/notify.js +3 -3
  507. package/lib/components/notification/src/notify.js.map +1 -1
  508. package/lib/components/popover/src/popover.js +1 -1
  509. package/lib/components/popper/src/trigger2.js +1 -1
  510. package/lib/components/rate/index.js +2 -2
  511. package/lib/components/rate/src/rate.js +247 -83
  512. package/lib/components/rate/src/rate.js.map +1 -1
  513. package/lib/components/rate/src/rate2.js +83 -257
  514. package/lib/components/rate/src/rate2.js.map +1 -1
  515. package/lib/components/result/index.js +2 -2
  516. package/lib/components/result/src/result.js +62 -32
  517. package/lib/components/result/src/result.js.map +1 -1
  518. package/lib/components/result/src/result2.js +32 -62
  519. package/lib/components/result/src/result2.js.map +1 -1
  520. package/lib/components/scrollbar/index.js +1 -1
  521. package/lib/components/scrollbar/src/bar2.js +1 -1
  522. package/lib/components/scrollbar/src/thumb.js +139 -11
  523. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  524. package/lib/components/scrollbar/src/thumb2.js +11 -139
  525. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  526. package/lib/components/select/index.js +1 -1
  527. package/lib/components/select/src/option.js +89 -14
  528. package/lib/components/select/src/option.js.map +1 -1
  529. package/lib/components/select/src/option2.js +14 -89
  530. package/lib/components/select/src/option2.js.map +1 -1
  531. package/lib/components/select/src/select.js +1 -1
  532. package/lib/components/select/src/select.vue.d.ts +14 -1
  533. package/lib/components/select/src/select2.js +4 -1
  534. package/lib/components/select/src/select2.js.map +1 -1
  535. package/lib/components/select/src/type.d.ts +1 -0
  536. package/lib/components/select/src/useOption.js +1 -1
  537. package/lib/components/select/src/useSelect.d.ts +14 -1
  538. package/lib/components/select/src/useSelect.js +3 -0
  539. package/lib/components/select/src/useSelect.js.map +1 -1
  540. package/lib/components/select-v2/src/defaults.js +1 -1
  541. package/lib/components/select-v2/src/select.js +232 -226
  542. package/lib/components/select-v2/src/select.js.map +1 -1
  543. package/lib/components/select-v2/src/select.vue.d.ts +2 -0
  544. package/lib/components/select-v2/src/useSelect.d.ts +2 -0
  545. package/lib/components/select-v2/src/useSelect.js +6 -0
  546. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  547. package/lib/components/skeleton/index.js +2 -2
  548. package/lib/components/skeleton/src/skeleton.js +18 -48
  549. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  550. package/lib/components/skeleton/src/skeleton2.js +48 -18
  551. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  552. package/lib/components/splitter/src/split-panel2.js +4 -0
  553. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  554. package/lib/components/tabs/index.js +2 -2
  555. package/lib/components/tabs/src/tab-pane.js +82 -13
  556. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  557. package/lib/components/tabs/src/tab-pane2.js +13 -82
  558. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  559. package/lib/components/tag/index.js +2 -2
  560. package/lib/components/tag/src/tag.js +28 -99
  561. package/lib/components/tag/src/tag.js.map +1 -1
  562. package/lib/components/tag/src/tag2.js +99 -28
  563. package/lib/components/tag/src/tag2.js.map +1 -1
  564. package/lib/components/timeline/index.js +2 -2
  565. package/lib/components/timeline/src/timeline-item.js +72 -33
  566. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  567. package/lib/components/timeline/src/timeline-item2.js +33 -72
  568. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  569. package/lib/components/tooltip/index.js +1 -1
  570. package/lib/components/tooltip/src/tooltip.js +1 -1
  571. package/lib/components/tooltip/src/tooltip2.js +1 -1
  572. package/lib/components/tooltip/src/trigger.js +14 -72
  573. package/lib/components/tooltip/src/trigger.js.map +1 -1
  574. package/lib/components/tooltip/src/trigger2.js +72 -14
  575. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  576. package/lib/components/tooltip-v2/index.js +1 -1
  577. package/lib/components/tooltip-v2/src/root.js +79 -17
  578. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  579. package/lib/components/tooltip-v2/src/root2.js +17 -79
  580. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  581. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  582. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  583. package/lib/components/tree-v2/src/composables/useFilter.js +6 -2
  584. package/lib/components/tree-v2/src/composables/useFilter.js.map +1 -1
  585. package/lib/components/tree-v2/src/composables/useTree.js +5 -0
  586. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  587. package/lib/directives/click-outside/index.js +1 -1
  588. package/lib/hooks/use-lockscreen/index.js +1 -1
  589. package/lib/index.d.ts +26 -10
  590. package/lib/index.js +23 -23
  591. package/lib/version.d.ts +1 -1
  592. package/lib/version.js +1 -1
  593. package/lib/version.js.map +1 -1
  594. package/package.json +2 -2
  595. package/tags.json +1 -1
  596. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"message2.js","sources":["../../../../../../packages/components/message/src/message.vue"],"sourcesContent":["<template>\n <transition\n :name=\"ns.b('fade')\"\n @before-enter=\"isStartTransition = true\"\n @before-leave=\"onClose\"\n @after-leave=\"$emit('destroy')\"\n >\n <div\n v-show=\"visible\"\n :id=\"id\"\n ref=\"messageRef\"\n :class=\"[\n ns.b(),\n { [ns.m(type)]: type },\n ns.is('closable', showClose),\n ns.is('plain', plain),\n ns.is('bottom', verticalProperty === 'bottom'),\n horizontalClass,\n customClass,\n ]\"\n :style=\"customStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n >\n <el-badge\n v-if=\"repeatNum > 1\"\n :value=\"repeatNum\"\n :type=\"badgeType\"\n :class=\"ns.e('badge')\"\n />\n <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n <component :is=\"iconComponent\" />\n </el-icon>\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\" :class=\"ns.e('content')\">\n {{ message }}\n </p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else :class=\"ns.e('content')\" v-html=\"message\" />\n </slot>\n <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <Close />\n </el-icon>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { useEventListener, useResizeObserver, useTimeoutFn } from '@vueuse/core'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport ElBadge from '@element-plus/components/badge'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n MESSAGE_DEFAULT_PLACEMENT,\n messageEmits,\n messageProps,\n} from './message'\nimport { getLastOffset, getOffsetOrSpace } from './instance'\n\nimport type { BadgeProps } from '@element-plus/components/badge'\nimport type { CSSProperties } from 'vue'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElMessage',\n})\n\nconst props = defineProps(messageProps)\nconst emit = defineEmits(messageEmits)\n\nconst isStartTransition = ref(false)\n\nconst { ns, zIndex } = useGlobalComponentSettings('message')\nconst { currentZIndex, nextZIndex } = zIndex\n\nconst messageRef = ref<HTMLDivElement>()\nconst visible = ref(false)\nconst height = ref(0)\n\nlet stopTimer: (() => void) | undefined = undefined\n\nconst badgeType = computed<BadgeProps['type']>(() =>\n props.type ? (props.type === 'error' ? 'danger' : props.type) : 'info'\n)\nconst typeClass = computed(() => {\n const type = props.type\n return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n})\nconst iconComponent = computed(\n () => props.icon || TypeComponentsMap[props.type] || ''\n)\n\nconst placement = computed(() => props.placement || MESSAGE_DEFAULT_PLACEMENT)\n\nconst lastOffset = computed(() => getLastOffset(props.id, placement.value))\nconst offset = computed(() => {\n return (\n getOffsetOrSpace(props.id, props.offset, placement.value) + lastOffset.value\n )\n})\nconst bottom = computed(() => height.value + offset.value)\nconst horizontalClass = computed(() => {\n if (placement.value.includes('left')) return ns.is('left')\n if (placement.value.includes('right')) return ns.is('right')\n return ns.is('center')\n})\n\nconst verticalProperty = computed(() =>\n placement.value.startsWith('top') ? 'top' : 'bottom'\n)\n\nconst customStyle = computed<CSSProperties>(() => ({\n [verticalProperty.value]: `${offset.value}px`,\n zIndex: currentZIndex.value,\n}))\n\nfunction startTimer() {\n if (props.duration === 0) return\n ;({ stop: stopTimer } = useTimeoutFn(() => {\n close()\n }, props.duration))\n}\n\nfunction clearTimer() {\n stopTimer?.()\n}\n\nfunction close() {\n visible.value = false\n\n // if the message has never started a transition, we can destroy it immediately\n nextTick(() => {\n if (!isStartTransition.value) {\n props.onClose?.()\n emit('destroy')\n }\n })\n}\n\nfunction keydown({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.esc) {\n // press esc to close the message\n close()\n }\n}\n\nonMounted(() => {\n startTimer()\n nextZIndex()\n visible.value = true\n})\n\nwatch(\n () => props.repeatNum,\n () => {\n clearTimer()\n startTimer()\n }\n)\n\nuseEventListener(document, 'keydown', keydown)\n\nuseResizeObserver(messageRef, () => {\n height.value = messageRef.value!.getBoundingClientRect().height\n})\n\ndefineExpose({\n visible,\n bottom,\n close,\n})\n</script>\n"],"names":["TypeComponents","ref","useGlobalComponentSettings","computed","TypeComponentsMap","MESSAGE_DEFAULT_PLACEMENT","getLastOffset","getOffsetOrSpace","useTimeoutFn","nextTick","EVENT_CODE","onMounted","watch","useEventListener","useResizeObserver","_openBlock","_createBlock","_Transition","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"message2.js","sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isClient,\n mutable,\n} from '@element-plus/utils'\n\nimport type {\n AppContext,\n ExtractPropTypes,\n VNode,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type { Mutable } from '@element-plus/utils'\nimport type MessageConstructor from './message.vue'\n\nexport const messageTypes = [\n 'primary',\n 'success',\n 'info',\n 'warning',\n 'error',\n] as const\n\nexport const messagePlacement = [\n 'top',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n] as const\n\nexport const MESSAGE_DEFAULT_PLACEMENT = 'top'\n\nexport type MessageType = typeof messageTypes[number]\nexport type MessagePlacement = typeof messagePlacement[number]\n/** @deprecated please use `MessageType` instead */\nexport type messageType = MessageType // will be removed in 3.0.0.\n\nexport interface MessageConfigContext {\n max?: number\n grouping?: boolean\n duration?: number\n offset?: number\n showClose?: boolean\n plain?: boolean\n placement?: string\n}\n\nexport const messageDefaults = mutable({\n customClass: '',\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n plain: false,\n offset: 16,\n placement: undefined,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\nexport const messageProps = buildProps({\n /**\n * @description custom class name for Message\n */\n customClass: {\n type: String,\n default: messageDefaults.customClass,\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: messageDefaults.dangerouslyUseHTMLString,\n },\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration: {\n type: Number,\n default: messageDefaults.duration,\n },\n /**\n * @description custom icon component, overrides `type`\n */\n icon: {\n type: iconPropType,\n default: messageDefaults.icon,\n },\n /**\n * @description message dom id\n */\n id: {\n type: String,\n default: messageDefaults.id,\n },\n /**\n * @description message text\n */\n message: {\n type: definePropType<string | VNode | (() => VNode)>([\n String,\n Object,\n Function,\n ]),\n default: messageDefaults.message,\n },\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose: {\n type: definePropType<() => void>(Function),\n default: messageDefaults.onClose,\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: messageDefaults.showClose,\n },\n /**\n * @description message type\n */\n type: {\n type: String,\n values: messageTypes,\n default: messageDefaults.type,\n },\n /**\n * @description whether message is plain\n */\n plain: {\n type: Boolean,\n default: messageDefaults.plain,\n },\n /**\n * @description set the distance to the top of viewport\n */\n offset: {\n type: Number,\n default: messageDefaults.offset,\n },\n /**\n * @description message placement position\n */\n placement: {\n type: String,\n values: messagePlacement,\n default: messageDefaults.placement,\n },\n /**\n * @description input box size\n */\n zIndex: {\n type: Number,\n default: messageDefaults.zIndex,\n },\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping: {\n type: Boolean,\n default: messageDefaults.grouping,\n },\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum: {\n type: Number,\n default: messageDefaults.repeatNum,\n },\n} as const)\nexport type MessageProps = ExtractPropTypes<typeof messageProps>\nexport type MessagePropsPublic = __ExtractPublicPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor> & unknown\n\nexport type MessageOptions = Partial<\n Mutable<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string\n }\n >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n /**\n * @description set the root element for the message, default to `document.body`\n */\n appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n | MessageOptionsWithType\n | MessageOptions['message']\n\nexport interface MessageHandler {\n /**\n * @description close the Message\n */\n close: () => void\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n closeAll(type?: MessageType): void\n closeAllByPlacement(position: MessagePlacement): void\n}\nexport type MessageTypedFn = (\n options?: MessageParamsWithType,\n appContext?: null | AppContext\n) => MessageHandler\n\nexport type Message = MessageFn & {\n primary: MessageTypedFn\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"names":["mutable","isClient","buildProps","iconPropType","definePropType"],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var message$2 = require('./message2.js');
7
- var message$1 = require('./message.js');
6
+ var message$2 = require('./message.js');
7
+ var message$1 = require('./message2.js');
8
8
  var instance = require('./instance.js');
9
9
  var configProvider = require('../../config-provider/src/config-provider.js');
10
10
  var core = require('@vueuse/core');
@@ -106,11 +106,11 @@ function closeAll() {
106
106
  }
107
107
  }
108
108
  function updateOffsets(position = "top-right") {
109
- var _a, _b, _c;
110
- let verticalOffset = ((_b = (_a = notifications[position][0]) == null ? void 0 : _a.vm.props) == null ? void 0 : _b.offset) || 0;
109
+ var _a, _b, _c, _d;
110
+ let verticalOffset = ((_c = (_b = (_a = notifications[position][0]) == null ? void 0 : _a.vm.component) == null ? void 0 : _b.props) == null ? void 0 : _c.offset) || 0;
111
111
  for (const { vm } of notifications[position]) {
112
112
  vm.component.props.offset = verticalOffset;
113
- verticalOffset += (((_c = vm.el) == null ? void 0 : _c.offsetHeight) || 0) + GAP_SIZE;
113
+ verticalOffset += (((_d = vm.el) == null ? void 0 : _d.offsetHeight) || 0) + GAP_SIZE;
114
114
  }
115
115
  }
116
116
  notify.closeAll = closeAll;
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, isVNode, render } from 'vue'\nimport {\n debugWarn,\n isClient,\n isElement,\n isFunction,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { Ref, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> = function (options = {}, context) {\n if (!isClient) return { close: () => undefined }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n ...options,\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isFunction(props.message)\n ? props.message\n : isVNode(props.message)\n ? () => props.message\n : null\n )\n vm.appContext = isUndefined(context) ? notify._context : context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(vm.component!.exposed as { visible: Ref<boolean> }).visible.value =\n false\n },\n }\n}\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}, appContext) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({ ...options, type }, appContext)\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(vm.component!.exposed as { visible: Ref<boolean> }).visible.value =\n false\n })\n }\n}\n\nexport function updateOffsets(\n position: NotificationOptions['position'] = 'top-right'\n) {\n let verticalOffset = notifications[position][0]?.vm.props?.offset || 0\n\n for (const { vm } of notifications[position]) {\n vm.component!.props.offset = verticalOffset\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n }\n}\n\nnotify.closeAll = closeAll\nnotify.updateOffsets = updateOffsets\nnotify._context = null\n\nexport default notify as Notify\n"],"names":["isClient","isString","isVNode","isElement","createVNode","NotificationConstructor","isFunction","isUndefined","render","notificationTypes"],"mappings":"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"}
1
+ {"version":3,"file":"notify.js","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, isVNode, render } from 'vue'\nimport {\n debugWarn,\n isClient,\n isElement,\n isFunction,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { Ref, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> = function (options = {}, context) {\n if (!isClient) return { close: () => undefined }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n ...options,\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isFunction(props.message)\n ? props.message\n : isVNode(props.message)\n ? () => props.message\n : null\n )\n vm.appContext = isUndefined(context) ? notify._context : context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(vm.component!.exposed as { visible: Ref<boolean> }).visible.value =\n false\n },\n }\n}\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}, appContext) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({ ...options, type }, appContext)\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(vm.component!.exposed as { visible: Ref<boolean> }).visible.value =\n false\n })\n }\n}\n\nexport function updateOffsets(\n position: NotificationOptions['position'] = 'top-right'\n) {\n let verticalOffset =\n notifications[position][0]?.vm.component?.props?.offset || 0\n\n for (const { vm } of notifications[position]) {\n vm.component!.props.offset = verticalOffset\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n }\n}\n\nnotify.closeAll = closeAll\nnotify.updateOffsets = updateOffsets\nnotify._context = null\n\nexport default notify as Notify\n"],"names":["isClient","isString","isVNode","isElement","createVNode","NotificationConstructor","isFunction","isUndefined","render","notificationTypes"],"mappings":"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"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var dropdown = require('../../dropdown/src/dropdown.js');
6
6
  var runtime = require('../../../utils/vue/props/runtime.js');
7
- var trigger = require('../../tooltip/src/trigger2.js');
7
+ var trigger = require('../../tooltip/src/trigger.js');
8
8
  var content = require('../../tooltip/src/content.js');
9
9
  var types = require('../../../utils/types.js');
10
10
 
@@ -9,8 +9,8 @@ var constants = require('./constants.js');
9
9
  var trigger = require('./trigger.js');
10
10
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
11
  var index = require('../../../hooks/use-forward-ref/index.js');
12
- var onlyChild = require('../../slot/src/only-child.js');
13
12
  var types = require('../../../utils/types.js');
13
+ var onlyChild = require('../../slot/src/only-child.js');
14
14
  var aria = require('../../../utils/dom/aria.js');
15
15
 
16
16
  const __default__ = vue.defineComponent({
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var rate$1 = require('./src/rate2.js');
6
- var rate = require('./src/rate.js');
5
+ var rate$1 = require('./src/rate.js');
6
+ var rate = require('./src/rate2.js');
7
7
  var install = require('../../utils/vue/install.js');
8
8
 
9
9
  const ElRate = install.withInstall(rate$1["default"]);
@@ -2,91 +2,255 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var iconsVue = require('@element-plus/icons-vue');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
- var typescript = require('../../../utils/typescript.js');
8
- var icon = require('../../../utils/vue/icon.js');
9
- var index = require('../../../hooks/use-size/index.js');
10
- var index$1 = require('../../../hooks/use-aria/index.js');
5
+ var vue = require('vue');
6
+ var lodashUnified = require('lodash-unified');
7
+ var index$1 = require('../../icon/index.js');
8
+ var rate = require('./rate2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var constants = require('../../form/src/constants.js');
11
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
14
+ var shared = require('@vue/shared');
11
15
  var event = require('../../../constants/event.js');
12
- var types = require('../../../utils/types.js');
16
+ var aria = require('../../../constants/aria.js');
13
17
 
14
- const rateProps = runtime.buildProps({
15
- modelValue: {
16
- type: Number,
17
- default: 0
18
- },
19
- id: {
20
- type: String,
21
- default: void 0
22
- },
23
- lowThreshold: {
24
- type: Number,
25
- default: 2
26
- },
27
- highThreshold: {
28
- type: Number,
29
- default: 4
30
- },
31
- max: {
32
- type: Number,
33
- default: 5
34
- },
35
- colors: {
36
- type: runtime.definePropType([Array, Object]),
37
- default: () => typescript.mutable(["", "", ""])
38
- },
39
- voidColor: {
40
- type: String,
41
- default: ""
42
- },
43
- disabledVoidColor: {
44
- type: String,
45
- default: ""
46
- },
47
- icons: {
48
- type: runtime.definePropType([Array, Object]),
49
- default: () => [iconsVue.StarFilled, iconsVue.StarFilled, iconsVue.StarFilled]
50
- },
51
- voidIcon: {
52
- type: icon.iconPropType,
53
- default: () => iconsVue.Star
54
- },
55
- disabledVoidIcon: {
56
- type: icon.iconPropType,
57
- default: () => iconsVue.StarFilled
58
- },
59
- disabled: Boolean,
60
- allowHalf: Boolean,
61
- showText: Boolean,
62
- showScore: Boolean,
63
- textColor: {
64
- type: String,
65
- default: ""
66
- },
67
- texts: {
68
- type: runtime.definePropType(Array),
69
- default: () => typescript.mutable([
70
- "Extremely bad",
71
- "Disappointed",
72
- "Fair",
73
- "Satisfied",
74
- "Surprise"
75
- ])
76
- },
77
- scoreTemplate: {
78
- type: String,
79
- default: "{value}"
80
- },
81
- size: index.useSizeProp,
82
- clearable: Boolean,
83
- ...index$1.useAriaProps(["ariaLabel"])
18
+ const __default__ = vue.defineComponent({
19
+ name: "ElRate"
84
20
  });
85
- const rateEmits = {
86
- [event.CHANGE_EVENT]: (value) => types.isNumber(value),
87
- [event.UPDATE_MODEL_EVENT]: (value) => types.isNumber(value)
88
- };
21
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
+ ...__default__,
23
+ props: rate.rateProps,
24
+ emits: rate.rateEmits,
25
+ setup(__props, { expose, emit }) {
26
+ const props = __props;
27
+ function getValueFromMap(value, map) {
28
+ const isExcludedObject = (val) => shared.isObject(val);
29
+ const matchedKeys = Object.keys(map).map((key) => +key).filter((key) => {
30
+ const val = map[key];
31
+ const excluded = isExcludedObject(val) ? val.excluded : false;
32
+ return excluded ? value < key : value <= key;
33
+ }).sort((a, b) => a - b);
34
+ const matchedValue = map[matchedKeys[0]];
35
+ return isExcludedObject(matchedValue) && matchedValue.value || matchedValue;
36
+ }
37
+ const formContext = vue.inject(constants.formContextKey, void 0);
38
+ const formItemContext = vue.inject(constants.formItemContextKey, void 0);
39
+ const rateSize = useFormCommonProps.useFormSize();
40
+ const ns = index.useNamespace("rate");
41
+ const { inputId, isLabeledByFormItem } = useFormItem.useFormItemInputId(props, {
42
+ formItemContext
43
+ });
44
+ const currentValue = vue.ref(props.modelValue);
45
+ const hoverIndex = vue.ref(-1);
46
+ const pointerAtLeftHalf = vue.ref(true);
47
+ const iconRefs = vue.ref([]);
48
+ const iconClientWidths = vue.computed(() => iconRefs.value.map((icon) => icon.$el.clientWidth));
49
+ const rateClasses = vue.computed(() => [ns.b(), ns.m(rateSize.value)]);
50
+ const rateDisabled = vue.computed(() => props.disabled || (formContext == null ? void 0 : formContext.disabled));
51
+ const rateStyles = vue.computed(() => {
52
+ return ns.cssVarBlock({
53
+ "void-color": props.voidColor,
54
+ "disabled-void-color": props.disabledVoidColor,
55
+ "fill-color": activeColor.value
56
+ });
57
+ });
58
+ const text = vue.computed(() => {
59
+ let result = "";
60
+ if (props.showScore) {
61
+ result = props.scoreTemplate.replace(/\{\s*value\s*\}/, rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`);
62
+ } else if (props.showText) {
63
+ result = props.texts[Math.ceil(currentValue.value) - 1];
64
+ }
65
+ return result;
66
+ });
67
+ const valueDecimal = vue.computed(() => props.modelValue * 100 - Math.floor(props.modelValue) * 100);
68
+ const colorMap = vue.computed(() => shared.isArray(props.colors) ? {
69
+ [props.lowThreshold]: props.colors[0],
70
+ [props.highThreshold]: { value: props.colors[1], excluded: true },
71
+ [props.max]: props.colors[2]
72
+ } : props.colors);
73
+ const activeColor = vue.computed(() => {
74
+ const color = getValueFromMap(currentValue.value, colorMap.value);
75
+ return shared.isObject(color) ? "" : color;
76
+ });
77
+ const decimalStyle = vue.computed(() => {
78
+ let width = "";
79
+ if (rateDisabled.value) {
80
+ width = `${valueDecimal.value}%`;
81
+ } else if (props.allowHalf) {
82
+ width = "50%";
83
+ }
84
+ return {
85
+ color: activeColor.value,
86
+ width
87
+ };
88
+ });
89
+ const componentMap = vue.computed(() => {
90
+ let icons = shared.isArray(props.icons) ? [...props.icons] : { ...props.icons };
91
+ icons = vue.markRaw(icons);
92
+ return shared.isArray(icons) ? {
93
+ [props.lowThreshold]: icons[0],
94
+ [props.highThreshold]: {
95
+ value: icons[1],
96
+ excluded: true
97
+ },
98
+ [props.max]: icons[2]
99
+ } : icons;
100
+ });
101
+ const decimalIconComponent = vue.computed(() => getValueFromMap(props.modelValue, componentMap.value));
102
+ const voidComponent = vue.computed(() => rateDisabled.value ? shared.isString(props.disabledVoidIcon) ? props.disabledVoidIcon : vue.markRaw(props.disabledVoidIcon) : shared.isString(props.voidIcon) ? props.voidIcon : vue.markRaw(props.voidIcon));
103
+ const activeComponent = vue.computed(() => getValueFromMap(currentValue.value, componentMap.value));
104
+ function showDecimalIcon(item) {
105
+ const showWhenDisabled = rateDisabled.value && valueDecimal.value > 0 && item - 1 < props.modelValue && item > props.modelValue;
106
+ const showWhenAllowHalf = props.allowHalf && pointerAtLeftHalf.value && item - 0.5 <= currentValue.value && item > currentValue.value;
107
+ return showWhenDisabled || showWhenAllowHalf;
108
+ }
109
+ function emitValue(value) {
110
+ if (props.clearable && value === props.modelValue) {
111
+ value = 0;
112
+ }
113
+ emit(event.UPDATE_MODEL_EVENT, value);
114
+ if (props.modelValue !== value) {
115
+ emit(event.CHANGE_EVENT, value);
116
+ }
117
+ }
118
+ function selectValue(value) {
119
+ if (rateDisabled.value) {
120
+ return;
121
+ }
122
+ if (props.allowHalf && pointerAtLeftHalf.value) {
123
+ emitValue(currentValue.value);
124
+ } else {
125
+ emitValue(value);
126
+ }
127
+ }
128
+ function handleKey(e) {
129
+ if (rateDisabled.value) {
130
+ return;
131
+ }
132
+ const code = e.code;
133
+ const step = props.allowHalf ? 0.5 : 1;
134
+ let _currentValue = currentValue.value;
135
+ if (code === aria.EVENT_CODE.up || code === aria.EVENT_CODE.right) {
136
+ _currentValue += step;
137
+ } else if (code === aria.EVENT_CODE.left || code === aria.EVENT_CODE.down) {
138
+ _currentValue -= step;
139
+ }
140
+ _currentValue = lodashUnified.clamp(_currentValue, 0, props.max);
141
+ if (_currentValue === currentValue.value) {
142
+ return;
143
+ }
144
+ e.stopPropagation();
145
+ e.preventDefault();
146
+ emit(event.UPDATE_MODEL_EVENT, _currentValue);
147
+ emit(event.CHANGE_EVENT, _currentValue);
148
+ return _currentValue;
149
+ }
150
+ function setCurrentValue(value, event) {
151
+ if (rateDisabled.value) {
152
+ return;
153
+ }
154
+ if (props.allowHalf && event) {
155
+ pointerAtLeftHalf.value = event.offsetX * 2 <= iconClientWidths.value[value - 1];
156
+ currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value;
157
+ } else {
158
+ currentValue.value = value;
159
+ }
160
+ hoverIndex.value = value;
161
+ }
162
+ function resetCurrentValue() {
163
+ if (rateDisabled.value) {
164
+ return;
165
+ }
166
+ if (props.allowHalf) {
167
+ pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue);
168
+ }
169
+ currentValue.value = props.modelValue;
170
+ hoverIndex.value = -1;
171
+ }
172
+ vue.watch(() => props.modelValue, (val) => {
173
+ currentValue.value = val;
174
+ pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue);
175
+ });
176
+ if (!props.modelValue) {
177
+ emit(event.UPDATE_MODEL_EVENT, 0);
178
+ }
179
+ expose({
180
+ setCurrentValue,
181
+ resetCurrentValue
182
+ });
183
+ return (_ctx, _cache) => {
184
+ var _a;
185
+ return vue.openBlock(), vue.createElementBlock("div", {
186
+ id: vue.unref(inputId),
187
+ class: vue.normalizeClass([vue.unref(rateClasses), vue.unref(ns).is("disabled", vue.unref(rateDisabled))]),
188
+ role: "slider",
189
+ "aria-label": !vue.unref(isLabeledByFormItem) ? _ctx.ariaLabel || "rating" : void 0,
190
+ "aria-labelledby": vue.unref(isLabeledByFormItem) ? (_a = vue.unref(formItemContext)) == null ? void 0 : _a.labelId : void 0,
191
+ "aria-valuenow": currentValue.value,
192
+ "aria-valuetext": vue.unref(text) || void 0,
193
+ "aria-valuemin": "0",
194
+ "aria-valuemax": _ctx.max,
195
+ tabindex: "0",
196
+ style: vue.normalizeStyle(vue.unref(rateStyles)),
197
+ onKeydown: handleKey
198
+ }, [
199
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.max, (item, key) => {
200
+ return vue.openBlock(), vue.createElementBlock("span", {
201
+ key,
202
+ class: vue.normalizeClass(vue.unref(ns).e("item")),
203
+ onMousemove: ($event) => setCurrentValue(item, $event),
204
+ onMouseleave: resetCurrentValue,
205
+ onClick: ($event) => selectValue(item)
206
+ }, [
207
+ vue.createVNode(vue.unref(index$1.ElIcon), {
208
+ ref_for: true,
209
+ ref_key: "iconRefs",
210
+ ref: iconRefs,
211
+ class: vue.normalizeClass([
212
+ vue.unref(ns).e("icon"),
213
+ { hover: hoverIndex.value === item },
214
+ vue.unref(ns).is("active", item <= currentValue.value)
215
+ ])
216
+ }, {
217
+ default: vue.withCtx(() => [
218
+ !showDecimalIcon(item) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
219
+ vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(activeComponent)), null, null, 512)), [
220
+ [vue.vShow, item <= currentValue.value]
221
+ ]),
222
+ vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(voidComponent)), null, null, 512)), [
223
+ [vue.vShow, item > currentValue.value]
224
+ ])
225
+ ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
226
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(voidComponent)), {
227
+ class: vue.normalizeClass([vue.unref(ns).em("decimal", "box")])
228
+ }, null, 8, ["class"])),
229
+ vue.createVNode(vue.unref(index$1.ElIcon), {
230
+ style: vue.normalizeStyle(vue.unref(decimalStyle)),
231
+ class: vue.normalizeClass([vue.unref(ns).e("icon"), vue.unref(ns).e("decimal")])
232
+ }, {
233
+ default: vue.withCtx(() => [
234
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(decimalIconComponent))))
235
+ ]),
236
+ _: 1
237
+ }, 8, ["style", "class"])
238
+ ], 64))
239
+ ]),
240
+ _: 2
241
+ }, 1032, ["class"])
242
+ ], 42, ["onMousemove", "onClick"]);
243
+ }), 128)),
244
+ _ctx.showText || _ctx.showScore ? (vue.openBlock(), vue.createElementBlock("span", {
245
+ key: 0,
246
+ class: vue.normalizeClass(vue.unref(ns).e("text")),
247
+ style: vue.normalizeStyle({ color: _ctx.textColor })
248
+ }, vue.toDisplayString(vue.unref(text)), 7)) : vue.createCommentVNode("v-if", true)
249
+ ], 46, ["id", "aria-label", "aria-labelledby", "aria-valuenow", "aria-valuetext", "aria-valuemax"]);
250
+ };
251
+ }
252
+ });
253
+ var Rate = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "rate.vue"]]);
89
254
 
90
- exports.rateEmits = rateEmits;
91
- exports.rateProps = rateProps;
255
+ exports["default"] = Rate;
92
256
  //# sourceMappingURL=rate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate.js","sources":["../../../../../../packages/components/rate/src/rate.ts"],"sourcesContent":["import { Star, StarFilled } from '@element-plus/icons-vue'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { Component, ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type Rate from './rate.vue'\n\nexport const rateProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: Number,\n default: 0,\n },\n /**\n * @description native `id` attribute\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description threshold value between low and medium level. The value itself will be included in low level\n */\n lowThreshold: {\n type: Number,\n default: 2,\n },\n /**\n * @description threshold value between medium and high level. The value itself will be included in high level\n */\n highThreshold: {\n type: Number,\n default: 4,\n },\n /**\n * @description max rating score\n */\n max: {\n type: Number,\n default: 5,\n },\n /**\n * @description colors for icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding color\n */\n colors: {\n type: definePropType<string[] | Record<number, string>>([Array, Object]),\n default: () => mutable(['', '', ''] as const),\n },\n /**\n * @description color of unselected icons\n */\n voidColor: {\n type: String,\n default: '',\n },\n /**\n * @description color of unselected read-only icons\n */\n disabledVoidColor: {\n type: String,\n default: '',\n },\n /**\n * @description icon components. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding icon component\n */\n icons: {\n type: definePropType<\n Array<string | Component> | Record<number, string | Component>\n >([Array, Object]),\n default: () =>\n [StarFilled, StarFilled, StarFilled] as [Component, Component, Component],\n },\n /**\n * @description component of unselected icons\n */\n voidIcon: {\n type: iconPropType,\n default: () => Star as Component,\n },\n /**\n * @description component of unselected read-only icons\n */\n disabledVoidIcon: {\n type: iconPropType,\n default: () => StarFilled as Component,\n },\n /**\n * @description whether Rate is read-only\n */\n disabled: Boolean,\n /**\n * @description whether picking half start is allowed\n */\n allowHalf: Boolean,\n /**\n * @description whether to display texts\n */\n showText: Boolean,\n /**\n * @description whether to display current score. show-score and show-text cannot be true at the same time\n */\n showScore: Boolean,\n /**\n * @description color of texts\n */\n textColor: {\n type: String,\n default: '',\n },\n /**\n * @description text array\n */\n texts: {\n type: definePropType<string[]>(Array),\n default: () =>\n mutable([\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ] as const),\n },\n /**\n * @description score template\n */\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n /**\n * @description size of Rate\n */\n size: useSizeProp,\n /**\n * @description whether value can be reset to `0`\n */\n clearable: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type RateProps = ExtractPropTypes<typeof rateProps>\nexport type RatePropsPublic = __ExtractPublicPropTypes<typeof rateProps>\n\nexport const rateEmits = {\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n [UPDATE_MODEL_EVENT]: (value: number) => isNumber(value),\n}\nexport type RateEmits = typeof rateEmits\n\nexport type RateInstance = InstanceType<typeof Rate> & unknown\n"],"names":["buildProps","definePropType","mutable","StarFilled","iconPropType","Star","useSizeProp","useAriaProps","CHANGE_EVENT","isNumber","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;AAUY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,MAAM,CAACE,mBAAU,EAAEA,mBAAU,EAAEA,mBAAU,CAAC;AACvD,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEC,iBAAY;AACtB,IAAI,OAAO,EAAE,MAAMC,aAAI;AACvB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAED,iBAAY;AACtB,IAAI,OAAO,EAAE,MAAMD,mBAAU;AAC7B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEF,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC;AAC3B,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,MAAM;AACZ,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,IAAI,EAAEI,iBAAW;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,GAAGC,oBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKC,cAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKD,cAAQ,CAAC,KAAK,CAAC;AAClD;;;;;"}
1
+ {"version":3,"file":"rate.js","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'rating' : undefined\"\n :aria-labelledby=\"\n isLabeledByFormItem ? formItemContext?.labelId : undefined\n \"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text || undefined\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n ref=\"iconRefs\"\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <template v-if=\"!showDecimalIcon(item)\">\n <component :is=\"activeComponent\" v-show=\"item <= currentValue\" />\n <component :is=\"voidComponent\" v-show=\"item > currentValue\" />\n </template>\n <template v-else>\n <component :is=\"voidComponent\" :class=\"[ns.em('decimal', 'box')]\" />\n <el-icon\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </template>\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\n<script lang=\"ts\" setup>\nimport { computed, inject, markRaw, ref, watch } from 'vue'\nimport { clamp } from 'lodash-unified'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { isArray, isObject, isString } from '@element-plus/utils'\nimport {\n formContextKey,\n formItemContextKey,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rateEmits, rateProps } from './rate'\n\nimport type { CSSProperties, Component } from 'vue'\nimport type { IconInstance } from '@element-plus/components/icon'\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\ndefineOptions({\n name: 'ElRate',\n})\n\nconst props = defineProps(rateProps)\nconst emit = defineEmits(rateEmits)\n\nconst formContext = inject(formContextKey, undefined)\nconst formItemContext = inject(formItemContextKey, undefined)\nconst rateSize = useFormSize()\nconst ns = useNamespace('rate')\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext,\n})\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst iconRefs = ref<IconInstance[]>([])\nconst iconClientWidths = computed<number[]>(() =>\n iconRefs.value.map((icon) => icon.$el.clientWidth)\n)\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return ns.cssVarBlock({\n 'void-color': props.voidColor,\n 'disabled-void-color': props.disabledVoidColor,\n 'fill-color': activeColor.value,\n }) as CSSProperties\n})\n\nconst 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})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst 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)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst 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})\nconst componentMap = computed(() => {\n let icons = isArray(props.icons) ? [...props.icons] : { ...props.icons }\n icons = markRaw(icons) as\n | Array<string | Component>\n | Record<number, string | Component>\n return isArray(icons)\n ? {\n [props.lowThreshold]: icons[0],\n [props.highThreshold]: {\n value: icons[1],\n excluded: true,\n },\n [props.max]: icons[2],\n }\n : icons\n})\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value\n ? isString(props.disabledVoidIcon)\n ? props.disabledVoidIcon\n : (markRaw(props.disabledVoidIcon) as Component)\n : isString(props.voidIcon)\n ? props.voidIcon\n : (markRaw(props.voidIcon) as Component)\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\n\nfunction 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\nfunction emitValue(value: number) {\n // if allow clear, and selected value is same as modelValue, reset value to 0\n if (props.clearable && value === props.modelValue) {\n value = 0\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit(CHANGE_EVENT, value)\n }\n}\n\nfunction selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emitValue(currentValue.value)\n } else {\n emitValue(value)\n }\n}\n\nfunction handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n const code = e.code\n const step = props.allowHalf ? 0.5 : 1\n let _currentValue = currentValue.value\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n _currentValue += step\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n _currentValue -= step\n }\n _currentValue = clamp(_currentValue, 0, props.max)\n\n if (_currentValue === currentValue.value) {\n return\n }\n\n e.stopPropagation()\n e.preventDefault()\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit(CHANGE_EVENT, _currentValue)\n return _currentValue\n}\n\nfunction setCurrentValue(value: number, event?: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && event) {\n pointerAtLeftHalf.value =\n event.offsetX * 2 <= iconClientWidths.value[value - 1]\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\nfunction resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n)\n\nif (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n /** @description reset current value */\n resetCurrentValue,\n})\n</script>\n"],"names":["isObject","inject","formContextKey","formItemContextKey","useFormSize","useNamespace","useFormItemInputId","ref","computed","markRaw","isArray","isString","UPDATE_MODEL_EVENT","CHANGE_EVENT","EVENT_CODE","clamp","watch","_openBlock","_createElementBlock","_unref","_normalizeClass","_normalizeStyle","_Fragment","_renderList"],"mappings":"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"}