element-plus 1.3.0-beta.7 → 1.3.0-beta.8

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 (558) hide show
  1. package/dist/index.full.js +612 -462
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +612 -462
  7. package/dist/locale/af.js +6 -8
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.js.map +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +6 -8
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.js.map +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +6 -8
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.js.map +1 -1
  20. package/dist/locale/bg.min.mjs +1 -1
  21. package/dist/locale/bg.mjs +1 -1
  22. package/dist/locale/bn.js +6 -8
  23. package/dist/locale/bn.min.js +1 -1
  24. package/dist/locale/bn.min.js.map +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +6 -8
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.js.map +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +6 -8
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.js.map +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +6 -8
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.js.map +1 -1
  40. package/dist/locale/da.min.mjs +1 -1
  41. package/dist/locale/da.mjs +1 -1
  42. package/dist/locale/de.js +6 -8
  43. package/dist/locale/de.min.js +1 -1
  44. package/dist/locale/de.min.js.map +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +6 -8
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.js.map +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +6 -8
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.js.map +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +6 -8
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.js.map +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +6 -8
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.js.map +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +6 -8
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.js.map +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 +6 -8
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.js.map +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +6 -8
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.js.map +1 -1
  80. package/dist/locale/fa.min.mjs +1 -1
  81. package/dist/locale/fa.mjs +1 -1
  82. package/dist/locale/fi.js +6 -8
  83. package/dist/locale/fi.min.js +1 -1
  84. package/dist/locale/fi.min.js.map +1 -1
  85. package/dist/locale/fi.min.mjs +1 -1
  86. package/dist/locale/fi.mjs +1 -1
  87. package/dist/locale/fr.js +6 -8
  88. package/dist/locale/fr.min.js +1 -1
  89. package/dist/locale/fr.min.js.map +1 -1
  90. package/dist/locale/fr.min.mjs +1 -1
  91. package/dist/locale/fr.mjs +1 -1
  92. package/dist/locale/he.js +6 -8
  93. package/dist/locale/he.min.js +1 -1
  94. package/dist/locale/he.min.js.map +1 -1
  95. package/dist/locale/he.min.mjs +1 -1
  96. package/dist/locale/he.mjs +1 -1
  97. package/dist/locale/hr.js +6 -8
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.js.map +1 -1
  100. package/dist/locale/hr.min.mjs +1 -1
  101. package/dist/locale/hr.mjs +1 -1
  102. package/dist/locale/hu.js +6 -8
  103. package/dist/locale/hu.min.js +1 -1
  104. package/dist/locale/hu.min.js.map +1 -1
  105. package/dist/locale/hu.min.mjs +1 -1
  106. package/dist/locale/hu.mjs +1 -1
  107. package/dist/locale/hy-am.js +6 -8
  108. package/dist/locale/hy-am.min.js +1 -1
  109. package/dist/locale/hy-am.min.js.map +1 -1
  110. package/dist/locale/hy-am.min.mjs +1 -1
  111. package/dist/locale/hy-am.mjs +1 -1
  112. package/dist/locale/id.js +6 -8
  113. package/dist/locale/id.min.js +1 -1
  114. package/dist/locale/id.min.js.map +1 -1
  115. package/dist/locale/id.min.mjs +1 -1
  116. package/dist/locale/id.mjs +1 -1
  117. package/dist/locale/it.js +6 -8
  118. package/dist/locale/it.min.js +1 -1
  119. package/dist/locale/it.min.js.map +1 -1
  120. package/dist/locale/it.min.mjs +1 -1
  121. package/dist/locale/it.mjs +1 -1
  122. package/dist/locale/ja.js +6 -8
  123. package/dist/locale/ja.min.js +1 -1
  124. package/dist/locale/ja.min.js.map +1 -1
  125. package/dist/locale/ja.min.mjs +1 -1
  126. package/dist/locale/ja.mjs +1 -1
  127. package/dist/locale/kk.js +6 -8
  128. package/dist/locale/kk.min.js +1 -1
  129. package/dist/locale/kk.min.js.map +1 -1
  130. package/dist/locale/kk.min.mjs +1 -1
  131. package/dist/locale/kk.mjs +1 -1
  132. package/dist/locale/km.js +6 -8
  133. package/dist/locale/km.min.js +1 -1
  134. package/dist/locale/km.min.js.map +1 -1
  135. package/dist/locale/km.min.mjs +1 -1
  136. package/dist/locale/km.mjs +1 -1
  137. package/dist/locale/ko.js +6 -8
  138. package/dist/locale/ko.min.js +1 -1
  139. package/dist/locale/ko.min.js.map +1 -1
  140. package/dist/locale/ko.min.mjs +1 -1
  141. package/dist/locale/ko.mjs +1 -1
  142. package/dist/locale/ku.js +6 -8
  143. package/dist/locale/ku.min.js +1 -1
  144. package/dist/locale/ku.min.js.map +1 -1
  145. package/dist/locale/ku.min.mjs +1 -1
  146. package/dist/locale/ku.mjs +1 -1
  147. package/dist/locale/ky.js +6 -8
  148. package/dist/locale/ky.min.js +1 -1
  149. package/dist/locale/ky.min.js.map +1 -1
  150. package/dist/locale/ky.min.mjs +1 -1
  151. package/dist/locale/ky.mjs +1 -1
  152. package/dist/locale/lt.js +6 -8
  153. package/dist/locale/lt.min.js +1 -1
  154. package/dist/locale/lt.min.js.map +1 -1
  155. package/dist/locale/lt.min.mjs +1 -1
  156. package/dist/locale/lt.mjs +1 -1
  157. package/dist/locale/lv.js +6 -8
  158. package/dist/locale/lv.min.js +1 -1
  159. package/dist/locale/lv.min.js.map +1 -1
  160. package/dist/locale/lv.min.mjs +1 -1
  161. package/dist/locale/lv.mjs +1 -1
  162. package/dist/locale/mn.js +6 -8
  163. package/dist/locale/mn.min.js +1 -1
  164. package/dist/locale/mn.min.js.map +1 -1
  165. package/dist/locale/mn.min.mjs +1 -1
  166. package/dist/locale/mn.mjs +1 -1
  167. package/dist/locale/nb-no.js +6 -8
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.js.map +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 +6 -8
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.js.map +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/pa.js +6 -8
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.js.map +1 -1
  180. package/dist/locale/pa.min.mjs +1 -1
  181. package/dist/locale/pa.mjs +1 -1
  182. package/dist/locale/pl.js +6 -8
  183. package/dist/locale/pl.min.js +1 -1
  184. package/dist/locale/pl.min.js.map +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +6 -8
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.js.map +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 +6 -8
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.js.map +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +6 -8
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.js.map +1 -1
  200. package/dist/locale/ro.min.mjs +1 -1
  201. package/dist/locale/ro.mjs +1 -1
  202. package/dist/locale/ru.js +6 -8
  203. package/dist/locale/ru.min.js +1 -1
  204. package/dist/locale/ru.min.js.map +1 -1
  205. package/dist/locale/ru.min.mjs +1 -1
  206. package/dist/locale/ru.mjs +1 -1
  207. package/dist/locale/sk.js +6 -8
  208. package/dist/locale/sk.min.js +1 -1
  209. package/dist/locale/sk.min.js.map +1 -1
  210. package/dist/locale/sk.min.mjs +1 -1
  211. package/dist/locale/sk.mjs +1 -1
  212. package/dist/locale/sl.js +6 -8
  213. package/dist/locale/sl.min.js +1 -1
  214. package/dist/locale/sl.min.js.map +1 -1
  215. package/dist/locale/sl.min.mjs +1 -1
  216. package/dist/locale/sl.mjs +1 -1
  217. package/dist/locale/sr.js +6 -8
  218. package/dist/locale/sr.min.js +1 -1
  219. package/dist/locale/sr.min.js.map +1 -1
  220. package/dist/locale/sr.min.mjs +1 -1
  221. package/dist/locale/sr.mjs +1 -1
  222. package/dist/locale/sv.js +6 -8
  223. package/dist/locale/sv.min.js +1 -1
  224. package/dist/locale/sv.min.js.map +1 -1
  225. package/dist/locale/sv.min.mjs +1 -1
  226. package/dist/locale/sv.mjs +1 -1
  227. package/dist/locale/ta.js +6 -8
  228. package/dist/locale/ta.min.js +1 -1
  229. package/dist/locale/ta.min.js.map +1 -1
  230. package/dist/locale/ta.min.mjs +1 -1
  231. package/dist/locale/ta.mjs +1 -1
  232. package/dist/locale/th.js +6 -8
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.js.map +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +6 -8
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.js.map +1 -1
  240. package/dist/locale/tk.min.mjs +1 -1
  241. package/dist/locale/tk.mjs +1 -1
  242. package/dist/locale/tr.js +6 -8
  243. package/dist/locale/tr.min.js +1 -1
  244. package/dist/locale/tr.min.js.map +1 -1
  245. package/dist/locale/tr.min.mjs +1 -1
  246. package/dist/locale/tr.mjs +1 -1
  247. package/dist/locale/ug-cn.js +6 -8
  248. package/dist/locale/ug-cn.min.js +1 -1
  249. package/dist/locale/ug-cn.min.js.map +1 -1
  250. package/dist/locale/ug-cn.min.mjs +1 -1
  251. package/dist/locale/ug-cn.mjs +1 -1
  252. package/dist/locale/uk.js +6 -8
  253. package/dist/locale/uk.min.js +1 -1
  254. package/dist/locale/uk.min.js.map +1 -1
  255. package/dist/locale/uk.min.mjs +1 -1
  256. package/dist/locale/uk.mjs +1 -1
  257. package/dist/locale/uz-uz.js +6 -8
  258. package/dist/locale/uz-uz.min.js +1 -1
  259. package/dist/locale/uz-uz.min.js.map +1 -1
  260. package/dist/locale/uz-uz.min.mjs +1 -1
  261. package/dist/locale/uz-uz.mjs +1 -1
  262. package/dist/locale/vi.js +6 -8
  263. package/dist/locale/vi.min.js +1 -1
  264. package/dist/locale/vi.min.js.map +1 -1
  265. package/dist/locale/vi.min.mjs +1 -1
  266. package/dist/locale/vi.mjs +1 -1
  267. package/dist/locale/zh-cn.js +6 -8
  268. package/dist/locale/zh-cn.min.js +1 -1
  269. package/dist/locale/zh-cn.min.js.map +1 -1
  270. package/dist/locale/zh-cn.min.mjs +1 -1
  271. package/dist/locale/zh-cn.mjs +1 -1
  272. package/dist/locale/zh-tw.js +6 -8
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.js.map +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/affix/src/affix2.mjs +2 -1
  278. package/es/components/affix/src/affix2.mjs.map +1 -1
  279. package/es/components/autocomplete/index.d.ts +22 -0
  280. package/es/components/autocomplete/src/index.mjs +17 -16
  281. package/es/components/autocomplete/src/index.mjs.map +1 -1
  282. package/es/components/autocomplete/src/index.vue.d.ts +11 -0
  283. package/es/components/backtop/index.d.ts +11 -0
  284. package/es/components/backtop/src/backtop.vue.d.ts +11 -0
  285. package/es/components/backtop/src/backtop2.mjs +18 -9
  286. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  287. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  288. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  289. package/es/components/button/src/button2.mjs +11 -7
  290. package/es/components/button/src/button2.mjs.map +1 -1
  291. package/es/components/carousel/src/item.mjs +4 -2
  292. package/es/components/carousel/src/item.mjs.map +1 -1
  293. package/es/components/cascader/src/index.mjs +38 -21
  294. package/es/components/cascader/src/index.mjs.map +1 -1
  295. package/es/components/cascader-panel/src/index.mjs +16 -13
  296. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  297. package/es/components/cascader-panel/src/menu.mjs +25 -22
  298. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  299. package/es/components/cascader-panel/src/node2.mjs +6 -2
  300. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  301. package/es/components/checkbox/index.d.ts +33 -0
  302. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  303. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  304. package/es/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  305. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  306. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  307. package/es/components/checkbox/src/checkbox.mjs +36 -28
  308. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  309. package/es/components/checkbox/src/checkbox.vue.d.ts +11 -0
  310. package/es/components/collapse/src/collapse-item.mjs +3 -3
  311. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  312. package/es/components/color-picker/src/index.mjs +8 -5
  313. package/es/components/color-picker/src/index.mjs.map +1 -1
  314. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  315. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  316. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  317. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  318. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  319. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  320. package/es/components/descriptions/src/index.mjs +7 -2
  321. package/es/components/descriptions/src/index.mjs.map +1 -1
  322. package/es/components/dialog/src/dialog.mjs +1 -3
  323. package/es/components/dialog/src/dialog.mjs.map +1 -1
  324. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  325. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  326. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  327. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  328. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  329. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  330. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  331. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  332. package/es/components/form/src/form-item.mjs +6 -4
  333. package/es/components/form/src/form-item.mjs.map +1 -1
  334. package/es/components/image/src/image2.mjs +3 -2
  335. package/es/components/image/src/image2.mjs.map +1 -1
  336. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  337. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  338. package/es/components/input/src/input2.mjs +17 -8
  339. package/es/components/input/src/input2.mjs.map +1 -1
  340. package/es/components/input-number/src/input-number2.mjs +12 -6
  341. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  342. package/es/components/message/src/message2.mjs +1 -1
  343. package/es/components/message-box/src/index.mjs +4 -2
  344. package/es/components/message-box/src/index.mjs.map +1 -1
  345. package/es/components/notification/src/notification2.mjs +1 -1
  346. package/es/components/pagination/src/components/jumper.mjs +5 -2
  347. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  348. package/es/components/pagination/src/components/sizes.mjs +2 -1
  349. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  350. package/es/components/popconfirm/src/popconfirm2.mjs +6 -3
  351. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  352. package/es/components/popover/src/index.mjs +4 -2
  353. package/es/components/popover/src/index.mjs.map +1 -1
  354. package/es/components/popper/src/content.mjs +5 -3
  355. package/es/components/popper/src/content.mjs.map +1 -1
  356. package/es/components/popper/src/trigger.mjs +1 -1
  357. package/es/components/popper/src/trigger.mjs.map +1 -1
  358. package/es/components/progress/src/progress2.mjs +2 -1
  359. package/es/components/progress/src/progress2.mjs.map +1 -1
  360. package/es/components/radio/src/radio-button2.mjs +4 -4
  361. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  362. package/es/components/radio/src/radio-group2.mjs +1 -1
  363. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  364. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  365. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  366. package/es/components/scrollbar/src/bar2.mjs +2 -1
  367. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  368. package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
  369. package/es/components/select/src/option-group.mjs +2 -1
  370. package/es/components/select/src/option-group.mjs.map +1 -1
  371. package/es/components/select/src/select-dropdown.mjs +2 -1
  372. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  373. package/es/components/select/src/select.mjs +2 -1
  374. package/es/components/select/src/select.mjs.map +1 -1
  375. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  376. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  377. package/es/components/select-v2/src/select.mjs +192 -186
  378. package/es/components/select-v2/src/select.mjs.map +1 -1
  379. package/es/components/slider/src/index.mjs +3 -2
  380. package/es/components/slider/src/index.mjs.map +1 -1
  381. package/es/components/slider/src/marker.mjs +2 -1
  382. package/es/components/slider/src/marker.mjs.map +1 -1
  383. package/es/components/steps/src/item.mjs +2 -1
  384. package/es/components/steps/src/item.mjs.map +1 -1
  385. package/es/components/switch/src/switch2.mjs +4 -2
  386. package/es/components/switch/src/switch2.mjs.map +1 -1
  387. package/es/components/table/src/filter-panel.mjs +7 -3
  388. package/es/components/table/src/filter-panel.mjs.map +1 -1
  389. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  390. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  391. package/es/components/time-picker/src/common/picker.mjs +16 -8
  392. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  393. package/es/components/time-select/src/time-select.mjs +4 -2
  394. package/es/components/time-select/src/time-select.mjs.map +1 -1
  395. package/es/components/tooltip/src/content.mjs +9 -4
  396. package/es/components/tooltip/src/content.mjs.map +1 -1
  397. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  398. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  399. package/es/components/transfer/src/index.mjs +2 -1
  400. package/es/components/transfer/src/index.mjs.map +1 -1
  401. package/es/components/tree/src/tree.mjs +2 -1
  402. package/es/components/tree/src/tree.mjs.map +1 -1
  403. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  404. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  405. package/es/components/tree-v2/src/tree.mjs +2 -1
  406. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  407. package/es/components/upload/src/index.mjs +3 -2
  408. package/es/components/upload/src/index.mjs.map +1 -1
  409. package/es/components/upload/src/upload-dragger.mjs +2 -1
  410. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  411. package/es/utils/validators.d.ts +0 -1
  412. package/es/utils/validators.mjs +1 -9
  413. package/es/utils/validators.mjs.map +1 -1
  414. package/es/version.d.ts +1 -1
  415. package/es/version.mjs +1 -1
  416. package/es/version.mjs.map +1 -1
  417. package/lib/components/affix/src/affix2.js +2 -1
  418. package/lib/components/affix/src/affix2.js.map +1 -1
  419. package/lib/components/autocomplete/index.d.ts +22 -0
  420. package/lib/components/autocomplete/src/index.js +19 -18
  421. package/lib/components/autocomplete/src/index.js.map +1 -1
  422. package/lib/components/autocomplete/src/index.vue.d.ts +11 -0
  423. package/lib/components/backtop/index.d.ts +11 -0
  424. package/lib/components/backtop/src/backtop.vue.d.ts +11 -0
  425. package/lib/components/backtop/src/backtop2.js +17 -8
  426. package/lib/components/backtop/src/backtop2.js.map +1 -1
  427. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  428. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  429. package/lib/components/button/src/button2.js +11 -7
  430. package/lib/components/button/src/button2.js.map +1 -1
  431. package/lib/components/carousel/src/item.js +4 -2
  432. package/lib/components/carousel/src/item.js.map +1 -1
  433. package/lib/components/cascader/src/index.js +38 -21
  434. package/lib/components/cascader/src/index.js.map +1 -1
  435. package/lib/components/cascader-panel/src/index.js +16 -13
  436. package/lib/components/cascader-panel/src/index.js.map +1 -1
  437. package/lib/components/cascader-panel/src/menu.js +25 -22
  438. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  439. package/lib/components/cascader-panel/src/node2.js +6 -2
  440. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  441. package/lib/components/checkbox/index.d.ts +33 -0
  442. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  443. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  444. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  445. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  446. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  447. package/lib/components/checkbox/src/checkbox.js +35 -27
  448. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  449. package/lib/components/checkbox/src/checkbox.vue.d.ts +11 -0
  450. package/lib/components/collapse/src/collapse-item.js +3 -3
  451. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  452. package/lib/components/color-picker/src/index.js +8 -5
  453. package/lib/components/color-picker/src/index.js.map +1 -1
  454. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  455. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  456. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  457. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  458. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  459. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  460. package/lib/components/descriptions/src/index.js +7 -2
  461. package/lib/components/descriptions/src/index.js.map +1 -1
  462. package/lib/components/dialog/src/dialog.js +1 -3
  463. package/lib/components/dialog/src/dialog.js.map +1 -1
  464. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  465. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  466. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  467. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  468. package/lib/components/dropdown/src/dropdown2.js +9 -5
  469. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  470. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  471. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  472. package/lib/components/form/src/form-item.js +6 -4
  473. package/lib/components/form/src/form-item.js.map +1 -1
  474. package/lib/components/image/src/image2.js +3 -2
  475. package/lib/components/image/src/image2.js.map +1 -1
  476. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  477. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  478. package/lib/components/input/src/input2.js +17 -8
  479. package/lib/components/input/src/input2.js.map +1 -1
  480. package/lib/components/input-number/src/input-number2.js +12 -6
  481. package/lib/components/input-number/src/input-number2.js.map +1 -1
  482. package/lib/components/message/src/message2.js +1 -1
  483. package/lib/components/message-box/src/index.js +4 -2
  484. package/lib/components/message-box/src/index.js.map +1 -1
  485. package/lib/components/notification/src/notification2.js +1 -1
  486. package/lib/components/pagination/src/components/jumper.js +5 -2
  487. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  488. package/lib/components/pagination/src/components/sizes.js +2 -1
  489. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  490. package/lib/components/popconfirm/src/popconfirm2.js +6 -3
  491. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  492. package/lib/components/popover/src/index.js +4 -2
  493. package/lib/components/popover/src/index.js.map +1 -1
  494. package/lib/components/popper/src/content.js +5 -3
  495. package/lib/components/popper/src/content.js.map +1 -1
  496. package/lib/components/popper/src/trigger.js +1 -1
  497. package/lib/components/popper/src/trigger.js.map +1 -1
  498. package/lib/components/progress/src/progress2.js +2 -1
  499. package/lib/components/progress/src/progress2.js.map +1 -1
  500. package/lib/components/radio/src/radio-button2.js +4 -4
  501. package/lib/components/radio/src/radio-button2.js.map +1 -1
  502. package/lib/components/radio/src/radio-group2.js +1 -1
  503. package/lib/components/radio/src/radio-group2.js.map +1 -1
  504. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  505. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  506. package/lib/components/scrollbar/src/bar2.js +2 -1
  507. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  508. package/lib/components/scrollbar/src/scrollbar2.js +2 -2
  509. package/lib/components/select/src/option-group.js +2 -1
  510. package/lib/components/select/src/option-group.js.map +1 -1
  511. package/lib/components/select/src/select-dropdown.js +2 -1
  512. package/lib/components/select/src/select-dropdown.js.map +1 -1
  513. package/lib/components/select/src/select.js +2 -1
  514. package/lib/components/select/src/select.js.map +1 -1
  515. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  516. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  517. package/lib/components/select-v2/src/select.js +192 -186
  518. package/lib/components/select-v2/src/select.js.map +1 -1
  519. package/lib/components/slider/src/index.js +3 -2
  520. package/lib/components/slider/src/index.js.map +1 -1
  521. package/lib/components/slider/src/marker.js +2 -1
  522. package/lib/components/slider/src/marker.js.map +1 -1
  523. package/lib/components/steps/src/item.js +2 -1
  524. package/lib/components/steps/src/item.js.map +1 -1
  525. package/lib/components/switch/src/switch2.js +4 -2
  526. package/lib/components/switch/src/switch2.js.map +1 -1
  527. package/lib/components/table/src/filter-panel.js +7 -3
  528. package/lib/components/table/src/filter-panel.js.map +1 -1
  529. package/lib/components/tabs/src/tab-bar2.js +3 -2
  530. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  531. package/lib/components/time-picker/src/common/picker.js +16 -8
  532. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  533. package/lib/components/time-select/src/time-select.js +4 -2
  534. package/lib/components/time-select/src/time-select.js.map +1 -1
  535. package/lib/components/tooltip/src/content.js +9 -4
  536. package/lib/components/tooltip/src/content.js.map +1 -1
  537. package/lib/components/tooltip/src/tooltip2.js +2 -1
  538. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  539. package/lib/components/transfer/src/index.js +2 -1
  540. package/lib/components/transfer/src/index.js.map +1 -1
  541. package/lib/components/tree/src/tree.js +2 -1
  542. package/lib/components/tree/src/tree.js.map +1 -1
  543. package/lib/components/tree-v2/src/tree-node.js +11 -7
  544. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  545. package/lib/components/tree-v2/src/tree.js +2 -1
  546. package/lib/components/tree-v2/src/tree.js.map +1 -1
  547. package/lib/components/upload/src/index.js +3 -2
  548. package/lib/components/upload/src/index.js.map +1 -1
  549. package/lib/components/upload/src/upload-dragger.js +2 -1
  550. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  551. package/lib/utils/validators.d.ts +0 -1
  552. package/lib/utils/validators.js +0 -9
  553. package/lib/utils/validators.js.map +1 -1
  554. package/lib/version.d.ts +1 -1
  555. package/lib/version.js +1 -1
  556. package/lib/version.js.map +1 -1
  557. package/package.json +2 -2
  558. package/web-types.json +1 -1
