@element-plus/nightly 0.0.20220218 → 0.0.20220222

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 (699) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +845 -730
  4. package/dist/index.full.min.js +6 -6
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +6 -6
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +845 -730
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +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 +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/autocomplete/src/index.mjs.map +1 -1
  230. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  231. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  232. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  233. package/es/components/button/src/button-group2.mjs.map +1 -1
  234. package/es/components/calendar/index.d.ts +1 -1
  235. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  236. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  237. package/es/components/card/src/card2.mjs.map +1 -1
  238. package/es/components/carousel/src/item.mjs.map +1 -1
  239. package/es/components/carousel/src/main.mjs.map +1 -1
  240. package/es/components/cascader/index.d.ts +12 -2
  241. package/es/components/cascader/src/index.mjs.map +1 -1
  242. package/es/components/cascader/src/index.vue.d.ts +6 -1
  243. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  244. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  245. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  246. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  247. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  248. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  249. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  250. package/es/components/collapse/src/collapse.mjs.map +1 -1
  251. package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
  252. package/es/components/collection/src/collection-item.mjs.map +1 -1
  253. package/es/components/collection/src/collection2.mjs.map +1 -1
  254. package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
  255. package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
  256. package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
  257. package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
  258. package/es/components/color-picker/src/index.mjs.map +1 -1
  259. package/es/components/config-provider/index.d.ts +3 -3
  260. package/es/components/config-provider/src/config-provider.d.ts +2 -1
  261. package/es/components/container/src/aside.mjs.map +1 -1
  262. package/es/components/container/src/container.mjs.map +1 -1
  263. package/es/components/container/src/footer.mjs.map +1 -1
  264. package/es/components/container/src/header.mjs.map +1 -1
  265. package/es/components/container/src/main.mjs.map +1 -1
  266. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  267. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  268. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  269. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  270. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  271. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  272. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  273. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  274. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  275. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  276. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  277. package/es/components/descriptions/src/index.mjs.map +1 -1
  278. package/es/components/dialog/index.d.ts +199 -31
  279. package/es/components/dialog/index.mjs +2 -2
  280. package/es/components/dialog/index.mjs.map +1 -1
  281. package/es/components/dialog/src/dialog-content.d.ts +12 -0
  282. package/es/components/dialog/src/dialog-content.mjs +40 -0
  283. package/es/components/dialog/src/dialog-content.mjs.map +1 -0
  284. package/es/components/dialog/src/dialog-content.vue.d.ts +84 -0
  285. package/es/components/dialog/src/dialog-content2.mjs +84 -0
  286. package/es/components/dialog/src/dialog-content2.mjs.map +1 -0
  287. package/es/components/dialog/src/dialog.d.ts +9 -7
  288. package/es/components/dialog/src/dialog.mjs +5 -30
  289. package/es/components/dialog/src/dialog.mjs.map +1 -1
  290. package/es/components/dialog/src/dialog.vue.d.ts +236 -67
  291. package/es/components/dialog/src/dialog2.mjs +96 -122
  292. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  293. package/es/components/dialog/src/token.d.ts +10 -0
  294. package/es/components/dialog/src/token.mjs +4 -0
  295. package/es/components/dialog/src/token.mjs.map +1 -0
  296. package/es/components/divider/src/divider2.mjs.map +1 -1
  297. package/es/components/drawer/index.d.ts +21 -17
  298. package/es/components/drawer/src/drawer.d.ts +9 -7
  299. package/es/components/drawer/src/drawer.vue.d.ts +21 -17
  300. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  301. package/es/components/dropdown/index.d.ts +6 -1
  302. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -3
  303. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  304. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  305. package/es/components/dropdown/src/dropdown-item.mjs +2 -2
  306. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  307. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  308. package/es/components/dropdown/src/dropdown.vue.d.ts +6 -1
  309. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  310. package/es/components/empty/src/empty2.mjs.map +1 -1
  311. package/es/components/empty/src/img-empty.mjs.map +1 -1
  312. package/es/components/focus-trap/src/focus-trap.mjs +19 -15
  313. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  314. package/es/components/form/src/form-item.mjs.map +1 -1
  315. package/es/components/form/src/form.mjs.map +1 -1
  316. package/es/components/image/src/image2.mjs.map +1 -1
  317. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  318. package/es/components/input/src/input2.mjs.map +1 -1
  319. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  320. package/es/components/link/src/link2.mjs.map +1 -1
  321. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  322. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  323. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  324. package/es/components/message/src/message2.mjs.map +1 -1
  325. package/es/components/message-box/src/index.mjs.map +1 -1
  326. package/es/components/notification/src/notification2.mjs.map +1 -1
  327. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  328. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  329. package/es/components/pagination/src/components/next.mjs.map +1 -1
  330. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  331. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  332. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  333. package/es/components/pagination/src/components/total.mjs.map +1 -1
  334. package/es/components/popconfirm/index.d.ts +3 -0
  335. package/es/components/popconfirm/src/popconfirm.d.ts +1 -0
  336. package/es/components/popconfirm/src/popconfirm.mjs +2 -1
  337. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  338. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  339. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  340. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  341. package/es/components/popover/index.d.ts +22 -2
  342. package/es/components/popover/src/index.mjs +19 -3
  343. package/es/components/popover/src/index.mjs.map +1 -1
  344. package/es/components/popover/src/index.vue.d.ts +11 -1
  345. package/es/components/popover/src/popover.d.ts +1 -0
  346. package/es/components/popover/src/popover.mjs +4 -0
  347. package/es/components/popover/src/popover.mjs.map +1 -1
  348. package/es/components/popper/src/arrow.mjs.map +1 -1
  349. package/es/components/popper/src/content.mjs.map +1 -1
  350. package/es/components/popper/src/popper2.mjs.map +1 -1
  351. package/es/components/popper/src/trigger.mjs.map +1 -1
  352. package/es/components/progress/src/progress2.mjs.map +1 -1
  353. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  354. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  355. package/es/components/radio/src/radio2.mjs.map +1 -1
  356. package/es/components/rate/src/rate2.mjs.map +1 -1
  357. package/es/components/result/src/result2.mjs.map +1 -1
  358. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  359. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  360. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  361. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  362. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  363. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  364. package/es/components/select/index.d.ts +6 -1
  365. package/es/components/select/src/option-group.mjs.map +1 -1
  366. package/es/components/select/src/option.mjs.map +1 -1
  367. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  368. package/es/components/select/src/select.mjs.map +1 -1
  369. package/es/components/select/src/select.vue.d.ts +6 -1
  370. package/es/components/select/src/useSelect.d.ts +6 -1
  371. package/es/components/select-v2/index.d.ts +12 -2
  372. package/es/components/select-v2/src/group-item.mjs.map +1 -1
  373. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  374. package/es/components/select-v2/src/select.mjs.map +1 -1
  375. package/es/components/select-v2/src/select.vue.d.ts +6 -1
  376. package/es/components/select-v2/src/useSelect.d.ts +6 -1
  377. package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
  378. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  379. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  380. package/es/components/slider/src/button.mjs.map +1 -1
  381. package/es/components/slider/src/index.mjs.map +1 -1
  382. package/es/components/slot/src/only-child.mjs +3 -1
  383. package/es/components/slot/src/only-child.mjs.map +1 -1
  384. package/es/components/space/src/item.mjs.map +1 -1
  385. package/es/components/steps/src/index.mjs.map +1 -1
  386. package/es/components/steps/src/item.mjs.map +1 -1
  387. package/es/components/switch/src/switch2.mjs +2 -2
  388. package/es/components/switch/src/switch2.mjs.map +1 -1
  389. package/es/components/table/src/filter-panel.mjs.map +1 -1
  390. package/es/components/table/src/filter-panel.vue.d.ts +6 -1
  391. package/es/components/table/src/table/style-helper.mjs +2 -2
  392. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  393. package/es/components/table/src/table-footer/index.mjs +3 -1
  394. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  395. package/es/components/table/src/table-layout.mjs +2 -5
  396. package/es/components/table/src/table-layout.mjs.map +1 -1
  397. package/es/components/table/src/table.mjs.map +1 -1
  398. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  399. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  400. package/es/components/tag/src/tag2.mjs.map +1 -1
  401. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  402. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  403. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -1
  404. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  405. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  406. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  407. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  408. package/es/components/time-select/src/time-select.mjs.map +1 -1
  409. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  410. package/es/components/tooltip/index.d.ts +3 -0
  411. package/es/components/tooltip/src/content.mjs +20 -3
  412. package/es/components/tooltip/src/content.mjs.map +1 -1
  413. package/es/components/tooltip/src/content.vue.d.ts +1 -0
  414. package/es/components/tooltip/src/tokens.d.ts +2 -0
  415. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  416. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -0
  417. package/es/components/tooltip/src/tooltip2.mjs +10 -3
  418. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  419. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  420. package/es/components/transfer/index.d.ts +4 -4
  421. package/es/components/transfer/src/index.mjs.map +1 -1
  422. package/es/components/transfer/src/index.vue.d.ts +2 -2
  423. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  424. package/es/components/tree/src/tree-node.mjs.map +1 -1
  425. package/es/components/tree/src/tree.mjs.map +1 -1
  426. package/es/components/tree-v2/index.d.ts +1 -1
  427. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  428. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  429. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  430. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  431. package/es/components/upload/src/upload-list.mjs.map +1 -1
  432. package/es/components/upload/src/upload.mjs.map +1 -1
  433. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  434. package/es/defaults.d.ts +1 -1
  435. package/es/hooks/use-global-config/index.d.ts +1 -1
  436. package/es/hooks/use-model-toggle/index.d.ts +10 -7
  437. package/es/hooks/use-model-toggle/index.mjs +9 -7
  438. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  439. package/es/index.d.ts +1 -1
  440. package/es/{locale.d.ts → locales.d.ts} +0 -0
  441. package/es/{locale.mjs → locales.mjs} +1 -1
  442. package/es/locales.mjs.map +1 -0
  443. package/es/version.d.ts +1 -1
  444. package/es/version.mjs +1 -1
  445. package/es/version.mjs.map +1 -1
  446. package/lib/components/autocomplete/src/index.js.map +1 -1
  447. package/lib/components/avatar/src/avatar2.js.map +1 -1
  448. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  449. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  450. package/lib/components/button/src/button-group2.js.map +1 -1
  451. package/lib/components/calendar/index.d.ts +1 -1
  452. package/lib/components/calendar/src/calendar2.js.map +1 -1
  453. package/lib/components/calendar/src/date-table2.js.map +1 -1
  454. package/lib/components/card/src/card2.js.map +1 -1
  455. package/lib/components/carousel/src/item.js.map +1 -1
  456. package/lib/components/carousel/src/main.js.map +1 -1
  457. package/lib/components/cascader/index.d.ts +12 -2
  458. package/lib/components/cascader/src/index.js.map +1 -1
  459. package/lib/components/cascader/src/index.vue.d.ts +6 -1
  460. package/lib/components/cascader-panel/src/index.js.map +1 -1
  461. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  462. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  463. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  464. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  465. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  466. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  467. package/lib/components/collapse/src/collapse.js.map +1 -1
  468. package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
  469. package/lib/components/collection/src/collection-item.js.map +1 -1
  470. package/lib/components/collection/src/collection2.js.map +1 -1
  471. package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
  472. package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
  473. package/lib/components/color-picker/src/components/predefine.js.map +1 -1
  474. package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
  475. package/lib/components/color-picker/src/index.js.map +1 -1
  476. package/lib/components/config-provider/index.d.ts +3 -3
  477. package/lib/components/config-provider/src/config-provider.d.ts +2 -1
  478. package/lib/components/container/src/aside.js.map +1 -1
  479. package/lib/components/container/src/container.js.map +1 -1
  480. package/lib/components/container/src/footer.js.map +1 -1
  481. package/lib/components/container/src/header.js.map +1 -1
  482. package/lib/components/container/src/main.js.map +1 -1
  483. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  484. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  485. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  486. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  487. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  488. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  489. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  490. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  491. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  492. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  493. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  494. package/lib/components/descriptions/src/index.js.map +1 -1
  495. package/lib/components/dialog/index.d.ts +199 -31
  496. package/lib/components/dialog/src/dialog-content.d.ts +12 -0
  497. package/lib/components/dialog/src/dialog-content.js +45 -0
  498. package/lib/components/dialog/src/dialog-content.js.map +1 -0
  499. package/lib/components/dialog/src/dialog-content.vue.d.ts +84 -0
  500. package/lib/components/dialog/src/dialog-content2.js +88 -0
  501. package/lib/components/dialog/src/dialog-content2.js.map +1 -0
  502. package/lib/components/dialog/src/dialog.d.ts +9 -7
  503. package/lib/components/dialog/src/dialog.js +5 -30
  504. package/lib/components/dialog/src/dialog.js.map +1 -1
  505. package/lib/components/dialog/src/dialog.vue.d.ts +236 -67
  506. package/lib/components/dialog/src/dialog2.js +101 -127
  507. package/lib/components/dialog/src/dialog2.js.map +1 -1
  508. package/lib/components/dialog/src/token.d.ts +10 -0
  509. package/lib/components/dialog/src/token.js +8 -0
  510. package/lib/components/dialog/src/token.js.map +1 -0
  511. package/lib/components/divider/src/divider2.js.map +1 -1
  512. package/lib/components/drawer/index.d.ts +21 -17
  513. package/lib/components/drawer/src/drawer.d.ts +9 -7
  514. package/lib/components/drawer/src/drawer.vue.d.ts +21 -17
  515. package/lib/components/drawer/src/drawer2.js.map +1 -1
  516. package/lib/components/dropdown/index.d.ts +6 -1
  517. package/lib/components/dropdown/src/dropdown-item-impl.js +3 -3
  518. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  519. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  520. package/lib/components/dropdown/src/dropdown-item.js +2 -2
  521. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  522. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  523. package/lib/components/dropdown/src/dropdown.vue.d.ts +6 -1
  524. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  525. package/lib/components/empty/src/empty2.js.map +1 -1
  526. package/lib/components/empty/src/img-empty.js.map +1 -1
  527. package/lib/components/focus-trap/src/focus-trap.js +18 -14
  528. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  529. package/lib/components/form/src/form-item.js.map +1 -1
  530. package/lib/components/form/src/form.js.map +1 -1
  531. package/lib/components/image/src/image2.js.map +1 -1
  532. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  533. package/lib/components/input/src/input2.js.map +1 -1
  534. package/lib/components/input-number/src/input-number2.js.map +1 -1
  535. package/lib/components/link/src/link2.js.map +1 -1
  536. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  537. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  538. package/lib/components/menu/src/menu-item2.js.map +1 -1
  539. package/lib/components/message/src/message2.js.map +1 -1
  540. package/lib/components/message-box/src/index.js.map +1 -1
  541. package/lib/components/notification/src/notification2.js.map +1 -1
  542. package/lib/components/page-header/src/page-header2.js.map +1 -1
  543. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  544. package/lib/components/pagination/src/components/next.js.map +1 -1
  545. package/lib/components/pagination/src/components/pager.js.map +1 -1
  546. package/lib/components/pagination/src/components/prev.js.map +1 -1
  547. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  548. package/lib/components/pagination/src/components/total.js.map +1 -1
  549. package/lib/components/popconfirm/index.d.ts +3 -0
  550. package/lib/components/popconfirm/src/popconfirm.d.ts +1 -0
  551. package/lib/components/popconfirm/src/popconfirm.js +2 -1
  552. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  553. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  554. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  555. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  556. package/lib/components/popover/index.d.ts +22 -2
  557. package/lib/components/popover/src/index.js +19 -3
  558. package/lib/components/popover/src/index.js.map +1 -1
  559. package/lib/components/popover/src/index.vue.d.ts +11 -1
  560. package/lib/components/popover/src/popover.d.ts +1 -0
  561. package/lib/components/popover/src/popover.js +4 -0
  562. package/lib/components/popover/src/popover.js.map +1 -1
  563. package/lib/components/popper/src/arrow.js.map +1 -1
  564. package/lib/components/popper/src/content.js.map +1 -1
  565. package/lib/components/popper/src/popper2.js.map +1 -1
  566. package/lib/components/popper/src/trigger.js.map +1 -1
  567. package/lib/components/progress/src/progress2.js.map +1 -1
  568. package/lib/components/radio/src/radio-button2.js.map +1 -1
  569. package/lib/components/radio/src/radio-group2.js.map +1 -1
  570. package/lib/components/radio/src/radio2.js.map +1 -1
  571. package/lib/components/rate/src/rate2.js.map +1 -1
  572. package/lib/components/result/src/result2.js.map +1 -1
  573. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  574. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  575. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  576. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  577. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  578. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  579. package/lib/components/select/index.d.ts +6 -1
  580. package/lib/components/select/src/option-group.js.map +1 -1
  581. package/lib/components/select/src/option.js.map +1 -1
  582. package/lib/components/select/src/select-dropdown.js.map +1 -1
  583. package/lib/components/select/src/select.js.map +1 -1
  584. package/lib/components/select/src/select.vue.d.ts +6 -1
  585. package/lib/components/select/src/useSelect.d.ts +6 -1
  586. package/lib/components/select-v2/index.d.ts +12 -2
  587. package/lib/components/select-v2/src/group-item.js.map +1 -1
  588. package/lib/components/select-v2/src/option-item.js.map +1 -1
  589. package/lib/components/select-v2/src/select.js.map +1 -1
  590. package/lib/components/select-v2/src/select.vue.d.ts +6 -1
  591. package/lib/components/select-v2/src/useSelect.d.ts +6 -1
  592. package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
  593. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  594. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  595. package/lib/components/slider/src/button.js.map +1 -1
  596. package/lib/components/slider/src/index.js.map +1 -1
  597. package/lib/components/slot/src/only-child.js +2 -0
  598. package/lib/components/slot/src/only-child.js.map +1 -1
  599. package/lib/components/space/src/item.js.map +1 -1
  600. package/lib/components/steps/src/index.js.map +1 -1
  601. package/lib/components/steps/src/item.js.map +1 -1
  602. package/lib/components/switch/src/switch2.js +2 -2
  603. package/lib/components/switch/src/switch2.js.map +1 -1
  604. package/lib/components/table/src/filter-panel.js.map +1 -1
  605. package/lib/components/table/src/filter-panel.vue.d.ts +6 -1
  606. package/lib/components/table/src/table/style-helper.js +2 -2
  607. package/lib/components/table/src/table/style-helper.js.map +1 -1
  608. package/lib/components/table/src/table-footer/index.js +3 -1
  609. package/lib/components/table/src/table-footer/index.js.map +1 -1
  610. package/lib/components/table/src/table-layout.js +2 -5
  611. package/lib/components/table/src/table-layout.js.map +1 -1
  612. package/lib/components/table/src/table.js.map +1 -1
  613. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  614. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  615. package/lib/components/tag/src/tag2.js.map +1 -1
  616. package/lib/components/teleport/src/teleport2.js.map +1 -1
  617. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  618. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -1
  619. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  620. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  621. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  622. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  623. package/lib/components/time-select/src/time-select.js.map +1 -1
  624. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  625. package/lib/components/tooltip/index.d.ts +3 -0
  626. package/lib/components/tooltip/src/content.js +20 -3
  627. package/lib/components/tooltip/src/content.js.map +1 -1
  628. package/lib/components/tooltip/src/content.vue.d.ts +1 -0
  629. package/lib/components/tooltip/src/tokens.d.ts +2 -0
  630. package/lib/components/tooltip/src/tokens.js.map +1 -1
  631. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -0
  632. package/lib/components/tooltip/src/tooltip2.js +10 -3
  633. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  634. package/lib/components/tooltip/src/trigger.js.map +1 -1
  635. package/lib/components/transfer/index.d.ts +4 -4
  636. package/lib/components/transfer/src/index.js.map +1 -1
  637. package/lib/components/transfer/src/index.vue.d.ts +2 -2
  638. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  639. package/lib/components/tree/src/tree-node.js.map +1 -1
  640. package/lib/components/tree/src/tree.js.map +1 -1
  641. package/lib/components/tree-v2/index.d.ts +1 -1
  642. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  643. package/lib/components/tree-v2/src/tree.js.map +1 -1
  644. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  645. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  646. package/lib/components/upload/src/upload-list.js.map +1 -1
  647. package/lib/components/upload/src/upload.js.map +1 -1
  648. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  649. package/lib/defaults.d.ts +1 -1
  650. package/lib/hooks/use-global-config/index.d.ts +1 -1
  651. package/lib/hooks/use-model-toggle/index.d.ts +10 -7
  652. package/lib/hooks/use-model-toggle/index.js +9 -7
  653. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  654. package/lib/index.d.ts +1 -1
  655. package/lib/{locale.d.ts → locales.d.ts} +0 -0
  656. package/lib/{locale.js → locales.js} +1 -1
  657. package/lib/locales.js.map +1 -0
  658. package/lib/version.d.ts +1 -1
  659. package/lib/version.js +1 -1
  660. package/lib/version.js.map +1 -1
  661. package/package.json +5 -5
  662. package/tags.json +1 -1
  663. package/theme-chalk/base.css +1 -1
  664. package/theme-chalk/display.css +1 -1
  665. package/theme-chalk/el-button.css +1 -1
  666. package/theme-chalk/el-cascader.css +1 -1
  667. package/theme-chalk/el-checkbox-button.css +1 -1
  668. package/theme-chalk/el-dialog.css +1 -1
  669. package/theme-chalk/el-dropdown.css +1 -1
  670. package/theme-chalk/el-form.css +1 -1
  671. package/theme-chalk/el-input-number.css +1 -1
  672. package/theme-chalk/el-input.css +1 -1
  673. package/theme-chalk/el-reset.css +1 -1
  674. package/theme-chalk/el-select-v2.css +1 -1
  675. package/theme-chalk/el-select.css +1 -1
  676. package/theme-chalk/el-switch.css +1 -1
  677. package/theme-chalk/el-table-column.css +1 -1
  678. package/theme-chalk/el-var.css +1 -1
  679. package/theme-chalk/index.css +1 -1
  680. package/theme-chalk/src/button.scss +1 -1
  681. package/theme-chalk/src/cascader.scss +13 -12
  682. package/theme-chalk/src/checkbox-button.scss +1 -1
  683. package/theme-chalk/src/common/var.scss +38 -11
  684. package/theme-chalk/src/dark/vars.scss +6 -0
  685. package/theme-chalk/src/dialog.scss +6 -2
  686. package/theme-chalk/src/form.scss +2 -2
  687. package/theme-chalk/src/input-number.scss +6 -4
  688. package/theme-chalk/src/input.scss +140 -39
  689. package/theme-chalk/src/mixins/_button.scss +1 -1
  690. package/theme-chalk/src/mixins/_var.scss +9 -8
  691. package/theme-chalk/src/mixins/mixins.scss +8 -0
  692. package/theme-chalk/src/reset.scss +1 -1
  693. package/theme-chalk/src/select-v2.scss +2 -1
  694. package/theme-chalk/src/select.scss +12 -4
  695. package/theme-chalk/src/switch.scss +2 -0
  696. package/theme-chalk/src/var.scss +6 -0
  697. package/web-types.json +1 -1
  698. package/es/locale.mjs.map +0 -1
  699. package/lib/locale.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../../../../../../packages/components/carousel/src/main.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex - 1)\"\n >\n <el-icon>\n <arrow-left />\n </el-icon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex + 1)\"\n >\n <el-icon>\n <arrow-right />\n </el-icon>\n </button>\n </transition>\n <slot></slot>\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === data.activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n computed,\n ref,\n provide,\n onMounted,\n onBeforeUnmount,\n watch,\n nextTick,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport {\n addResizeListener,\n removeResizeListener,\n debugWarn,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type {\n ICarouselProps,\n CarouselItem,\n InjectCarouselScope,\n} from './carousel'\n\nexport default defineComponent({\n name: 'ElCarousel',\n components: {\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n props: {\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: { type: String, default: '' },\n trigger: {\n type: String,\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: { type: String, default: '' },\n indicator: {\n type: Boolean,\n default: true,\n },\n arrow: {\n type: String,\n default: 'hover',\n },\n type: { type: String, default: '' },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator(val: string) {\n return ['horizontal', 'vertical'].includes(val)\n },\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['change'],\n setup(props: ICarouselProps, { emit }) {\n const ns = useNamespace('carousel')\n // data\n const data = reactive<{\n activeIndex: number\n containerWidth: number\n timer: null | ReturnType<typeof setInterval>\n hover: boolean\n }>({\n activeIndex: -1,\n containerWidth: 0,\n timer: null,\n hover: false,\n })\n\n // refs\n const root = ref(null)\n const items = ref<CarouselItem[]>([])\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && props.direction !== 'vertical'\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.label.toString().length > 0)\n })\n\n const carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (props.type === 'card') {\n classes.push(ns.m('card'))\n }\n return classes\n })\n\n const indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || props.type === 'card') {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index) => {\n setActiveItem(index)\n },\n 300,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index) => {\n handleIndicatorHover(index)\n }, 300)\n\n function pauseTimer() {\n if (data.timer) {\n clearInterval(data.timer)\n data.timer = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || data.timer) return\n data.timer = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (data.activeIndex < items.value.length - 1) {\n data.activeIndex = data.activeIndex + 1\n } else if (props.loop) {\n data.activeIndex = 0\n }\n }\n\n function setActiveItem(index) {\n if (typeof index === 'string') {\n const filteredItems = items.value.filter((item) => item.name === index)\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (isNaN(index) || index !== Math.floor(index)) {\n debugWarn('Carousel', 'index must be an integer.')\n return\n }\n const length = items.value.length\n const oldIndex = data.activeIndex\n if (index < 0) {\n data.activeIndex = props.loop ? length - 1 : 0\n } else if (index >= length) {\n data.activeIndex = props.loop ? 0 : length - 1\n } else {\n data.activeIndex = index\n }\n if (oldIndex === data.activeIndex) {\n resetItemPosition(oldIndex)\n }\n }\n\n function resetItemPosition(oldIndex) {\n items.value.forEach((item, index) => {\n item.translateItem(index, data.activeIndex, oldIndex)\n })\n }\n\n function addItem(item) {\n items.value.push(item)\n }\n\n function removeItem(uid) {\n const index = items.value.findIndex((item) => item.uid === uid)\n if (index !== -1) {\n items.value.splice(index, 1)\n if (data.activeIndex === index) next()\n }\n }\n\n function itemInStage(item, index) {\n const length = items.value.length\n if (\n (index === length - 1 && item.inStage && items.value[0].active) ||\n (item.inStage &&\n items.value[index + 1] &&\n items.value[index + 1].active)\n ) {\n return 'left'\n } else if (\n (index === 0 && item.inStage && items.value[length - 1].active) ||\n (item.inStage &&\n items.value[index - 1] &&\n items.value[index - 1].active)\n ) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n data.hover = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n data.hover = false\n startTimer()\n }\n\n function handleButtonEnter(arrow) {\n if (props.direction === 'vertical') return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (props.direction === 'vertical') return\n items.value.forEach((item) => {\n item.hover = false\n })\n }\n\n function handleIndicatorClick(index) {\n data.activeIndex = index\n }\n\n function handleIndicatorHover(index) {\n if (props.trigger === 'hover' && index !== data.activeIndex) {\n data.activeIndex = index\n }\n }\n\n function prev() {\n setActiveItem(data.activeIndex - 1)\n }\n\n function next() {\n setActiveItem(data.activeIndex + 1)\n }\n\n // watch\n watch(\n () => data.activeIndex,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (current) => {\n current ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(data.activeIndex)\n }\n )\n\n // lifecycle\n onMounted(() => {\n nextTick(() => {\n addResizeListener(root.value, resetItemPosition)\n if (\n props.initialIndex < items.value.length &&\n props.initialIndex >= 0\n ) {\n data.activeIndex = props.initialIndex\n }\n startTimer()\n })\n })\n\n onBeforeUnmount(() => {\n if (root.value) removeResizeListener(root.value, resetItemPosition)\n pauseTimer()\n })\n\n // provide\n provide<InjectCarouselScope>('injectCarouselScope', {\n root,\n direction: props.direction,\n type: props.type,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n })\n\n return {\n data,\n props,\n items,\n\n arrowDisplay,\n carouselClasses,\n indicatorsClasses,\n hasLabel,\n\n handleMouseEnter,\n handleMouseLeave,\n handleIndicatorClick,\n throttledArrowClick,\n throttledIndicatorHover,\n handleButtonEnter,\n handleButtonLeave,\n\n prev,\n next,\n setActiveItem,\n\n root,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","ArrowLeft","ArrowRight","useNamespace","reactive","ref","computed","throttle","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_withCtx","_createCommentVNode","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../../../../../../packages/components/carousel/src/main.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex - 1)\"\n >\n <el-icon>\n <arrow-left />\n </el-icon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex + 1)\"\n >\n <el-icon>\n <arrow-right />\n </el-icon>\n </button>\n </transition>\n <slot></slot>\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === data.activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n computed,\n ref,\n provide,\n onMounted,\n onBeforeUnmount,\n watch,\n nextTick,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport {\n addResizeListener,\n removeResizeListener,\n debugWarn,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type {\n ICarouselProps,\n CarouselItem,\n InjectCarouselScope,\n} from './carousel'\n\nexport default defineComponent({\n name: 'ElCarousel',\n components: {\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n props: {\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: { type: String, default: '' },\n trigger: {\n type: String,\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: { type: String, default: '' },\n indicator: {\n type: Boolean,\n default: true,\n },\n arrow: {\n type: String,\n default: 'hover',\n },\n type: { type: String, default: '' },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator(val: string) {\n return ['horizontal', 'vertical'].includes(val)\n },\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['change'],\n setup(props: ICarouselProps, { emit }) {\n const ns = useNamespace('carousel')\n // data\n const data = reactive<{\n activeIndex: number\n containerWidth: number\n timer: null | ReturnType<typeof setInterval>\n hover: boolean\n }>({\n activeIndex: -1,\n containerWidth: 0,\n timer: null,\n hover: false,\n })\n\n // refs\n const root = ref(null)\n const items = ref<CarouselItem[]>([])\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && props.direction !== 'vertical'\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.label.toString().length > 0)\n })\n\n const carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (props.type === 'card') {\n classes.push(ns.m('card'))\n }\n return classes\n })\n\n const indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || props.type === 'card') {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index) => {\n setActiveItem(index)\n },\n 300,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index) => {\n handleIndicatorHover(index)\n }, 300)\n\n function pauseTimer() {\n if (data.timer) {\n clearInterval(data.timer)\n data.timer = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || data.timer) return\n data.timer = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (data.activeIndex < items.value.length - 1) {\n data.activeIndex = data.activeIndex + 1\n } else if (props.loop) {\n data.activeIndex = 0\n }\n }\n\n function setActiveItem(index) {\n if (typeof index === 'string') {\n const filteredItems = items.value.filter((item) => item.name === index)\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (isNaN(index) || index !== Math.floor(index)) {\n debugWarn('Carousel', 'index must be an integer.')\n return\n }\n const length = items.value.length\n const oldIndex = data.activeIndex\n if (index < 0) {\n data.activeIndex = props.loop ? length - 1 : 0\n } else if (index >= length) {\n data.activeIndex = props.loop ? 0 : length - 1\n } else {\n data.activeIndex = index\n }\n if (oldIndex === data.activeIndex) {\n resetItemPosition(oldIndex)\n }\n }\n\n function resetItemPosition(oldIndex) {\n items.value.forEach((item, index) => {\n item.translateItem(index, data.activeIndex, oldIndex)\n })\n }\n\n function addItem(item) {\n items.value.push(item)\n }\n\n function removeItem(uid) {\n const index = items.value.findIndex((item) => item.uid === uid)\n if (index !== -1) {\n items.value.splice(index, 1)\n if (data.activeIndex === index) next()\n }\n }\n\n function itemInStage(item, index) {\n const length = items.value.length\n if (\n (index === length - 1 && item.inStage && items.value[0].active) ||\n (item.inStage &&\n items.value[index + 1] &&\n items.value[index + 1].active)\n ) {\n return 'left'\n } else if (\n (index === 0 && item.inStage && items.value[length - 1].active) ||\n (item.inStage &&\n items.value[index - 1] &&\n items.value[index - 1].active)\n ) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n data.hover = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n data.hover = false\n startTimer()\n }\n\n function handleButtonEnter(arrow) {\n if (props.direction === 'vertical') return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (props.direction === 'vertical') return\n items.value.forEach((item) => {\n item.hover = false\n })\n }\n\n function handleIndicatorClick(index) {\n data.activeIndex = index\n }\n\n function handleIndicatorHover(index) {\n if (props.trigger === 'hover' && index !== data.activeIndex) {\n data.activeIndex = index\n }\n }\n\n function prev() {\n setActiveItem(data.activeIndex - 1)\n }\n\n function next() {\n setActiveItem(data.activeIndex + 1)\n }\n\n // watch\n watch(\n () => data.activeIndex,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (current) => {\n current ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(data.activeIndex)\n }\n )\n\n // lifecycle\n onMounted(() => {\n nextTick(() => {\n addResizeListener(root.value, resetItemPosition)\n if (\n props.initialIndex < items.value.length &&\n props.initialIndex >= 0\n ) {\n data.activeIndex = props.initialIndex\n }\n startTimer()\n })\n })\n\n onBeforeUnmount(() => {\n if (root.value) removeResizeListener(root.value, resetItemPosition)\n pauseTimer()\n })\n\n // provide\n provide<InjectCarouselScope>('injectCarouselScope', {\n root,\n direction: props.direction,\n type: props.type,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n })\n\n return {\n data,\n props,\n items,\n\n arrowDisplay,\n carouselClasses,\n indicatorsClasses,\n hasLabel,\n\n handleMouseEnter,\n handleMouseLeave,\n handleIndicatorClick,\n throttledArrowClick,\n throttledIndicatorHover,\n handleButtonEnter,\n handleButtonLeave,\n\n prev,\n next,\n setActiveItem,\n\n root,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","ArrowLeft","ArrowRight","useNamespace","reactive","ref","computed","throttle","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_Transition","_createVNode","_renderSlot","_Fragment","_withModifiers"],"mappings":"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"}
