@element-plus/nightly 0.0.20220122 → 0.0.20220126

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 (641) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1028 -862
  4. package/dist/index.full.min.js +8 -8
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +8 -8
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +1028 -862
  9. package/dist/locale/af.js +6 -8
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.js.map +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +6 -8
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.js.map +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/bg.js +6 -8
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.js.map +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +6 -8
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.js.map +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +6 -8
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.js.map +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/cs.js +6 -8
  35. package/dist/locale/cs.min.js +1 -1
  36. package/dist/locale/cs.min.js.map +1 -1
  37. package/dist/locale/cs.min.mjs +1 -1
  38. package/dist/locale/cs.mjs +1 -1
  39. package/dist/locale/da.js +6 -8
  40. package/dist/locale/da.min.js +1 -1
  41. package/dist/locale/da.min.js.map +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +6 -8
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.js.map +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +6 -8
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.js.map +1 -1
  52. package/dist/locale/el.min.mjs +1 -1
  53. package/dist/locale/el.mjs +1 -1
  54. package/dist/locale/en.js +6 -8
  55. package/dist/locale/en.min.js +1 -1
  56. package/dist/locale/en.min.js.map +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +6 -8
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.js.map +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +6 -8
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.js.map +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +6 -8
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.js.map +1 -1
  72. package/dist/locale/et.min.mjs +1 -1
  73. package/dist/locale/et.mjs +1 -1
  74. package/dist/locale/eu.js +6 -8
  75. package/dist/locale/eu.min.js +1 -1
  76. package/dist/locale/eu.min.js.map +1 -1
  77. package/dist/locale/eu.min.mjs +1 -1
  78. package/dist/locale/eu.mjs +1 -1
  79. package/dist/locale/fa.js +6 -8
  80. package/dist/locale/fa.min.js +1 -1
  81. package/dist/locale/fa.min.js.map +1 -1
  82. package/dist/locale/fa.min.mjs +1 -1
  83. package/dist/locale/fa.mjs +1 -1
  84. package/dist/locale/fi.js +6 -8
  85. package/dist/locale/fi.min.js +1 -1
  86. package/dist/locale/fi.min.js.map +1 -1
  87. package/dist/locale/fi.min.mjs +1 -1
  88. package/dist/locale/fi.mjs +1 -1
  89. package/dist/locale/fr.js +6 -8
  90. package/dist/locale/fr.min.js +1 -1
  91. package/dist/locale/fr.min.js.map +1 -1
  92. package/dist/locale/fr.min.mjs +1 -1
  93. package/dist/locale/fr.mjs +1 -1
  94. package/dist/locale/he.js +6 -8
  95. package/dist/locale/he.min.js +1 -1
  96. package/dist/locale/he.min.js.map +1 -1
  97. package/dist/locale/he.min.mjs +1 -1
  98. package/dist/locale/he.mjs +1 -1
  99. package/dist/locale/hr.js +6 -8
  100. package/dist/locale/hr.min.js +1 -1
  101. package/dist/locale/hr.min.js.map +1 -1
  102. package/dist/locale/hr.min.mjs +1 -1
  103. package/dist/locale/hr.mjs +1 -1
  104. package/dist/locale/hu.js +6 -8
  105. package/dist/locale/hu.min.js +1 -1
  106. package/dist/locale/hu.min.js.map +1 -1
  107. package/dist/locale/hu.min.mjs +1 -1
  108. package/dist/locale/hu.mjs +1 -1
  109. package/dist/locale/hy-am.js +6 -8
  110. package/dist/locale/hy-am.min.js +1 -1
  111. package/dist/locale/hy-am.min.js.map +1 -1
  112. package/dist/locale/hy-am.min.mjs +1 -1
  113. package/dist/locale/hy-am.mjs +1 -1
  114. package/dist/locale/id.js +6 -8
  115. package/dist/locale/id.min.js +1 -1
  116. package/dist/locale/id.min.js.map +1 -1
  117. package/dist/locale/id.min.mjs +1 -1
  118. package/dist/locale/id.mjs +1 -1
  119. package/dist/locale/it.js +6 -8
  120. package/dist/locale/it.min.js +1 -1
  121. package/dist/locale/it.min.js.map +1 -1
  122. package/dist/locale/it.min.mjs +1 -1
  123. package/dist/locale/it.mjs +1 -1
  124. package/dist/locale/ja.js +6 -8
  125. package/dist/locale/ja.min.js +1 -1
  126. package/dist/locale/ja.min.js.map +1 -1
  127. package/dist/locale/ja.min.mjs +1 -1
  128. package/dist/locale/ja.mjs +1 -1
  129. package/dist/locale/kk.js +6 -8
  130. package/dist/locale/kk.min.js +1 -1
  131. package/dist/locale/kk.min.js.map +1 -1
  132. package/dist/locale/kk.min.mjs +1 -1
  133. package/dist/locale/kk.mjs +1 -1
  134. package/dist/locale/km.js +6 -8
  135. package/dist/locale/km.min.js +1 -1
  136. package/dist/locale/km.min.js.map +1 -1
  137. package/dist/locale/km.min.mjs +1 -1
  138. package/dist/locale/km.mjs +1 -1
  139. package/dist/locale/ko.js +6 -8
  140. package/dist/locale/ko.min.js +1 -1
  141. package/dist/locale/ko.min.js.map +1 -1
  142. package/dist/locale/ko.min.mjs +1 -1
  143. package/dist/locale/ko.mjs +1 -1
  144. package/dist/locale/ku.js +6 -8
  145. package/dist/locale/ku.min.js +1 -1
  146. package/dist/locale/ku.min.js.map +1 -1
  147. package/dist/locale/ku.min.mjs +1 -1
  148. package/dist/locale/ku.mjs +1 -1
  149. package/dist/locale/ky.js +6 -8
  150. package/dist/locale/ky.min.js +1 -1
  151. package/dist/locale/ky.min.js.map +1 -1
  152. package/dist/locale/ky.min.mjs +1 -1
  153. package/dist/locale/ky.mjs +1 -1
  154. package/dist/locale/lt.js +6 -8
  155. package/dist/locale/lt.min.js +1 -1
  156. package/dist/locale/lt.min.js.map +1 -1
  157. package/dist/locale/lt.min.mjs +1 -1
  158. package/dist/locale/lt.mjs +1 -1
  159. package/dist/locale/lv.js +6 -8
  160. package/dist/locale/lv.min.js +1 -1
  161. package/dist/locale/lv.min.js.map +1 -1
  162. package/dist/locale/lv.min.mjs +1 -1
  163. package/dist/locale/lv.mjs +1 -1
  164. package/dist/locale/mn.js +6 -8
  165. package/dist/locale/mn.min.js +1 -1
  166. package/dist/locale/mn.min.js.map +1 -1
  167. package/dist/locale/mn.min.mjs +1 -1
  168. package/dist/locale/mn.mjs +1 -1
  169. package/dist/locale/nb-no.js +6 -8
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.js.map +1 -1
  172. package/dist/locale/nb-no.min.mjs +1 -1
  173. package/dist/locale/nb-no.mjs +1 -1
  174. package/dist/locale/nl.js +6 -8
  175. package/dist/locale/nl.min.js +1 -1
  176. package/dist/locale/nl.min.js.map +1 -1
  177. package/dist/locale/nl.min.mjs +1 -1
  178. package/dist/locale/nl.mjs +1 -1
  179. package/dist/locale/pa.js +6 -8
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.js.map +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +6 -8
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.js.map +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +6 -8
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.js.map +1 -1
  192. package/dist/locale/pt-br.min.mjs +1 -1
  193. package/dist/locale/pt-br.mjs +1 -1
  194. package/dist/locale/pt.js +6 -8
  195. package/dist/locale/pt.min.js +1 -1
  196. package/dist/locale/pt.min.js.map +1 -1
  197. package/dist/locale/pt.min.mjs +1 -1
  198. package/dist/locale/pt.mjs +1 -1
  199. package/dist/locale/ro.js +6 -8
  200. package/dist/locale/ro.min.js +1 -1
  201. package/dist/locale/ro.min.js.map +1 -1
  202. package/dist/locale/ro.min.mjs +1 -1
  203. package/dist/locale/ro.mjs +1 -1
  204. package/dist/locale/ru.js +6 -8
  205. package/dist/locale/ru.min.js +1 -1
  206. package/dist/locale/ru.min.js.map +1 -1
  207. package/dist/locale/ru.min.mjs +1 -1
  208. package/dist/locale/ru.mjs +1 -1
  209. package/dist/locale/sk.js +6 -8
  210. package/dist/locale/sk.min.js +1 -1
  211. package/dist/locale/sk.min.js.map +1 -1
  212. package/dist/locale/sk.min.mjs +1 -1
  213. package/dist/locale/sk.mjs +1 -1
  214. package/dist/locale/sl.js +6 -8
  215. package/dist/locale/sl.min.js +1 -1
  216. package/dist/locale/sl.min.js.map +1 -1
  217. package/dist/locale/sl.min.mjs +1 -1
  218. package/dist/locale/sl.mjs +1 -1
  219. package/dist/locale/sr.js +6 -8
  220. package/dist/locale/sr.min.js +1 -1
  221. package/dist/locale/sr.min.js.map +1 -1
  222. package/dist/locale/sr.min.mjs +1 -1
  223. package/dist/locale/sr.mjs +1 -1
  224. package/dist/locale/sv.js +6 -8
  225. package/dist/locale/sv.min.js +1 -1
  226. package/dist/locale/sv.min.js.map +1 -1
  227. package/dist/locale/sv.min.mjs +1 -1
  228. package/dist/locale/sv.mjs +1 -1
  229. package/dist/locale/ta.js +6 -8
  230. package/dist/locale/ta.min.js +1 -1
  231. package/dist/locale/ta.min.js.map +1 -1
  232. package/dist/locale/ta.min.mjs +1 -1
  233. package/dist/locale/ta.mjs +1 -1
  234. package/dist/locale/th.js +6 -8
  235. package/dist/locale/th.min.js +1 -1
  236. package/dist/locale/th.min.js.map +1 -1
  237. package/dist/locale/th.min.mjs +1 -1
  238. package/dist/locale/th.mjs +1 -1
  239. package/dist/locale/tk.js +6 -8
  240. package/dist/locale/tk.min.js +1 -1
  241. package/dist/locale/tk.min.js.map +1 -1
  242. package/dist/locale/tk.min.mjs +1 -1
  243. package/dist/locale/tk.mjs +1 -1
  244. package/dist/locale/tr.js +6 -8
  245. package/dist/locale/tr.min.js +1 -1
  246. package/dist/locale/tr.min.js.map +1 -1
  247. package/dist/locale/tr.min.mjs +1 -1
  248. package/dist/locale/tr.mjs +1 -1
  249. package/dist/locale/ug-cn.js +6 -8
  250. package/dist/locale/ug-cn.min.js +1 -1
  251. package/dist/locale/ug-cn.min.js.map +1 -1
  252. package/dist/locale/ug-cn.min.mjs +1 -1
  253. package/dist/locale/ug-cn.mjs +1 -1
  254. package/dist/locale/uk.js +6 -8
  255. package/dist/locale/uk.min.js +1 -1
  256. package/dist/locale/uk.min.js.map +1 -1
  257. package/dist/locale/uk.min.mjs +1 -1
  258. package/dist/locale/uk.mjs +1 -1
  259. package/dist/locale/uz-uz.js +6 -8
  260. package/dist/locale/uz-uz.min.js +1 -1
  261. package/dist/locale/uz-uz.min.js.map +1 -1
  262. package/dist/locale/uz-uz.min.mjs +1 -1
  263. package/dist/locale/uz-uz.mjs +1 -1
  264. package/dist/locale/vi.js +6 -8
  265. package/dist/locale/vi.min.js +1 -1
  266. package/dist/locale/vi.min.js.map +1 -1
  267. package/dist/locale/vi.min.mjs +1 -1
  268. package/dist/locale/vi.mjs +1 -1
  269. package/dist/locale/zh-cn.js +6 -8
  270. package/dist/locale/zh-cn.min.js +1 -1
  271. package/dist/locale/zh-cn.min.js.map +1 -1
  272. package/dist/locale/zh-cn.min.mjs +1 -1
  273. package/dist/locale/zh-cn.mjs +1 -1
  274. package/dist/locale/zh-tw.js +6 -8
  275. package/dist/locale/zh-tw.min.js +1 -1
  276. package/dist/locale/zh-tw.min.js.map +1 -1
  277. package/dist/locale/zh-tw.min.mjs +1 -1
  278. package/dist/locale/zh-tw.mjs +1 -1
  279. package/es/components/affix/src/affix2.mjs +2 -1
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/autocomplete/index.d.ts +22 -0
  282. package/es/components/autocomplete/src/index.mjs +17 -16
  283. package/es/components/autocomplete/src/index.mjs.map +1 -1
  284. package/es/components/autocomplete/src/index.vue.d.ts +11 -0
  285. package/es/components/backtop/index.d.ts +11 -0
  286. package/es/components/backtop/src/backtop.vue.d.ts +11 -0
  287. package/es/components/backtop/src/backtop2.mjs +18 -9
  288. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  289. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  290. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  291. package/es/components/button/src/button2.mjs +11 -7
  292. package/es/components/button/src/button2.mjs.map +1 -1
  293. package/es/components/carousel/index.d.ts +11 -0
  294. package/es/components/carousel/src/item.mjs +21 -15
  295. package/es/components/carousel/src/item.mjs.map +1 -1
  296. package/es/components/carousel/src/main.mjs +25 -23
  297. package/es/components/carousel/src/main.mjs.map +1 -1
  298. package/es/components/carousel/src/main.vue.d.ts +11 -0
  299. package/es/components/cascader/src/index.mjs +38 -21
  300. package/es/components/cascader/src/index.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/index.mjs +16 -13
  302. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  303. package/es/components/cascader-panel/src/menu.mjs +25 -22
  304. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  305. package/es/components/cascader-panel/src/node2.mjs +6 -2
  306. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  307. package/es/components/checkbox/index.d.ts +36 -3
  308. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  309. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  310. package/es/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  311. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  312. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  313. package/es/components/checkbox/src/checkbox.mjs +36 -28
  314. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  315. package/es/components/checkbox/src/checkbox.vue.d.ts +12 -1
  316. package/es/components/checkbox/src/useCheckbox.d.ts +1 -1
  317. package/es/components/checkbox/src/useCheckbox.mjs +2 -2
  318. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  319. package/es/components/collapse/src/collapse-item.mjs +3 -3
  320. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  321. package/es/components/color-picker/src/index.mjs +8 -5
  322. package/es/components/color-picker/src/index.mjs.map +1 -1
  323. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  324. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  325. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  326. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  327. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  328. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  329. package/es/components/descriptions/src/index.mjs +7 -2
  330. package/es/components/descriptions/src/index.mjs.map +1 -1
  331. package/es/components/dialog/src/dialog.mjs +1 -3
  332. package/es/components/dialog/src/dialog.mjs.map +1 -1
  333. package/es/components/drawer/index.d.ts +11 -0
  334. package/es/components/drawer/src/drawer.vue.d.ts +11 -0
  335. package/es/components/drawer/src/drawer2.mjs +33 -29
  336. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  337. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  338. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  339. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  340. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  341. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  342. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  343. package/es/components/empty/src/img-empty.mjs +13 -13
  344. package/es/components/empty/src/img-empty.mjs.map +1 -1
  345. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  346. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  347. package/es/components/form/src/form-item.mjs +6 -4
  348. package/es/components/form/src/form-item.mjs.map +1 -1
  349. package/es/components/image/src/image2.mjs +3 -2
  350. package/es/components/image/src/image2.mjs.map +1 -1
  351. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  352. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  353. package/es/components/input/src/input2.mjs +17 -8
  354. package/es/components/input/src/input2.mjs.map +1 -1
  355. package/es/components/input-number/src/input-number2.mjs +12 -6
  356. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  357. package/es/components/message/src/message2.mjs +1 -1
  358. package/es/components/message-box/src/index.mjs +9 -4
  359. package/es/components/message-box/src/index.mjs.map +1 -1
  360. package/es/components/message-box/src/index.vue.d.ts +1 -0
  361. package/es/components/notification/src/notification2.mjs +1 -1
  362. package/es/components/pagination/src/components/jumper.mjs +5 -2
  363. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  364. package/es/components/pagination/src/components/sizes.mjs +2 -1
  365. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  366. package/es/components/popconfirm/src/popconfirm2.mjs +6 -3
  367. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  368. package/es/components/popover/index.d.ts +0 -6
  369. package/es/components/popover/src/index.mjs +4 -2
  370. package/es/components/popover/src/index.mjs.map +1 -1
  371. package/es/components/popover/src/index.vue.d.ts +0 -3
  372. package/es/components/popover/src/popover.d.ts +0 -1
  373. package/es/components/popover/src/popover.mjs +0 -4
  374. package/es/components/popover/src/popover.mjs.map +1 -1
  375. package/es/components/popper/src/content.mjs +5 -3
  376. package/es/components/popper/src/content.mjs.map +1 -1
  377. package/es/components/popper/src/trigger.mjs +1 -1
  378. package/es/components/popper/src/trigger.mjs.map +1 -1
  379. package/es/components/progress/src/progress2.mjs +2 -1
  380. package/es/components/progress/src/progress2.mjs.map +1 -1
  381. package/es/components/radio/src/radio-button2.mjs +4 -4
  382. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  383. package/es/components/radio/src/radio-group2.mjs +1 -1
  384. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  385. package/es/components/rate/index.d.ts +8 -8
  386. package/es/components/rate/src/rate.d.ts +4 -4
  387. package/es/components/rate/src/rate.mjs +8 -4
  388. package/es/components/rate/src/rate.mjs.map +1 -1
  389. package/es/components/rate/src/rate.vue.d.ts +8 -8
  390. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  391. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  392. package/es/components/scrollbar/src/bar2.mjs +2 -1
  393. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  394. package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
  395. package/es/components/select/src/option-group.mjs +2 -1
  396. package/es/components/select/src/option-group.mjs.map +1 -1
  397. package/es/components/select/src/select-dropdown.mjs +2 -1
  398. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  399. package/es/components/select/src/select.mjs +2 -1
  400. package/es/components/select/src/select.mjs.map +1 -1
  401. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  402. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  403. package/es/components/select-v2/src/select.mjs +192 -186
  404. package/es/components/select-v2/src/select.mjs.map +1 -1
  405. package/es/components/slider/src/index.mjs +3 -2
  406. package/es/components/slider/src/index.mjs.map +1 -1
  407. package/es/components/slider/src/marker.mjs +2 -1
  408. package/es/components/slider/src/marker.mjs.map +1 -1
  409. package/es/components/steps/src/item.mjs +2 -1
  410. package/es/components/steps/src/item.mjs.map +1 -1
  411. package/es/components/switch/src/switch2.mjs +4 -2
  412. package/es/components/switch/src/switch2.mjs.map +1 -1
  413. package/es/components/table/src/filter-panel.mjs +7 -3
  414. package/es/components/table/src/filter-panel.mjs.map +1 -1
  415. package/es/components/table/src/table-body/index.mjs +1 -1
  416. package/es/components/table/src/table-body/index.mjs.map +1 -1
  417. package/es/components/table/src/table.mjs +3 -2
  418. package/es/components/table/src/table.mjs.map +1 -1
  419. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  420. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  421. package/es/components/tag/index.d.ts +12 -1
  422. package/es/components/tag/src/tag.vue.d.ts +12 -1
  423. package/es/components/tag/src/tag2.mjs +23 -18
  424. package/es/components/tag/src/tag2.mjs.map +1 -1
  425. package/es/components/time-picker/src/common/picker.mjs +16 -8
  426. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  427. package/es/components/time-select/src/time-select.mjs +4 -2
  428. package/es/components/time-select/src/time-select.mjs.map +1 -1
  429. package/es/components/tooltip/src/content.mjs +9 -4
  430. package/es/components/tooltip/src/content.mjs.map +1 -1
  431. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  432. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  433. package/es/components/transfer/index.d.ts +492 -0
  434. package/es/components/transfer/src/index.mjs +13 -7
  435. package/es/components/transfer/src/index.mjs.map +1 -1
  436. package/es/components/transfer/src/index.vue.d.ts +246 -0
  437. package/es/components/tree/src/tree.mjs +2 -1
  438. package/es/components/tree/src/tree.mjs.map +1 -1
  439. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  440. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  441. package/es/components/tree-v2/src/tree.mjs +2 -1
  442. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  443. package/es/components/upload/src/index.mjs +3 -2
  444. package/es/components/upload/src/index.mjs.map +1 -1
  445. package/es/components/upload/src/upload-dragger.mjs +2 -1
  446. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  447. package/es/utils/validators.d.ts +0 -1
  448. package/es/utils/validators.mjs +1 -9
  449. package/es/utils/validators.mjs.map +1 -1
  450. package/es/version.d.ts +1 -1
  451. package/es/version.mjs +1 -1
  452. package/es/version.mjs.map +1 -1
  453. package/lib/components/affix/src/affix2.js +2 -1
  454. package/lib/components/affix/src/affix2.js.map +1 -1
  455. package/lib/components/autocomplete/index.d.ts +22 -0
  456. package/lib/components/autocomplete/src/index.js +19 -18
  457. package/lib/components/autocomplete/src/index.js.map +1 -1
  458. package/lib/components/autocomplete/src/index.vue.d.ts +11 -0
  459. package/lib/components/backtop/index.d.ts +11 -0
  460. package/lib/components/backtop/src/backtop.vue.d.ts +11 -0
  461. package/lib/components/backtop/src/backtop2.js +17 -8
  462. package/lib/components/backtop/src/backtop2.js.map +1 -1
  463. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  464. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  465. package/lib/components/button/src/button2.js +11 -7
  466. package/lib/components/button/src/button2.js.map +1 -1
  467. package/lib/components/carousel/index.d.ts +11 -0
  468. package/lib/components/carousel/src/item.js +21 -15
  469. package/lib/components/carousel/src/item.js.map +1 -1
  470. package/lib/components/carousel/src/main.js +25 -23
  471. package/lib/components/carousel/src/main.js.map +1 -1
  472. package/lib/components/carousel/src/main.vue.d.ts +11 -0
  473. package/lib/components/cascader/src/index.js +38 -21
  474. package/lib/components/cascader/src/index.js.map +1 -1
  475. package/lib/components/cascader-panel/src/index.js +16 -13
  476. package/lib/components/cascader-panel/src/index.js.map +1 -1
  477. package/lib/components/cascader-panel/src/menu.js +25 -22
  478. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  479. package/lib/components/cascader-panel/src/node2.js +6 -2
  480. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  481. package/lib/components/checkbox/index.d.ts +36 -3
  482. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  483. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  484. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  485. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  486. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  487. package/lib/components/checkbox/src/checkbox.js +35 -27
  488. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  489. package/lib/components/checkbox/src/checkbox.vue.d.ts +12 -1
  490. package/lib/components/checkbox/src/useCheckbox.d.ts +1 -1
  491. package/lib/components/checkbox/src/useCheckbox.js +2 -2
  492. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  493. package/lib/components/collapse/src/collapse-item.js +3 -3
  494. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  495. package/lib/components/color-picker/src/index.js +8 -5
  496. package/lib/components/color-picker/src/index.js.map +1 -1
  497. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  498. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  499. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  500. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  501. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  502. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  503. package/lib/components/descriptions/src/index.js +7 -2
  504. package/lib/components/descriptions/src/index.js.map +1 -1
  505. package/lib/components/dialog/src/dialog.js +1 -3
  506. package/lib/components/dialog/src/dialog.js.map +1 -1
  507. package/lib/components/drawer/index.d.ts +11 -0
  508. package/lib/components/drawer/src/drawer.vue.d.ts +11 -0
  509. package/lib/components/drawer/src/drawer2.js +33 -29
  510. package/lib/components/drawer/src/drawer2.js.map +1 -1
  511. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  512. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  513. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  514. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  515. package/lib/components/dropdown/src/dropdown2.js +9 -5
  516. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  517. package/lib/components/empty/src/img-empty.js +13 -13
  518. package/lib/components/empty/src/img-empty.js.map +1 -1
  519. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  520. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  521. package/lib/components/form/src/form-item.js +6 -4
  522. package/lib/components/form/src/form-item.js.map +1 -1
  523. package/lib/components/image/src/image2.js +3 -2
  524. package/lib/components/image/src/image2.js.map +1 -1
  525. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  526. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  527. package/lib/components/input/src/input2.js +17 -8
  528. package/lib/components/input/src/input2.js.map +1 -1
  529. package/lib/components/input-number/src/input-number2.js +12 -6
  530. package/lib/components/input-number/src/input-number2.js.map +1 -1
  531. package/lib/components/message/src/message2.js +1 -1
  532. package/lib/components/message-box/src/index.js +17 -12
  533. package/lib/components/message-box/src/index.js.map +1 -1
  534. package/lib/components/message-box/src/index.vue.d.ts +1 -0
  535. package/lib/components/notification/src/notification2.js +1 -1
  536. package/lib/components/pagination/src/components/jumper.js +5 -2
  537. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  538. package/lib/components/pagination/src/components/sizes.js +2 -1
  539. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  540. package/lib/components/popconfirm/src/popconfirm2.js +6 -3
  541. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  542. package/lib/components/popover/index.d.ts +0 -6
  543. package/lib/components/popover/src/index.js +4 -2
  544. package/lib/components/popover/src/index.js.map +1 -1
  545. package/lib/components/popover/src/index.vue.d.ts +0 -3
  546. package/lib/components/popover/src/popover.d.ts +0 -1
  547. package/lib/components/popover/src/popover.js +0 -4
  548. package/lib/components/popover/src/popover.js.map +1 -1
  549. package/lib/components/popper/src/content.js +5 -3
  550. package/lib/components/popper/src/content.js.map +1 -1
  551. package/lib/components/popper/src/trigger.js +1 -1
  552. package/lib/components/popper/src/trigger.js.map +1 -1
  553. package/lib/components/progress/src/progress2.js +2 -1
  554. package/lib/components/progress/src/progress2.js.map +1 -1
  555. package/lib/components/radio/src/radio-button2.js +4 -4
  556. package/lib/components/radio/src/radio-button2.js.map +1 -1
  557. package/lib/components/radio/src/radio-group2.js +1 -1
  558. package/lib/components/radio/src/radio-group2.js.map +1 -1
  559. package/lib/components/rate/index.d.ts +8 -8
  560. package/lib/components/rate/src/rate.d.ts +4 -4
  561. package/lib/components/rate/src/rate.js +8 -4
  562. package/lib/components/rate/src/rate.js.map +1 -1
  563. package/lib/components/rate/src/rate.vue.d.ts +8 -8
  564. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  565. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  566. package/lib/components/scrollbar/src/bar2.js +2 -1
  567. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  568. package/lib/components/scrollbar/src/scrollbar2.js +2 -2
  569. package/lib/components/select/src/option-group.js +2 -1
  570. package/lib/components/select/src/option-group.js.map +1 -1
  571. package/lib/components/select/src/select-dropdown.js +2 -1
  572. package/lib/components/select/src/select-dropdown.js.map +1 -1
  573. package/lib/components/select/src/select.js +2 -1
  574. package/lib/components/select/src/select.js.map +1 -1
  575. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  576. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  577. package/lib/components/select-v2/src/select.js +192 -186
  578. package/lib/components/select-v2/src/select.js.map +1 -1
  579. package/lib/components/slider/src/index.js +3 -2
  580. package/lib/components/slider/src/index.js.map +1 -1
  581. package/lib/components/slider/src/marker.js +2 -1
  582. package/lib/components/slider/src/marker.js.map +1 -1
  583. package/lib/components/steps/src/item.js +2 -1
  584. package/lib/components/steps/src/item.js.map +1 -1
  585. package/lib/components/switch/src/switch2.js +4 -2
  586. package/lib/components/switch/src/switch2.js.map +1 -1
  587. package/lib/components/table/src/filter-panel.js +7 -3
  588. package/lib/components/table/src/filter-panel.js.map +1 -1
  589. package/lib/components/table/src/table-body/index.js +1 -1
  590. package/lib/components/table/src/table-body/index.js.map +1 -1
  591. package/lib/components/table/src/table.js +3 -2
  592. package/lib/components/table/src/table.js.map +1 -1
  593. package/lib/components/tabs/src/tab-bar2.js +3 -2
  594. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  595. package/lib/components/tag/index.d.ts +12 -1
  596. package/lib/components/tag/src/tag.vue.d.ts +12 -1
  597. package/lib/components/tag/src/tag2.js +23 -18
  598. package/lib/components/tag/src/tag2.js.map +1 -1
  599. package/lib/components/time-picker/src/common/picker.js +16 -8
  600. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  601. package/lib/components/time-select/src/time-select.js +4 -2
  602. package/lib/components/time-select/src/time-select.js.map +1 -1
  603. package/lib/components/tooltip/src/content.js +9 -4
  604. package/lib/components/tooltip/src/content.js.map +1 -1
  605. package/lib/components/tooltip/src/tooltip2.js +2 -1
  606. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  607. package/lib/components/transfer/index.d.ts +492 -0
  608. package/lib/components/transfer/src/index.js +13 -7
  609. package/lib/components/transfer/src/index.js.map +1 -1
  610. package/lib/components/transfer/src/index.vue.d.ts +246 -0
  611. package/lib/components/tree/src/tree.js +2 -1
  612. package/lib/components/tree/src/tree.js.map +1 -1
  613. package/lib/components/tree-v2/src/tree-node.js +11 -7
  614. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  615. package/lib/components/tree-v2/src/tree.js +2 -1
  616. package/lib/components/tree-v2/src/tree.js.map +1 -1
  617. package/lib/components/upload/src/index.js +3 -2
  618. package/lib/components/upload/src/index.js.map +1 -1
  619. package/lib/components/upload/src/upload-dragger.js +2 -1
  620. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  621. package/lib/utils/validators.d.ts +0 -1
  622. package/lib/utils/validators.js +0 -9
  623. package/lib/utils/validators.js.map +1 -1
  624. package/lib/version.d.ts +1 -1
  625. package/lib/version.js +1 -1
  626. package/lib/version.js.map +1 -1
  627. package/package.json +2 -2
  628. package/tags.json +1 -1
  629. package/theme-chalk/el-empty.css +1 -1
  630. package/theme-chalk/el-pagination.css +1 -1
  631. package/theme-chalk/el-popper.css +1 -1
  632. package/theme-chalk/el-rate.css +1 -1
  633. package/theme-chalk/el-table.css +1 -1
  634. package/theme-chalk/el-tooltip.css +0 -1
  635. package/theme-chalk/index.css +1 -1
  636. package/theme-chalk/src/common/var.scss +17 -18
  637. package/theme-chalk/src/pagination.scss +4 -5
  638. package/theme-chalk/src/popper.scss +20 -2
  639. package/theme-chalk/src/table.scss +0 -12
  640. package/theme-chalk/src/tooltip.scss +0 -95
  641. package/web-types.json +1 -1
