@element-plus/nightly 0.0.20220123 → 0.0.20220124

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 (560) hide show
  1. package/dist/index.full.js +585 -440
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +585 -440
  7. package/dist/locale/af.js +6 -8
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.js.map +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +6 -8
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.js.map +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +6 -8
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.js.map +1 -1
  20. package/dist/locale/bg.min.mjs +1 -1
  21. package/dist/locale/bg.mjs +1 -1
  22. package/dist/locale/bn.js +6 -8
  23. package/dist/locale/bn.min.js +1 -1
  24. package/dist/locale/bn.min.js.map +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +6 -8
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.js.map +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +6 -8
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.js.map +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +6 -8
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.js.map +1 -1
  40. package/dist/locale/da.min.mjs +1 -1
  41. package/dist/locale/da.mjs +1 -1
  42. package/dist/locale/de.js +6 -8
  43. package/dist/locale/de.min.js +1 -1
  44. package/dist/locale/de.min.js.map +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +6 -8
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.js.map +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +6 -8
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.js.map +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +6 -8
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.js.map +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +6 -8
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.js.map +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +6 -8
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.js.map +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +6 -8
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.js.map +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +6 -8
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.js.map +1 -1
  80. package/dist/locale/fa.min.mjs +1 -1
  81. package/dist/locale/fa.mjs +1 -1
  82. package/dist/locale/fi.js +6 -8
  83. package/dist/locale/fi.min.js +1 -1
  84. package/dist/locale/fi.min.js.map +1 -1
  85. package/dist/locale/fi.min.mjs +1 -1
  86. package/dist/locale/fi.mjs +1 -1
  87. package/dist/locale/fr.js +6 -8
  88. package/dist/locale/fr.min.js +1 -1
  89. package/dist/locale/fr.min.js.map +1 -1
  90. package/dist/locale/fr.min.mjs +1 -1
  91. package/dist/locale/fr.mjs +1 -1
  92. package/dist/locale/he.js +6 -8
  93. package/dist/locale/he.min.js +1 -1
  94. package/dist/locale/he.min.js.map +1 -1
  95. package/dist/locale/he.min.mjs +1 -1
  96. package/dist/locale/he.mjs +1 -1
  97. package/dist/locale/hr.js +6 -8
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.js.map +1 -1
  100. package/dist/locale/hr.min.mjs +1 -1
  101. package/dist/locale/hr.mjs +1 -1
  102. package/dist/locale/hu.js +6 -8
  103. package/dist/locale/hu.min.js +1 -1
  104. package/dist/locale/hu.min.js.map +1 -1
  105. package/dist/locale/hu.min.mjs +1 -1
  106. package/dist/locale/hu.mjs +1 -1
  107. package/dist/locale/hy-am.js +6 -8
  108. package/dist/locale/hy-am.min.js +1 -1
  109. package/dist/locale/hy-am.min.js.map +1 -1
  110. package/dist/locale/hy-am.min.mjs +1 -1
  111. package/dist/locale/hy-am.mjs +1 -1
  112. package/dist/locale/id.js +6 -8
  113. package/dist/locale/id.min.js +1 -1
  114. package/dist/locale/id.min.js.map +1 -1
  115. package/dist/locale/id.min.mjs +1 -1
  116. package/dist/locale/id.mjs +1 -1
  117. package/dist/locale/it.js +6 -8
  118. package/dist/locale/it.min.js +1 -1
  119. package/dist/locale/it.min.js.map +1 -1
  120. package/dist/locale/it.min.mjs +1 -1
  121. package/dist/locale/it.mjs +1 -1
  122. package/dist/locale/ja.js +6 -8
  123. package/dist/locale/ja.min.js +1 -1
  124. package/dist/locale/ja.min.js.map +1 -1
  125. package/dist/locale/ja.min.mjs +1 -1
  126. package/dist/locale/ja.mjs +1 -1
  127. package/dist/locale/kk.js +6 -8
  128. package/dist/locale/kk.min.js +1 -1
  129. package/dist/locale/kk.min.js.map +1 -1
  130. package/dist/locale/kk.min.mjs +1 -1
  131. package/dist/locale/kk.mjs +1 -1
  132. package/dist/locale/km.js +6 -8
  133. package/dist/locale/km.min.js +1 -1
  134. package/dist/locale/km.min.js.map +1 -1
  135. package/dist/locale/km.min.mjs +1 -1
  136. package/dist/locale/km.mjs +1 -1
  137. package/dist/locale/ko.js +6 -8
  138. package/dist/locale/ko.min.js +1 -1
  139. package/dist/locale/ko.min.js.map +1 -1
  140. package/dist/locale/ko.min.mjs +1 -1
  141. package/dist/locale/ko.mjs +1 -1
  142. package/dist/locale/ku.js +6 -8
  143. package/dist/locale/ku.min.js +1 -1
  144. package/dist/locale/ku.min.js.map +1 -1
  145. package/dist/locale/ku.min.mjs +1 -1
  146. package/dist/locale/ku.mjs +1 -1
  147. package/dist/locale/ky.js +6 -8
  148. package/dist/locale/ky.min.js +1 -1
  149. package/dist/locale/ky.min.js.map +1 -1
  150. package/dist/locale/ky.min.mjs +1 -1
  151. package/dist/locale/ky.mjs +1 -1
  152. package/dist/locale/lt.js +6 -8
  153. package/dist/locale/lt.min.js +1 -1
  154. package/dist/locale/lt.min.js.map +1 -1
  155. package/dist/locale/lt.min.mjs +1 -1
  156. package/dist/locale/lt.mjs +1 -1
  157. package/dist/locale/lv.js +6 -8
  158. package/dist/locale/lv.min.js +1 -1
  159. package/dist/locale/lv.min.js.map +1 -1
  160. package/dist/locale/lv.min.mjs +1 -1
  161. package/dist/locale/lv.mjs +1 -1
  162. package/dist/locale/mn.js +6 -8
  163. package/dist/locale/mn.min.js +1 -1
  164. package/dist/locale/mn.min.js.map +1 -1
  165. package/dist/locale/mn.min.mjs +1 -1
  166. package/dist/locale/mn.mjs +1 -1
  167. package/dist/locale/nb-no.js +6 -8
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.js.map +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +6 -8
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.js.map +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/pa.js +6 -8
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.js.map +1 -1
  180. package/dist/locale/pa.min.mjs +1 -1
  181. package/dist/locale/pa.mjs +1 -1
  182. package/dist/locale/pl.js +6 -8
  183. package/dist/locale/pl.min.js +1 -1
  184. package/dist/locale/pl.min.js.map +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +6 -8
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.js.map +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +6 -8
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.js.map +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +6 -8
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.js.map +1 -1
  200. package/dist/locale/ro.min.mjs +1 -1
  201. package/dist/locale/ro.mjs +1 -1
  202. package/dist/locale/ru.js +6 -8
  203. package/dist/locale/ru.min.js +1 -1
  204. package/dist/locale/ru.min.js.map +1 -1
  205. package/dist/locale/ru.min.mjs +1 -1
  206. package/dist/locale/ru.mjs +1 -1
  207. package/dist/locale/sk.js +6 -8
  208. package/dist/locale/sk.min.js +1 -1
  209. package/dist/locale/sk.min.js.map +1 -1
  210. package/dist/locale/sk.min.mjs +1 -1
  211. package/dist/locale/sk.mjs +1 -1
  212. package/dist/locale/sl.js +6 -8
  213. package/dist/locale/sl.min.js +1 -1
  214. package/dist/locale/sl.min.js.map +1 -1
  215. package/dist/locale/sl.min.mjs +1 -1
  216. package/dist/locale/sl.mjs +1 -1
  217. package/dist/locale/sr.js +6 -8
  218. package/dist/locale/sr.min.js +1 -1
  219. package/dist/locale/sr.min.js.map +1 -1
  220. package/dist/locale/sr.min.mjs +1 -1
  221. package/dist/locale/sr.mjs +1 -1
  222. package/dist/locale/sv.js +6 -8
  223. package/dist/locale/sv.min.js +1 -1
  224. package/dist/locale/sv.min.js.map +1 -1
  225. package/dist/locale/sv.min.mjs +1 -1
  226. package/dist/locale/sv.mjs +1 -1
  227. package/dist/locale/ta.js +6 -8
  228. package/dist/locale/ta.min.js +1 -1
  229. package/dist/locale/ta.min.js.map +1 -1
  230. package/dist/locale/ta.min.mjs +1 -1
  231. package/dist/locale/ta.mjs +1 -1
  232. package/dist/locale/th.js +6 -8
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.js.map +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +6 -8
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.js.map +1 -1
  240. package/dist/locale/tk.min.mjs +1 -1
  241. package/dist/locale/tk.mjs +1 -1
  242. package/dist/locale/tr.js +6 -8
  243. package/dist/locale/tr.min.js +1 -1
  244. package/dist/locale/tr.min.js.map +1 -1
  245. package/dist/locale/tr.min.mjs +1 -1
  246. package/dist/locale/tr.mjs +1 -1
  247. package/dist/locale/ug-cn.js +6 -8
  248. package/dist/locale/ug-cn.min.js +1 -1
  249. package/dist/locale/ug-cn.min.js.map +1 -1
  250. package/dist/locale/ug-cn.min.mjs +1 -1
  251. package/dist/locale/ug-cn.mjs +1 -1
  252. package/dist/locale/uk.js +6 -8
  253. package/dist/locale/uk.min.js +1 -1
  254. package/dist/locale/uk.min.js.map +1 -1
  255. package/dist/locale/uk.min.mjs +1 -1
  256. package/dist/locale/uk.mjs +1 -1
  257. package/dist/locale/uz-uz.js +6 -8
  258. package/dist/locale/uz-uz.min.js +1 -1
  259. package/dist/locale/uz-uz.min.js.map +1 -1
  260. package/dist/locale/uz-uz.min.mjs +1 -1
  261. package/dist/locale/uz-uz.mjs +1 -1
  262. package/dist/locale/vi.js +6 -8
  263. package/dist/locale/vi.min.js +1 -1
  264. package/dist/locale/vi.min.js.map +1 -1
  265. package/dist/locale/vi.min.mjs +1 -1
  266. package/dist/locale/vi.mjs +1 -1
  267. package/dist/locale/zh-cn.js +6 -8
  268. package/dist/locale/zh-cn.min.js +1 -1
  269. package/dist/locale/zh-cn.min.js.map +1 -1
  270. package/dist/locale/zh-cn.min.mjs +1 -1
  271. package/dist/locale/zh-cn.mjs +1 -1
  272. package/dist/locale/zh-tw.js +6 -8
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.js.map +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/affix/src/affix2.mjs +2 -1
  278. package/es/components/affix/src/affix2.mjs.map +1 -1
  279. package/es/components/autocomplete/src/index.mjs +2 -1
  280. package/es/components/autocomplete/src/index.mjs.map +1 -1
  281. package/es/components/backtop/src/backtop2.mjs +2 -1
  282. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  283. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  284. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  285. package/es/components/button/src/button2.mjs +11 -7
  286. package/es/components/button/src/button2.mjs.map +1 -1
  287. package/es/components/carousel/src/item.mjs +4 -2
  288. package/es/components/carousel/src/item.mjs.map +1 -1
  289. package/es/components/cascader/src/index.mjs +38 -21
  290. package/es/components/cascader/src/index.mjs.map +1 -1
  291. package/es/components/cascader-panel/src/index.mjs +16 -13
  292. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  293. package/es/components/cascader-panel/src/menu.mjs +25 -22
  294. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  295. package/es/components/cascader-panel/src/node2.mjs +6 -2
  296. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  297. package/es/components/checkbox/index.d.ts +33 -0
  298. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  299. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  300. package/es/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  301. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  302. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  303. package/es/components/checkbox/src/checkbox.mjs +36 -28
  304. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  305. package/es/components/checkbox/src/checkbox.vue.d.ts +11 -0
  306. package/es/components/collapse/src/collapse-item.mjs +3 -3
  307. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  308. package/es/components/color-picker/src/index.mjs +8 -5
  309. package/es/components/color-picker/src/index.mjs.map +1 -1
  310. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  311. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  312. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  313. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  314. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  315. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  316. package/es/components/descriptions/src/index.mjs +7 -2
  317. package/es/components/descriptions/src/index.mjs.map +1 -1
  318. package/es/components/dialog/src/dialog.mjs +1 -3
  319. package/es/components/dialog/src/dialog.mjs.map +1 -1
  320. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  321. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  322. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  323. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  324. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  325. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  326. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  327. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  328. package/es/components/form/src/form-item.mjs +6 -4
  329. package/es/components/form/src/form-item.mjs.map +1 -1
  330. package/es/components/image/src/image2.mjs +3 -2
  331. package/es/components/image/src/image2.mjs.map +1 -1
  332. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  333. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  334. package/es/components/index.mjs +1 -1
  335. package/es/components/input/src/input2.mjs +17 -8
  336. package/es/components/input/src/input2.mjs.map +1 -1
  337. package/es/components/input-number/src/input-number2.mjs +12 -6
  338. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  339. package/es/components/message/src/message2.mjs +1 -1
  340. package/es/components/message-box/src/index.mjs +4 -2
  341. package/es/components/message-box/src/index.mjs.map +1 -1
  342. package/es/components/notification/src/notification2.mjs +1 -1
  343. package/es/components/pagination/src/components/jumper.mjs +5 -2
  344. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  345. package/es/components/pagination/src/components/sizes.mjs +2 -1
  346. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  347. package/es/components/popconfirm/index.mjs +2 -2
  348. package/es/components/popconfirm/src/popconfirm.mjs +45 -104
  349. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  350. package/es/components/popconfirm/src/popconfirm2.mjs +107 -45
  351. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  352. package/es/components/popover/src/index.mjs +4 -2
  353. package/es/components/popover/src/index.mjs.map +1 -1
  354. package/es/components/popper/src/content.mjs +5 -3
  355. package/es/components/popper/src/content.mjs.map +1 -1
  356. package/es/components/popper/src/trigger.mjs +1 -1
  357. package/es/components/popper/src/trigger.mjs.map +1 -1
  358. package/es/components/progress/src/progress2.mjs +2 -1
  359. package/es/components/progress/src/progress2.mjs.map +1 -1
  360. package/es/components/radio/src/radio-button2.mjs +4 -4
  361. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  362. package/es/components/radio/src/radio-group2.mjs +1 -1
  363. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  364. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  365. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  366. package/es/components/scrollbar/src/bar2.mjs +2 -1
  367. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  368. package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
  369. package/es/components/select/src/option-group.mjs +2 -1
  370. package/es/components/select/src/option-group.mjs.map +1 -1
  371. package/es/components/select/src/select-dropdown.mjs +2 -1
  372. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  373. package/es/components/select/src/select.mjs +2 -1
  374. package/es/components/select/src/select.mjs.map +1 -1
  375. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  376. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  377. package/es/components/select-v2/src/select.mjs +192 -186
  378. package/es/components/select-v2/src/select.mjs.map +1 -1
  379. package/es/components/slider/src/index.mjs +3 -2
  380. package/es/components/slider/src/index.mjs.map +1 -1
  381. package/es/components/slider/src/marker.mjs +2 -1
  382. package/es/components/slider/src/marker.mjs.map +1 -1
  383. package/es/components/steps/src/item.mjs +2 -1
  384. package/es/components/steps/src/item.mjs.map +1 -1
  385. package/es/components/switch/src/switch2.mjs +4 -2
  386. package/es/components/switch/src/switch2.mjs.map +1 -1
  387. package/es/components/table/src/filter-panel.mjs +7 -3
  388. package/es/components/table/src/filter-panel.mjs.map +1 -1
  389. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  390. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  391. package/es/components/time-picker/src/common/picker.mjs +16 -8
  392. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  393. package/es/components/time-select/src/time-select.mjs +4 -2
  394. package/es/components/time-select/src/time-select.mjs.map +1 -1
  395. package/es/components/tooltip/src/content.mjs +9 -4
  396. package/es/components/tooltip/src/content.mjs.map +1 -1
  397. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  398. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  399. package/es/components/transfer/src/index.mjs +2 -1
  400. package/es/components/transfer/src/index.mjs.map +1 -1
  401. package/es/components/tree/src/tree.mjs +2 -1
  402. package/es/components/tree/src/tree.mjs.map +1 -1
  403. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  404. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  405. package/es/components/tree-v2/src/tree.mjs +2 -1
  406. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  407. package/es/components/upload/src/index.mjs +3 -2
  408. package/es/components/upload/src/index.mjs.map +1 -1
  409. package/es/components/upload/src/upload-dragger.mjs +2 -1
  410. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  411. package/es/index.mjs +1 -1
  412. package/es/utils/validators.d.ts +0 -1
  413. package/es/utils/validators.mjs +1 -9
  414. package/es/utils/validators.mjs.map +1 -1
  415. package/es/version.d.ts +1 -1
  416. package/es/version.mjs +1 -1
  417. package/es/version.mjs.map +1 -1
  418. package/lib/components/affix/src/affix2.js +2 -1
  419. package/lib/components/affix/src/affix2.js.map +1 -1
  420. package/lib/components/autocomplete/src/index.js +2 -1
  421. package/lib/components/autocomplete/src/index.js.map +1 -1
  422. package/lib/components/backtop/src/backtop2.js +2 -1
  423. package/lib/components/backtop/src/backtop2.js.map +1 -1
  424. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  425. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  426. package/lib/components/button/src/button2.js +11 -7
  427. package/lib/components/button/src/button2.js.map +1 -1
  428. package/lib/components/carousel/src/item.js +4 -2
  429. package/lib/components/carousel/src/item.js.map +1 -1
  430. package/lib/components/cascader/src/index.js +38 -21
  431. package/lib/components/cascader/src/index.js.map +1 -1
  432. package/lib/components/cascader-panel/src/index.js +16 -13
  433. package/lib/components/cascader-panel/src/index.js.map +1 -1
  434. package/lib/components/cascader-panel/src/menu.js +25 -22
  435. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  436. package/lib/components/cascader-panel/src/node2.js +6 -2
  437. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  438. package/lib/components/checkbox/index.d.ts +33 -0
  439. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  440. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  441. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  442. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  443. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  444. package/lib/components/checkbox/src/checkbox.js +35 -27
  445. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  446. package/lib/components/checkbox/src/checkbox.vue.d.ts +11 -0
  447. package/lib/components/collapse/src/collapse-item.js +3 -3
  448. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  449. package/lib/components/color-picker/src/index.js +8 -5
  450. package/lib/components/color-picker/src/index.js.map +1 -1
  451. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  452. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  453. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  454. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  455. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  456. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  457. package/lib/components/descriptions/src/index.js +7 -2
  458. package/lib/components/descriptions/src/index.js.map +1 -1
  459. package/lib/components/dialog/src/dialog.js +1 -3
  460. package/lib/components/dialog/src/dialog.js.map +1 -1
  461. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  462. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  463. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  464. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  465. package/lib/components/dropdown/src/dropdown2.js +9 -5
  466. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  467. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  468. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  469. package/lib/components/form/src/form-item.js +6 -4
  470. package/lib/components/form/src/form-item.js.map +1 -1
  471. package/lib/components/image/src/image2.js +3 -2
  472. package/lib/components/image/src/image2.js.map +1 -1
  473. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  474. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  475. package/lib/components/index.js +1 -1
  476. package/lib/components/input/src/input2.js +17 -8
  477. package/lib/components/input/src/input2.js.map +1 -1
  478. package/lib/components/input-number/src/input-number2.js +12 -6
  479. package/lib/components/input-number/src/input-number2.js.map +1 -1
  480. package/lib/components/message/src/message2.js +1 -1
  481. package/lib/components/message-box/src/index.js +4 -2
  482. package/lib/components/message-box/src/index.js.map +1 -1
  483. package/lib/components/notification/src/notification2.js +1 -1
  484. package/lib/components/pagination/src/components/jumper.js +5 -2
  485. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  486. package/lib/components/pagination/src/components/sizes.js +2 -1
  487. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  488. package/lib/components/popconfirm/index.js +2 -2
  489. package/lib/components/popconfirm/src/popconfirm.js +45 -104
  490. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  491. package/lib/components/popconfirm/src/popconfirm2.js +107 -45
  492. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  493. package/lib/components/popover/src/index.js +4 -2
  494. package/lib/components/popover/src/index.js.map +1 -1
  495. package/lib/components/popper/src/content.js +5 -3
  496. package/lib/components/popper/src/content.js.map +1 -1
  497. package/lib/components/popper/src/trigger.js +1 -1
  498. package/lib/components/popper/src/trigger.js.map +1 -1
  499. package/lib/components/progress/src/progress2.js +2 -1
  500. package/lib/components/progress/src/progress2.js.map +1 -1
  501. package/lib/components/radio/src/radio-button2.js +4 -4
  502. package/lib/components/radio/src/radio-button2.js.map +1 -1
  503. package/lib/components/radio/src/radio-group2.js +1 -1
  504. package/lib/components/radio/src/radio-group2.js.map +1 -1
  505. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  506. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  507. package/lib/components/scrollbar/src/bar2.js +2 -1
  508. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  509. package/lib/components/scrollbar/src/scrollbar2.js +2 -2
  510. package/lib/components/select/src/option-group.js +2 -1
  511. package/lib/components/select/src/option-group.js.map +1 -1
  512. package/lib/components/select/src/select-dropdown.js +2 -1
  513. package/lib/components/select/src/select-dropdown.js.map +1 -1
  514. package/lib/components/select/src/select.js +2 -1
  515. package/lib/components/select/src/select.js.map +1 -1
  516. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  517. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  518. package/lib/components/select-v2/src/select.js +192 -186
  519. package/lib/components/select-v2/src/select.js.map +1 -1
  520. package/lib/components/slider/src/index.js +3 -2
  521. package/lib/components/slider/src/index.js.map +1 -1
  522. package/lib/components/slider/src/marker.js +2 -1
  523. package/lib/components/slider/src/marker.js.map +1 -1
  524. package/lib/components/steps/src/item.js +2 -1
  525. package/lib/components/steps/src/item.js.map +1 -1
  526. package/lib/components/switch/src/switch2.js +4 -2
  527. package/lib/components/switch/src/switch2.js.map +1 -1
  528. package/lib/components/table/src/filter-panel.js +7 -3
  529. package/lib/components/table/src/filter-panel.js.map +1 -1
  530. package/lib/components/tabs/src/tab-bar2.js +3 -2
  531. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  532. package/lib/components/time-picker/src/common/picker.js +16 -8
  533. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  534. package/lib/components/time-select/src/time-select.js +4 -2
  535. package/lib/components/time-select/src/time-select.js.map +1 -1
  536. package/lib/components/tooltip/src/content.js +9 -4
  537. package/lib/components/tooltip/src/content.js.map +1 -1
  538. package/lib/components/tooltip/src/tooltip2.js +2 -1
  539. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  540. package/lib/components/transfer/src/index.js +2 -1
  541. package/lib/components/transfer/src/index.js.map +1 -1
  542. package/lib/components/tree/src/tree.js +2 -1
  543. package/lib/components/tree/src/tree.js.map +1 -1
  544. package/lib/components/tree-v2/src/tree-node.js +11 -7
  545. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  546. package/lib/components/tree-v2/src/tree.js +2 -1
  547. package/lib/components/tree-v2/src/tree.js.map +1 -1
  548. package/lib/components/upload/src/index.js +3 -2
  549. package/lib/components/upload/src/index.js.map +1 -1
  550. package/lib/components/upload/src/upload-dragger.js +2 -1
  551. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  552. package/lib/index.js +1 -1
  553. package/lib/utils/validators.d.ts +0 -1
  554. package/lib/utils/validators.js +0 -9
  555. package/lib/utils/validators.js.map +1 -1
  556. package/lib/version.d.ts +1 -1
  557. package/lib/version.js +1 -1
  558. package/lib/version.js.map +1 -1
  559. package/package.json +2 -2
  560. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option', 'panel-change'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n arrowControl,\n } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n handlePanelChange('month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n handlePanelChange('month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n handlePanelChange('month')\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n handlePanelChange('year')\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n const handlePanelChange = (mode: 'month' | 'year') => {\n ctx.emit(\n 'panel-change',\n innerDate.value.toDate(),\n mode,\n currentView.value\n )\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option', 'panel-change'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n arrowControl,\n } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n handlePanelChange('month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n handlePanelChange('month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n handlePanelChange('month')\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n handlePanelChange('year')\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n const handlePanelChange = (mode: 'month' | 'year') => {\n ctx.emit(\n 'panel-change',\n innerDate.value.toDate(),\n mode,\n currentView.value\n )\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":"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"}
@@ -71,13 +71,18 @@ const _sfc_main = defineComponent({
71
71
  return node;
72
72
  };
73
73
  const getRows = () => {
74
- const children = flattedChildren(slots.default?.()).filter((node) => node?.type?.name === "ElDescriptionsItem");
74
+ var _a;
75
+ const children = flattedChildren((_a = slots.default) == null ? void 0 : _a.call(slots)).filter((node) => {
76
+ var _a2;
77
+ return ((_a2 = node == null ? void 0 : node.type) == null ? void 0 : _a2.name) === "ElDescriptionsItem";
78
+ });
75
79
  const rows = [];
76
80
  let temp = [];
77
81
  let count = props.column;
78
82
  let totalSpan = 0;
79
83
  children.forEach((node, index) => {
80
- const span = node.props?.span || 1;
84
+ var _a2;
85
+ const span = ((_a2 = node.props) == null ? void 0 : _a2.span) || 1;
81
86
  if (index < children.length - 1) {
82
87
  totalSpan += span > count ? count : span;
83
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createCommentVNode","_Fragment","_createBlock"],"mappings":";;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,gBAAgB,OAAO;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,YAAQ,mBAAmB;AAE3B,UAAM,mBAAmB;AACzB,UAAM,KAAK,aAAa;AAExB,UAAM,iBAAiB,SAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM,WAAW,gBAAgB,MAAM,aAAa,OAClD,CAAC,SAAS,MAAM,MAAM,SAAS;AAEjC,YAAM,OAAO;AACb,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM;AAClB,UAAI,YAAY;AAEhB,eAAS,QAAQ,CAAC,MAAM,UAAU;AAChC,cAAM,OAAO,KAAK,OAAO,QAAQ;AAEjC,YAAI,QAAQ,SAAS,SAAS,GAAG;AAC/B,uBAAa,OAAO,QAAQ,QAAQ;AAAA;AAGtC,YAAI,UAAU,SAAS,SAAS,GAAG;AAEjC,gBAAM,WAAW,MAAM,SAAU,YAAY,MAAM;AACnD,eAAK,KAAK,WAAW,MAAM,UAAU,OAAO;AAC5C,eAAK,KAAK;AACV;AAAA;AAGF,YAAI,OAAO,OAAO;AAChB,mBAAS;AACT,eAAK,KAAK;AAAA,eACL;AACL,eAAK,KAAK,WAAW,MAAM,MAAM;AACjC,eAAK,KAAK;AACV,kBAAQ,MAAM;AACd,iBAAO;AAAA;AAAA;AAIX,aAAO;AAAA;AAGT,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SAjJOA,gCAAE,OAAc;AAAA;KAEjB;AAAA,uBADR,qBAUM;MARH,KAAK;AAAA;OAEN;AAAA,yBAAW,OAAE;AAAA;SACX;AAAA,6CAAsB;AAAA;;SAExB;AAAA,yBAAW,OAAE;AAAA;SACX;AAAA,6CAAsB;AAAA;;;aAI1BC,mBAQM;AAAA,uBARK,OAAE;AAAA;OACX;AAAA,yBAAa,SAAG;AAAA;SACd;AAAA,oCACE;AAAA,+CACoCC;mBADcF,aAAKG;AAAA,cAC/B,KAAK;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,gBAAgB,OAAO;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,YAAQ,mBAAmB;AAE3B,UAAM,mBAAmB;AACzB,UAAM,KAAK,aAAa;AAExB,UAAM,iBAAiB,SAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM;AAGN,YAAM;AACN;AACA;AACA;AAEA;AACE,cAAM;AAEN;AACE,uBAAa;AAAuB;AAGtC,YAAI;AAEF,iCAAuB,2BAA4B;AACnD,oBAAU;AACV;AACA;AAAA;AAGF;AACE,mBAAS;AACT,eAAK,KAAK;AAAA;AAEV;AACA;AACA,wBAAc;AACd;AAAO;AAAA;AAIX;AAAO;AAGT;AAAO;AACL;AACA,MACA;AAAA;AAAA;AAAA;;;;;AAjJuB;AAEjB;;AACA;;AAEN;AAAa;SACX;AAAA;AAAsB;;;AAExB;AAAa;;AACX;AAAsB;;;;AAYpB,uBARK,OAAE;AAAA;;AACX;AAAgB;;AACd,oCACE;AAAA;gCAAuD;AAAA;AAC1B;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,3 @@
1
- import { isValidWidthUnit } from '../../../utils/validators.mjs';
2
1
  import { buildProps, definePropType } from '../../../utils/props.mjs';
3
2
  import { UPDATE_MODEL_EVENT } from '../../../utils/constants.mjs';
4
3
 
@@ -71,8 +70,7 @@ const dialogProps = buildProps({
71
70
  },
72
71
  modalClass: String,
73
72
  width: {
74
- type: [String, Number],
75
- validator: isValidWidthUnit
73
+ type: [String, Number]
76
74
  },
77
75
  zIndex: {
78
76
  type: Number
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { isValidWidthUnit } from '@element-plus/utils/validators'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\n\nimport type { ExtractPropTypes, Component } from 'vue'\n\nexport const dialogProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n beforeClose: {\n type: definePropType<(...args: any[]) => void>(Function),\n },\n destroyOnClose: {\n type: Boolean,\n default: false,\n },\n center: {\n type: Boolean,\n default: false,\n },\n customClass: {\n type: String,\n default: '',\n },\n closeIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n openDelay: {\n type: Number,\n default: 0,\n },\n closeDelay: {\n type: Number,\n default: 0,\n },\n top: {\n type: String,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n modalClass: String,\n width: {\n type: [String, Number],\n validator: isValidWidthUnit,\n },\n zIndex: {\n type: Number,\n },\n} as const)\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => typeof value === 'boolean',\n}\nexport type DialogEmits = typeof dialogEmits\n"],"names":[],"mappings":";;;;AAGY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,SAAS;AAC7D;;;;"}
1
+ {"version":3,"file":"dialog.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils/props'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\n\nimport type { ExtractPropTypes, Component } from 'vue'\n\nexport const dialogProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n beforeClose: {\n type: definePropType<(...args: any[]) => void>(Function),\n },\n destroyOnClose: {\n type: Boolean,\n default: false,\n },\n center: {\n type: Boolean,\n default: false,\n },\n customClass: {\n type: String,\n default: '',\n },\n closeIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n openDelay: {\n type: Number,\n default: 0,\n },\n closeDelay: {\n type: Number,\n default: 0,\n },\n top: {\n type: String,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n modalClass: String,\n width: {\n type: [String, Number],\n },\n zIndex: {\n type: Number,\n },\n} as const)\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => typeof value === 'boolean',\n}\nexport type DialogEmits = typeof dialogEmits\n"],"names":[],"mappings":";;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,SAAS;AAC7D;;;;"}
@@ -21,19 +21,23 @@ const _sfc_main = defineComponent({
21
21
  const { elDropdown } = useDropdown();
22
22
  const _instance = getCurrentInstance();
23
23
  const itemRef = ref(null);
24
- const textContent = computed(() => unref(itemRef)?.textContent ?? "");
24
+ const textContent = computed(() => {
25
+ var _a, _b;
26
+ return (_b = (_a = unref(itemRef)) == null ? void 0 : _a.textContent) != null ? _b : "";
27
+ });
25
28
  const { onItemEnter, onItemLeave } = inject(DROPDOWN_INJECTION_KEY, void 0);
26
29
  const handlePointerMove = composeEventHandlers((e) => {
27
30
  emit("pointermove", e);
28
31
  return e.defaultPrevented;
29
32
  }, whenMouse((e) => {
33
+ var _a;
30
34
  if (props.disabled) {
31
35
  onItemLeave(e);
32
36
  } else {
33
37
  onItemEnter(e);
34
38
  if (!e.defaultPrevented) {
35
39
  ;
36
- e.currentTarget?.focus();
40
+ (_a = e.currentTarget) == null ? void 0 : _a.focus();
37
41
  }
38
42
  }
39
43
  }));
@@ -47,14 +51,15 @@ const _sfc_main = defineComponent({
47
51
  emit("click", e);
48
52
  return e.defaultPrevented;
49
53
  }, (e) => {
54
+ var _a, _b, _c;
50
55
  if (props.disabled) {
51
56
  e.stopImmediatePropagation();
52
57
  return;
53
58
  }
54
- if (elDropdown?.hideOnClick?.value) {
55
- elDropdown.handleClick?.();
59
+ if ((_a = elDropdown == null ? void 0 : elDropdown.hideOnClick) == null ? void 0 : _a.value) {
60
+ (_b = elDropdown.handleClick) == null ? void 0 : _b.call(elDropdown);
56
61
  }
57
- elDropdown.commandHandler?.(props.command, _instance, e);
62
+ (_c = elDropdown.commandHandler) == null ? void 0 : _c.call(elDropdown, props.command, _instance, e);
58
63
  });
59
64
  return {
60
65
  handleClick,
@@ -65,12 +70,13 @@ const _sfc_main = defineComponent({
65
70
  }
66
71
  });
67
72
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
73
+ var _a;
68
74
  const _component_el_dropdown_item_impl = resolveComponent("el-dropdown-item-impl");
69
75
  const _component_el_roving_focus_item = resolveComponent("el-roving-focus-item");
70
76
  const _component_el_dropdown_collection_item = resolveComponent("el-dropdown-collection-item");
71
77
  return openBlock(), createBlock(_component_el_dropdown_collection_item, {
72
78
  disabled: _ctx.disabled,
73
- "text-value": _ctx.textValue ?? _ctx.textContent
79
+ "text-value": (_a = _ctx.textValue) != null ? _a : _ctx.textContent
74
80
  }, {
75
81
  default: withCtx(() => [
76
82
  createVNode(_component_el_roving_focus_item, {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem","_openBlock","_createBlock","_withCtx","_mergeProps"],"mappings":";;;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,eAAe;AACvB,UAAM,YAAY;AAClB,UAAM,UAAU,IAAwB;AACxC,UAAM,cAAc,SAAS,MAAM,MAAM,UAAU,eAAe;AAClE,UAAM,EAAE,aAAa,gBAAgB,OACnC,wBACA;AAGF,UAAM,oBAAoB,qBACxB,CAAC,MAAoB;AACnB,WAAK,eAAe;AACpB,aAAO,EAAE;AAAA,OAEX,UAAU,CAAC,MAAM;AACf,UAAI,MAAM,UAAU;AAClB,oBAAY;AAAA,aACP;AACL,oBAAY;AACZ,YAAI,CAAC,EAAE,kBAAkB;AACvB;AAAC,UAAC,EAAE,eAA+B;AAAA;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB,CAAC,MAAoB;AACnB,WAAK,gBAAgB;AACrB,aAAO,EAAE;AAAA,OAEX,UAAU,CAAC,MAAM;AACf,kBAAY;AAAA;AAIhB,UAAM,cAAc,qBAClB,CAAC,MAAoB;AACnB,WAAK,SAAS;AACd,aAAO,EAAE;AAAA,OAEX,CAAC,MAAM;AACL,UAAI,MAAM,UAAU;AAClB,UAAE;AACF;AAAA;AAEF,UAAI,YAAY,aAAa,OAAO;AAClC,mBAAW;AAAA;AAEb,iBAAW,iBAAiB,MAAM,SAAS,WAAW;AAAA;AAI1D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;SArGDC,aAAUC,YAAQ;AAAA,IAClB,eAAY;AAAA;;aAEbC,QASuB;AAAA,kBATS,iCAAW;AAAA;;iBACzCA,QAOwB;AAAA,sBALrB,kCAAgCC;AAAA,YAChC,gBAAa;AAAA,YACb,eAAO;AAAA;;qBAERD,QAAQ;AAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown-item.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem"],"mappings":";;;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,eAAe;AACvB,UAAM,YAAY;AAClB,UAAM,UAAU,IAAwB;AACxC,UAAM,cAAc,SAAS,MAAM;AACnC,UAAM,EAAE;AAKR,8BAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAI1D,WAAO;AAAA;AACL;AACA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AArGiB;AACN;;;AAWU;AAToB;;;AAQjB;AALW,2BACnB;AAAA;AACN;;;AAEA;;;;;;;;;;;;;;;;;;;;;"}
@@ -38,7 +38,8 @@ const _sfc_main = defineComponent({
38
38
  });
39
39
  const dropdownListWrapperRef = composeRefs(contentRef, dropdownCollectionRef, focusTrapRef, rovingFocusGroupRef, rovingFocusGroupCollectionRef);
40
40
  const composedKeydown = composeEventHandlers((e) => {
41
- props.onKeydown?.(e);
41
+ var _a;
42
+ (_a = props.onKeydown) == null ? void 0 : _a.call(props, e);
42
43
  }, (e) => {
43
44
  const { currentTarget, code, target } = e;
44
45
  const isKeydownContained = currentTarget.contains(target);
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n role=\"menu\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"onMousedown\"\n >\n <slot></slot>\n </ul>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { composeRefs, composeEventHandlers } from '@element-plus/utils/dom'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n dropdownMenuProps,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [\n 'el-dropdown-menu',\n size.value && `el-dropdown-menu--${size.value}`,\n ]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef)) return\n if (!FIRST_LAST_KEYS.includes(code)) return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","_openBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;;AAkCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,EAAE,oBAAoB;AAC5B,UAAM,OAAO,gBAAgB;AAE7B,UAAM,EAAE,cAAc,cAAc,OAClC,0BACA;AAGF,UAAM,EAAE,eAAe,OAAO,wBAAwB;AAEtD,UAAM,EAAE,eAAe,uBAAuB,aAAa,OACzDA,0BACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,kCAAkC;AAE7C,UAAM,EAAE,eAAe,kCAAkC,OACvDC,4BACA;AAGF,UAAM,cAAc,SAAS,MAAM;AACjC,aAAO;AAAA,QACL;AAAA,QACA,KAAK,SAAS,qBAAqB,KAAK;AAAA;AAAA;AAI5C,UAAM,yBAAyB,YAC7B,YACA,uBACA,cACA,qBACA;AAGF,UAAM,kBAAkB,qBACtB,CAAC,MAAqB;AACpB,YAAM,YAAY;AAAA,OAEpB,CAAC,MAAM;AACL,YAAM,EAAE,eAAe,MAAM,WAAW;AACxC,YAAM,qBAAsB,cAAuB,SACjD;AAGF,UAAI,oBAAoB;AAAA;AAIxB,UAAI,WAAW,QAAQ,MAAM;AAC3B,UAAE;AAAA;AAGJ,QAAE;AAEF,UAAI,WAAW,MAAM;AAAa;AAClC,UAAI,CAAC,gBAAgB,SAAS;AAAO;AACrC,YAAM,QAAQ,WAAkC,OAC9C,CAAC,SAAS,CAAC,KAAK;AAElB,YAAM,UAAU,MAAM,IAAI,CAAC,SAAS,KAAK;AACzC,UAAI,UAAU,SAAS,OAAO;AAC5B,gBAAQ;AAAA;AAEV,iBAAW;AAAA;AAIf,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,sBAAgB;AAChB,gBAAU;AAAA;AAGZ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;2BAhIJ,wBAYK;SAXGC,gCAAsB;AAAA,IAC3B,KAAK;AAAA,IACL,OAAKC,eAAE;AAAA,IACP,sBAAY;AAAA,IACb,UAAK;AAAA,IACJ,MAAI;AAAA,IACJ,QAAK,4CAAE;AAAA,IACP,SAAO,4CAAE;AAAA,IACT,WAAS,4CAAE;AAAA;KAEZ;AAAA;;;;;;;"}
1
+ {"version":3,"file":"dropdown-menu.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n role=\"menu\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"onMousedown\"\n >\n <slot></slot>\n </ul>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { composeRefs, composeEventHandlers } from '@element-plus/utils/dom'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n dropdownMenuProps,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [\n 'el-dropdown-menu',\n size.value && `el-dropdown-menu--${size.value}`,\n ]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef)) return\n if (!FIRST_LAST_KEYS.includes(code)) return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","_openBlock"],"mappings":";;;;;;;;;;;;;;AAkCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,EAAE,oBAAoB;AAC5B,UAAM,OAAO,gBAAgB;AAE7B,UAAM,EAAE,cAAc,cAAc,OAClC,0BACA;AAGF,UAAM,EAAE,eAAe,OAAO,wBAAwB;AAEtD,UAAM,EAAE,eAAe,uBAAuB,aAAa,OACzDA,0BACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,kCAAkC;AAE7C,UAAM,EAAE,eAAe,kCAAkC,OACvDC,4BACA;AAGF,UAAM,cAAc,SAAS,MAAM;AACjC,aAAO;AAAA,QACL;AAAA,QACA,KAAK,SAAS,qBAAqB,KAAK;AAAA;AAAA;AAI5C,UAAM,yBAAyB,YAC7B,YACA,uBACA,cACA,qBACA;AAGF,UAAM,kBAAkB,qBACtB,CAAC,MAAqB;AACpB,YAAM;AAAY,OAEpB;AACE,cAAQ;AACR,YAAM,qBAAsB,cAAuB;AAInD,8BAAwB;AAAA;AAIxB;AACE,UAAE;AAAA;AAGJ;AAEA;AAAkC;AAClC;AAAqC;AACrC;AAGA,YAAM,gBAAgB;AACtB;AACE;AAAQ;AAEV;AAAW;AAIf;AACE;AACA;AAAU;AAGZ;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;SA/HI,kCAAsB;AAAA,SACtBC;AAAA,IACL;AAAO,IACP,sBAAY;AAAA,IACb;AAAK,IACJ;AAAI,IACJ;AAAO,IACP;AAAS,IACT;AAAW;;AAEZ;;;;;;;;"}
@@ -50,10 +50,12 @@ const _sfc_main = defineComponent({
50
50
  handleClose();
51
51
  }
52
52
  function handleClose() {
53
- popperRef.value?.onClose();
53
+ var _a;
54
+ (_a = popperRef.value) == null ? void 0 : _a.onClose();
54
55
  }
55
56
  function handleOpen() {
56
- popperRef.value?.onOpen();
57
+ var _a;
58
+ (_a = popperRef.value) == null ? void 0 : _a.onOpen();
57
59
  }
58
60
  const dropdownSize = useSize();
59
61
  function commandHandler(...args) {
@@ -63,7 +65,7 @@ const _sfc_main = defineComponent({
63
65
  }
64
66
  function onItemLeave() {
65
67
  const contentEl = unref(contentRef);
66
- contentEl?.focus();
68
+ contentEl == null ? void 0 : contentEl.focus();
67
69
  currentTabId.value = null;
68
70
  }
69
71
  function handleCurrentTabIdChange(id) {
@@ -90,8 +92,9 @@ const _sfc_main = defineComponent({
90
92
  hideOnClick: toRef(props, "hideOnClick")
91
93
  });
92
94
  const onMountOnFocus = (e) => {
95
+ var _a, _b;
93
96
  e.preventDefault();
94
- contentRef.value?.focus?.({
97
+ (_b = (_a = contentRef.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a, {
95
98
  preventScroll: true
96
99
  });
97
100
  };
@@ -118,6 +121,7 @@ const _sfc_main = defineComponent({
118
121
  });
119
122
  const _hoisted_1 = { class: "el-dropdown" };
120
123
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
124
+ var _a;
121
125
  const _component_el_dropdown_collection = resolveComponent("el-dropdown-collection");
122
126
  const _component_el_roving_focus_group = resolveComponent("el-roving-focus-group");
123
127
  const _component_el_focus_trap = resolveComponent("el-focus-trap");
@@ -138,7 +142,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
138
142
  "manual-mode": true,
139
143
  placement: _ctx.placement,
140
144
  "popper-class": `el-dropdown__popper ${_ctx.popperClass}`,
141
- "reference-element": _ctx.referenceElementRef?.$el,
145
+ "reference-element": (_a = _ctx.referenceElementRef) == null ? void 0 : _a.$el,
142
146
  trigger: _ctx.trigger,
143
147
  "show-after": _ctx.showTimeout,
144
148
  "stop-popper-mouse-event": false,
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown2.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"`el-dropdown__popper ${popperClass}`\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n view-class=\"el-dropdown__list\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [\n [dropdownSize.value ? `el-dropdown--${dropdownSize.value}` : ''],\n ])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollection","_openBlock","_createElementBlock","_createSlots","_withCtx"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown2.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"`el-dropdown__popper ${popperClass}`\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n view-class=\"el-dropdown__list\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [\n [dropdownSize.value ? `el-dropdown--${dropdownSize.value}` : ''],\n ])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollection"],"mappings":";;;;;;;;;;;;;;;;;AAmGA,MAAM,EAAE,aAAa,kBAAkB;AAEvC,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,0BACAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAY;AAElB,UAAM,uBAAuB;AAC7B,UAAM,sBAAsB;AAC5B,UAAM,YAAY,IAA2C;AAC7D,UAAM,aAAa,IAAwB;AAC3C,UAAM,YAAY,IAAI;AACtB,UAAM,eAAe,IAAmB;AACxC,UAAM,kBAAkB,IAAI;AAE5B,UAAM,YAAY,SAAwB;AAAO,MAC/C,WAAW,QAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqB,SAAS,MAAM;AAAA,MACxC,CAAC,aAAa,QAAQ,gBAAgB,aAAa,UAAU;AAAA;AAG/D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAG;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,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;;;;;;;;;;;;;AAnKW;AAjDI;AACd;AACA;AACgB;AACE,MAClB;AAAY,MACZ,mBAAiB;AAAA,MACjB;AAAW,MACX,gBAAY;AAAA,MACZ;AAAmB,MACnB;AAAgB,MAChB;AAAY,MACZ;AAAA,MACA;AAAa,MACb;AAAkB,MACnB;AAAc,MACd,kBAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACC;AAAI,MACJ;AAAW;;AAEM;AAoBD,qBAlBT;AAAW;AACd;AACO;AACR;;4BAcgB;AAAA;AAZM;AAAE;;;AAWE;AATX;AACV;AACW;AACX;AACa;;;AAIW;AADM;AAAA;;;;;;;;;;;;;;;;;;;AAOrC;AAAa;;AACX;;;;;AAIqB;AASX;AAAA;AANe,eACpB;AAAA;AACE;AACC;;;AAEe;;;;AASb;AANgB;AACrB,UACJ;AAAM,qBACD;AAAA;;;AAEqD;AAAV;AAAA;;;;;;;;;;;;;;;;;;;;"}
@@ -120,7 +120,7 @@ const _sfc_main = defineComponent({
120
120
  on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount);
121
121
  trapContainer.dispatchEvent(unmountEvent);
122
122
  if (!unmountEvent.defaultPrevented) {
123
- tryFocus(lastFocusBeforeMounted ?? document.body, true);
123
+ tryFocus(lastFocusBeforeMounted != null ? lastFocusBeforeMounted : document.body, true);
124
124
  }
125
125
  off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount);
126
126
  focusableStack.remove(focusLayer);
@@ -1 +1 @@
1
- {"version":3,"file":"focus-trap.mjs","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n} from 'vue'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { on, off } from '@element-plus/utils/dom'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n on(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n on(document, 'focusin', onFocusIn)\n on(document, 'focusout', onFocusOut)\n } else {\n off(document, 'focusin', onFocusIn)\n off(document, 'focusout', onFocusOut)\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n off(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-trap.mjs","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n} from 'vue'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { on, off } from '@element-plus/utils/dom'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n on(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n on(document, 'focusin', onFocusIn)\n on(document, 'focusout', onFocusOut)\n } else {\n off(document, 'focusin', onFocusIn)\n off(document, 'focusout', onFocusOut)\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n off(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -145,10 +145,11 @@ const _sfc_main = defineComponent({
145
145
  const model = {};
146
146
  model[props.prop] = fieldValue.value;
147
147
  validator.validate(model, { firstFields: true }, (errors, fields) => {
148
+ var _a;
148
149
  validateState.value = !errors ? "success" : "error";
149
150
  validateMessage.value = errors ? errors[0].message || `${props.prop} is required` : "";
150
151
  callback(validateMessage.value, errors ? fields : {});
151
- elForm.emit?.("validate", props.prop, !errors, validateMessage.value || null);
152
+ (_a = elForm.emit) == null ? void 0 : _a.call(elForm, "validate", props.prop, !errors, validateMessage.value || null);
152
153
  });
153
154
  };
154
155
  const clearValidate = () => {
@@ -193,7 +194,8 @@ const _sfc_main = defineComponent({
193
194
  }).map((rule) => ({ ...rule }));
194
195
  };
195
196
  const evaluateValidationEnabled = () => {
196
- isValidationEnabled.value = !!getRules()?.length;
197
+ var _a;
198
+ isValidationEnabled.value = !!((_a = getRules()) == null ? void 0 : _a.length);
197
199
  };
198
200
  const updateComputedLabelWidth = (width) => {
199
201
  computedLabelWidth.value = width ? `${width}px` : "";
@@ -211,14 +213,14 @@ const _sfc_main = defineComponent({
211
213
  });
212
214
  onMounted(() => {
213
215
  if (props.prop) {
214
- elForm?.addField(elFormItem);
216
+ elForm == null ? void 0 : elForm.addField(elFormItem);
215
217
  const value = fieldValue.value;
216
218
  initialValue = Array.isArray(value) ? [...value] : value;
217
219
  evaluateValidationEnabled();
218
220
  }
219
221
  });
220
222
  onBeforeUnmount(() => {
221
- elForm?.removeField(elFormItem);
223
+ elForm == null ? void 0 : elForm.removeField(elFormItem);
222
224
  });
223
225
  provide(elFormItemKey, elFormItem);
224
226
  const formItemClass = computed(() => [