@@ -133,6 +133,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
133
133
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
134
134
  virtualRef: import("..").Measurable;
135
135
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
136
+ "onUpdate:visible": (val: boolean) => void;
136
137
  openDelay: number;
137
138
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
138
139
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -220,9 +221,10 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
220
221
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
221
222
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
222
223
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
224
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
223
225
  }>> & {
224
226
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
225
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
227
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
226
228
  $attrs: {
227
229
  [x: string]: unknown;
228
230
  };
@@ -320,6 +322,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
320
322
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
321
323
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
322
324
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
325
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
323
326
  }>> & {
324
327
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
325
328
  }, {
@@ -447,6 +450,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
447
450
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
448
451
  virtualRef: import("..").Measurable;
449
452
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
453
+ "onUpdate:visible": (val: boolean) => void;
450
454
  openDelay: number;
451
455
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
452
456
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -554,6 +558,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
554
558
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
555
559
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
556
560
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
561
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
557
562
  }>> & {
558
563
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
559
564
  } & import("vue").ShallowUnwrapRef<{
@@ -1716,6 +1721,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1716
1721
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
1717
1722
  virtualRef: import("..").Measurable;
1718
1723
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
1724
+ "onUpdate:visible": (val: boolean) => void;
1719
1725
  openDelay: number;
1720
1726
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
1721
1727
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -1803,9 +1809,10 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1803
1809
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
1804
1810
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
1805
1811
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
1812
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
1806
1813
  }>> & {
1807
1814
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
1808
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
1815
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
1809
1816
  $attrs: {
1810
1817
  [x: string]: unknown;
1811
1818
  };
@@ -1903,6 +1910,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1903
1910
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
1904
1911
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
1905
1912
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
1913
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
1906
1914
  }>> & {
1907
1915
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
1908
1916
  }, {
@@ -2030,6 +2038,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2030
2038
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
2031
2039
  virtualRef: import("..").Measurable;
2032
2040
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
2041
+ "onUpdate:visible": (val: boolean) => void;
2033
2042
  openDelay: number;
2034
2043
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
2035
2044
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -2137,6 +2146,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2137
2146
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
2138
2147
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
2139
2148
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
2149
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
2140
2150
  }>> & {
2141
2151
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
2142
2152
  } & import("vue").ShallowUnwrapRef<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"popperVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"`el-cascader__dropdown ${popperClass}`\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n transition=\"el-zoom-in-top\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[popperPaneRef]=\"() => togglePopperVisible(false)\"\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n $attrs.class,\n ]\"\n :style=\"$attrs.style\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"inputPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"{ 'is-focus': popperVisible }\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"(e) => $emit('focus', e)\"\n @blur=\"(e) => $emit('blur', e)\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n class=\"el-input__icon icon-circle-close\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n popperVisible && 'is-reverse',\n ]\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" class=\"el-cascader__tags\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n type=\"info\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n class=\"el-cascader__search-input\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n class=\"el-cascader__suggestion-panel\"\n view-class=\"el-cascader__suggestion-list\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n 'el-cascader__suggestion-item',\n item.checked && 'is-checked',\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\"><check /></el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li class=\"el-cascader__empty-text\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onBeforeUnmount,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\n\nimport { isClient } from '@vueuse/core'\nimport ElCascaderPanel, {\n CommonProps,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport { ClickOutside as Clickoutside } from '@element-plus/directives'\nimport { useLocale, useSize } from '@element-plus/hooks'\n\nimport {\n focusNode,\n getSibling,\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n isKorean,\n} from '@element-plus/utils'\nimport {\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n} from '@element-plus/constants'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons-vue'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type {\n CascaderValue,\n CascaderNode,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { ComponentSize } from '@element-plus/constants'\n\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n large: 36,\n default: 32,\n small: 28,\n}\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElCascaderPanel,\n ElInput,\n ElTooltip,\n ElScrollbar,\n ElTag,\n ElIcon,\n CircleClose,\n Check,\n ArrowDown,\n },\n\n directives: {\n Clickoutside,\n },\n\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n placeholder: {\n type: String,\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<\n (node: CascaderNode, keyword: string) => boolean\n >,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n separator: {\n type: String,\n default: ' / ',\n },\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300,\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'focus',\n 'blur',\n 'visible-change',\n 'expand-change',\n 'remove-tag',\n ],\n\n setup(props, { emit }) {\n let inputInitialHeight = 0\n let pressDeleteCount = 0\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n const { t } = useLocale()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const tooltipRef: Ref<tooltipType | null> = ref(null)\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\n const popperVisible = ref(false)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n const suggestions: Ref<CascaderNode[]> = ref([])\n const isOnComposition = ref(false)\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize = useSize()\n const tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n const searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n )\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n const checkedValue = computed<CascaderValue>({\n get() {\n return props.modelValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n elFormItem.validate?.('change')\n },\n })\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n }\n\n emit('visible-change', visible)\n }\n }\n\n const updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n }\n\n const hideSuggestionPanel = () => {\n filtering.value = false\n }\n\n const genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n }\n\n const deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('remove-tag', node.valueByOption)\n }\n\n const calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n }\n\n const calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n }\n\n const focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n '.el-cascader__suggestion-item'\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n }\n\n const updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n '.el-cascader__suggestion-list'\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n }\n\n const handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expand-change', value)\n }\n\n const handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleClear = () => {\n panel.value?.clearCheckedNodes()\n togglePopperVisible(false)\n }\n\n const handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n }\n\n const handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n '.el-cascader__suggestion-item[tabindex=\"-1\"]'\n )\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount) return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n }\n\n const handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n }, props.debounce)\n\n const handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n }\n\n watch(filtering, updatePopperPosition)\n\n watch([checkedNodes, isDisabled], calculatePresentTags)\n\n watch(presentTags, () => {\n nextTick(() => updateStyle())\n })\n\n watch(presentText, (val) => (inputValue.value = val), { immediate: true })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n addResizeListener(inputEl, updateStyle)\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(input.value?.$el, updateStyle)\n })\n\n return {\n popperOptions,\n tooltipRef,\n popperPaneRef,\n input,\n tagWrapper,\n panel,\n suggestionPanel,\n popperVisible,\n inputHover,\n inputPlaceholder,\n filtering,\n presentText,\n checkedValue,\n inputValue,\n searchInputValue,\n presentTags,\n suggestions,\n isDisabled,\n isOnComposition,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n // deprecation in ver 2.1.0\n compatTeleported,\n\n t,\n togglePopperVisible,\n hideSuggestionPanel,\n deleteTag,\n focusFirstNode,\n getCheckedNodes,\n handleExpandChange,\n handleKeyDown,\n handleComposition,\n handleClear,\n handleSuggestionClick,\n handleSuggestionKeyDown,\n handleDelete,\n handleInput,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderPanel","ElInput","ElTooltip","ElScrollbar","ElTag","ElIcon","CircleClose","Check","ArrowDown","Clickoutside","CommonProps","isValidComponentSize","useTooltipContentProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useDeprecateAppendToBody","useLocale","inject","elFormKey","elFormItemKey","ref","computed","useSize","nextTick","EVENT_CODE","isPromise","addResizeListener","removeResizeListener","_openBlock","_withCtx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"popperVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"`el-cascader__dropdown ${popperClass}`\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n transition=\"el-zoom-in-top\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[popperPaneRef]=\"() => togglePopperVisible(false)\"\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n $attrs.class,\n ]\"\n :style=\"$attrs.style\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"inputPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"{ 'is-focus': popperVisible }\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"(e) => $emit('focus', e)\"\n @blur=\"(e) => $emit('blur', e)\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n class=\"el-input__icon icon-circle-close\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n popperVisible && 'is-reverse',\n ]\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" class=\"el-cascader__tags\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n type=\"info\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n class=\"el-cascader__search-input\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n class=\"el-cascader__suggestion-panel\"\n view-class=\"el-cascader__suggestion-list\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n 'el-cascader__suggestion-item',\n item.checked && 'is-checked',\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\"><check /></el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li class=\"el-cascader__empty-text\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onBeforeUnmount,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\n\nimport { isClient } from '@vueuse/core'\nimport ElCascaderPanel, {\n CommonProps,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport { ClickOutside as Clickoutside } from '@element-plus/directives'\nimport { useLocale, useSize } from '@element-plus/hooks'\n\nimport {\n focusNode,\n getSibling,\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n isKorean,\n} from '@element-plus/utils'\nimport {\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n} from '@element-plus/constants'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons-vue'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type {\n CascaderValue,\n CascaderNode,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { ComponentSize } from '@element-plus/constants'\n\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n large: 36,\n default: 32,\n small: 28,\n}\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElCascaderPanel,\n ElInput,\n ElTooltip,\n ElScrollbar,\n ElTag,\n ElIcon,\n CircleClose,\n Check,\n ArrowDown,\n },\n\n directives: {\n Clickoutside,\n },\n\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n placeholder: {\n type: String,\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<\n (node: CascaderNode, keyword: string) => boolean\n >,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n separator: {\n type: String,\n default: ' / ',\n },\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300,\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n },\n\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'focus',\n 'blur',\n 'visible-change',\n 'expand-change',\n 'remove-tag',\n ],\n\n setup(props, { emit }) {\n let inputInitialHeight = 0\n let pressDeleteCount = 0\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n const { t } = useLocale()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const tooltipRef: Ref<tooltipType | null> = ref(null)\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\n const popperVisible = ref(false)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n const suggestions: Ref<CascaderNode[]> = ref([])\n const isOnComposition = ref(false)\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize = useSize()\n const tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n const searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n )\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n const checkedValue = computed<CascaderValue>({\n get() {\n return props.modelValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n elFormItem.validate?.('change')\n },\n })\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n }\n\n emit('visible-change', visible)\n }\n }\n\n const updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n }\n\n const hideSuggestionPanel = () => {\n filtering.value = false\n }\n\n const genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n }\n\n const deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('remove-tag', node.valueByOption)\n }\n\n const calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n }\n\n const calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n }\n\n const focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n '.el-cascader__suggestion-item'\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n }\n\n const updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n '.el-cascader__suggestion-list'\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n }\n\n const handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expand-change', value)\n }\n\n const handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleClear = () => {\n panel.value?.clearCheckedNodes()\n togglePopperVisible(false)\n }\n\n const handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n }\n\n const handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n '.el-cascader__suggestion-item[tabindex=\"-1\"]'\n )\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n }\n\n const handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount) return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n }\n\n const handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n }, props.debounce)\n\n const handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n }\n\n watch(filtering, updatePopperPosition)\n\n watch([checkedNodes, isDisabled], calculatePresentTags)\n\n watch(presentTags, () => {\n nextTick(() => updateStyle())\n })\n\n watch(presentText, (val) => (inputValue.value = val), { immediate: true })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n addResizeListener(inputEl, updateStyle)\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(input.value?.$el, updateStyle)\n })\n\n return {\n popperOptions,\n tooltipRef,\n popperPaneRef,\n input,\n tagWrapper,\n panel,\n suggestionPanel,\n popperVisible,\n inputHover,\n inputPlaceholder,\n filtering,\n presentText,\n checkedValue,\n inputValue,\n searchInputValue,\n presentTags,\n suggestions,\n isDisabled,\n isOnComposition,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n // deprecation in ver 2.1.0\n compatTeleported,\n\n t,\n togglePopperVisible,\n hideSuggestionPanel,\n deleteTag,\n focusFirstNode,\n getCheckedNodes,\n handleExpandChange,\n handleKeyDown,\n handleComposition,\n handleClear,\n handleSuggestionClick,\n handleSuggestionKeyDown,\n handleDelete,\n handleInput,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderPanel","ElInput","ElTooltip","ElScrollbar","ElTag","ElIcon","CircleClose","Check","ArrowDown","Clickoutside","CommonProps","isValidComponentSize","useTooltipContentProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useDeprecateAppendToBody","useLocale","inject","elFormKey","elFormItemKey","ref","computed","useSize","nextTick","EVENT_CODE","isPromise","addResizeListener","removeResizeListener","_openBlock","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwNA,MAAM,uBAAuB;AAE7B,MAAM,mBAAmB;AAAA,EACvB,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA;AAGT,MAAM,gBAAkC;AAAA,EACtC,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,IAAI,CAAC,EAAE,YAAY;AACjB,cAAM,EAAE,eAAe,cAAc;AACrC,YAAI,CAAC,SAAS,QAAQ,UAAU,OAAO,SAAS;AAAY;AAC5D,sBAAc,MAAM,IAAI;AAAA;AAAA,MAE1B,UAAU,CAAC;AAAA;AAAA;AAAA;AAIjB,MAAM,iBAAiB;AACvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,qBACVC;AAAA,aACAC;AAAA,eACAC;AAAA,iBACAC;AAAA,WACAC;AAAA,YACAC;AAAA,iBACAC;AAAA,WACAC;AAAA,eACAC;AAAA;AAAA,EAGF,YAAY;AAAA,kBACVC;AAAA;AAAA,EAGF,OAAO;AAAA,OACFC;AAAA,IACH,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,aAAa;AAAA,MACX,MAAM;AAAA;AAAA,IAER,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,MAAM;AAAA,MAGN,SAAS,CAAC,MAAoB,YAC5B,KAAK,KAAK,SAAS;AAAA;AAAA,IAEvB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,IACd,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,YAAYC,+BAAuB;AAAA;AAAA,EAGrC,OAAO;AAAA,IACLC;AAAA,IACAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,MAAM,OAAO,EAAE,QAAQ;AACrB,QAAI,qBAAqB;AACzB,QAAI,mBAAmB;AAEvB,UAAM,EAAE,qBAAqBC,qCAC3B,gBACA;AAEF,UAAM,EAAE,MAAMC;AACd,UAAM,SAASC,WAAOC,gBAAW;AACjC,UAAM,aAAaD,WAAOE,oBAAe;AAEzC,UAAM,aAAsCC,QAAI;AAChD,UAAM,QAA+BA,QAAI;AACzC,UAAM,aAAaA,QAAI;AACvB,UAAM,QAAuCA,QAAI;AACjD,UAAM,kBAAmDA,QAAI;AAC7D,UAAM,gBAAgBA,QAAI;AAC1B,UAAM,aAAaA,QAAI;AACvB,UAAM,YAAYA,QAAI;AACtB,UAAM,aAAaA,QAAI;AACvB,UAAM,mBAAmBA,QAAI;AAC7B,UAAM,cAA0BA,QAAI;AACpC,UAAM,cAAmCA,QAAI;AAC7C,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,aAAaC,aAAS,MAAM,MAAM,YAAY,OAAO;AAC3D,UAAM,mBAAmBA,aACvB,MAAM,MAAM,eAAe,EAAE;AAE/B,UAAM,WAAWC;AACjB,UAAM,UAAUD,aAAS,MACvB,CAAC,SAAS,SAAS,SAAS,SAAS,UAAU;AAEjD,UAAM,WAAWA,aAAS,MAAM,CAAC,CAAC,MAAM,MAAM;AAC9C,UAAM,WAAWA,aAAS,MAAM,CAAC,MAAM,cAAc,SAAS;AAC9D,UAAM,gBAAgBA,aAAS,MAC7B,SAAS,QAAQ,iBAAiB,QAAQ,WAAW;AAEvD,UAAM,eAA4CA,aAChD,MAAM;AAER,UAAM;AACJ,iBACS;AAKP;AAEF,4BAAsBA;AAAM;AAE9B;AACE,cAAQ;AACR;AACA;AAII;AAGN;AAA6C,MAC3C;AACE;AAAa;AAAA,MAEf;AACE;AACA;AACA;AAAsB;AAAA;AAI1B;AACE,wBAAkB,kBAAkB;AAAA;AAGtC;AACE,UAAI;AAAkB;AAEtB,gBAAU;AAEV;AACE;AACA,cAAM,OAAO;AAEb,qBAAa;AACX;AACA;AAAsB;AAEtB;AACA;AACA;AAAyB;AAG3B,mCAAuB;AAAA;AAAA;AAI3B,UAAM;AACJ;AACE;AAAkB;AAAA;AAItB;AACE;AAAkB;AAGpB;AACE,cAAQ;AACR;AAAO;AACL;AACU;AACyB;AACzB,mBACC;AAA0B;AAAA;AAIzC;AACE;AACA,mBAAa;AACb;AACA,8BAAwB;AAAA;AAG1B;AACE,UAAI;AAAiB;AAErB,YAAM;AACN,mBAAoB;AAEpB;AACE,yBAAiB;AACjB;AAEA;AAEA;AACE;AACE,iBAAK;AAAK,mBACH;AAAA;AACM,cACX;AAAU;AAAA,iBAEP;AACL;AAAwC;AAAA;AAAA;AAK9C,kBAAY;AAAQ;AAGtB;AACE;AACA,YAAM,YAAY,oCACe;AAE7B;AAAqB;AACrB;AACA;AAAwC;AAG5C,UAAI;AACF;AACE,cAAI;AAAW;AAAA;AAInB;AACA;AACA;AAAA;AAGF,UAAM;AACJ;AAEA,UAAI;AACF;AACE;AAGF;AACE;AAIJ;AACE;AACA;AAA8B;AAAA;AAIlC,UAAM;AACJ;AACA;AACA,gCAA0B,uBAAuB;AAEjD;AAA8B;AAE9B;AACE;AAGA;AAA8C;AAGhD,UAAI,cAAc;AAChB,cAAM,EAAE;AACR,sDAEM,YAAY;AAElB;AACA;AAAA;AAAA;AAIJ,UAAM,mBAAmB;AACvB;AAAoC;AAGtC;AACE;AACA,4BAAsB;AAAA;AAGxB,+BAA2B,UAA4B;AACrD;AACA;AACE;AACA;AAA2B,aACtB;AACL,cAAM,gBAAgB,KAAK;AAC3B;AAAkC;AAAA;AAItC,UAAM,gBAAgB,OAAsB;AAC1C;AAA2B;AAE3B;AAAU;AAEN;AACA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AACc;AAEd;AACA;AAAA;AAAA;AAIN,UAAM;AACJ;AACA;AAAoB;AAGtB,UAAME,4BAAwB,CAAC;AAC7B,YAAM,cAAc;AAEpB,UAAI;AACF;AAA+C,aAC1CC;AACL;AACA;AAAoB;AAAA;AAIxB,UAAM;AACJ,YAAM;AACN,YAAM,WAAW;AAEjB;AAAQ;AACU;AAEd,gBAAM;AACN,+BAEI;AAKJ;AAAA;AAAA,aAEG;AACH;AACA;AAAA;AACc;AAEd;AACA;AAAA;AAAA;AAIN;AACE;AACA,2BAAqB;AACrB;AAEA,UAAI;AAA+B;AAEnC;AACE;AAAU;AAEV,gCAAmB;AAAA;AAAA;AAIvB,UAAM;AACJ;AAEA;AAAY;AAEZ,YAAM;AAEN;AACE,0CAAkC,YAAY;AAAA;AAAA;AAI9C;AAAA;AAEA;AAAA;AAAA,OAED;AAEH;AACE;AAEA;AAAoB;AAEpB;AAAuB;AAGzB,UAAMC;AAEN;AAEA,UAAM;AACJ;AAAe;AAGjB;AAEA;AACE;AACA;AAIA,wBAAkB;AAAS;AAG7B;AACE;AAAuC;AAGzC;AAAO;AACL;AACA;AACA,MACAF;AAAA,MACA;AAAA;AACA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAG;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACAC;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;AApoB2B;AAAmB;;;;;;;;;;;;;;;AAyErC,SAtJP;AAAA;AACa;AAAa,gBACjB;AAAA;AAC2B;AACvB;AACK;;;;;;;;AAQI;AACP;AACT,IACV;AAAW,IACX;AAAO,IACP;AAAA,IACA;AAAA,IACC;AAAM;IAEI;AAkFH;AAAA;AA/EE;;AAAmE;AAAuC;AAA+B;AAAA,+BAMvI;AAAO;AACuC;AAC5C;AACa;AACA;;AAwCZ,UArCT;AAAI;AACK;AAAU,0BACLC;AAAA;AACH,UACV;AAAU,UACV,kBAAgB;AAAA,UAChB;AAAM,UACN;AAAqB,UACrB;AAAkB,kCACC;AAAA;AACH,mBACX;AAAwB,mDAChB,WAAK;AAAS;AACpB;;AAUI;AAAA;AALJ;AACE,uBACA;AAAkB;;AAER;AAAA;AAAA;;AAaR;AATJ;AACE;;;AAAsG;AAAA;AAK5E;;AAElB;AAAA;AAAA;;;;;;AA+Bd;;AAdK;AATG;AACL,oBACE;AAAA;AACG,cACT;AAAc;AACf,cACC,SAAKC;AAAY;;AAES;AAAV;AAAA;;;;AAcjB;;AAVyB;AACpB;AACC,yBACQ;AAAmB;AACY;AACb;AACH;AACV;AACC;AACH;;AATR;;;oEApE4CD;AAA1C;AAAA;AAAA;AA8Ff;AAAA;AARI;AACK;AAAY;AACX;AACF;AACC,oCACa;AAAA;AACN;AAC2B;;AARlC;AAAA;AAuCI;;AA1BT,aACAC;AAAA;AACE,QACN;AAAW,QACV;AAAS;;AAgBC;;AADJ,wBAVQ;AAAA;AACL;gBAAgE;AAAY;AAAA;AAIvE;AACmB;;AAEZ;AAC8B;AAAV;AAAA;AAAA;;;;AAOnC;AAFC;AAAA;AAAA;;;AAxBA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -136,6 +136,7 @@ declare const _default: import("vue").DefineComponent<{
