@element-plus/nightly 0.0.20250810 → 0.0.20250812

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 (605) hide show
  1. package/README.md +1 -1
  2. package/dist/index.full.js +17 -5
  3. package/dist/index.full.min.js +11 -11
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +11 -11
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +17 -5
  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/backtop/index.mjs +2 -2
  277. package/es/components/backtop/src/backtop.mjs +21 -53
  278. package/es/components/backtop/src/backtop.mjs.map +1 -1
  279. package/es/components/backtop/src/backtop2.mjs +53 -21
  280. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  281. package/es/components/badge/index.mjs +2 -2
  282. package/es/components/badge/src/badge.mjs +32 -71
  283. package/es/components/badge/src/badge.mjs.map +1 -1
  284. package/es/components/badge/src/badge2.mjs +71 -32
  285. package/es/components/badge/src/badge2.mjs.map +1 -1
  286. package/es/components/breadcrumb/index.mjs +2 -2
  287. package/es/components/breadcrumb/src/breadcrumb.mjs +37 -10
  288. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  289. package/es/components/breadcrumb/src/breadcrumb2.mjs +10 -37
  290. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  291. package/es/components/calendar/index.mjs +2 -2
  292. package/es/components/calendar/src/calendar.mjs +134 -16
  293. package/es/components/calendar/src/calendar.mjs.map +1 -1
  294. package/es/components/calendar/src/calendar2.mjs +16 -134
  295. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  296. package/es/components/calendar/src/date-table.mjs +89 -31
  297. package/es/components/calendar/src/date-table.mjs.map +1 -1
  298. package/es/components/calendar/src/date-table2.mjs +31 -89
  299. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  300. package/es/components/calendar/src/use-date-table.mjs +1 -1
  301. package/es/components/check-tag/index.mjs +2 -2
  302. package/es/components/check-tag/src/check-tag.mjs +38 -14
  303. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  304. package/es/components/check-tag/src/check-tag2.mjs +14 -38
  305. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  306. package/es/components/checkbox/index.mjs +4 -4
  307. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  308. package/es/components/checkbox/src/checkbox-group.mjs +72 -30
  309. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  310. package/es/components/checkbox/src/checkbox-group2.mjs +30 -72
  311. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  312. package/es/components/checkbox/src/checkbox.mjs +119 -59
  313. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  314. package/es/components/checkbox/src/checkbox2.mjs +59 -119
  315. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  316. package/es/components/col/index.mjs +2 -2
  317. package/es/components/col/src/col.mjs +64 -43
  318. package/es/components/col/src/col.mjs.map +1 -1
  319. package/es/components/col/src/col2.mjs +43 -64
  320. package/es/components/col/src/col2.mjs.map +1 -1
  321. package/es/components/color-picker/index.mjs +2 -2
  322. package/es/components/color-picker/src/color-picker.mjs +400 -49
  323. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  324. package/es/components/color-picker/src/color-picker2.mjs +49 -400
  325. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  326. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  327. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +1 -0
  328. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  329. package/es/components/descriptions/index.mjs +2 -2
  330. package/es/components/descriptions/src/description.mjs +127 -26
  331. package/es/components/descriptions/src/description.mjs.map +1 -1
  332. package/es/components/descriptions/src/description2.mjs +26 -127
  333. package/es/components/descriptions/src/description2.mjs.map +1 -1
  334. package/es/components/divider/index.mjs +2 -2
  335. package/es/components/divider/src/divider.mjs +34 -16
  336. package/es/components/divider/src/divider.mjs.map +1 -1
  337. package/es/components/divider/src/divider2.mjs +16 -34
  338. package/es/components/divider/src/divider2.mjs.map +1 -1
  339. package/es/components/dropdown/src/dropdown.mjs +1 -1
  340. package/es/components/empty/index.mjs +2 -2
  341. package/es/components/empty/src/empty.mjs +52 -11
  342. package/es/components/empty/src/empty.mjs.map +1 -1
  343. package/es/components/empty/src/empty2.mjs +11 -52
  344. package/es/components/empty/src/empty2.mjs.map +1 -1
  345. package/es/components/form/index.mjs +2 -2
  346. package/es/components/form/src/form.mjs +156 -54
  347. package/es/components/form/src/form.mjs.map +1 -1
  348. package/es/components/form/src/form2.mjs +54 -156
  349. package/es/components/form/src/form2.mjs.map +1 -1
  350. package/es/components/image/index.mjs +2 -2
  351. package/es/components/image/src/image.mjs +227 -65
  352. package/es/components/image/src/image.mjs.map +1 -1
  353. package/es/components/image/src/image2.mjs +65 -227
  354. package/es/components/image/src/image2.mjs.map +1 -1
  355. package/es/components/index.mjs +24 -24
  356. package/es/components/input-tag/index.mjs +2 -2
  357. package/es/components/input-tag/src/input-tag.mjs +215 -70
  358. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  359. package/es/components/input-tag/src/input-tag2.mjs +70 -215
  360. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  361. package/es/components/mention/index.mjs +2 -2
  362. package/es/components/mention/src/mention.mjs +285 -65
  363. package/es/components/mention/src/mention.mjs.map +1 -1
  364. package/es/components/mention/src/mention2.mjs +65 -285
  365. package/es/components/mention/src/mention2.mjs.map +1 -1
  366. package/es/components/menu/index.mjs +2 -2
  367. package/es/components/menu/src/menu-item.mjs +15 -100
  368. package/es/components/menu/src/menu-item.mjs.map +1 -1
  369. package/es/components/menu/src/menu-item2.mjs +100 -15
  370. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  371. package/es/components/popconfirm/index.mjs +2 -2
  372. package/es/components/popconfirm/src/popconfirm.mjs +122 -42
  373. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  374. package/es/components/popconfirm/src/popconfirm.vue.d.ts +4 -1
  375. package/es/components/popconfirm/src/popconfirm2.mjs +42 -114
  376. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  377. package/es/components/popper/index.mjs +2 -2
  378. package/es/components/popper/src/popper.mjs +22 -32
  379. package/es/components/popper/src/popper.mjs.map +1 -1
  380. package/es/components/popper/src/popper2.mjs +32 -22
  381. package/es/components/popper/src/popper2.mjs.map +1 -1
  382. package/es/components/radio/index.mjs +2 -2
  383. package/es/components/radio/src/radio-button.mjs +1 -1
  384. package/es/components/radio/src/radio-group.mjs +1 -1
  385. package/es/components/radio/src/radio.mjs +74 -32
  386. package/es/components/radio/src/radio.mjs.map +1 -1
  387. package/es/components/radio/src/radio2.mjs +32 -74
  388. package/es/components/radio/src/radio2.mjs.map +1 -1
  389. package/es/components/scrollbar/index.mjs +2 -2
  390. package/es/components/scrollbar/src/scrollbar.mjs +223 -57
  391. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  392. package/es/components/scrollbar/src/scrollbar2.mjs +57 -220
  393. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  394. package/es/components/select/index.mjs +1 -1
  395. package/es/components/select/src/option.mjs +89 -13
  396. package/es/components/select/src/option.mjs.map +1 -1
  397. package/es/components/select/src/option2.mjs +13 -89
  398. package/es/components/select/src/option2.mjs.map +1 -1
  399. package/es/components/select/src/select.mjs +1 -1
  400. package/es/components/select/src/select2.mjs +1 -1
  401. package/es/components/select/src/useOption.mjs +1 -1
  402. package/es/components/select/src/useSelect.mjs +1 -1
  403. package/es/components/select/src/useSelect.mjs.map +1 -1
  404. package/es/components/select-v2/src/useSelect.mjs +1 -1
  405. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  406. package/es/components/slider/src/button.mjs +19 -91
  407. package/es/components/slider/src/button.mjs.map +1 -1
  408. package/es/components/slider/src/button2.mjs +91 -19
  409. package/es/components/slider/src/button2.mjs.map +1 -1
  410. package/es/components/slider/src/slider2.mjs +1 -1
  411. package/es/components/splitter/index.mjs +2 -2
  412. package/es/components/splitter/src/split-panel.mjs +152 -17
  413. package/es/components/splitter/src/split-panel.mjs.map +1 -1
  414. package/es/components/splitter/src/split-panel2.mjs +17 -152
  415. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  416. package/es/components/statistic/index.mjs +2 -2
  417. package/es/components/statistic/src/statistic.mjs +69 -25
  418. package/es/components/statistic/src/statistic.mjs.map +1 -1
  419. package/es/components/statistic/src/statistic2.mjs +25 -69
  420. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  421. package/es/components/tabs/index.mjs +1 -1
  422. package/es/components/tabs/src/tab-bar.mjs +11 -87
  423. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  424. package/es/components/tabs/src/tab-bar2.mjs +87 -11
  425. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  426. package/es/components/tabs/src/tab-nav.mjs +1 -1
  427. package/es/components/tooltip/src/tooltip.mjs +1 -1
  428. package/es/components/tooltip-v2/index.mjs +1 -1
  429. package/es/components/tooltip-v2/src/arrow.mjs +37 -21
  430. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  431. package/es/components/tooltip-v2/src/arrow2.mjs +21 -37
  432. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  433. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  434. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  435. package/es/index.d.ts +4 -1
  436. package/es/index.mjs +24 -24
  437. package/es/version.d.ts +1 -1
  438. package/es/version.mjs +1 -1
  439. package/es/version.mjs.map +1 -1
  440. package/lib/components/backtop/index.js +2 -2
  441. package/lib/components/backtop/src/backtop.js +22 -53
  442. package/lib/components/backtop/src/backtop.js.map +1 -1
  443. package/lib/components/backtop/src/backtop2.js +53 -22
  444. package/lib/components/backtop/src/backtop2.js.map +1 -1
  445. package/lib/components/badge/index.js +2 -2
  446. package/lib/components/badge/src/badge.js +32 -71
  447. package/lib/components/badge/src/badge.js.map +1 -1
  448. package/lib/components/badge/src/badge2.js +71 -32
  449. package/lib/components/badge/src/badge2.js.map +1 -1
  450. package/lib/components/breadcrumb/index.js +2 -2
  451. package/lib/components/breadcrumb/src/breadcrumb.js +37 -10
  452. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  453. package/lib/components/breadcrumb/src/breadcrumb2.js +10 -37
  454. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  455. package/lib/components/calendar/index.js +2 -2
  456. package/lib/components/calendar/src/calendar.js +134 -17
  457. package/lib/components/calendar/src/calendar.js.map +1 -1
  458. package/lib/components/calendar/src/calendar2.js +17 -134
  459. package/lib/components/calendar/src/calendar2.js.map +1 -1
  460. package/lib/components/calendar/src/date-table.js +89 -35
  461. package/lib/components/calendar/src/date-table.js.map +1 -1
  462. package/lib/components/calendar/src/date-table2.js +35 -89
  463. package/lib/components/calendar/src/date-table2.js.map +1 -1
  464. package/lib/components/calendar/src/use-date-table.js +1 -1
  465. package/lib/components/check-tag/index.js +2 -2
  466. package/lib/components/check-tag/src/check-tag.js +38 -15
  467. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  468. package/lib/components/check-tag/src/check-tag2.js +15 -38
  469. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  470. package/lib/components/checkbox/index.js +4 -4
  471. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  472. package/lib/components/checkbox/src/checkbox-group.js +71 -30
  473. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  474. package/lib/components/checkbox/src/checkbox-group2.js +30 -71
  475. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  476. package/lib/components/checkbox/src/checkbox.js +119 -60
  477. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  478. package/lib/components/checkbox/src/checkbox2.js +60 -119
  479. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  480. package/lib/components/col/index.js +2 -2
  481. package/lib/components/col/src/col.js +64 -43
  482. package/lib/components/col/src/col.js.map +1 -1
  483. package/lib/components/col/src/col2.js +43 -64
  484. package/lib/components/col/src/col2.js.map +1 -1
  485. package/lib/components/color-picker/index.js +2 -2
  486. package/lib/components/color-picker/src/color-picker.js +399 -50
  487. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  488. package/lib/components/color-picker/src/color-picker2.js +50 -399
  489. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  490. package/lib/components/color-picker/src/components/predefine.js +1 -1
  491. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +1 -0
  492. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  493. package/lib/components/descriptions/index.js +2 -2
  494. package/lib/components/descriptions/src/description.js +127 -26
  495. package/lib/components/descriptions/src/description.js.map +1 -1
  496. package/lib/components/descriptions/src/description2.js +26 -127
  497. package/lib/components/descriptions/src/description2.js.map +1 -1
  498. package/lib/components/divider/index.js +2 -2
  499. package/lib/components/divider/src/divider.js +34 -16
  500. package/lib/components/divider/src/divider.js.map +1 -1
  501. package/lib/components/divider/src/divider2.js +16 -34
  502. package/lib/components/divider/src/divider2.js.map +1 -1
  503. package/lib/components/dropdown/src/dropdown.js +1 -1
  504. package/lib/components/empty/index.js +2 -2
  505. package/lib/components/empty/src/empty.js +52 -11
  506. package/lib/components/empty/src/empty.js.map +1 -1
  507. package/lib/components/empty/src/empty2.js +11 -52
  508. package/lib/components/empty/src/empty2.js.map +1 -1
  509. package/lib/components/form/index.js +2 -2
  510. package/lib/components/form/src/form.js +155 -55
  511. package/lib/components/form/src/form.js.map +1 -1
  512. package/lib/components/form/src/form2.js +55 -155
  513. package/lib/components/form/src/form2.js.map +1 -1
  514. package/lib/components/image/index.js +2 -2
  515. package/lib/components/image/src/image.js +226 -65
  516. package/lib/components/image/src/image.js.map +1 -1
  517. package/lib/components/image/src/image2.js +65 -226
  518. package/lib/components/image/src/image2.js.map +1 -1
  519. package/lib/components/index.js +24 -24
  520. package/lib/components/input-tag/index.js +2 -2
  521. package/lib/components/input-tag/src/input-tag.js +214 -70
  522. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  523. package/lib/components/input-tag/src/input-tag2.js +70 -214
  524. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  525. package/lib/components/mention/index.js +2 -2
  526. package/lib/components/mention/src/mention.js +283 -64
  527. package/lib/components/mention/src/mention.js.map +1 -1
  528. package/lib/components/mention/src/mention2.js +64 -283
  529. package/lib/components/mention/src/mention2.js.map +1 -1
  530. package/lib/components/menu/index.js +2 -2
  531. package/lib/components/menu/src/menu-item.js +16 -100
  532. package/lib/components/menu/src/menu-item.js.map +1 -1
  533. package/lib/components/menu/src/menu-item2.js +100 -16
  534. package/lib/components/menu/src/menu-item2.js.map +1 -1
  535. package/lib/components/popconfirm/index.js +2 -2
  536. package/lib/components/popconfirm/src/popconfirm.js +122 -43
  537. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  538. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +4 -1
  539. package/lib/components/popconfirm/src/popconfirm2.js +43 -114
  540. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  541. package/lib/components/popper/index.js +2 -2
  542. package/lib/components/popper/src/popper.js +25 -32
  543. package/lib/components/popper/src/popper.js.map +1 -1
  544. package/lib/components/popper/src/popper2.js +32 -25
  545. package/lib/components/popper/src/popper2.js.map +1 -1
  546. package/lib/components/radio/index.js +2 -2
  547. package/lib/components/radio/src/radio-button.js +1 -1
  548. package/lib/components/radio/src/radio-group.js +1 -1
  549. package/lib/components/radio/src/radio.js +73 -33
  550. package/lib/components/radio/src/radio.js.map +1 -1
  551. package/lib/components/radio/src/radio2.js +33 -73
  552. package/lib/components/radio/src/radio2.js.map +1 -1
  553. package/lib/components/scrollbar/index.js +2 -2
  554. package/lib/components/scrollbar/src/scrollbar.js +223 -58
  555. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  556. package/lib/components/scrollbar/src/scrollbar2.js +58 -220
  557. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  558. package/lib/components/select/index.js +1 -1
  559. package/lib/components/select/src/option.js +89 -14
  560. package/lib/components/select/src/option.js.map +1 -1
  561. package/lib/components/select/src/option2.js +14 -89
  562. package/lib/components/select/src/option2.js.map +1 -1
  563. package/lib/components/select/src/select.js +1 -1
  564. package/lib/components/select/src/select2.js +1 -1
  565. package/lib/components/select/src/useOption.js +1 -1
  566. package/lib/components/select/src/useSelect.js +1 -1
  567. package/lib/components/select/src/useSelect.js.map +1 -1
  568. package/lib/components/select-v2/src/useSelect.js +1 -1
  569. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  570. package/lib/components/slider/src/button.js +20 -91
  571. package/lib/components/slider/src/button.js.map +1 -1
  572. package/lib/components/slider/src/button2.js +91 -20
  573. package/lib/components/slider/src/button2.js.map +1 -1
  574. package/lib/components/slider/src/slider2.js +1 -1
  575. package/lib/components/splitter/index.js +2 -2
  576. package/lib/components/splitter/src/split-panel.js +152 -17
  577. package/lib/components/splitter/src/split-panel.js.map +1 -1
  578. package/lib/components/splitter/src/split-panel2.js +17 -152
  579. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  580. package/lib/components/statistic/index.js +2 -2
  581. package/lib/components/statistic/src/statistic.js +69 -25
  582. package/lib/components/statistic/src/statistic.js.map +1 -1
  583. package/lib/components/statistic/src/statistic2.js +25 -69
  584. package/lib/components/statistic/src/statistic2.js.map +1 -1
  585. package/lib/components/tabs/index.js +1 -1
  586. package/lib/components/tabs/src/tab-bar.js +11 -87
  587. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  588. package/lib/components/tabs/src/tab-bar2.js +87 -11
  589. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  590. package/lib/components/tabs/src/tab-nav.js +1 -1
  591. package/lib/components/tooltip/src/tooltip.js +1 -1
  592. package/lib/components/tooltip-v2/index.js +1 -1
  593. package/lib/components/tooltip-v2/src/arrow.js +37 -22
  594. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  595. package/lib/components/tooltip-v2/src/arrow2.js +22 -37
  596. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  597. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  598. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  599. package/lib/index.d.ts +4 -1
  600. package/lib/index.js +24 -24
  601. package/lib/version.d.ts +1 -1
  602. package/lib/version.js +1 -1
  603. package/lib/version.js.map +1 -1
  604. package/package.json +2 -2
  605. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: definePropType<ScrollIntoViewOptions | boolean>([Object, Boolean]),\n default: true,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormPropsPublic = __ExtractPublicPropTypes<typeof formProps>\n\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\nexport type FormMetaPropsPublic = __ExtractPublicPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;AAQY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,eAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return filterFields(fields, [prop])[0]\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error' && !field.error) field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n let result = false\n const shouldThrow = !isFunction(callback)\n try {\n result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value!.querySelector(\n `.${ns.b()}-item.is-error`\n )\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["ref","reactive","useFormSize","useNamespace","computed","filterFields","props","fields","isFunction","watch","debugWarn","provide","formContextKey","toRefs","useFormLabelWidth","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_export_sfc"],"mappings":"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"}