@@ -75,6 +75,17 @@ declare const _Autocomplete: SFCWithInstall<import("vue").DefineComponent<{
75
75
  select: (item: any) => void;
76
76
  highlight: (index: number) => void;
77
77
  onSuggestionShow: () => void;
78
+ ns: {
79
+ namespace: import("vue").ComputedRef<string>;
80
+ b: (blockSuffix?: string) => string;
81
+ e: (element?: string | undefined) => string;
82
+ m: (modifier?: string | undefined) => string;
83
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
84
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
85
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
86
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
87
+ is: (name: string, state?: boolean) => string;
88
+ };
78
89
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
79
90
  valueKey: {
80
91
  type: StringConstructor;
@@ -219,6 +230,17 @@ export declare const ElAutocomplete: SFCWithInstall<import("vue").DefineComponen
219
230
  select: (item: any) => void;
220
231
  highlight: (index: number) => void;
221
232
  onSuggestionShow: () => void;
233
+ ns: {
234
+ namespace: import("vue").ComputedRef<string>;
235
+ b: (blockSuffix?: string) => string;
236
+ e: (element?: string | undefined) => string;
237
+ m: (modifier?: string | undefined) => string;
238
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
239
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
240
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
241
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
242
+ is: (name: string, state?: boolean) => string;
243
+ };
222
244
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
223
245
  valueKey: {
224
246
  type: StringConstructor;
@@ -17,7 +17,8 @@ var index$3 = require('../../icon/index.js');
17
17
  var iconsVue = require('@element-plus/icons-vue');
18
18
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
19
19
  var index$4 = require('../../../directives/click-outside/index.js');
20
- var index$5 = require('../../../hooks/use-attrs/index.js');
20
+ var index$5 = require('../../../hooks/use-namespace/index.js');
21
+ var index$6 = require('../../../hooks/use-attrs/index.js');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
24
 
@@ -102,7 +103,8 @@ const _sfc_main = vue.defineComponent({
102
103
  "select"
103
104
  ],
104
105
  setup(props, ctx) {
105
- const attrs = index$5.useAttrs();
106
+ const ns = index$5.useNamespace("autocomplete");
107
+ const attrs = index$6.useAttrs();
106
108
  const suggestions = vue.ref([]);
107
109
  const highlightedIndex = vue.ref(-1);
108
110
  const dropdownWidth = vue.ref("");
@@ -113,7 +115,7 @@ const _sfc_main = vue.defineComponent({
113
115
  const regionRef = vue.ref(null);
114
116
  const popper = vue.ref(null);
115
117
  const id = vue.computed(() => {
116
- return `el-autocomplete-${util.generateId()}`;
118
+ return ns.b(String(util.generateId()));
117
119
  });
118
120
  const suggestionVisible = vue.computed(() => {
119
121
  const isValidData = shared.isArray(suggestions.value) && suggestions.value.length > 0;
@@ -198,7 +200,8 @@ const _sfc_main = vue.defineComponent({
198
200
  activated.value = false;
199
201
  };
200
202
  const focus = () => {
201
- inputRef.value?.focus();
203
+ var _a;
204
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
202
205
  };
203
206
  const select = (item) => {
204
207
  ctx.emit("input", item[props.valueKey]);
@@ -220,8 +223,8 @@ const _sfc_main = vue.defineComponent({
220
223
  if (index >= suggestions.value.length) {
221
224
  index = suggestions.value.length - 1;
222
225
  }
223
- const suggestion = regionRef.value.querySelector(".el-autocomplete-suggestion__wrap");
224
- const suggestionList = suggestion.querySelectorAll(".el-autocomplete-suggestion__list li");
226
+ const suggestion = regionRef.value.querySelector(`.${ns.be("suggestion", "wrap")}`);
227
+ const suggestionList = suggestion.querySelectorAll(`.${ns.be("suggestion", "list")} li`);
225
228
  const highlightItem = suggestionList[index];
226
229
  const scrollTop = suggestion.scrollTop;
227
230
  const { offsetTop, scrollHeight } = highlightItem;
@@ -259,7 +262,8 @@ const _sfc_main = vue.defineComponent({
259
262
  focus,
260
263
  select,
261
264
  highlight,
262
- onSuggestionShow
265
+ onSuggestionShow,
266
+ ns
263
267
  };
264
268
  }
265
269
  });
@@ -279,32 +283,29 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
279
283
  "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => _ctx.suggestionVisible = $event),
280
284
  placement: _ctx.placement,
281
285
  "fallback-placements": ["bottom-start", "top-start"],
282
- "popper-class": `el-autocomplete__popper ${_ctx.popperClass}`,
286
+ "popper-class": `${_ctx.ns.e("popper")} ${_ctx.popperClass}`,
283
287
  "append-to-body": _ctx.popperAppendToBody,
284
288
  "gpu-acceleration": false,
285
289
  pure: "",
286
290
  "manual-mode": "",
287
291
  effect: "light",
288
292
  trigger: "click",
289
- transition: "el-zoom-in-top",
293
+ transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
290
294
  persistent: "",
291
295
  onShow: _ctx.onSuggestionShow
292
296
  }, {
293
297
  content: vue.withCtx(() => [
294
298
  vue.createElementVNode("div", {
295
299
  ref: "regionRef",
296
- class: vue.normalizeClass([
297
- "el-autocomplete-suggestion",
298
- _ctx.suggestionLoading && "is-loading"
299
- ]),
300
+ class: vue.normalizeClass([_ctx.ns.b("suggestion"), _ctx.ns.is("loading", _ctx.suggestionLoading)]),
300
301
  style: vue.normalizeStyle({ minWidth: _ctx.dropdownWidth, outline: "none" }),
301
302
  role: "region"
302
303
  }, [
303
304
  vue.createVNode(_component_el_scrollbar, {
304
305
  id: _ctx.id,
305
306
  tag: "ul",
306
- "wrap-class": "el-autocomplete-suggestion__wrap",
307
- "view-class": "el-autocomplete-suggestion__list",
307
+ "wrap-class": _ctx.ns.be("suggestion", "wrap"),
308
+ "view-class": _ctx.ns.be("suggestion", "list"),
308
309
  role: "listbox"
309
310
  }, {
310
311
  default: vue.withCtx(() => [
@@ -331,12 +332,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
331
332
  }), 128))
332
333
  ]),
333
334
  _: 3
334
- }, 8, ["id"])
335
+ }, 8, ["id", "wrap-class", "view-class"])
335
336
  ], 6)
336
337
  ]),
337
338
  default: vue.withCtx(() => [
338
339
  vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
339
- class: vue.normalizeClass(["el-autocomplete", _ctx.$attrs.class]),
340
+ class: vue.normalizeClass([_ctx.ns.b(), _ctx.$attrs.class]),
340
341
  style: vue.normalizeStyle(_ctx.$attrs.style),
341
342
  role: "combobox",
342
343
  "aria-haspopup": "listbox",
@@ -387,7 +388,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
387
388
  ])
388
389
  ]),
389
390
  _: 3
390
- }, 8, ["visible", "placement", "popper-class", "append-to-body", "onShow"]);
391
+ }, 8, ["visible", "placement", "popper-class", "append-to-body", "transition", "onShow"]);
391
392
  }