136
136
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
137
137
  virtualRef: import("element-plus/es/components/popper").Measurable;
138
138
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
139
+ "onUpdate:visible": (val: boolean) => void;
139
140
  openDelay: number;
140
141
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
141
142
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -223,9 +224,10 @@ declare const _default: import("vue").DefineComponent<{
223
224
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
224
225
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
225
226
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
227
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
226
228
  }>> & {
227
229
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
228
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
230
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
229
231
  $attrs: {
230
232
  [x: string]: unknown;
231
233
  };
@@ -323,6 +325,7 @@ declare const _default: import("vue").DefineComponent<{
323
325
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
324
326
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
325
327
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
328
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
326
329
  }>> & {
327
330
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
328
331
  }, {
@@ -450,6 +453,7 @@ declare const _default: import("vue").DefineComponent<{
450
453
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
451
454
  virtualRef: import("element-plus/es/components/popper").Measurable;
452
455
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
456
+ "onUpdate:visible": (val: boolean) => void;
453
457
  openDelay: number;
454
458
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
455
459
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -557,6 +561,7 @@ declare const _default: import("vue").DefineComponent<{
557
561
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
558
562
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
559
563
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
564
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
560
565
  }>> & {
561
566
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
562
567
  } & import("vue").ShallowUnwrapRef<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"['el-cascader-panel', border && 'is-bordered']\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"menu\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { isEqual, flattenDeep } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n focusNode,\n getSibling,\n isEmpty,\n unique,\n castArray,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n} from '@element-plus/constants'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node, { ExpandTrigger } from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n CascaderValue,\n CascaderNodeValue,\n CascaderOption,\n RenderLabel,\n default as CascaderNode,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(\n () => config.value.expandTrigger === ExpandTrigger.HOVER\n )\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, false)\n checkedValue.value = modelValue!\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n newNodes.forEach((node) => node.doCheck(true))\n\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = (menuElement as HTMLElement).querySelector(\n '.el-scrollbar__wrap'\n )\n const activeNode =\n menuElement.querySelector('.el-cascader-node.is-active') ||\n menuElement.querySelector('.el-cascader-node.in-active-path')\n scrollIntoView(container as HTMLElement, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, '.el-cascader-node[tabindex=\"-1\"]')\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n '.el-cascader-node[aria-expanded=\"true\"]'\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n emit('close')\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n }\n )\n\n watch(checkedValue, (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n })\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n getCheckedNodes,\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","config","useCascaderConfig","store","ref","computed","ExpandTrigger","Store","isEmpty","node","Node","EVENT_CODE","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"['el-cascader-panel', border && 'is-bordered']\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"menu\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { isEqual, flattenDeep } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n focusNode,\n getSibling,\n isEmpty,\n unique,\n castArray,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n} from '@element-plus/constants'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node, { ExpandTrigger } from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n CascaderValue,\n CascaderNodeValue,\n CascaderOption,\n RenderLabel,\n default as CascaderNode,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(\n () => config.value.expandTrigger === ExpandTrigger.HOVER\n )\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, false)\n checkedValue.value = modelValue!\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n newNodes.forEach((node) => node.doCheck(true))\n\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = (menuElement as HTMLElement).querySelector(\n '.el-scrollbar__wrap'\n )\n const activeNode =\n menuElement.querySelector('.el-cascader-node.is-active') ||\n menuElement.querySelector('.el-cascader-node.in-active-path')\n scrollIntoView(container as HTMLElement, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, '.el-cascader-node[tabindex=\"-1\"]')\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n '.el-cascader-node[aria-expanded=\"true\"]'\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n '.el-cascader-node[tabindex=\"-1\"]'\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n case EVENT_CODE.esc:\n case EVENT_CODE.tab:\n emit('close')\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n }\n )\n\n watch(checkedValue, (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n })\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n getCheckedNodes,\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","config","useCascaderConfig","store","ref","computed","ExpandTrigger","Store","isEmpty","node","Node","EVENT_CODE","_openBlock"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sources":["../../../../../../packages/components/cascader-panel/src/menu.vue"],"sourcesContent":["<template>\n <el-scrollbar\n :key=\"menuId\"\n tag=\"ul\"\n role=\"menu\"\n class=\"el-cascader-menu\"\n wrap-class=\"el-cascader-menu__wrap\"\n :view-class=\"['el-cascader-menu__list', isEmpty && 'is-empty']\"\n @mousemove=\"handleMouseMove\"\n @mouseleave=\"clearHoverZone\"\n >\n <el-cascader-node\n v-for=\"node in nodes\"\n :key=\"node.uid\"\n :node=\"node\"\n :menu-id=\"menuId\"\n @expand=\"handleExpand\"\n />\n <div v-if=\"isLoading\" class=\"el-cascader-menu__empty-text\">\n <el-icon size=\"14\" class=\"is-loading\">\n <loading />\n </el-icon>\n {{ t('el.cascader.loading') }}\n </div>\n <div v-else-if=\"isEmpty\" class=\"el-cascader-menu__empty-text\">\n {{ t('el.cascader.noData') }}\n </div>\n <svg\n v-else-if=\"panel?.isHoverMenu\"\n ref=\"hoverZone\"\n class=\"el-cascader-menu__hover-zone\"\n ></svg>\n </el-scrollbar>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, getCurrentInstance, inject, ref } from 'vue'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { useLocale } from '@element-plus/hooks'\nimport { generateId } from '@element-plus/utils'\nimport { Loading } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport ElCascaderNode from './node.vue'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { default as CascaderNode } from './node'\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElCascaderMenu',\n\n components: {\n Loading,\n ElIcon,\n ElScrollbar,\n ElCascaderNode,\n },\n\n props: {\n nodes: {\n type: Array as PropType<CascaderNode[]>,\n required: true,\n },\n index: {\n type: Number,\n required: true,\n },\n },\n\n setup(props) {\n const instance = getCurrentInstance()!\n const { t } = useLocale()\n const id = generateId()\n let activeNode: Nullable<HTMLElement> = null\n let hoverTimer: Nullable<number> = null\n\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const hoverZone = ref<null | SVGSVGElement>(null)\n\n const isEmpty = computed(() => !props.nodes.length)\n const isLoading = computed(() => !panel.initialLoaded)\n const menuId = computed(() => `cascader-menu-${id}-${props.index}`)\n\n const handleExpand = (e: MouseEvent) => {\n activeNode = e.target as HTMLElement\n }\n\n const handleMouseMove = (e: MouseEvent) => {\n if (!panel.isHoverMenu || !activeNode || !hoverZone.value) return\n\n if (activeNode.contains(e.target as HTMLElement)) {\n clearHoverTimer()\n\n const el = instance.vnode.el as HTMLElement\n const { left } = el.getBoundingClientRect()\n const { offsetWidth, offsetHeight } = el\n const startX = e.clientX - left\n const top = activeNode.offsetTop\n const bottom = top + activeNode.offsetHeight\n\n hoverZone.value.innerHTML = `\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${top} L${offsetWidth} 0 V${top} Z\" />\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${bottom} L${offsetWidth} ${offsetHeight} V${bottom} Z\" />\n `\n } else if (!hoverTimer) {\n hoverTimer = window.setTimeout(\n clearHoverZone,\n panel.config.hoverThreshold\n )\n }\n }\n\n const clearHoverTimer = () => {\n if (!hoverTimer) return\n clearTimeout(hoverTimer)\n hoverTimer = null\n }\n\n const clearHoverZone = () => {\n if (!hoverZone.value) return\n hoverZone.value.innerHTML = ''\n clearHoverTimer()\n }\n return {\n panel,\n hoverZone,\n isEmpty,\n isLoading,\n menuId,\n t,\n handleExpand,\n handleMouseMove,\n clearHoverZone,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Loading","ElIcon","ElScrollbar","ElCascaderNode","getCurrentInstance","useLocale","generateId","inject","CASCADER_PANEL_INJECTION_KEY","ref","computed","_openBlock","_createBlock"],"mappings":";;;;;;;;;;;;;;;;AAiDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,aACVC;AAAA,YACAC;AAAA,iBACAC;AAAA,oBACAC;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;AAAA;AAAA,EAId,MAAM,OAAO;AACX,UAAM,WAAWC;AACjB,UAAM,EAAE,MAAMC;AACd,UAAM,KAAKC;AACX,QAAI,aAAoC;AACxC,QAAI,aAA+B;AAEnC,UAAM,QAAQC,WAAOC;AAErB,UAAM,YAAYC,QAA0B;AAE5C,UAAM,UAAUC,aAAS,MAAM,CAAC,MAAM,MAAM;AAC5C,UAAM,YAAYA,aAAS,MAAM,CAAC,MAAM;AACxC,UAAM,SAASA,aAAS,MAAM,iBAAiB,MAAM,MAAM;AAE3D,UAAM,eAAe,CAAC,MAAkB;AACtC,mBAAa,EAAE;AAAA;AAGjB,UAAM,kBAAkB,CAAC,MAAkB;AACzC,UAAI,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,UAAU;AAAO;AAE3D,UAAI,WAAW,SAAS,EAAE,SAAwB;AAChD;AAEA,cAAM,KAAK,SAAS,MAAM;AAC1B,cAAM,EAAE,SAAS,GAAG;AACpB,cAAM,EAAE,aAAa,iBAAiB;AACtC,cAAM,SAAS,EAAE,UAAU;AAC3B,cAAM,MAAM,WAAW;AACvB,cAAM,SAAS,MAAM,WAAW;AAEhC,kBAAU,MAAM,YAAY;AAAA,uEACmC,UAAU,QAAQ,kBAAkB;AAAA,uEACpC,UAAU,WAAW,eAAe,iBAAiB;AAAA;AAAA,iBAE3G,CAAC,YAAY;AACtB,qBAAa,OAAO,WAClB,gBACA,MAAM,OAAO;AAAA;AAAA;AAKnB,UAAM,kBAAkB,MAAM;AAC5B,UAAI,CAAC;AAAY;AACjB,mBAAa;AACb,mBAAa;AAAA;AAGf,UAAM,iBAAiB,MAAM;AAC3B,UAAI,CAAC,UAAU;AAAO;AACtB,gBAAU,MAAM,YAAY;AAC5B;AAAA;AAEF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;EApHoB,KAAK;AAAA;;;EAMF,KAAK;AAAA;;;EAK5B,KAAI;AAAA,EACJ,KAAK;AAAA;;;;;;;SA5BDC,iBAAMC;AAAA,IACZ,KAAI,KAAI;AAAA,IACR,KAAI;AAAA,IACJ,MAAK;AAAA,IACL;AAAA,IACC,cAAU;AAAA,IACV,cAAW,2BAAe;AAAA,IAC1B,aAAU,KAAE;AAAA;;+BAEb;AAAA;;AAEgB,uBACH;AAAA,UACV;AAAA,qBACQ;AAAA;;;AAEA;AAGC;AAFQ;AAAM;;mBACtB;AAAW;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"menu.js","sources":["../../../../../../packages/components/cascader-panel/src/menu.vue"],"sourcesContent":["<template>\n <el-scrollbar\n :key=\"menuId\"\n tag=\"ul\"\n role=\"menu\"\n class=\"el-cascader-menu\"\n wrap-class=\"el-cascader-menu__wrap\"\n :view-class=\"['el-cascader-menu__list', isEmpty && 'is-empty']\"\n @mousemove=\"handleMouseMove\"\n @mouseleave=\"clearHoverZone\"\n >\n <el-cascader-node\n v-for=\"node in nodes\"\n :key=\"node.uid\"\n :node=\"node\"\n :menu-id=\"menuId\"\n @expand=\"handleExpand\"\n />\n <div v-if=\"isLoading\" class=\"el-cascader-menu__empty-text\">\n <el-icon size=\"14\" class=\"is-loading\">\n <loading />\n </el-icon>\n {{ t('el.cascader.loading') }}\n </div>\n <div v-else-if=\"isEmpty\" class=\"el-cascader-menu__empty-text\">\n {{ t('el.cascader.noData') }}\n </div>\n <svg\n v-else-if=\"panel?.isHoverMenu\"\n ref=\"hoverZone\"\n class=\"el-cascader-menu__hover-zone\"\n ></svg>\n </el-scrollbar>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, getCurrentInstance, inject, ref } from 'vue'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { useLocale } from '@element-plus/hooks'\nimport { generateId } from '@element-plus/utils'\nimport { Loading } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport ElCascaderNode from './node.vue'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { default as CascaderNode } from './node'\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElCascaderMenu',\n\n components: {\n Loading,\n ElIcon,\n ElScrollbar,\n ElCascaderNode,\n },\n\n props: {\n nodes: {\n type: Array as PropType<CascaderNode[]>,\n required: true,\n },\n index: {\n type: Number,\n required: true,\n },\n },\n\n setup(props) {\n const instance = getCurrentInstance()!\n const { t } = useLocale()\n const id = generateId()\n let activeNode: Nullable<HTMLElement> = null\n let hoverTimer: Nullable<number> = null\n\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const hoverZone = ref<null | SVGSVGElement>(null)\n\n const isEmpty = computed(() => !props.nodes.length)\n const isLoading = computed(() => !panel.initialLoaded)\n const menuId = computed(() => `cascader-menu-${id}-${props.index}`)\n\n const handleExpand = (e: MouseEvent) => {\n activeNode = e.target as HTMLElement\n }\n\n const handleMouseMove = (e: MouseEvent) => {\n if (!panel.isHoverMenu || !activeNode || !hoverZone.value) return\n\n if (activeNode.contains(e.target as HTMLElement)) {\n clearHoverTimer()\n\n const el = instance.vnode.el as HTMLElement\n const { left } = el.getBoundingClientRect()\n const { offsetWidth, offsetHeight } = el\n const startX = e.clientX - left\n const top = activeNode.offsetTop\n const bottom = top + activeNode.offsetHeight\n\n hoverZone.value.innerHTML = `\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${top} L${offsetWidth} 0 V${top} Z\" />\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${bottom} L${offsetWidth} ${offsetHeight} V${bottom} Z\" />\n `\n } else if (!hoverTimer) {\n hoverTimer = window.setTimeout(\n clearHoverZone,\n panel.config.hoverThreshold\n )\n }\n }\n\n const clearHoverTimer = () => {\n if (!hoverTimer) return\n clearTimeout(hoverTimer)\n hoverTimer = null\n }\n\n const clearHoverZone = () => {\n if (!hoverZone.value) return\n hoverZone.value.innerHTML = ''\n clearHoverTimer()\n }\n return {\n panel,\n hoverZone,\n isEmpty,\n isLoading,\n menuId,\n t,\n handleExpand,\n handleMouseMove,\n clearHoverZone,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Loading","ElIcon","ElScrollbar","ElCascaderNode","getCurrentInstance","useLocale","generateId","inject","CASCADER_PANEL_INJECTION_KEY","ref","computed","_createBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;AAiDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,aACVC;AAAA,YACAC;AAAA,iBACAC;AAAA,oBACAC;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;AAAA;AAAA,EAId,MAAM,OAAO;AACX,UAAM,WAAWC;AACjB,UAAM,EAAE,MAAMC;AACd,UAAM,KAAKC;AACX,QAAI,aAAoC;AACxC,QAAI,aAA+B;AAEnC,UAAM,QAAQC,WAAOC;AAErB,UAAM,YAAYC,QAA0B;AAE5C,UAAM,UAAUC,aAAS,MAAM,CAAC,MAAM,MAAM;AAC5C,UAAM,YAAYA,aAAS,MAAM,CAAC,MAAM;AACxC,UAAM,SAASA,aAAS,MAAM,iBAAiB,MAAM,MAAM;AAE3D,UAAM,eAAe,CAAC,MAAkB;AACtC,mBAAa,EAAE;AAAA;AAGjB,UAAM,kBAAkB,CAAC,MAAkB;AACzC,UAAI,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,UAAU;AAAO;AAE3D,UAAI,WAAW,SAAS,EAAE,SAAwB;AAChD;AAEA,cAAM,KAAK,SAAS,MAAM;AAC1B,cAAM,EAAE,SAAS,GAAG;AACpB,cAAM,EAAE,aAAa,iBAAiB;AACtC,cAAM,SAAS,EAAE,UAAU;AAC3B,cAAM,MAAM,WAAW;AACvB,cAAM,SAAS,MAAM,WAAW;AAEhC,kBAAU,MAAM,YAAY;AAAA,uEACmC,UAAU,QAAQ,kBAAkB;AAAA,uEACpC,UAAU,WAAW,eAAe,iBAAiB;AAAA;AAAA,iBAE3G,CAAC,YAAY;AACtB,qBAAa,OAAO,WAClB,gBACA,MAAM,OAAO;AAAA;AAAA;AAKnB,UAAM,kBAAkB,MAAM;AAC5B,UAAI,CAAC;AAAY;AACjB,mBAAa;AACb,mBAAa;AAAA;AAGf,UAAM,iBAAiB,MAAM;AAC3B,UAAI,CAAC,UAAU;AAAO;AACtB,gBAAU,MAAM,YAAY;AAC5B;AAAA;AAEF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;EApHoB,OAAM;AAAA;;;EAMH,OAAM;AAAA;;;EAK7B,KAAI;AAAA,EACJ,OAAM;AAAA;;;;;;0BA7BVC,gBA+Be;AAAA,IA9BZ,KAAK;AAAA,IACN,KAAI;AAAA,IACJ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,cAAW;AAAA,IACV,cAAU,2BAA6B,gBAAO;AAAA,IAC9C,aAAW;AAAA,IACX,cAAY;AAAA;yBAGX,MAAqB;AAAA;;AAKrB,uBAJW;AAAA,UACV;AAAA,qBACS;AAAA;AACD;;;AAOL;AAFM;AAFI,UAAKC;AAAM;;AACZ;AAAA;AAAA;;;AAET,YAEU;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"node2.js","sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? null : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n 'el-cascader-node',\n checkStrictly && 'is-selectable',\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n node.checked && 'is-active',\n !expandable && 'is-disabled',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span></span>\n </el-radio>\n <el-icon\n v-else-if=\"isLeaf && node.checked\"\n class=\"el-cascader-node__prefix\"\n >\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content />\n\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" class=\"is-loading el-cascader-node__postfix\">\n <loading />\n </el-icon>\n <el-icon v-else class=\"arrow-right el-cascader-node__postfix\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { Check, Loading, ArrowRight } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as CascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElCascaderNode',\n\n components: {\n ElCheckbox,\n ElRadio,\n NodeContent,\n ElIcon,\n Check,\n Loading,\n ArrowRight,\n },\n\n props: {\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n },\n\n emits: ['expand'],\n\n setup(props, { emit }) {\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const isHoverMenu = computed(() => panel.isHoverMenu)\n const multiple = computed(() => panel.config.multiple)\n const checkStrictly = computed(() => panel.config.checkStrictly)\n const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\n const isDisabled = computed(() => props.node.isDisabled)\n const isLeaf = computed(() => props.node.isLeaf)\n const expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n )\n const inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n // only useful in check-strictly mode\n const inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n )\n\n const isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n }\n\n const doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n }\n\n const doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n }\n\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n }\n\n const handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n }\n\n const handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n }\n\n const handleClick = () => {\n if (isHoverMenu.value && !isLeaf.value) return\n\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else {\n handleExpand()\n }\n }\n\n const handleSelectCheck = (checked: boolean) => {\n if (checkStrictly.value) {\n doCheck(checked)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked)\n }\n }\n\n const handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n }\n\n return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCheckbox","ElRadio","NodeContent","ElIcon","Check","Loading","ArrowRight","inject","CASCADER_PANEL_INJECTION_KEY","computed"],"mappings":";;;;;;;;;;;;;AA6EA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,gBACVC;AAAA,aACAC;AAAA,iBACAC;AAAA,YACAC;AAAA,WACAC;AAAA,aACAC;AAAA,gBACAC;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,QAAQ;AAAA;AAAA,EAGV,OAAO,CAAC;AAAA,EAER,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,QAAQC,WAAOC;AAErB,UAAM,cAAcC,aAAS,MAAM,MAAM;AACzC,UAAM,WAAWA,aAAS,MAAM,MAAM,OAAO;AAC7C,UAAM,gBAAgBA,aAAS,MAAM,MAAM,OAAO;AAClD,UAAM,gBAAgBA,aAAS,MAAM;AACrC,UAAM;AACN,mBAAe,qBAAqB,KAAK;AACzC;AAGA,UAAM,qCAAiC;AAEvC,UAAM;AAIN,UAAM,yBAAmC;AACvC;AACA,6CAAmC;AAAQ;AAG7C,UAAM;AACJ,0BAAoB;AAAO;AAC3B;AAAuB;AAGzB,UAAM;AACJ;AACA,sBAAgB;AAAc;AAC9B;AAA8B;AAGhC,UAAM;AACJ;AACE,YAAI;AAAe;AAAA;AAAA;AAIvB;AACE,UAAI;AAAoB;AACxB;AACA;AAAgC;AAGlC;AACE;AAEA,oCAA8B;AAAS;AACvC;AAA2B;AAG7B,UAAM;AACJ;AAAwC;AAExC;AAME;AAAY;AAEZ;AAAA;AAAA;AAIJ;AACE;AACE;AACA;AACE;AAAA;AAAA;AAGF;AAAY;AAAA;AAIhB;AACE;AACE;AAAA;AAEA;AACA;AAAwB;AAAA;AAI5B;AAAO;AACL;AACA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AAzMwB,QACtB;AAAW;AACd;AACW,iDACmB;AAAA,IAC9B;AAAU,IACV;AAAK;;AAAoC;AAAuD;AAAyC;AAAyC;AAAkC;;;AAS5L;AACN;KAEnB;AAAA,wBAEgB;AAAA;;AACb;AACoB;AACA;AACf,MACL;AAAqC;AAAA;gBAGd;MACvB;AAAA;AACe,MACf;AAAU;AACV,MACA;AAAK;;;;AAEN;AAIa;;;;;AAIR;;wBAEI;AAAA;;;;AAGK;AACA;AAEhB;AACuB;AACM;;AAAO;;;AACrB;;;;;AAEQ;;;AACJ;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"node2.js","sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? null : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n 'el-cascader-node',\n checkStrictly && 'is-selectable',\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n node.checked && 'is-active',\n !expandable && 'is-disabled',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span></span>\n </el-radio>\n <el-icon\n v-else-if=\"isLeaf && node.checked\"\n class=\"el-cascader-node__prefix\"\n >\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content />\n\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" class=\"is-loading el-cascader-node__postfix\">\n <loading />\n </el-icon>\n <el-icon v-else class=\"arrow-right el-cascader-node__postfix\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { Check, Loading, ArrowRight } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as CascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElCascaderNode',\n\n components: {\n ElCheckbox,\n ElRadio,\n NodeContent,\n ElIcon,\n Check,\n Loading,\n ArrowRight,\n },\n\n props: {\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n },\n\n emits: ['expand'],\n\n setup(props, { emit }) {\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const isHoverMenu = computed(() => panel.isHoverMenu)\n const multiple = computed(() => panel.config.multiple)\n const checkStrictly = computed(() => panel.config.checkStrictly)\n const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\n const isDisabled = computed(() => props.node.isDisabled)\n const isLeaf = computed(() => props.node.isLeaf)\n const expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n )\n const inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n // only useful in check-strictly mode\n const inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n )\n\n const isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n }\n\n const doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n }\n\n const doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n }\n\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n }\n\n const handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n }\n\n const handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n }\n\n const handleClick = () => {\n if (isHoverMenu.value && !isLeaf.value) return\n\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else {\n handleExpand()\n }\n }\n\n const handleSelectCheck = (checked: boolean) => {\n if (checkStrictly.value) {\n doCheck(checked)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked)\n }\n }\n\n const handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n }\n\n return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCheckbox","ElRadio","NodeContent","ElIcon","Check","Loading","ArrowRight","inject","CASCADER_PANEL_INJECTION_KEY","computed"],"mappings":";;;;;;;;;;;;;AA6EA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,gBACVC;AAAA,aACAC;AAAA,iBACAC;AAAA,YACAC;AAAA,WACAC;AAAA,aACAC;AAAA,gBACAC;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,QAAQ;AAAA;AAAA,EAGV,OAAO,CAAC;AAAA,EAER,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,QAAQC,WAAOC;AAErB,UAAM,cAAcC,aAAS,MAAM,MAAM;AACzC,UAAM,WAAWA,aAAS,MAAM,MAAM,OAAO;AAC7C,UAAM,gBAAgBA,aAAS,MAAM,MAAM,OAAO;AAClD,UAAM,gBAAgBA,aAAS,MAAM;AACrC,UAAM;AACN,mBAAe,qBAAqB,KAAK;AACzC;AAGA,UAAM,qCAAiC;AAEvC,UAAM;AAIN,UAAM,yBAAmC;AACvC;AACA,6CAAmC;AAAQ;AAG7C,UAAM;AACJ,0BAAoB;AAAO;AAC3B;AAAuB;AAGzB,UAAM;AACJ;AACA,sBAAgB;AAAc;AAC9B;AAA8B;AAGhC,UAAM;AACJ;AACE,YAAI;AAAe;AAAA;AAAA;AAIvB;AACE,UAAI;AAAoB;AACxB;AACA;AAAgC;AAGlC;AACE;AAEA,oCAA8B;AAAS;AACvC;AAA2B;AAG7B,UAAM;AACJ;AAAwC;AAExC;AAME;AAAY;AAEZ;AAAA;AAAA;AAIJ;AACE;AACE;AACA;AACE;AAAA;AAAA;AAGF;AAAY;AAAA;AAIhB;AACE;AACE;AAAA;AAEA;AACA;AAAwB;AAAA;AAI5B;AAAO;AACL;AACA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AA7IC,QA5DA;AAAoB;AAClB;AACY;AACW,IAC3B;AAAe,IACf;AAA4B,IAC5B;AAAK;;AAAiD;AAA0C;AAAyC,MAA6B;AAAY;AAAkC;AAAA;AAQxM;AACL;AACA;IAER;AAAA,IAEQ,+BADR;AAOE;;AALmB;AACE;AACV,MACV;AAAD;AAAW,MACV;AAAoB;AAeZ;;AAXK,MACb;AAAY,gBACF;AAAA,MACV;AAAoB,MACpB;AAAD;AAAW;;AAKR;AAHH;AAIA;AAAA;;AAOQ;;AAHF;wBAEN;AAAS;AAAA;AAAA;;;AAGX;AACgB;AAEhB,KACiB;AAON;AAJC;;AAFyB;;AACtB;AAAA;AAAA;;AAIH;;AAFY;;AACL;AAAA;AAAA;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-tag2.js","sources":["../../../../../../packages/components/check-tag/src/check-tag.vue"],"sourcesContent":["<template>\n <span :class=\"[ns.b(), ns.is('checked', checked)]\" @click=\"onChange\">\n <slot></slot>\n </span>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { checkTagProps, checkTagEmits } from './check-tag'\n\nexport default defineComponent({\n name: 'ElCheckTag',\n\n props: checkTagProps,\n emits: checkTagEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('check-tag')\n\n const onChange = () => {\n const checked = !props.checked\n emit('change', checked)\n emit('update:checked', checked)\n }\n\n return {\n ns,\n onChange,\n }\n },\n})\n</script>\n"],"names":["defineComponent","checkTagProps","checkTagEmits","useNamespace","_openBlock","_normalizeClass"],"mappings":";;;;;;;;;;AAUA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,mBAAa;AAExB,UAAM,WAAW,MAAM;AACrB,YAAM,UAAU,CAAC,MAAM;AACvB,WAAK,UAAU;AACf,WAAK,kBAAkB;AAAA;AAGzB,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BA1BJ,wBAEO;SAFKC,wCAAW,QAAK;AAAA,IAAwB,OAAKC,uDAAE;AAAA;KACzD;AAAA;;;;;;;"}