@@ -66,7 +66,7 @@ const _sfc_main = defineComponent({
66
66
  const resolve = (dataList) => {
67
67
  const _node = node;
68
68
  const parent = _node.root ? null : _node;
69
- dataList && store?.appendNodes(dataList, parent);
69
+ dataList && (store == null ? void 0 : store.appendNodes(dataList, parent));
70
70
  _node.loading = false;
71
71
  _node.loaded = true;
72
72
  _node.childrenData = _node.childrenData || [];
@@ -75,6 +75,7 @@ const _sfc_main = defineComponent({
75
75
  cfg.lazyLoad(node, resolve);
76
76
  };
77
77
  const expandNode = (node, silent) => {
78
+ var _a;
78
79
  const { level } = node;
79
80
  const newMenus = menus.value.slice(0, level);
80
81
  let newExpandingNode;
@@ -84,17 +85,17 @@ const _sfc_main = defineComponent({
84
85
  newExpandingNode = node;
85
86
  newMenus.push(node.children);
86
87
  }
87
- if (expandingNode.value?.uid !== newExpandingNode?.uid) {
88
+ if (((_a = expandingNode.value) == null ? void 0 : _a.uid) !== (newExpandingNode == null ? void 0 : newExpandingNode.uid)) {
88
89
  expandingNode.value = node;
89
90
  menus.value = newMenus;
90
- !silent && emit("expand-change", node?.pathValues || []);
91
+ !silent && emit("expand-change", (node == null ? void 0 : node.pathValues) || []);
91
92
  }
92
93
  };
93
94
  const handleCheckChange = (node, checked, emitClose = true) => {
94
95
  const { checkStrictly, multiple } = config.value;
95
96
  const oldNode = checkedNodes.value[0];
96
97
  manualChecked = true;
97
- !multiple && oldNode?.doCheck(false);
98
+ !multiple && (oldNode == null ? void 0 : oldNode.doCheck(false));
98
99
  node.doCheck(checked);
99
100
  calculateCheckedValue();
100
101
  emitClose && !multiple && !checkStrictly && emit("close");
@@ -108,23 +109,25 @@ const _sfc_main = defineComponent({
108
109
  node && expandNode(node);
109
110
  };
110
111
  const getFlattedNodes = (leafOnly) => {
111
- return store?.getFlattedNodes(leafOnly);
112
+ return store == null ? void 0 : store.getFlattedNodes(leafOnly);
112
113
  };
113
114
  const getCheckedNodes = (leafOnly) => {
114
- return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false);
115
+ var _a;
116
+ return (_a = getFlattedNodes(leafOnly)) == null ? void 0 : _a.filter((node) => node.checked !== false);
115
117
  };
116
118
  const clearCheckedNodes = () => {
117
119
  checkedNodes.value.forEach((node) => node.doCheck(false));
118
120
  calculateCheckedValue();
119
121
  };
120
122
  const calculateCheckedValue = () => {
123
+ var _a;
121
124
  const { checkStrictly, multiple } = config.value;
122
125
  const oldNodes = checkedNodes.value;
123
126
  const newNodes = getCheckedNodes(!checkStrictly);
124
127
  const nodes = sortByOriginalOrder(oldNodes, newNodes);
125
128
  const values = nodes.map((node) => node.valueByOption);
126
129
  checkedNodes.value = nodes;
127
- checkedValue.value = multiple ? values : values[0] ?? null;
130
+ checkedValue.value = multiple ? values : (_a = values[0]) != null ? _a : null;
128
131
  };
129
132
  const syncCheckedValue = (loaded = false, forced = false) => {
130
133
  const { modelValue } = props;
@@ -134,7 +137,7 @@ const _sfc_main = defineComponent({
134
137
  return;
135
138
  if (lazy && !loaded) {
136
139
  const values = deduplicate(arrayFlat(coerceTruthyValueToArray(modelValue)));
137
- const nodes = values.map((val) => store?.getNodeByValue(val)).filter((node) => !!node && !node.loaded && !node.loading);
140
+ const nodes = values.map((val) => store == null ? void 0 : store.getNodeByValue(val)).filter((node) => !!node && !node.loaded && !node.loading);
138
141
  if (nodes.length) {
139
142
  nodes.forEach((node) => {
140
143
  lazyLoad(node, () => syncCheckedValue(false, forced));
@@ -144,7 +147,7 @@ const _sfc_main = defineComponent({
144
147
  }
145
148
  } else {
146
149
  const values = multiple ? coerceTruthyValueToArray(modelValue) : [modelValue];
147
- const nodes = deduplicate(values.map((val) => store?.getNodeByValue(val, leafOnly)));
150
+ const nodes = deduplicate(values.map((val) => store == null ? void 0 : store.getNodeByValue(val, leafOnly)));
148
151
  syncMenuState(nodes, false);
149
152
  checkedValue.value = modelValue;
150
153
  }
@@ -153,7 +156,7 @@ const _sfc_main = defineComponent({
153
156
  const { checkStrictly } = config.value;
154
157
  const oldNodes = checkedNodes.value;
155
158
  const newNodes = newCheckedNodes.filter((node) => !!node && (checkStrictly || node.isLeaf));
156
- const oldExpandingNode = store?.getSameNode(expandingNode.value);
159
+ const oldExpandingNode = store == null ? void 0 : store.getSameNode(expandingNode.value);
157
160
  const newExpandingNode = reserveExpandingState && oldExpandingNode || newNodes[0];
158
161
  if (newExpandingNode) {
159
162
  newExpandingNode.pathNodes.forEach((node) => expandNode(node, true));
@@ -169,7 +172,7 @@ const _sfc_main = defineComponent({
169
172
  if (!isClient)
170
173
  return;
171
174
  menuList.value.forEach((menu) => {
172
- const menuElement = menu?.$el;
175
+ const menuElement = menu == null ? void 0 : menu.$el;
173
176
  if (menuElement) {
174
177
  const container = menuElement.querySelector(".el-scrollbar__wrap");
175
178
  const activeNode = menuElement.querySelector(".el-cascader-node.is-active") || menuElement.querySelector(".el-cascader-node.in-active-path");
@@ -191,14 +194,14 @@ const _sfc_main = defineComponent({
191
194
  case EVENT_CODE.left: {
192
195
  e.preventDefault();
193
196
  const preMenu = menuList.value[getMenuIndex(target) - 1];
194
- const expandedNode = preMenu?.$el.querySelector('.el-cascader-node[aria-expanded="true"]');
197
+ const expandedNode = preMenu == null ? void 0 : preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]');
195
198
  focusNode(expandedNode);
196
199
  break;
197
200
  }
198
201
  case EVENT_CODE.right: {
199
202
  e.preventDefault();
200
203
  const nextMenu = menuList.value[getMenuIndex(target) + 1];
201
- const firstNode = nextMenu?.$el.querySelector('.el-cascader-node[tabindex="-1"]');
204
+ const firstNode = nextMenu == null ? void 0 : nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]');
202
205
  focusNode(firstNode);
203
206
  break;
204
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","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 from 'lodash/isEqual'\nimport { isClient } from '@vueuse/core'\nimport { EVENT_CODE, focusNode, getSibling } from '@element-plus/utils/aria'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport scrollIntoView from '@element-plus/utils/scroll-into-view'\nimport {\n arrayFlat,\n coerceTruthyValueToArray,\n deduplicate,\n isEmpty,\n} from '@element-plus/utils/util'\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/types'\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[] = deduplicate(\n arrayFlat(coerceTruthyValueToArray(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\n ? coerceTruthyValueToArray(modelValue)\n : [modelValue]\n const nodes = deduplicate(\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.querySelector('.el-scrollbar__wrap')\n const activeNode =\n menuElement.querySelector('.el-cascader-node.is-active') ||\n menuElement.querySelector('.el-cascader-node.in-active-path')\n scrollIntoView(container, 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":["_openBlock","_Fragment","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","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 from 'lodash/isEqual'\nimport { isClient } from '@vueuse/core'\nimport { EVENT_CODE, focusNode, getSibling } from '@element-plus/utils/aria'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport scrollIntoView from '@element-plus/utils/scroll-into-view'\nimport {\n arrayFlat,\n coerceTruthyValueToArray,\n deduplicate,\n isEmpty,\n} from '@element-plus/utils/util'\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/types'\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[] = deduplicate(\n arrayFlat(coerceTruthyValueToArray(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\n ? coerceTruthyValueToArray(modelValue)\n : [modelValue]\n const nodes = deduplicate(\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.querySelector('.el-scrollbar__wrap')\n const activeNode =\n menuElement.querySelector('.el-cascader-node.is-active') ||\n menuElement.querySelector('.el-cascader-node.in-active-path')\n scrollIntoView(container, 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":["_openBlock"],"mappings":"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"}
@@ -113,28 +113,31 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
113
113
  onMousemove: _ctx.handleMouseMove,
114
114
  onMouseleave: _ctx.clearHoverZone
115
115
  }, {
116
- default: withCtx(() => [
117
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.nodes, (node) => {
118
- return openBlock(), createBlock(_component_el_cascader_node, {
119
- key: node.uid,
120
- node,
121
- "menu-id": _ctx.menuId,
122
- onExpand: _ctx.handleExpand
123
- }, null, 8, ["node", "menu-id", "onExpand"]);
124
- }), 128)),
125
- _ctx.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1, [
126
- createVNode(_component_el_icon, {
127
- size: "14",
128
- class: "is-loading"
129
- }, {
130
- default: withCtx(() => [
131
- createVNode(_component_loading)
132
- ]),
133
- _: 1
134
- }),
135
- createTextVNode(" " + toDisplayString(_ctx.t("el.cascader.loading")), 1)
136
- ])) : _ctx.isEmpty ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(_ctx.t("el.cascader.noData")), 1)) : _ctx.panel?.isHoverMenu ? (openBlock(), createElementBlock("svg", _hoisted_3, null, 512)) : createCommentVNode("v-if", true)
137
- ]),
116
+ default: withCtx(() => {
117
+ var _a;
118
+ return [
119
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.nodes, (node) => {
120
+ return openBlock(), createBlock(_component_el_cascader_node, {
121
+ key: node.uid,
122
+ node,
123
+ "menu-id": _ctx.menuId,
124
+ onExpand: _ctx.handleExpand
125
+ }, null, 8, ["node", "menu-id", "onExpand"]);
126
+ }), 128)),
127
+ _ctx.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1, [
128
+ createVNode(_component_el_icon, {
129
+ size: "14",
130
+ class: "is-loading"
131
+ }, {
132
+ default: withCtx(() => [
133
+ createVNode(_component_loading)
134
+ ]),
135
+ _: 1
136
+ }),
137
+ createTextVNode(" " + toDisplayString(_ctx.t("el.cascader.loading")), 1)
138
+ ])) : _ctx.isEmpty ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(_ctx.t("el.cascader.noData")), 1)) : ((_a = _ctx.panel) == null ? void 0 : _a.isHoverMenu) ? (openBlock(), createElementBlock("svg", _hoisted_3, null, 512)) : createCommentVNode("v-if", true)
139
+ ];
140
+ }),
138
141
  _: 1
139
142
  }, 8, ["view-class", "onMousemove", "onMouseleave"]);
140
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu.mjs","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/util'\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 { TimeoutHandle, Nullable } from '@element-plus/utils/types'\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<TimeoutHandle> = 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":["_openBlock","_createBlock","_Fragment","_createElementBlock","_withCtx"],"mappings":";;;;;;;;;;;AAiDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;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,WAAW;AACjB,UAAM,EAAE,MAAM;AACd,UAAM,KAAK;AACX,QAAI,aAAoC;AACxC,QAAI,aAAsC;AAE1C,UAAM,QAAQ,OAAO;AAErB,UAAM,YAAY,IAA0B;AAE5C,UAAM,UAAU,SAAS,MAAM,CAAC,MAAM,MAAM;AAC5C,UAAM,YAAY,SAAS,MAAM,CAAC,MAAM;AACxC,UAAM,SAAS,SAAS,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;;;;;;;SA5BDA,aAAMC;AAAA,IACZ,KAAI,KAAI;AAAA,IACR,KAAI;AAAA,IACJ,MAAK;AAAA,IACL;AAAA,IACC,cAAU;AAAA,IACV,cAAW,2BAAe;AAAA,IAC1B,aAAU,KAAE;AAAA;;2BAEb;AAAA,2CAMEC;eAJMF,aAAQC;AAAA,UACb,KAAI,KAAM;AAAA,UACV;AAAA,UACA,WAAQ;AAAA;;UAEA;AAAA,qCAGCE;AAAA,oBAFQ;AAAA,UAAC,MAAK;AAAA;;mBACtBC,QAAW;AAAA;;;;;yCAQKD,mBAAW;;;;;;;;;"}
1
+ {"version":3,"file":"menu.mjs","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/util'\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 { TimeoutHandle, Nullable } from '@element-plus/utils/types'\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<TimeoutHandle> = 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":["_openBlock","_createBlock"],"mappings":";;;;;;;;;;;AAiDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;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,WAAW;AACjB,UAAM,EAAE,MAAM;AACd,UAAM,KAAK;AACX,QAAI,aAAoC;AACxC,QAAI,aAAsC;AAE1C,UAAM,QAAQ,OAAO;AAErB,UAAM,YAAY,IAA0B;AAE5C,UAAM,UAAU,SAAS,MAAM,CAAC,MAAM,MAAM;AAC5C,UAAM,YAAY,SAAS,MAAM,CAAC,MAAM;AACxC,UAAM,SAAS,SAAS,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;;;;;;;SA5BDA,aAAMC;AAAA,IACZ,KAAI,KAAI;AAAA,IACR,KAAI;AAAA,IACJ,MAAK;AAAA,IACL;AAAA,IACC,cAAU;AAAA,IACV,cAAW,2BAAe;AAAA,IAC1B,aAAU,KAAE;AAAA;;2BAEb;AAAA;;AAEgB,mBACH;AAAA,UACV;AAAA,qBACQ;AAAA;;;AAEA;AAGC;AAFQ;AAAM;;mBACtB;AAAW;;;;;;;;;;;;;;;;;"}
@@ -31,15 +31,19 @@ const _sfc_main = defineComponent({
31
31
  const isHoverMenu = computed(() => panel.isHoverMenu);
32
32
  const multiple = computed(() => panel.config.multiple);
33
33
  const checkStrictly = computed(() => panel.config.checkStrictly);
34
- const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid);
34
+ const checkedNodeId = computed(() => {
35
+ var _a;
36
+ return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
37
+ });
35
38
  const isDisabled = computed(() => props.node.isDisabled);
36
39
  const isLeaf = computed(() => props.node.isLeaf);
37
40
  const expandable = computed(() => checkStrictly.value && !isLeaf.value || !isDisabled.value);
38
41
  const inExpandingPath = computed(() => isInPath(panel.expandingNode));
39
42
  const inCheckedPath = computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));
40
43
  const isInPath = (node) => {
44
+ var _a;
41
45
  const { level, uid } = props.node;
42
- return node?.pathNodes[level - 1]?.uid === uid;
46
+ return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;
43
47
  };
44
48
  const doExpand = () => {
45
49
  if (inExpandingPath.value)
@@ -1 +1 @@
1
- {"version":3,"file":"node2.mjs","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":["_openBlock","_createElementBlock","_withCtx","_createCommentVNode","_createVNode","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"node2.mjs","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":[],"mappings":";;;;;;;;;AA6EA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;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,QAAQ,OAAO;AAErB,UAAM,cAAc,SAAS,MAAM,MAAM;AACzC,UAAM,WAAW,SAAS,MAAM,MAAM,OAAO;AAC7C,UAAM,gBAAgB,SAAS,MAAM,MAAM,OAAO;AAClD,UAAM,gBAAgB,SAAS,MAAM;AACrC,UAAM;AACN,mBAAe,qBAAqB,KAAK;AACzC;AAGA,UAAM,iCAAiC;AAEvC,UAAM;AAIN,UAAM,qBAAmC;AACvC;AACA,yCAAmC;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,yCACmB;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;;;;;;;;;;;;;;;"}
@@ -37,12 +37,23 @@ export declare const ElCheckbox: import("../../utils/types").SFCWithInstall<impo
37
37
  tabindex: (StringConstructor | NumberConstructor)[];
38
38
  }, {
39
39
  isChecked: import("vue").ComputedRef<boolean>;
40
- isDisabled: import("vue").ComputedRef<boolean | undefined>;
40
+ isDisabled: import("vue").ComputedRef<boolean>;
41
41
  checkboxSize: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
42
42
  model: import("vue").WritableComputedRef<any>;
43
43
  handleChange: (e: InputEvent) => void;
44
44
  focus: import("vue").Ref<boolean>;
45
45
  size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
46
+ ns: {
47
+ namespace: import("vue").ComputedRef<string>;
48
+ b: (blockSuffix?: string) => string;
49
+ e: (element?: string | undefined) => string;
50
+ m: (modifier?: string | undefined) => string;
51
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
52
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
53
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
54
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
55
+ is: (name: string, state?: boolean) => string;
56
+ };
46
57
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
58
  modelValue: {
48
59
  type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
@@ -123,7 +134,7 @@ export declare const ElCheckbox: import("../../utils/types").SFCWithInstall<impo
123
134
  }, {
124
135
  focus: import("vue").Ref<boolean>;
125
136
  isChecked: import("vue").ComputedRef<boolean>;
126
- isDisabled: import("vue").ComputedRef<boolean | undefined>;
137
+ isDisabled: import("vue").ComputedRef<boolean>;
127
138
  model: import("vue").WritableComputedRef<any>;
128
139
  handleChange: (e: InputEvent) => void;
129
140
  activeStyle: import("vue").ComputedRef<{
@@ -133,6 +144,17 @@ export declare const ElCheckbox: import("../../utils/types").SFCWithInstall<impo
133
144
  boxShadow: string | null;
134
145
  }>;
135
146
  size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
147
+ ns: {
148
+ namespace: import("vue").ComputedRef<string>;
149
+ b: (blockSuffix?: string) => string;
150
+ e: (element?: string | undefined) => string;
151
+ m: (modifier?: string | undefined) => string;
152
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
153
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
154
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
155
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
156
+ is: (name: string, state?: boolean) => string;
157
+ };
136
158
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
137
159
  modelValue: {
138
160
  type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
@@ -274,7 +296,7 @@ export declare const ElCheckboxButton: import("../../utils/types").SFCWithInstal
274
296
  }, {
275
297
  focus: import("vue").Ref<boolean>;
276
298
  isChecked: import("vue").ComputedRef<boolean>;
277
- isDisabled: import("vue").ComputedRef<boolean | undefined>;
299
+ isDisabled: import("vue").ComputedRef<boolean>;
278
300
  model: import("vue").WritableComputedRef<any>;
279
301
  handleChange: (e: InputEvent) => void;
280
302
  activeStyle: import("vue").ComputedRef<{
@@ -284,6 +306,17 @@ export declare const ElCheckboxButton: import("../../utils/types").SFCWithInstal
284
306
  boxShadow: string | null;
285
307
  }>;
286
308
  size: import("vue").ComputedRef<import("../../utils/types").ComponentSize>;
309
+ ns: {
310
+ namespace: import("vue").ComputedRef<string>;
311
+ b: (blockSuffix?: string) => string;
312
+ e: (element?: string | undefined) => string;
313
+ m: (modifier?: string | undefined) => string;
314
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
315
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
316
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
317
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
318
+ is: (name: string, state?: boolean) => string;
319
+ };
287
320
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
288
321
  modelValue: {
289
322
  type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
@@ -1,7 +1,9 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, withDirectives, vModelCheckbox, normalizeStyle, renderSlot, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
2
2
  import { UPDATE_MODEL_EVENT } from '../../../utils/constants.mjs';
3
+ import '../../../hooks/index.mjs';
3
4
  import { useCheckboxProps, useCheckbox, useCheckboxGroup } from './useCheckbox.mjs';
4
5
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
5
7
 
6
8
  const _sfc_main = defineComponent({
7
9
  name: "ElCheckboxButton",
@@ -10,12 +12,14 @@ const _sfc_main = defineComponent({
10
12
  setup(props) {
11
13
  const { focus, isChecked, isDisabled, size, model, handleChange } = useCheckbox(props);
12
14
  const { checkboxGroup } = useCheckboxGroup();
15
+ const ns = useNamespace("checkbox");
13
16
  const activeStyle = computed(() => {
14
- const fillValue = checkboxGroup?.fill?.value ?? "";
17
+ var _a, _b, _c, _d;
18
+ const fillValue = (_b = (_a = checkboxGroup == null ? void 0 : checkboxGroup.fill) == null ? void 0 : _a.value) != null ? _b : "";
15
19
  return {
16
20
  backgroundColor: fillValue,
17
21
  borderColor: fillValue,
18
- color: checkboxGroup?.textColor?.value ?? "",
22
+ color: (_d = (_c = checkboxGroup == null ? void 0 : checkboxGroup.textColor) == null ? void 0 : _c.value) != null ? _d : "",
19
23
  boxShadow: fillValue ? `-1px 0 0 0 ${fillValue}` : null
20
24
  };
21
25
  });
@@ -26,7 +30,8 @@ const _sfc_main = defineComponent({
26
30
  model,
27
31
  handleChange,
28
32
  activeStyle,
29
- size
33
+ size,
34
+ ns
30
35
  };
31
36
  }
32
37
  });
@@ -35,12 +40,13 @@ const _hoisted_2 = ["name", "tabindex", "disabled", "true-value", "false-value"]
35
40
  const _hoisted_3 = ["name", "tabindex", "disabled", "value"];
36
41
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
37
42
  return openBlock(), createElementBlock("label", {
38
- class: normalizeClass(["el-checkbox-button", [
39
- _ctx.size ? "el-checkbox-button--" + _ctx.size : "",
40
- { "is-disabled": _ctx.isDisabled },
41
- { "is-checked": _ctx.isChecked },
42
- { "is-focus": _ctx.focus }
43
- ]]),
43
+ class: normalizeClass([
44
+ _ctx.ns.b("button"),
45
+ _ctx.ns.bm("button", _ctx.size),
46
+ _ctx.ns.is("disabled", _ctx.isDisabled),
47
+ _ctx.ns.is("checked", _ctx.isChecked),
48
+ _ctx.ns.is("focus", _ctx.focus)
49
+ ]),
44
50
  role: "checkbox",
45
51
  "aria-checked": _ctx.isChecked,
46
52
  "aria-disabled": _ctx.isDisabled
@@ -48,7 +54,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
48
54
  _ctx.trueLabel || _ctx.falseLabel ? withDirectives((openBlock(), createElementBlock("input", {
49
55
  key: 0,
50
56
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.model = $event),
51
- class: "el-checkbox-button__original",
57
+ class: normalizeClass(_ctx.ns.be("button", "original")),
52
58
  type: "checkbox",
53
59
  name: _ctx.name,
54
60
  tabindex: _ctx.tabindex,
@@ -58,12 +64,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
58
64
  onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
59
65
  onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.focus = true),
60
66
  onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.focus = false)
61
- }, null, 40, _hoisted_2)), [
67
+ }, null, 42, _hoisted_2)), [
62
68
  [vModelCheckbox, _ctx.model]
63
69
  ]) : withDirectives((openBlock(), createElementBlock("input", {
64
70
  key: 1,
65
71
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.model = $event),
66
- class: "el-checkbox-button__original",
72
+ class: normalizeClass(_ctx.ns.be("button", "original")),
67
73
  type: "checkbox",
68
74
  name: _ctx.name,
69
75
  tabindex: _ctx.tabindex,
@@ -72,18 +78,18 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
72
78
  onChange: _cache[5] || (_cache[5] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
73
79
  onFocus: _cache[6] || (_cache[6] = ($event) => _ctx.focus = true),
74
80
  onBlur: _cache[7] || (_cache[7] = ($event) => _ctx.focus = false)
75
- }, null, 40, _hoisted_3)), [
81
+ }, null, 42, _hoisted_3)), [
76
82
  [vModelCheckbox, _ctx.model]
77
83
  ]),
78
84
  _ctx.$slots.default || _ctx.label ? (openBlock(), createElementBlock("span", {
79
85
  key: 2,
80
- class: "el-checkbox-button__inner",
86
+ class: normalizeClass(_ctx.ns.be("button", "inner")),
81
87
  style: normalizeStyle(_ctx.isChecked ? _ctx.activeStyle : null)
82
88
  }, [
83
89
  renderSlot(_ctx.$slots, "default", {}, () => [
84
90
  createTextVNode(toDisplayString(_ctx.label), 1)
85
91
  ])
86
- ], 4)) : createCommentVNode("v-if", true)
92
+ ], 6)) : createCommentVNode("v-if", true)
87
93
  ], 10, _hoisted_1);
88
94
  }
89
95
  var CheckboxButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-button.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox-button.vue"],"sourcesContent":["<template>\n <label\n class=\"el-checkbox-button\"\n :class=\"[\n size ? 'el-checkbox-button--' + size : '',\n { 'is-disabled': isDisabled },\n { 'is-checked': isChecked },\n { '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=\"el-checkbox-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=\"el-checkbox-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=\"el-checkbox-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/utils/constants'\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\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 }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass"],"mappings":";;;;;AAuDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,oBAAoB;AAAA,EAC5B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,WAAW,YAAY,MAAM,OAAO,iBACjD,YAAY;AACd,UAAM,EAAE,kBAAkB;AAE1B,UAAM,cAAc,SAAS,MAAM;AACjC,YAAM,YAAY,eAAe,MAAM,SAAS;AAChD,aAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,OAAO,eAAe,WAAW,SAAS;AAAA,QAC1C,WAAW,YAAY,cAAc,cAAc;AAAA;AAAA;AAIvD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;2BAhFJ,wBA+CQ;SA9CDA,gCAAC,SAAoB;AAAA,WACVC,eAAI,uBAA4B;AAAA,2CAA4C;AAAA,uBAA0B;AAAA,sBAAiC;AAAA;;IAOtJ;AAAA,IACA,gBAAa,KAAE;AAAA;KAGR;AAAA;;MAEN,uBAAM;AAA8B,MACpC,OAAK;AAAA,MACJ,MAAM;AAAA,MACN,WAAU;AAAA,MACV,UAAU;AAAA,MACV,eAAY;AAAA,MACZ,cAAW,KAAE;AAAA,MACb,eAAM;AAAA,MACN,UAAK,uCAAE,qBAAK;AAAA,MACZ,SAAI,sCAAE,aAAK;AAAA;iBAVE;AAAA;;;MAed,uBAAM;AAA8B,MACpC,OAAK;AAAA,MACJ,MAAM;AAAA,MACN,WAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAO;AAAA,MACP,YAAM;AAAA,MACN,UAAK,uCAAE,qBAAK;AAAA,MACZ,SAAI,sCAAE,aAAK;AAAA;iBATE;AAAA;;2BAYhB;MAEE,KAAK;AAAA,MACJ,OAAK;AAAA;OAEN;AAAA,yCAAS,UAAK;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox-button.mjs","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/utils/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":[],"mappings":";;;;;;;AAwDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,oBAAoB;AAAA,EAC5B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,WAAW,YAAY,MAAM,OAAO,iBACjD,YAAY;AACd,UAAM,EAAE,kBAAkB;AAC1B,UAAM,KAAK,aAAa;AAExB,UAAM,cAAc,SAAS,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;;;;;;;;;;"}
@@ -26,7 +26,7 @@ declare const _default: import("vue").DefineComponent<{
26
26
  }, {
27
27
  focus: import("vue").Ref<boolean>;
28
28
  isChecked: import("vue").ComputedRef<boolean>;
29
- isDisabled: import("vue").ComputedRef<boolean | undefined>;
29
+ isDisabled: import("vue").ComputedRef<boolean>;
30
30
  model: import("vue").WritableComputedRef<any>;
31
31
  handleChange: (e: InputEvent) => void;
32
32
  activeStyle: import("vue").ComputedRef<{
@@ -36,6 +36,17 @@ declare const _default: import("vue").DefineComponent<{
36
36
  boxShadow: string | null;
37
37
  }>;
38
38
  size: import("vue").ComputedRef<import("../../../utils/types").ComponentSize>;
39
+ ns: {
40
+ namespace: import("vue").ComputedRef<string>;
41
+ b: (blockSuffix?: string) => string;
42
+ e: (element?: string | undefined) => string;
43
+ m: (modifier?: string | undefined) => string;
44
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
45
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
46
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
47
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
48
+ is: (name: string, state?: boolean) => string;
49
+ };
39
50
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
51
  modelValue: {
41
52
  type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
@@ -4,6 +4,7 @@ import { isValidComponentSize } from '../../../utils/validators.mjs';
4
4
  import '../../../hooks/index.mjs';
5
5
  import { useCheckboxGroup } from './useCheckbox.mjs';
6
6
  import { useSize } from '../../../hooks/use-common-props/index.mjs';
7
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
8
 
8
9
  const _sfc_main = defineComponent({
9
10
  name: "ElCheckboxGroup",
@@ -42,6 +43,7 @@ const _sfc_main = defineComponent({
42
43
  setup(props, { emit, slots }) {
43
44
  const { elFormItem } = useCheckboxGroup();
44
45
  const checkboxGroupSize = useSize();
46
+ const ns = useNamespace("checkbox");
45
47
  const changeEvent = (value) => {
46
48
  emit(UPDATE_MODEL_EVENT, value);
47
49
  nextTick(() => {
@@ -64,11 +66,12 @@ const _sfc_main = defineComponent({
64
66
  changeEvent
65
67
  });
66
68
  watch(() => props.modelValue, () => {
67
- elFormItem.validate?.("change");
69
+ var _a;
70
+ (_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
68
71
  });
69
72
  return () => {
70
73
  return h(props.tag, {
71
- class: "el-checkbox-group",
74
+ class: ns.b("group"),
72
75
  role: "group",
73
76
  "aria-label": "checkbox-group"
74
77
  }, [renderSlot(slots, "default")]);