@@ -2,165 +2,65 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var constants = require('./constants.js');
7
- var form = require('./form.js');
8
- var utils = require('./utils.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var useFormCommonProps = require('./hooks/use-form-common-props.js');
11
- var index = require('../../../hooks/use-namespace/index.js');
12
- var error = require('../../../utils/error.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var size = require('../../../constants/size.js');
13
7
  var shared = require('@vue/shared');
8
+ var types = require('../../../utils/types.js');
14
9
 
15
- const COMPONENT_NAME = "ElForm";
16
- const __default__ = vue.defineComponent({
17
- name: COMPONENT_NAME
10
+ const formMetaProps = runtime.buildProps({
11
+ size: {
12
+ type: String,
13
+ values: size.componentSizes
14
+ },
15
+ disabled: Boolean
18
16
  });
19
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
- ...__default__,
21
- props: form.formProps,
22
- emits: form.formEmits,
23
- setup(__props, { expose, emit }) {
24
- const props = __props;
25
- const formRef = vue.ref();
26
- const fields = vue.reactive([]);
27
- const formSize = useFormCommonProps.useFormSize();
28
- const ns = index.useNamespace("form");
29
- const formClasses = vue.computed(() => {
30
- const { labelPosition, inline } = props;
31
- return [
32
- ns.b(),
33
- ns.m(formSize.value || "default"),
34
- {
35
- [ns.m(`label-${labelPosition}`)]: labelPosition,
36
- [ns.m("inline")]: inline
37
- }
38
- ];
39
- });
40
- const getField = (prop) => {
41
- return utils.filterFields(fields, [prop])[0];
42
- };
43
- const addField = (field) => {
44
- fields.push(field);
45
- };
46
- const removeField = (field) => {
47
- if (field.prop) {
48
- fields.splice(fields.indexOf(field), 1);
49
- }
50
- };
51
- const resetFields = (properties = []) => {
52
- if (!props.model) {
53
- return;
54
- }
55
- utils.filterFields(fields, properties).forEach((field) => field.resetField());
56
- };
57
- const clearValidate = (props2 = []) => {
58
- utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
59
- };
60
- const isValidatable = vue.computed(() => {
61
- const hasModel = !!props.model;
62
- return hasModel;
63
- });
64
- const obtainValidateFields = (props2) => {
65
- if (fields.length === 0)
66
- return [];
67
- const filteredFields = utils.filterFields(fields, props2);
68
- if (!filteredFields.length) {
69
- return [];
70
- }
71
- return filteredFields;
72
- };
73
- const validate = async (callback) => validateField(void 0, callback);
74
- const doValidateField = async (props2 = []) => {
75
- if (!isValidatable.value)
76
- return false;
77
- const fields2 = obtainValidateFields(props2);
78
- if (fields2.length === 0)
79
- return true;
80
- let validationErrors = {};
81
- for (const field of fields2) {
82
- try {
83
- await field.validate("");
84
- if (field.validateState === "error" && !field.error)
85
- field.resetField();
86
- } catch (fields3) {
87
- validationErrors = {
88
- ...validationErrors,
89
- ...fields3
90
- };
91
- }
92
- }
93
- if (Object.keys(validationErrors).length === 0)
94
- return true;
95
- return Promise.reject(validationErrors);
96
- };
97
- const validateField = async (modelProps = [], callback) => {
98
- let result = false;
99
- const shouldThrow = !shared.isFunction(callback);
100
- try {
101
- result = await doValidateField(modelProps);
102
- if (result === true) {
103
- await (callback == null ? void 0 : callback(result));
104
- }
105
- return result;
106
- } catch (e) {
107
- if (e instanceof Error)
108
- throw e;
109
- const invalidFields = e;
110
- if (props.scrollToError) {
111
- if (formRef.value) {
112
- const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`);
113
- formItem == null ? void 0 : formItem.scrollIntoView(props.scrollIntoViewOptions);
114
- }
115
- }
116
- !result && await (callback == null ? void 0 : callback(false, invalidFields));
117
- return shouldThrow && Promise.reject(invalidFields);
118
- }
119
- };
120
- const scrollToField = (prop) => {
121
- var _a;
122
- const field = getField(prop);
123
- if (field) {
124
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
125
- }
126
- };
127
- vue.watch(() => props.rules, () => {
128
- if (props.validateOnRuleChange) {
129
- validate().catch((err) => error.debugWarn());
130
- }
131
- }, { deep: true, flush: "post" });
132
- vue.provide(constants.formContextKey, vue.reactive({
133
- ...vue.toRefs(props),
134
- emit,
135
- resetFields,
136
- clearValidate,
137
- validateField,
138
- getField,
139
- addField,
140
- removeField,
141
- ...utils.useFormLabelWidth()
142
- }));
143
- expose({
144
- validate,
145
- validateField,
146
- resetFields,
147
- clearValidate,
148
- scrollToField,
149
- getField,
150
- fields
151
- });
152
- return (_ctx, _cache) => {
153
- return vue.openBlock(), vue.createElementBlock("form", {
154
- ref_key: "formRef",
155
- ref: formRef,
156
- class: vue.normalizeClass(vue.unref(formClasses))
157
- }, [
158
- vue.renderSlot(_ctx.$slots, "default")
159
- ], 2);
160
- };
17
+ const formProps = runtime.buildProps({
18
+ ...formMetaProps,
19
+ model: Object,
20
+ rules: {
21
+ type: runtime.definePropType(Object)
22
+ },
23
+ labelPosition: {
24
+ type: String,
25
+ values: ["left", "right", "top"],
26
+ default: "right"
27
+ },
28
+ requireAsteriskPosition: {
29
+ type: String,
30
+ values: ["left", "right"],
31
+ default: "left"
32
+ },
33
+ labelWidth: {
34
+ type: [String, Number],
35
+ default: ""
36
+ },
37
+ labelSuffix: {
38
+ type: String,
39
+ default: ""
40
+ },
41
+ inline: Boolean,
42
+ inlineMessage: Boolean,
43
+ statusIcon: Boolean,
44
+ showMessage: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ validateOnRuleChange: {
49
+ type: Boolean,
50
+ default: true
51
+ },
52
+ hideRequiredAsterisk: Boolean,
53
+ scrollToError: Boolean,
54
+ scrollIntoViewOptions: {
55
+ type: runtime.definePropType([Object, Boolean]),
56
+ default: true
161
57
  }
162
58
  });
163
- var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form.vue"]]);
59
+ const formEmits = {
60
+ validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
61
+ };
164
62
 
165
- exports["default"] = Form;
63
+ exports.formEmits = formEmits;
64
+ exports.formMetaProps = formMetaProps;
65
+ exports.formProps = formProps;
166
66
  //# sourceMappingURL=form2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return filterFields(fields, [prop])[0]\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error' && !field.error) field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n let result = false\n const shouldThrow = !isFunction(callback)\n try {\n result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value!.querySelector(\n `.${ns.b()}-item.is-error`\n )\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["ref","reactive","useFormSize","useNamespace","computed","filterFields","props","fields","isFunction","watch","debugWarn","provide","formContextKey","toRefs","useFormLabelWidth","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_export_sfc"],"mappings":"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"}
1
+ {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: definePropType<ScrollIntoViewOptions | boolean>([Object, Boolean]),\n default: true,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormPropsPublic = __ExtractPublicPropTypes<typeof formProps>\n\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\nexport type FormMetaPropsPublic = __ExtractPublicPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;AAQY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,eAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var image$1 = require('./src/image2.js');
6
- var image = require('./src/image.js');
5
+ var image$1 = require('./src/image.js');
6
+ var image = require('./src/image2.js');
7
7
  var install = require('../../utils/vue/install.js');
8
8
 
9
9
  const ElImage = install.withInstall(image$1["default"]);
@@ -2,74 +2,235 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var typescript = require('../../../utils/typescript.js');
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ var lodashUnified = require('lodash-unified');
8
+ var index$3 = require('../../image-viewer/index.js');
9
+ var image = require('./image2.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
7
11
  var types = require('../../../utils/types.js');
12
+ var index = require('../../../hooks/use-locale/index.js');
13
+ var index$1 = require('../../../hooks/use-namespace/index.js');
14
+ var index$2 = require('../../../hooks/use-attrs/index.js');
15
+ var shared = require('@vue/shared');
16
+ var scroll = require('../../../utils/dom/scroll.js');
8
17
 
9
- const imageProps = runtime.buildProps({
10
- hideOnClickModal: Boolean,
11
- src: {
12
- type: String,
13
- default: ""
14
- },
15
- fit: {
16
- type: String,
17
- values: ["", "contain", "cover", "fill", "none", "scale-down"],
18
- default: ""
19
- },
20
- loading: {
21
- type: String,
22
- values: ["eager", "lazy"]
23
- },
24
- lazy: Boolean,
25
- scrollContainer: {
26
- type: runtime.definePropType([String, Object])
27
- },
28
- previewSrcList: {
29
- type: runtime.definePropType(Array),
30
- default: () => typescript.mutable([])
31
- },
32
- previewTeleported: Boolean,
33
- zIndex: {
34
- type: Number
35
- },
36
- initialIndex: {
37
- type: Number,
38
- default: 0
39
- },
40
- infinite: {
41
- type: Boolean,
42
- default: true
43
- },
44
- closeOnPressEscape: {
45
- type: Boolean,
46
- default: true
47
- },
48
- zoomRate: {
49
- type: Number,
50
- default: 1.2
51
- },
52
- minScale: {
53
- type: Number,
54
- default: 0.2
55
- },
56
- maxScale: {
57
- type: Number,
58
- default: 7
59
- },
60
- showProgress: Boolean,
61
- crossorigin: {
62
- type: runtime.definePropType(String)
18
+ const __default__ = vue.defineComponent({
19
+ name: "ElImage",
20
+ inheritAttrs: false
21
+ });
22
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
+ ...__default__,
24
+ props: image.imageProps,
25
+ emits: image.imageEmits,
26
+ setup(__props, { expose, emit }) {
27
+ const props = __props;
28
+ const { t } = index.useLocale();
29
+ const ns = index$1.useNamespace("image");
30
+ const rawAttrs = vue.useAttrs();
31
+ const containerAttrs = vue.computed(() => {
32
+ return lodashUnified.fromPairs(Object.entries(rawAttrs).filter(([key]) => /^(data-|on[A-Z])/i.test(key) || ["id", "style"].includes(key)));
33
+ });
34
+ const imgAttrs = index$2.useAttrs({
35
+ excludeListeners: true,
36
+ excludeKeys: vue.computed(() => {
37
+ return Object.keys(containerAttrs.value);
38
+ })
39
+ });
40
+ const imageSrc = vue.ref();
41
+ const hasLoadError = vue.ref(false);
42
+ const isLoading = vue.ref(true);
43
+ const showViewer = vue.ref(false);
44
+ const container = vue.ref();
45
+ const _scrollContainer = vue.ref();
46
+ const supportLoading = core.isClient && "loading" in HTMLImageElement.prototype;
47
+ let stopScrollListener;
48
+ const imageKls = vue.computed(() => [
49
+ ns.e("inner"),
50
+ preview.value && ns.e("preview"),
51
+ isLoading.value && ns.is("loading")
52
+ ]);
53
+ const imageStyle = vue.computed(() => {
54
+ const { fit } = props;
55
+ if (core.isClient && fit) {
56
+ return { objectFit: fit };
57
+ }
58
+ return {};
59
+ });
60
+ const preview = vue.computed(() => {
61
+ const { previewSrcList } = props;
62
+ return shared.isArray(previewSrcList) && previewSrcList.length > 0;
63
+ });
64
+ const imageIndex = vue.computed(() => {
65
+ const { previewSrcList, initialIndex } = props;
66
+ let previewIndex = initialIndex;
67
+ if (initialIndex > previewSrcList.length - 1) {
68
+ previewIndex = 0;
69
+ }
70
+ return previewIndex;
71
+ });
72
+ const isManual = vue.computed(() => {
73
+ if (props.loading === "eager")
74
+ return false;
75
+ return !supportLoading && props.loading === "lazy" || props.lazy;
76
+ });
77
+ const loadImage = () => {
78
+ if (!core.isClient)
79
+ return;
80
+ isLoading.value = true;
81
+ hasLoadError.value = false;
82
+ imageSrc.value = props.src;
83
+ };
84
+ function handleLoad(event) {
85
+ isLoading.value = false;
86
+ hasLoadError.value = false;
87
+ emit("load", event);
88
+ }
89
+ function handleError(event) {
90
+ isLoading.value = false;
91
+ hasLoadError.value = true;
92
+ emit("error", event);
93
+ }
94
+ function handleLazyLoad(isIntersecting) {
95
+ if (isIntersecting) {
96
+ loadImage();
97
+ removeLazyLoadListener();
98
+ }
99
+ }
100
+ const lazyLoadHandler = core.useThrottleFn(handleLazyLoad, 200, true);
101
+ async function addLazyLoadListener() {
102
+ var _a;
103
+ if (!core.isClient)
104
+ return;
105
+ await vue.nextTick();
106
+ const { scrollContainer } = props;
107
+ if (types.isElement(scrollContainer)) {
108
+ _scrollContainer.value = scrollContainer;
109
+ } else if (shared.isString(scrollContainer) && scrollContainer !== "") {
110
+ _scrollContainer.value = (_a = document.querySelector(scrollContainer)) != null ? _a : void 0;
111
+ } else if (container.value) {
112
+ const scrollContainer2 = scroll.getScrollContainer(container.value);
113
+ _scrollContainer.value = types.isWindow(scrollContainer2) ? void 0 : scrollContainer2;
114
+ }
115
+ const { stop } = core.useIntersectionObserver(container, ([entry]) => {
116
+ lazyLoadHandler(entry.isIntersecting);
117
+ }, { root: _scrollContainer });
118
+ stopScrollListener = stop;
119
+ }
120
+ function removeLazyLoadListener() {
121
+ if (!core.isClient || !lazyLoadHandler)
122
+ return;
123
+ stopScrollListener == null ? void 0 : stopScrollListener();
124
+ _scrollContainer.value = void 0;
125
+ stopScrollListener = void 0;
126
+ }
127
+ function clickHandler() {
128
+ if (!preview.value)
129
+ return;
130
+ showViewer.value = true;
131
+ emit("show");
132
+ }
133
+ function closeViewer() {
134
+ showViewer.value = false;
135
+ emit("close");
136
+ }
137
+ function switchViewer(val) {
138
+ emit("switch", val);
139
+ }
140
+ vue.watch(() => props.src, () => {
141
+ if (isManual.value) {
142
+ isLoading.value = true;
143
+ hasLoadError.value = false;
144
+ removeLazyLoadListener();
145
+ addLazyLoadListener();
146
+ } else {
147
+ loadImage();
148
+ }
149
+ });
150
+ vue.onMounted(() => {
151
+ if (isManual.value) {
152
+ addLazyLoadListener();
153
+ } else {
154
+ loadImage();
155
+ }
156
+ });
157
+ expose({
158
+ showPreview: clickHandler
159
+ });
160
+ return (_ctx, _cache) => {
161
+ return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
162
+ ref_key: "container",
163
+ ref: container
164
+ }, vue.unref(containerAttrs), {
165
+ class: [vue.unref(ns).b(), _ctx.$attrs.class]
166
+ }), [
167
+ hasLoadError.value ? vue.renderSlot(_ctx.$slots, "error", { key: 0 }, () => [
168
+ vue.createElementVNode("div", {
169
+ class: vue.normalizeClass(vue.unref(ns).e("error"))
170
+ }, vue.toDisplayString(vue.unref(t)("el.image.error")), 3)
171
+ ]) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
172
+ imageSrc.value !== void 0 ? (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({ key: 0 }, vue.unref(imgAttrs), {
173
+ src: imageSrc.value,
174
+ loading: _ctx.loading,
175
+ style: vue.unref(imageStyle),
176
+ class: vue.unref(imageKls),
177
+ crossorigin: _ctx.crossorigin,
178
+ onClick: clickHandler,
179
+ onLoad: handleLoad,
180
+ onError: handleError
181
+ }), null, 16, ["src", "loading", "crossorigin"])) : vue.createCommentVNode("v-if", true),
182
+ isLoading.value ? (vue.openBlock(), vue.createElementBlock("div", {
183
+ key: 1,
184
+ class: vue.normalizeClass(vue.unref(ns).e("wrapper"))
185
+ }, [
186
+ vue.renderSlot(_ctx.$slots, "placeholder", {}, () => [
187
+ vue.createElementVNode("div", {
188
+ class: vue.normalizeClass(vue.unref(ns).e("placeholder"))
189
+ }, null, 2)
190
+ ])
191
+ ], 2)) : vue.createCommentVNode("v-if", true)
192
+ ], 64)),
193
+ vue.unref(preview) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
194
+ showViewer.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ElImageViewer), {
195
+ key: 0,
196
+ "z-index": _ctx.zIndex,
197
+ "initial-index": vue.unref(imageIndex),
198
+ infinite: _ctx.infinite,
199
+ "zoom-rate": _ctx.zoomRate,
200
+ "min-scale": _ctx.minScale,
201
+ "max-scale": _ctx.maxScale,
202
+ "show-progress": _ctx.showProgress,
203
+ "url-list": _ctx.previewSrcList,
204
+ crossorigin: _ctx.crossorigin,
205
+ "hide-on-click-modal": _ctx.hideOnClickModal,
206
+ teleported: _ctx.previewTeleported,
207
+ "close-on-press-escape": _ctx.closeOnPressEscape,
208
+ onClose: closeViewer,
209
+ onSwitch: switchViewer
210
+ }, vue.createSlots({
211
+ toolbar: vue.withCtx((toolbar) => [
212
+ vue.renderSlot(_ctx.$slots, "toolbar", vue.normalizeProps(vue.guardReactiveProps(toolbar)))
213
+ ]),
214
+ default: vue.withCtx(() => [
215
+ _ctx.$slots.viewer ? (vue.openBlock(), vue.createElementBlock("div", { key: 0 }, [
216
+ vue.renderSlot(_ctx.$slots, "viewer")
217
+ ])) : vue.createCommentVNode("v-if", true)
218
+ ]),
219
+ _: 2
220
+ }, [
221
+ _ctx.$slots.progress ? {
222
+ name: "progress",
223
+ fn: vue.withCtx((progress) => [
224
+ vue.renderSlot(_ctx.$slots, "progress", vue.normalizeProps(vue.guardReactiveProps(progress)))
225
+ ])
226
+ } : void 0
227
+ ]), 1032, ["z-index", "initial-index", "infinite", "zoom-rate", "min-scale", "max-scale", "show-progress", "url-list", "crossorigin", "hide-on-click-modal", "teleported", "close-on-press-escape"])) : vue.createCommentVNode("v-if", true)
228
+ ], 64)) : vue.createCommentVNode("v-if", true)
229
+ ], 16);
230
+ };
63
231
  }
64
232
  });
65
- const imageEmits = {
66
- load: (evt) => evt instanceof Event,
67
- error: (evt) => evt instanceof Event,
68
- switch: (val) => types.isNumber(val),
69
- close: () => true,
70
- show: () => true
71
- };
233
+ var Image = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "image.vue"]]);
72
234
 
73
- exports.imageEmits = imageEmits;
74
- exports.imageProps = imageProps;
235
+ exports["default"] = Image;
75
236
  //# sourceMappingURL=image.js.map