1
+ {"version":3,"file":"check-tag2.js","sources":["../../../../../../packages/components/check-tag/src/check-tag.vue"],"sourcesContent":["<template>\n <span :class=\"[ns.b(), ns.is('checked', checked)]\" @click=\"onChange\">\n <slot></slot>\n </span>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { checkTagProps, checkTagEmits } from './check-tag'\n\nexport default defineComponent({\n name: 'ElCheckTag',\n\n props: checkTagProps,\n emits: checkTagEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('check-tag')\n\n const onChange = () => {\n const checked = !props.checked\n emit('change', checked)\n emit('update:checked', checked)\n }\n\n return {\n ns,\n onChange,\n }\n },\n})\n</script>\n"],"names":["defineComponent","checkTagProps","checkTagEmits","useNamespace","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;AAUA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,mBAAa;AAExB,UAAM,WAAW,MAAM;AACrB,YAAM,UAAU,CAAC,MAAM;AACvB,WAAK,UAAU;AACf,WAAK,kBAAkB;AAAA;AAGzB,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;0BA1BJC,uBAEO;AAAA,IAFA,OAAKC,oBAAG,QAAG,KAAK,QAAG,GAAE,WAAY;AAAA,IAAY,SAAK,uCAAE;AAAA;IACzDC,eAAa;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-button.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.bm('button', size),\n ns.is('disabled', isDisabled),\n ns.is('checked', isChecked),\n ns.is('focus', focus),\n ]\"\n role=\"checkbox\"\n :aria-checked=\"isChecked\"\n :aria-disabled=\"isDisabled\"\n >\n <input\n v-if=\"trueLabel || falseLabel\"\n v-model=\"model\"\n :class=\"ns.be('button', 'original')\"\n type=\"checkbox\"\n :name=\"name\"\n :tabindex=\"tabindex\"\n :disabled=\"isDisabled\"\n :true-value=\"trueLabel\"\n :false-value=\"falseLabel\"\n @change=\"handleChange\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n <input\n v-else\n v-model=\"model\"\n :class=\"ns.be('button', 'original')\"\n type=\"checkbox\"\n :name=\"name\"\n :tabindex=\"tabindex\"\n :disabled=\"isDisabled\"\n :value=\"label\"\n @change=\"handleChange\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n\n <span\n v-if=\"$slots.default || label\"\n :class=\"ns.be('button', 'inner')\"\n :style=\"isChecked ? activeStyle : null\"\n >\n <slot>{{ label }}</slot>\n </span>\n </label>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCheckbox, useCheckboxGroup, useCheckboxProps } from './useCheckbox'\n\nexport default defineComponent({\n name: 'ElCheckboxButton',\n props: useCheckboxProps,\n emits: [UPDATE_MODEL_EVENT, 'change'],\n setup(props) {\n const { focus, isChecked, isDisabled, size, model, handleChange } =\n useCheckbox(props)\n const { checkboxGroup } = useCheckboxGroup()\n const ns = useNamespace('checkbox')\n\n const activeStyle = computed(() => {\n const fillValue = checkboxGroup?.fill?.value ?? ''\n return {\n backgroundColor: fillValue,\n borderColor: fillValue,\n color: checkboxGroup?.textColor?.value ?? '',\n boxShadow: fillValue ? `-1px 0 0 0 ${fillValue}` : null,\n }\n })\n\n return {\n focus,\n isChecked,\n isDisabled,\n model,\n handleChange,\n activeStyle,\n size,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","useCheckboxProps","UPDATE_MODEL_EVENT","useCheckbox","useCheckboxGroup","useNamespace","computed"],"mappings":";;;;;;;;;;;;AAwDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EACP,OAAO,CAACC,0BAAoB;AAAA,EAC5B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,WAAW,YAAY,MAAM,OAAO,iBACjDC,wBAAY;AACd,UAAM,EAAE,kBAAkBC;AAC1B,UAAM,KAAKC,mBAAa;AAExB,UAAM,cAAcC,aAAS,MAAM;AACjC,YAAM,YAAY;AAClB;AAAO;AACY,QACjB;AAAa,QACb,sBAAsB;AAAoB,QAC1C;AAAmD;AAAA;AAIvD;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;SAlFI;AAAA;AAAc;AAAuB,MAAwB,QAAG;AAAe,MAAmB,QAAG,GAAE;AAAY,MAAkB,QAAG,GAAE;AAAU;;;AAQzJ,IACA,gBAAa;AAAE;;AAGR;;MAEL;AAAY,MACb,uBAAe;AAAA,MACd;AAAM,MACN;AAAU,MACV,UAAU;AAAA,MACV,eAAY;AAAA,MACZ,cAAW;AAAE,MACb;AAAM,MACN;AAAY,MACZ;AAAW;;AAVE;;;MAeb;AAAY,MACb,uBAAe;AAAA,MACd;AAAM,MACN;AAAU,MACV,UAAU;AAAA,MACV,UAAO;AAAA,MACP;AAAM,MACN;AAAY,MACZ;AAAW;;AATE;;;;AAcR,MACL;AAAmB;;AAEpB;AAAc;;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox-button.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.bm('button', size),\n ns.is('disabled', isDisabled),\n ns.is('checked', isChecked),\n ns.is('focus', focus),\n ]\"\n role=\"checkbox\"\n :aria-checked=\"isChecked\"\n :aria-disabled=\"isDisabled\"\n >\n <input\n v-if=\"trueLabel || falseLabel\"\n v-model=\"model\"\n :class=\"ns.be('button', 'original')\"\n type=\"checkbox\"\n :name=\"name\"\n :tabindex=\"tabindex\"\n :disabled=\"isDisabled\"\n :true-value=\"trueLabel\"\n :false-value=\"falseLabel\"\n @change=\"handleChange\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n <input\n v-else\n v-model=\"model\"\n :class=\"ns.be('button', 'original')\"\n type=\"checkbox\"\n :name=\"name\"\n :tabindex=\"tabindex\"\n :disabled=\"isDisabled\"\n :value=\"label\"\n @change=\"handleChange\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n\n <span\n v-if=\"$slots.default || label\"\n :class=\"ns.be('button', 'inner')\"\n :style=\"isChecked ? activeStyle : null\"\n >\n <slot>{{ label }}</slot>\n </span>\n </label>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCheckbox, useCheckboxGroup, useCheckboxProps } from './useCheckbox'\n\nexport default defineComponent({\n name: 'ElCheckboxButton',\n props: useCheckboxProps,\n emits: [UPDATE_MODEL_EVENT, 'change'],\n setup(props) {\n const { focus, isChecked, isDisabled, size, model, handleChange } =\n useCheckbox(props)\n const { checkboxGroup } = useCheckboxGroup()\n const ns = useNamespace('checkbox')\n\n const activeStyle = computed(() => {\n const fillValue = checkboxGroup?.fill?.value ?? ''\n return {\n backgroundColor: fillValue,\n borderColor: fillValue,\n color: checkboxGroup?.textColor?.value ?? '',\n boxShadow: fillValue ? `-1px 0 0 0 ${fillValue}` : null,\n }\n })\n\n return {\n focus,\n isChecked,\n isDisabled,\n model,\n handleChange,\n activeStyle,\n size,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","useCheckboxProps","UPDATE_MODEL_EVENT","useCheckbox","useCheckboxGroup","useNamespace","computed","_normalizeClass"],"mappings":";;;;;;;;;;;;AAwDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAOC;AAAA,EACP,OAAO,CAACC,0BAAoB;AAAA,EAC5B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,WAAW,YAAY,MAAM,OAAO,iBACjDC,wBAAY;AACd,UAAM,EAAE,kBAAkBC;AAC1B,UAAM,KAAKC,mBAAa;AAExB,UAAM,cAAcC,aAAS,MAAM;AACjC,YAAM,YAAY;AAClB;AAAO;AACY,QACjB;AAAa,QACb,sBAAsB;AAAoB,QAC1C;AAAmD;AAAA;AAIvD;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;2CApCI;AAAA;AA9CA;AAAc,MAAkB,QAAG;AAAa,MAAa,QAAG,GAAE;AAAa,MAAmB,QAAG,GAAE;AAAY,MAAkB,QAAG,GAAE,SAAU;AAAA;AAAA;AAOrJ,IACJ,gBAAc;AAAA,IACd;AAAe;;AAed;;AAXc,MACb,uBAAO,QAAG;AAAE,MACb;AAAK,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAY;AAAA,MACZ;AAAa,MACb;AAAQ,MACR;AAAY,MACZ;AAAW;;AAVH;AAwBT;;AAVc,MACb,uBAAO,QAAG;AAAE,MACb;AAAK,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAO,MACP;AAAQ,MACR;AAAY,MACZ;AAAW;;AATH;AAAA;AAkBJ;MAJJ;AAAY,MACZ,OAAKC,mBAAE;AAAuB;;AAEP,6CAAf;AAAK;AAAA;;;;;;;;"}