392
393
  var Autocomplete = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
393
394
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","UPDATE_MODEL_EVENT","useAttrs","ref","computed","generateId","isArray","debounce","_openBlock","_createBlock","_withCtx","_normalizeStyle","_createElementBlock","_Fragment","_normalizeClass","_mergeProps","_withModifiers","_createSlots"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`${ns.e('popper')} ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const ns = useNamespace('autocomplete')\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return ns.b(String(generateId()))\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","UPDATE_MODEL_EVENT","useNamespace","useAttrs","ref","computed","generateId","isArray","debounce","_normalizeClass","_withModifiers"],"mappings":"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"}
@@ -76,6 +76,17 @@ declare const _default: import("vue").DefineComponent<{
76
76
  select: (item: any) => void;
77
77
  highlight: (index: number) => void;
78
78
  onSuggestionShow: () => void;
79
+ ns: {
80
+ namespace: import("vue").ComputedRef<string>;
81
+ b: (blockSuffix?: string) => string;
82
+ e: (element?: string | undefined) => string;
83
+ m: (modifier?: string | undefined) => string;
84
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
85
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
86
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
87
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
88
+ is: (name: string, state?: boolean) => string;
89
+ };
79
90
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
80
91
  valueKey: {
81
92
  type: StringConstructor;
@@ -20,6 +20,17 @@ export declare const ElBacktop: import("../../utils/types").SFCWithInstall<impor
20
20
  styleBottom: import("vue").ComputedRef<string>;
21
21
  styleRight: import("vue").ComputedRef<string>;
22
22
  handleClick: (event: MouseEvent) => void;
23
+ ns: {
24
+ namespace: import("vue").ComputedRef<string>;
25
+ b: (blockSuffix?: string) => string;
26
+ e: (element?: string | undefined) => string;
27
+ m: (modifier?: string | undefined) => string;
28
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
29
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
30
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
31
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
32
+ is: (name: string, state?: boolean) => string;
33
+ };
23
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
35
  click: (evt: MouseEvent) => boolean;
25
36
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -20,6 +20,17 @@ declare const _default: import("vue").DefineComponent<{
20
20
  styleBottom: import("vue").ComputedRef<string>;
21
21
  styleRight: import("vue").ComputedRef<string>;
22
22
  handleClick: (event: MouseEvent) => void;
23
+ ns: {
24
+ namespace: import("vue").ComputedRef<string>;
25
+ b: (blockSuffix?: string) => string;
26
+ e: (element?: string | undefined) => string;
27
+ m: (modifier?: string | undefined) => string;
28
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
29
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
30
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
31
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
32
+ is: (name: string, state?: boolean) => string;
33
+ };
23
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
35
  click: (evt: MouseEvent) => boolean;
25
36
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -8,8 +8,10 @@ var index = require('../../icon/index.js');
8
8
  var animation = require('../../../utils/animation.js');
9
9
  var error = require('../../../utils/error.js');
10
10
  var iconsVue = require('@element-plus/icons-vue');
11
+ require('../../../hooks/index.js');
11
12
  var backtop = require('./backtop.js');
12
13
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
+ var index$1 = require('../../../hooks/use-namespace/index.js');
13
15
 
14
16
  const COMPONENT_NAME = "ElBacktop";
15
17
  const _sfc_main = vue.defineComponent({
@@ -21,6 +23,7 @@ const _sfc_main = vue.defineComponent({
21
23
  props: backtop.backtopProps,
22
24
  emits: backtop.backtopEmits,
23
25
  setup(props, { emit }) {
26
+ const ns = index$1.useNamespace("backtop");
24
27
  const el = vue.shallowRef(document.documentElement);
25
28
  const container = vue.shallowRef(document);
26
29
  const visible = vue.ref(false);
@@ -54,8 +57,9 @@ const _sfc_main = vue.defineComponent({
54
57
  };
55
58
  const handleScrollThrottled = core.useThrottleFn(handleScroll, 300);
56
59
  vue.onMounted(() => {
60
+ var _a;
57
61
  if (props.target) {
58
- el.value = document.querySelector(props.target) ?? void 0;
62
+ el.value = (_a = document.querySelector(props.target)) != null ? _a : void 0;
59
63
  if (!el.value) {
60
64
  error.throwError(COMPONENT_NAME, `target is not existed: ${props.target}`);
61
65
  }
@@ -67,14 +71,17 @@ const _sfc_main = vue.defineComponent({
67
71
  visible,
68
72
  styleBottom,
69
73
  styleRight,
70
- handleClick
74
+ handleClick,
75
+ ns
71
76
  };
72
77
  }
73
78
  });
74
79
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
75
80
  const _component_caret_top = vue.resolveComponent("caret-top");
76
81
  const _component_el_icon = vue.resolveComponent("el-icon");
77
- return vue.openBlock(), vue.createBlock(vue.Transition, { name: "el-fade-in" }, {
82
+ return vue.openBlock(), vue.createBlock(vue.Transition, {
83
+ name: `${_ctx.ns.namespace.value}-fade-in`
84
+ }, {
78
85
  default: vue.withCtx(() => [
79
86
  _ctx.visible ? (vue.openBlock(), vue.createElementBlock("div", {
80
87
  key: 0,
@@ -82,21 +89,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
82
89
  right: _ctx.styleRight,
83
90
  bottom: _ctx.styleBottom
84
91
  }),
85
- class: "el-backtop",
92
+ class: vue.normalizeClass(_ctx.ns.b()),
86
93
  onClick: _cache[0] || (_cache[0] = vue.withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
87
94
  }, [
88
95
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
89
- vue.createVNode(_component_el_icon, { class: "el-backtop__icon" }, {
96
+ vue.createVNode(_component_el_icon, {
97
+ class: vue.normalizeClass(_ctx.ns.e("icon"))
98
+ }, {
90
99
  default: vue.withCtx(() => [
91
100
  vue.createVNode(_component_caret_top)
92
101
  ]),
93
102
  _: 1
94
- })
103
+ }, 8, ["class"])
95
104
  ])
96
- ], 4)) : vue.createCommentVNode("v-if", true)
105
+ ], 6)) : vue.createCommentVNode("v-if", true)
97
106
  ]),
98
107
  _: 3
99
- });
108
+ }, 8, ["name"]);
100
109
  }
101
110
  var Backtop = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
102
111
 
@@ -1 +1 @@
1
- {"version":3,"file":"backtop2.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition name=\"el-fade-in\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n class=\"el-backtop\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon class=\"el-backtop__icon\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","CaretTop","backtopProps","backtopEmits","shallowRef","ref","computed","easeInOutCubic","useThrottleFn","_createBlock","_withCtx","_normalizeStyle"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA,cACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,eAAoC,SAAS;AACxD,UAAM,YAAYA,eAAmC;AACrD,UAAM,UAAUC,QAAI;AACpB,UAAM,cAAcC,aAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAaA,aAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkBC,yBAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwBC,mBAAc,cAAc;AAE1D,kBAAU,MAAM;AACd,UAAI,MAAM,QAAQ;AAChB,WAAG,QACD,SAAS,cAA2B,MAAM,WAAW;AACvD,YAAI,CAAC,GAAG,OAAO;AACb,2BAAW,gBAAgB,0BAA0B,MAAM;AAAA;AAE7D,kBAAU,QAAQ,GAAG;AAAA;AAGvB,4BAAiB,WAAW,UAAU;AAAA;AAGxC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;0BA3EIC;AAAA,aAXEC,YAAO;AAAA;QACZ,KAAK;AAAA,eAAmBC,mBAAU;AAAA,sBAAkB;AAAA;;QAKpD,OAAK;AAAA;SAEN;AAAA,uBACE,KAAyD,uBAAhD,MAAM;AAAA,8CAAgC;AAAA,qBAAbD,YAAa;AAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"backtop2.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('backtop')\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","CaretTop","backtopProps","backtopEmits","useNamespace","shallowRef","ref","computed","easeInOutCubic","useThrottleFn"],"mappings":";;;;;;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA,cACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,qBAAa;AACxB,UAAM,KAAKC,eAAoC,SAAS;AACxD,UAAM,YAAYA,eAAmC;AACrD,UAAM,UAAUC,QAAI;AACpB,UAAM,cAAcC,aAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAaA,aAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkBC,yBAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwBC,mBAAc,cAAc;AAE1D,kBAAU,MAAM;AACd,UAAI;AACF;AAEA,gBAAQ;AACN,qBAAW;AAAgD;AAE7D;AAAqB;AAGvB;AAAsC;AAGxC;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;AA3FoC;;;AAEvB;;AACP;AAA6B;AAAkB;;;AAK/C;;AAEN;AACwD;AAAlC;;;AAAwB;;;;;;;;;;;;;;;"}
@@ -35,8 +35,8 @@ const _sfc_main = vue.defineComponent({
35
35
  return {
36
36
  ns,
37
37
  link,
38
- separator: parent?.separator,
39
- separatorIcon: parent?.separatorIcon
38
+ separator: parent == null ? void 0 : parent.separator,
39
+ separatorIcon: parent == null ? void 0 : parent.separatorIcon
40
40
  };
41
41
  }
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-item2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","breadcrumbItemProps","getCurrentInstance","inject","elBreadcrumbKey","useNamespace","ref","_openBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA;AAAA,EAGF,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAWC;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAASC,WAAOC,4BAAiB;AACvC,UAAM,KAAKC,qBAAa;AAExB,UAAM,OAAOC;AAEb,kBAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,eAAe,QAAQ;AAAA;AAAA;AAAA;;;SA3DfC,wCAAM;AAAA;KAChB;AAAA,2BAAgB;AAAA,MAAE,KAAK;AAAA,MAAwC,OAAKC,mBAAM;AAAA;OACxE;AAAA;OAEa;AAAA;MAAgB,KAAK;AAAA;;2BAClC;AAAA;;;UAEF;MAAc,KAAK;AAAA,MAAqB,OAAKA,mBAAc;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"breadcrumb-item2.js","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","breadcrumbItemProps","getCurrentInstance","inject","elBreadcrumbKey","useNamespace","ref","_openBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA;AAAA,EAGF,OAAOC;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAWC;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAASC,WAAOC,4BAAiB;AACvC,UAAM,KAAKC,qBAAa;AAExB,UAAM,OAAOC;AAEb,kBAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW;AAAQ,MACnB,eAAe;AAAQ;AAAA;AAAA;;;SA3DfC,wCAAM;AAAA;KAChB;AAAA,2BAAgB;AAAA,MAAE,KAAK;AAAA,MAAwC,OAAKC,mBAAM;AAAA;OACxE;AAAA;OAEa;AAAA;MAAgB,KAAK;AAAA;;2BAClC;AAAA;;;UAEF;MAAc,KAAK;AAAA,MAAqB,OAAKA,mBAAc;AAAA;;;;;;;;"}
@@ -30,12 +30,16 @@ const _sfc_main = vue.defineComponent({
30
30
  const buttonGroupContext = vue.inject(button$1.buttonGroupContextKey, void 0);
31
31
  const globalConfig = index$1.useGlobalConfig("button");
32
32
  const ns = index$2.useNamespace("button");
33
- const autoInsertSpace = vue.computed(() => props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false);
33
+ const autoInsertSpace = vue.computed(() => {
34
+ var _a, _b, _c;
35
+ return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false;
36
+ });
34
37
  const shouldAddSpace = vue.computed(() => {
35
- const defaultSlot = slots.default?.();
36
- if (autoInsertSpace.value && defaultSlot?.length === 1) {
38
+ var _a;
39
+ const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
40
+ if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) {
37
41
  const slot = defaultSlot[0];
38
- if (slot?.type === vue.Text) {
42
+ if ((slot == null ? void 0 : slot.type) === vue.Text) {
39
43
  const text = slot.children;
40
44
  return /^\p{Unified_Ideograph}{2}$/u.test(text);
41
45
  }
@@ -43,9 +47,9 @@ const _sfc_main = vue.defineComponent({
43
47
  return false;
44
48
  });
45
49
  const { form } = index$3.useFormItem();
46
- const buttonSize = index$4.useSize(vue.computed(() => buttonGroupContext?.size));
50
+ const buttonSize = index$4.useSize(vue.computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size));
47
51
  const buttonDisabled = index$4.useDisabled();
48
- const buttonType = vue.computed(() => props.type || buttonGroupContext?.type || "");
52
+ const buttonType = vue.computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || "");
49
53
  const typeColor = vue.computed(() => core.useCssVar(`--el-color-${props.type}`).value);
50
54
  const buttonStyle = vue.computed(() => {
51
55
  let styles = {};
@@ -84,7 +88,7 @@ const _sfc_main = vue.defineComponent({
84
88
  });
85
89
  const handleClick = (evt) => {
86
90
  if (props.nativeType === "reset") {
87
- form?.resetFields();
91
+ form == null ? void 0 : form.resetFields();
88
92
  }
89
93
  emit("click", evt);
90
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"button2.js","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n ns.b(),\n ns.m(buttonType),\n ns.m(buttonSize),\n ns.is('disabled', buttonDisabled),\n ns.is('loading', loading),\n ns.is('plain', plain),\n ns.is('round', round),\n ns.is('circle', circle),\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\"></slot>\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","Loading","buttonProps","buttonEmits","ref","inject","buttonGroupContextKey","useGlobalConfig","useNamespace","computed","Text","useFormItem","useSize","useDisabled","useCssVar","TinyColor","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_Fragment","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;AAsDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA,aACAC;AAAA;AAAA,EAGF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,YAAYC;AAClB,UAAM,qBAAqBC,WAAOC,gCAAuB;AACzD,UAAM,eAAeC,wBAAgB;AACrC,UAAM,KAAKC,qBAAa;AACxB,UAAM,kBAAkBC,aACtB,MACE,MAAM,mBAAmB,aAAa,OAAO,mBAAmB;AAIpE,UAAM,iBAAiBA,aAAS,MAAM;AACpC,YAAM,cAAc,MAAM;AAC1B,UAAI,gBAAgB,SAAS,aAAa,WAAW,GAAG;AACtD,cAAM,OAAO,YAAY;AACzB,YAAI,MAAM,SAASC,UAAM;AACvB,gBAAM,OAAO,KAAK;AAClB,iBAAO,8BAA8B,KAAK;AAAA;AAAA;AAG9C,aAAO;AAAA;AAGT,UAAM,EAAE,SAASC;AACjB,UAAM,aAAaC,gBAAQH,aAAS,MAAM,oBAAoB;AAC9D,UAAM,iBAAiBI;AACvB,UAAM,aAAaJ,aACjB,MAAM,MAAM,QAAQ,oBAAoB,QAAQ;AAIlD,UAAM,YAAYA,aAChB,MAAMK,eAAU,cAAc,MAAM,QAAQ;AAE9C,UAAM,cAAcL,aAAS,MAAM;AACjC,UAAI,SAAS;AAEb,YAAM,cAAc,MAAM,SAAS,UAAU;AAE7C,UAAI,aAAa;AACf,cAAM,eAAe,IAAIM,oBAAU,aAAa,MAAM,IAAI;AAC1D,YAAI,MAAM,OAAO;AACf,mBAAS;AAAA,YACP,wBAAwB,IAAIA,oBAAU,aACnC,KAAK,IACL;AAAA,YACH,0BAA0B;AAAA,YAC1B,gCAAgC;AAAA,YAChC,8BAA8B;AAAA,YAC9B,kCAAkC;AAAA,YAClC,+BAA+B;AAAA,YAC/B,iCAAiC;AAAA,YACjC,mCAAmC;AAAA;AAAA,eAEhC;AACL,gBAAM,cAAc,IAAIA,oBAAU,aAAa,KAAK,IAAI;AACxD,mBAAS;AAAA,YACP,wBAAwB;AAAA,YACxB,4BAA4B;AAAA,YAC5B,8BAA8B;AAAA,YAC9B,kCAAkC;AAAA,YAClC,+BAA+B;AAAA,YAC/B,mCAAmC;AAAA;AAAA;AAIvC,YAAI,eAAe,OAAO;AACxB,gBAAM,sBAAsB,IAAIA,oBAAU,aACvC,KAAK,IACL;AACH,iBAAO,mCAAmC;AAC1C,iBAAO,uCAAuC;AAAA;AAAA;AAIlD,aAAO;AAAA;AAGT,UAAM,cAAc,CAAC,QAAoB;AACvC,UAAI,MAAM,eAAe,SAAS;AAChC,cAAM;AAAA;AAER,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MAEA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;SAhKEC,iBAAWC;AAAA,IACd,KAAK;AAAA,WAAUC,mBAAI;AAAA,MAAU,QAAG;AAAA,MAAqB,QAAG,EAAE;AAAA,MAAmB,QAAG,EAAE;AAAA,MAAoC,QAAG,GAAE,YAAY;AAAA,MAAgB,QAAG,GAAE,WAAU;AAAA,MAAc,QAAG,GAAE,SAAU;AAAA,MAAc,QAAG,GAAE,cAAW;AAAA;;IAWjO,UAAS,KAAE,kBAAS;AAAA,IACpB,WAAM;AAAA,IACN,MAAK;AAAA,IACL,OAAKC;AAAA;KAEU;AAAA,qCACKF,uBAAOG;AAAA,WAA1B,qCACA,mBAEU;QAFO,KAAK;AAAA;;6BACpB;AAAA;;;;OAGgB,uDACM;AAAA,2BAAxB;AAAA;;;UAGMC,uBAAc;AAAA;MACnB,KAAK;AAAA;OAEN;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"button2.js","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n ns.b(),\n ns.m(buttonType),\n ns.m(buttonSize),\n ns.is('disabled', buttonDisabled),\n ns.is('loading', loading),\n ns.is('plain', plain),\n ns.is('round', round),\n ns.is('circle', circle),\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\"></slot>\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","Loading","buttonProps","buttonEmits","ref","inject","buttonGroupContextKey","useGlobalConfig","useNamespace","computed","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;;AAsDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,YACVC;AAAA,aACAC;AAAA;AAAA,EAGF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,YAAYC;AAClB,UAAM,qBAAqBC,WAAOC,gCAAuB;AACzD,UAAM,eAAeC,wBAAgB;AACrC,UAAM,KAAKC,qBAAa;AACxB,UAAM,kBAAkBC,aACtB,MACE;AAIJ,UAAM;AACJ;AACA;AACE;AACA,YAAI;AACF,uBAAa;AACb,+CAAqC;AAAK;AAAA;AAG9C;AAAO;AAGT;AACA;AACA;AACA;AAKA,UAAM;AAGN,UAAM,yCAA6B;AACjC,UAAI;AAEJ,oCAA0B;AAE1B,UAAI;AACF,qCAAyB;AACzB;AACE;AAAS;AAGJ;AACuB,YAC1B;AAAgC;AACF,YAC9B;AAAkC,YAClC;AAA+B,YAC/B;AAAiC,YACjC;AAAmC;AAAA;AAGrC;AACA;AAAS,YACP;AAAwB;AACI;AACE;AACI,YAClC;AAA+B,YAC/B;AAAmC;AAAA;AAIvC,YAAI;AACF;AAGA;AACA;AAA8C;AAAA;AAIlD;AAAO;AAGT;AACE;AACE;AAAM;AAER;AAAc;AAGhB;AAAO;AACL,MACA;AAAA,MAEA;AAAA;AACA,MACA;AAAA,MAEA;AAAA,MAEA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;;AAhKa;AACT,2BAAc;AAAA;AAAa;AAA0B;AAAwB;AAAqD,MAAgB,QAAG,GAAE;AAAU,MAAc,QAAG;AAAY,MAAc,QAAG,iBAAa;AAAA;;cAWxN,uBAAW;AAAA;AACd,UACD;AAAA;AACA;;AAEU;AACY,WAA1BC;aACsB;AAAA;;;AACpB;;;;;AAIsB;AAAxB;;;iCAGoB;AAAA;;AACd;;AAEN;;;;;;;;;;;;"}
@@ -53,7 +53,8 @@ const _sfc_main = vue.defineComponent({
53
53
  return index;
54
54
  }
55
55
  function calcCardTranslate(index, activeIndex) {
56
- const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0;
56
+ var _a;
57
+ const parentWidth = ((_a = injectCarouselScope.root.value) == null ? void 0 : _a.offsetWidth) || 0;
57
58
  if (data.inStage) {
58
59
  return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4;
59
60
  } else if (index < activeIndex) {
@@ -63,7 +64,8 @@ const _sfc_main = vue.defineComponent({
63
64
  }
64
65
  }
65
66
  function calcTranslate(index, activeIndex, isVertical) {
66
- const distance = (isVertical ? injectCarouselScope.root.value?.offsetHeight : injectCarouselScope.root.value?.offsetWidth) || 0;
67
+ var _a, _b;
68
+ const distance = (isVertical ? (_a = injectCarouselScope.root.value) == null ? void 0 : _a.offsetHeight : (_b = injectCarouselScope.root.value) == null ? void 0 : _b.offsetWidth) || 0;
67
69
  return distance * (index - activeIndex);
68
70
  }
69
71
  const translateItem = (index, activeIndex, oldIndex) => {
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n class=\"el-carousel__item\"\n :class=\"{\n 'is-active': data.active,\n 'el-carousel__item--card': type === 'card',\n 'is-in-stage': data.inStage,\n 'is-hover': data.hover,\n 'is-animating': data.animating,\n }\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n class=\"el-carousel__mask\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { autoprefixer } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return autoprefixer(style)\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","getCurrentInstance","reactive","inject","computed","autoprefixer","toRefs","_withDirectives","_createElementBlock","_normalizeStyle","_createCommentVNode"],"mappings":";;;;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAE/B,UAAM,WAAWC;AAGjB,UAAM,OAAOC,aAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2CC,WAC/C;AAIF,UAAM,kBAAkBC,aAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAYA,aAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAOC,kBAAa;AAAA;AAKtB,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM,cAAc,oBAAoB,KAAK,OAAO,eAAe;AACnE,UAAI,KAAK,SAAS;AAChB,eACG,oBAAoB,uBAAuB,eAAe,KAAM;AAAA,iBAE1D,QAAQ,aAAa;AAC9B,eAAQ,MAAM,cAAc,cAAe;AAAA,aACtC;AACL,eAAS,KAAI,cAAc,cAAe;AAAA;AAAA;AAI9C,2BAAuB,OAAO,aAAa,YAAY;AACrD,YAAM,WACH,cACG,oBAAoB,KAAK,OAAO,eAChC,oBAAoB,KAAK,OAAO,gBAAgB;AACtD,aAAO,oBAAoB;AAAA;AAG7B,UAAM,gBAAgB,CACpB,OACA,aACA,aACG;AACH,YAAM,aAAa,oBAAoB;AACvC,YAAM,SAAS,oBAAoB,MAAM,MAAM;AAC/C,UAAI,eAAe,UAAU,aAAa,QAAW;AACnD,aAAK,YAAY,UAAU,eAAe,UAAU;AAAA;AAEtD,UAAI,UAAU,eAAe,SAAS,KAAK,oBAAoB,MAAM;AACnE,gBAAQ,aAAa,OAAO,aAAa;AAAA;AAE3C,UAAI,eAAe,QAAQ;AACzB,YAAI,gBAAgB,UAAU,YAAY;AACxC,0BACE,YACA;AAAA;AAGJ,aAAK,UAAU,KAAK,MAAM,KAAK,IAAI,QAAQ,iBAAiB;AAC5D,aAAK,SAAS,UAAU;AACxB,aAAK,YAAY,kBAAkB,OAAO;AAC1C,aAAK,QAAQ,KAAK,SAAS,IAAI;AAAA,aAC1B;AACL,aAAK,SAAS,UAAU;AACxB,cAAM,aAAa,gBAAgB,UAAU;AAC7C,aAAK,YAAY,cAAc,OAAO,aAAa;AAAA;AAErD,WAAK,QAAQ;AAAA;AAGf,+BAA2B;AACzB,UAAI,uBAAuB,oBAAoB,SAAS,QAAQ;AAC9D,cAAM,QAAQ,oBAAoB,MAAM,MACrC,IAAI,CAAC,MAAM,EAAE,KACb,QAAQ,SAAS;AACpB,4BAAoB,cAAc;AAAA;AAAA;AAKtC,kBAAU,MAAM;AACd,UAAI,oBAAoB,SAAS;AAC/B,4BAAoB,QAAQ;AAAA,UAC1B,KAAK,SAAS;AAAA,aACX;AAAA,aACAC,WAAO;AAAA,UACV;AAAA;AAAA;AAAA;AAKN,oBAAY,MAAM;AAChB,UAAI,oBAAoB,YAAY;AAClC,4BAAoB,WAAW,SAAS;AAAA;AAAA;AAI5C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,oBAAoB;AAAA,MAC1B;AAAA;AAAA;AAAA;;EAtKA,KAAK;AAAA;;2CAhBT,yBAmBM;SAjBCC,qCAACC,uBAAmB;AAAA,8BACI,CAAI,qBAAO;AAAA;iCAA8E,KAAO;AAAA,qBAAoB,UAAK;AAAA,uBAA6B;AAAA;;IAQlL,OAAKC;AAAA;KAGE;AAAA,gEACcD;AAAA;SAGtBE,uBAAa;AAAA;UAjBK;AAAA;;;;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n class=\"el-carousel__item\"\n :class=\"{\n 'is-active': data.active,\n 'el-carousel__item--card': type === 'card',\n 'is-in-stage': data.inStage,\n 'is-hover': data.hover,\n 'is-animating': data.animating,\n }\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n class=\"el-carousel__mask\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { autoprefixer } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return autoprefixer(style)\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","getCurrentInstance","reactive","inject","computed","autoprefixer"],"mappings":";;;;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAE/B,UAAM,WAAWC;AAGjB,UAAM,OAAOC,aAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2CC,WAC/C;AAIF,UAAM,kBAAkBC,aAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAYA,aAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAOC,kBAAa;AAAA;AAKtB,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA;AAAA;AAAA;;;AAtKK;;;;AAdkB,2BACI,sBAAW;AAAA;;AAAqF;AAAyB;AAA6B;;;AAQ7K;;AAGE,2CACG;AAAW;SAGtB;AAAa;;AAjBK;;;;;;;;;"}