@element-plus/nightly 0.0.20220219 → 0.0.20220223

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 (793) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +955 -846
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +956 -847
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/affix/index.d.ts +6 -8
  230. package/es/components/affix/src/affix.vue.d.ts +6 -8
  231. package/es/components/affix/src/affix2.mjs +35 -34
  232. package/es/components/affix/src/affix2.mjs.map +1 -1
  233. package/es/components/autocomplete/src/index.mjs.map +1 -1
  234. package/es/components/avatar/index.d.ts +58 -0
  235. package/es/components/avatar/index.mjs +2 -2
  236. package/es/components/avatar/index.mjs.map +1 -1
  237. package/es/components/avatar/src/avatar.vue.d.ts +58 -0
  238. package/es/components/avatar/src/avatar2.mjs +29 -38
  239. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  240. package/es/components/badge/src/badge2.mjs +4 -1
  241. package/es/components/badge/src/badge2.mjs.map +1 -1
  242. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  243. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  244. package/es/components/button/index.d.ts +0 -1
  245. package/es/components/button/src/button-group2.mjs.map +1 -1
  246. package/es/components/button/src/button.vue.d.ts +0 -1
  247. package/es/components/button/src/button2.mjs +3 -5
  248. package/es/components/button/src/button2.mjs.map +1 -1
  249. package/es/components/calendar/index.d.ts +1 -1
  250. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  251. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  252. package/es/components/card/index.mjs +2 -2
  253. package/es/components/card/index.mjs.map +1 -1
  254. package/es/components/card/src/card2.mjs +27 -29
  255. package/es/components/card/src/card2.mjs.map +1 -1
  256. package/es/components/carousel/src/item.mjs.map +1 -1
  257. package/es/components/carousel/src/main.mjs.map +1 -1
  258. package/es/components/cascader/index.d.ts +22 -12
  259. package/es/components/cascader/src/index.mjs.map +1 -1
  260. package/es/components/cascader/src/index.vue.d.ts +11 -6
  261. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  262. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  263. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  264. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  265. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  266. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  267. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  268. package/es/components/collapse/src/collapse.mjs.map +1 -1
  269. package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
  270. package/es/components/collection/src/collection-item.mjs.map +1 -1
  271. package/es/components/collection/src/collection2.mjs.map +1 -1
  272. package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
  273. package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
  274. package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
  275. package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
  276. package/es/components/color-picker/src/index.mjs.map +1 -1
  277. package/es/components/config-provider/index.d.ts +3 -3
  278. package/es/components/config-provider/src/config-provider.d.ts +2 -1
  279. package/es/components/container/src/aside.mjs.map +1 -1
  280. package/es/components/container/src/container.mjs.map +1 -1
  281. package/es/components/container/src/footer.mjs.map +1 -1
  282. package/es/components/container/src/header.mjs.map +1 -1
  283. package/es/components/container/src/main.mjs.map +1 -1
  284. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  285. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  286. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  287. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  288. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  289. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  290. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  291. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  292. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  293. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  294. package/es/components/descriptions/index.d.ts +2 -2
  295. package/es/components/descriptions/src/description-item.d.ts +1 -1
  296. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  297. package/es/components/descriptions/src/index.mjs.map +1 -1
  298. package/es/components/dialog/index.d.ts +200 -32
  299. package/es/components/dialog/index.mjs +2 -2
  300. package/es/components/dialog/index.mjs.map +1 -1
  301. package/es/components/dialog/src/dialog-content.d.ts +12 -0
  302. package/es/components/dialog/src/dialog-content.mjs +40 -0
  303. package/es/components/dialog/src/dialog-content.mjs.map +1 -0
  304. package/es/components/dialog/src/dialog-content.vue.d.ts +84 -0
  305. package/es/components/dialog/src/dialog-content2.mjs +84 -0
  306. package/es/components/dialog/src/dialog-content2.mjs.map +1 -0
  307. package/es/components/dialog/src/dialog.d.ts +9 -7
  308. package/es/components/dialog/src/dialog.mjs +5 -30
  309. package/es/components/dialog/src/dialog.mjs.map +1 -1
  310. package/es/components/dialog/src/dialog.vue.d.ts +236 -67
  311. package/es/components/dialog/src/dialog2.mjs +96 -122
  312. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  313. package/es/components/dialog/src/token.d.ts +10 -0
  314. package/es/components/dialog/src/token.mjs +4 -0
  315. package/es/components/dialog/src/token.mjs.map +1 -0
  316. package/es/components/divider/src/divider2.mjs.map +1 -1
  317. package/es/components/drawer/index.d.ts +22 -18
  318. package/es/components/drawer/src/drawer.d.ts +9 -7
  319. package/es/components/drawer/src/drawer.vue.d.ts +22 -18
  320. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  321. package/es/components/dropdown/index.d.ts +8 -3
  322. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -3
  323. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  324. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  325. package/es/components/dropdown/src/dropdown-item.mjs +2 -2
  326. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  327. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  328. package/es/components/dropdown/src/dropdown.vue.d.ts +8 -3
  329. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  330. package/es/components/empty/src/empty2.mjs.map +1 -1
  331. package/es/components/empty/src/img-empty.mjs.map +1 -1
  332. package/es/components/focus-trap/src/focus-trap.mjs +19 -15
  333. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  334. package/es/components/form/src/form-item.mjs.map +1 -1
  335. package/es/components/form/src/form.mjs.map +1 -1
  336. package/es/components/image/src/image2.mjs.map +1 -1
  337. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  338. package/es/components/input/src/input2.mjs.map +1 -1
  339. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  340. package/es/components/link/src/link2.mjs.map +1 -1
  341. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  342. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  343. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  344. package/es/components/message/src/message2.mjs.map +1 -1
  345. package/es/components/message-box/src/index.mjs.map +1 -1
  346. package/es/components/notification/src/notification2.mjs.map +1 -1
  347. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  348. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  349. package/es/components/pagination/src/components/next.mjs.map +1 -1
  350. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  351. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  352. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  353. package/es/components/pagination/src/components/total.mjs.map +1 -1
  354. package/es/components/popconfirm/index.d.ts +3 -0
  355. package/es/components/popconfirm/src/popconfirm.d.ts +1 -0
  356. package/es/components/popconfirm/src/popconfirm.mjs +2 -1
  357. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  358. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  359. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  360. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  361. package/es/components/popover/index.d.ts +30 -10
  362. package/es/components/popover/src/index.mjs +19 -3
  363. package/es/components/popover/src/index.mjs.map +1 -1
  364. package/es/components/popover/src/index.vue.d.ts +15 -5
  365. package/es/components/popover/src/popover.d.ts +1 -0
  366. package/es/components/popover/src/popover.mjs +4 -0
  367. package/es/components/popover/src/popover.mjs.map +1 -1
  368. package/es/components/popper/src/arrow.mjs.map +1 -1
  369. package/es/components/popper/src/content.mjs +9 -0
  370. package/es/components/popper/src/content.mjs.map +1 -1
  371. package/es/components/popper/src/content.vue.d.ts +3 -0
  372. package/es/components/popper/src/popper.d.ts +1 -0
  373. package/es/components/popper/src/popper.mjs +3 -0
  374. package/es/components/popper/src/popper.mjs.map +1 -1
  375. package/es/components/popper/src/popper2.mjs.map +1 -1
  376. package/es/components/popper/src/trigger.mjs.map +1 -1
  377. package/es/components/progress/src/progress2.mjs.map +1 -1
  378. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  379. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  380. package/es/components/radio/src/radio2.mjs.map +1 -1
  381. package/es/components/rate/src/rate2.mjs.map +1 -1
  382. package/es/components/result/src/result2.mjs.map +1 -1
  383. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  384. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  385. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  386. package/es/components/row/index.d.ts +3 -3
  387. package/es/components/row/src/row.d.ts +4 -4
  388. package/es/components/row/src/row.mjs +8 -1
  389. package/es/components/row/src/row.mjs.map +1 -1
  390. package/es/components/scrollbar/index.d.ts +1 -1
  391. package/es/components/scrollbar/src/bar.vue.d.ts +2 -2
  392. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  393. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  394. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  395. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  396. package/es/components/select/index.d.ts +8 -3
  397. package/es/components/select/src/option-group.mjs.map +1 -1
  398. package/es/components/select/src/option.mjs.map +1 -1
  399. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  400. package/es/components/select/src/select.mjs.map +1 -1
  401. package/es/components/select/src/select.vue.d.ts +8 -3
  402. package/es/components/select/src/useSelect.d.ts +8 -3
  403. package/es/components/select-v2/index.d.ts +18 -8
  404. package/es/components/select-v2/src/group-item.mjs.map +1 -1
  405. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  406. package/es/components/select-v2/src/select.mjs.map +1 -1
  407. package/es/components/select-v2/src/select.vue.d.ts +9 -4
  408. package/es/components/select-v2/src/useSelect.d.ts +8 -3
  409. package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
  410. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  411. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  412. package/es/components/slider/index.d.ts +2 -2
  413. package/es/components/slider/src/button.mjs.map +1 -1
  414. package/es/components/slider/src/index.mjs.map +1 -1
  415. package/es/components/slider/src/index.vue.d.ts +1 -1
  416. package/es/components/slot/src/only-child.mjs +3 -1
  417. package/es/components/slot/src/only-child.mjs.map +1 -1
  418. package/es/components/space/src/item.mjs.map +1 -1
  419. package/es/components/steps/src/index.mjs.map +1 -1
  420. package/es/components/steps/src/item.mjs.map +1 -1
  421. package/es/components/switch/src/switch2.mjs +2 -2
  422. package/es/components/switch/src/switch2.mjs.map +1 -1
  423. package/es/components/table/src/filter-panel.mjs.map +1 -1
  424. package/es/components/table/src/filter-panel.vue.d.ts +8 -3
  425. package/es/components/table/src/store/watcher.mjs +4 -8
  426. package/es/components/table/src/store/watcher.mjs.map +1 -1
  427. package/es/components/table/src/table/style-helper.mjs +2 -2
  428. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  429. package/es/components/table/src/table-footer/index.mjs +3 -1
  430. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  431. package/es/components/table/src/table-layout.mjs +2 -5
  432. package/es/components/table/src/table-layout.mjs.map +1 -1
  433. package/es/components/table/src/table.mjs +1 -0
  434. package/es/components/table/src/table.mjs.map +1 -1
  435. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  436. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  437. package/es/components/tag/src/tag2.mjs.map +1 -1
  438. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  439. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  440. package/es/components/time-picker/src/common/picker.vue.d.ts +8 -3
  441. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  442. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  443. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  444. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  445. package/es/components/time-select/src/time-select.mjs.map +1 -1
  446. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  447. package/es/components/tooltip/index.d.ts +4 -1
  448. package/es/components/tooltip/src/content.mjs +22 -4
  449. package/es/components/tooltip/src/content.mjs.map +1 -1
  450. package/es/components/tooltip/src/content.vue.d.ts +8 -2
  451. package/es/components/tooltip/src/tokens.d.ts +2 -0
  452. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  453. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -1
  454. package/es/components/tooltip/src/tooltip2.mjs +7 -1
  455. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  456. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  457. package/es/components/transfer/index.d.ts +4 -4
  458. package/es/components/transfer/src/index.mjs.map +1 -1
  459. package/es/components/transfer/src/index.vue.d.ts +2 -2
  460. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  461. package/es/components/tree/src/tree-node.mjs.map +1 -1
  462. package/es/components/tree/src/tree.mjs.map +1 -1
  463. package/es/components/tree-v2/index.d.ts +1 -1
  464. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  465. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  466. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  467. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  468. package/es/components/upload/src/upload-list.mjs.map +1 -1
  469. package/es/components/upload/src/upload.mjs.map +1 -1
  470. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  471. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  472. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  473. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  474. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  475. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  476. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  477. package/es/defaults.d.ts +1 -1
  478. package/es/hooks/use-global-config/index.d.ts +1 -1
  479. package/es/hooks/use-model-toggle/index.d.ts +10 -7
  480. package/es/hooks/use-model-toggle/index.mjs +9 -7
  481. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  482. package/es/index.d.ts +1 -1
  483. package/es/{locale.d.ts → locales.d.ts} +0 -0
  484. package/es/{locale.mjs → locales.mjs} +1 -1
  485. package/es/locales.mjs.map +1 -0
  486. package/es/version.d.ts +1 -1
  487. package/es/version.mjs +1 -1
  488. package/es/version.mjs.map +1 -1
  489. package/lib/components/affix/index.d.ts +6 -8
  490. package/lib/components/affix/src/affix.vue.d.ts +6 -8
  491. package/lib/components/affix/src/affix2.js +34 -33
  492. package/lib/components/affix/src/affix2.js.map +1 -1
  493. package/lib/components/autocomplete/src/index.js.map +1 -1
  494. package/lib/components/avatar/index.d.ts +58 -0
  495. package/lib/components/avatar/src/avatar.vue.d.ts +58 -0
  496. package/lib/components/avatar/src/avatar2.js +31 -40
  497. package/lib/components/avatar/src/avatar2.js.map +1 -1
  498. package/lib/components/badge/src/badge2.js +4 -1
  499. package/lib/components/badge/src/badge2.js.map +1 -1
  500. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  501. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  502. package/lib/components/button/index.d.ts +0 -1
  503. package/lib/components/button/src/button-group2.js.map +1 -1
  504. package/lib/components/button/src/button.vue.d.ts +0 -1
  505. package/lib/components/button/src/button2.js +3 -5
  506. package/lib/components/button/src/button2.js.map +1 -1
  507. package/lib/components/calendar/index.d.ts +1 -1
  508. package/lib/components/calendar/src/calendar2.js.map +1 -1
  509. package/lib/components/calendar/src/date-table2.js.map +1 -1
  510. package/lib/components/card/src/card2.js +26 -28
  511. package/lib/components/card/src/card2.js.map +1 -1
  512. package/lib/components/carousel/src/item.js.map +1 -1
  513. package/lib/components/carousel/src/main.js.map +1 -1
  514. package/lib/components/cascader/index.d.ts +22 -12
  515. package/lib/components/cascader/src/index.js.map +1 -1
  516. package/lib/components/cascader/src/index.vue.d.ts +11 -6
  517. package/lib/components/cascader-panel/src/index.js.map +1 -1
  518. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  519. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  520. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  521. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  522. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  523. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  524. package/lib/components/collapse/src/collapse.js.map +1 -1
  525. package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
  526. package/lib/components/collection/src/collection-item.js.map +1 -1
  527. package/lib/components/collection/src/collection2.js.map +1 -1
  528. package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
  529. package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
  530. package/lib/components/color-picker/src/components/predefine.js.map +1 -1
  531. package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
  532. package/lib/components/color-picker/src/index.js.map +1 -1
  533. package/lib/components/config-provider/index.d.ts +3 -3
  534. package/lib/components/config-provider/src/config-provider.d.ts +2 -1
  535. package/lib/components/container/src/aside.js.map +1 -1
  536. package/lib/components/container/src/container.js.map +1 -1
  537. package/lib/components/container/src/footer.js.map +1 -1
  538. package/lib/components/container/src/header.js.map +1 -1
  539. package/lib/components/container/src/main.js.map +1 -1
  540. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  541. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  542. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  543. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  544. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  545. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  546. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  547. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  548. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  549. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  550. package/lib/components/descriptions/index.d.ts +2 -2
  551. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  552. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  553. package/lib/components/descriptions/src/index.js.map +1 -1
  554. package/lib/components/dialog/index.d.ts +200 -32
  555. package/lib/components/dialog/src/dialog-content.d.ts +12 -0
  556. package/lib/components/dialog/src/dialog-content.js +45 -0
  557. package/lib/components/dialog/src/dialog-content.js.map +1 -0
  558. package/lib/components/dialog/src/dialog-content.vue.d.ts +84 -0
  559. package/lib/components/dialog/src/dialog-content2.js +88 -0
  560. package/lib/components/dialog/src/dialog-content2.js.map +1 -0
  561. package/lib/components/dialog/src/dialog.d.ts +9 -7
  562. package/lib/components/dialog/src/dialog.js +5 -30
  563. package/lib/components/dialog/src/dialog.js.map +1 -1
  564. package/lib/components/dialog/src/dialog.vue.d.ts +236 -67
  565. package/lib/components/dialog/src/dialog2.js +101 -127
  566. package/lib/components/dialog/src/dialog2.js.map +1 -1
  567. package/lib/components/dialog/src/token.d.ts +10 -0
  568. package/lib/components/dialog/src/token.js +8 -0
  569. package/lib/components/dialog/src/token.js.map +1 -0
  570. package/lib/components/divider/src/divider2.js.map +1 -1
  571. package/lib/components/drawer/index.d.ts +22 -18
  572. package/lib/components/drawer/src/drawer.d.ts +9 -7
  573. package/lib/components/drawer/src/drawer.vue.d.ts +22 -18
  574. package/lib/components/drawer/src/drawer2.js.map +1 -1
  575. package/lib/components/dropdown/index.d.ts +8 -3
  576. package/lib/components/dropdown/src/dropdown-item-impl.js +3 -3
  577. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  578. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  579. package/lib/components/dropdown/src/dropdown-item.js +2 -2
  580. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  581. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  582. package/lib/components/dropdown/src/dropdown.vue.d.ts +8 -3
  583. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  584. package/lib/components/empty/src/empty2.js.map +1 -1
  585. package/lib/components/empty/src/img-empty.js.map +1 -1
  586. package/lib/components/focus-trap/src/focus-trap.js +18 -14
  587. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  588. package/lib/components/form/src/form-item.js.map +1 -1
  589. package/lib/components/form/src/form.js.map +1 -1
  590. package/lib/components/image/src/image2.js.map +1 -1
  591. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  592. package/lib/components/input/src/input2.js.map +1 -1
  593. package/lib/components/input-number/src/input-number2.js.map +1 -1
  594. package/lib/components/link/src/link2.js.map +1 -1
  595. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  596. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  597. package/lib/components/menu/src/menu-item2.js.map +1 -1
  598. package/lib/components/message/src/message2.js.map +1 -1
  599. package/lib/components/message-box/src/index.js.map +1 -1
  600. package/lib/components/notification/src/notification2.js.map +1 -1
  601. package/lib/components/page-header/src/page-header2.js.map +1 -1
  602. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  603. package/lib/components/pagination/src/components/next.js.map +1 -1
  604. package/lib/components/pagination/src/components/pager.js.map +1 -1
  605. package/lib/components/pagination/src/components/prev.js.map +1 -1
  606. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  607. package/lib/components/pagination/src/components/total.js.map +1 -1
  608. package/lib/components/popconfirm/index.d.ts +3 -0
  609. package/lib/components/popconfirm/src/popconfirm.d.ts +1 -0
  610. package/lib/components/popconfirm/src/popconfirm.js +2 -1
  611. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  612. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  613. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  614. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  615. package/lib/components/popover/index.d.ts +30 -10
  616. package/lib/components/popover/src/index.js +19 -3
  617. package/lib/components/popover/src/index.js.map +1 -1
  618. package/lib/components/popover/src/index.vue.d.ts +15 -5
  619. package/lib/components/popover/src/popover.d.ts +1 -0
  620. package/lib/components/popover/src/popover.js +4 -0
  621. package/lib/components/popover/src/popover.js.map +1 -1
  622. package/lib/components/popper/src/arrow.js.map +1 -1
  623. package/lib/components/popper/src/content.js +9 -0
  624. package/lib/components/popper/src/content.js.map +1 -1
  625. package/lib/components/popper/src/content.vue.d.ts +3 -0
  626. package/lib/components/popper/src/popper.d.ts +1 -0
  627. package/lib/components/popper/src/popper.js +3 -0
  628. package/lib/components/popper/src/popper.js.map +1 -1
  629. package/lib/components/popper/src/popper2.js.map +1 -1
  630. package/lib/components/popper/src/trigger.js.map +1 -1
  631. package/lib/components/progress/src/progress2.js.map +1 -1
  632. package/lib/components/radio/src/radio-button2.js.map +1 -1
  633. package/lib/components/radio/src/radio-group2.js.map +1 -1
  634. package/lib/components/radio/src/radio2.js.map +1 -1
  635. package/lib/components/rate/src/rate2.js.map +1 -1
  636. package/lib/components/result/src/result2.js.map +1 -1
  637. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  638. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  639. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  640. package/lib/components/row/index.d.ts +3 -3
  641. package/lib/components/row/src/row.d.ts +4 -4
  642. package/lib/components/row/src/row.js +8 -1
  643. package/lib/components/row/src/row.js.map +1 -1
  644. package/lib/components/scrollbar/index.d.ts +1 -1
  645. package/lib/components/scrollbar/src/bar.vue.d.ts +2 -2
  646. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  647. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  648. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  649. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  650. package/lib/components/select/index.d.ts +8 -3
  651. package/lib/components/select/src/option-group.js.map +1 -1
  652. package/lib/components/select/src/option.js.map +1 -1
  653. package/lib/components/select/src/select-dropdown.js.map +1 -1
  654. package/lib/components/select/src/select.js.map +1 -1
  655. package/lib/components/select/src/select.vue.d.ts +8 -3
  656. package/lib/components/select/src/useSelect.d.ts +8 -3
  657. package/lib/components/select-v2/index.d.ts +18 -8
  658. package/lib/components/select-v2/src/group-item.js.map +1 -1
  659. package/lib/components/select-v2/src/option-item.js.map +1 -1
  660. package/lib/components/select-v2/src/select.js.map +1 -1
  661. package/lib/components/select-v2/src/select.vue.d.ts +9 -4
  662. package/lib/components/select-v2/src/useSelect.d.ts +8 -3
  663. package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
  664. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  665. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  666. package/lib/components/slider/index.d.ts +2 -2
  667. package/lib/components/slider/src/button.js.map +1 -1
  668. package/lib/components/slider/src/index.js.map +1 -1
  669. package/lib/components/slider/src/index.vue.d.ts +1 -1
  670. package/lib/components/slot/src/only-child.js +2 -0
  671. package/lib/components/slot/src/only-child.js.map +1 -1
  672. package/lib/components/space/src/item.js.map +1 -1
  673. package/lib/components/steps/src/index.js.map +1 -1
  674. package/lib/components/steps/src/item.js.map +1 -1
  675. package/lib/components/switch/src/switch2.js +2 -2
  676. package/lib/components/switch/src/switch2.js.map +1 -1
  677. package/lib/components/table/src/filter-panel.js.map +1 -1
  678. package/lib/components/table/src/filter-panel.vue.d.ts +8 -3
  679. package/lib/components/table/src/store/watcher.js +4 -8
  680. package/lib/components/table/src/store/watcher.js.map +1 -1
  681. package/lib/components/table/src/table/style-helper.js +2 -2
  682. package/lib/components/table/src/table/style-helper.js.map +1 -1
  683. package/lib/components/table/src/table-footer/index.js +3 -1
  684. package/lib/components/table/src/table-footer/index.js.map +1 -1
  685. package/lib/components/table/src/table-layout.js +2 -5
  686. package/lib/components/table/src/table-layout.js.map +1 -1
  687. package/lib/components/table/src/table.js +1 -0
  688. package/lib/components/table/src/table.js.map +1 -1
  689. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  690. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  691. package/lib/components/tag/src/tag2.js.map +1 -1
  692. package/lib/components/teleport/src/teleport2.js.map +1 -1
  693. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  694. package/lib/components/time-picker/src/common/picker.vue.d.ts +8 -3
  695. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  696. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  697. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  698. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  699. package/lib/components/time-select/src/time-select.js.map +1 -1
  700. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  701. package/lib/components/tooltip/index.d.ts +4 -1
  702. package/lib/components/tooltip/src/content.js +22 -4
  703. package/lib/components/tooltip/src/content.js.map +1 -1
  704. package/lib/components/tooltip/src/content.vue.d.ts +8 -2
  705. package/lib/components/tooltip/src/tokens.d.ts +2 -0
  706. package/lib/components/tooltip/src/tokens.js.map +1 -1
  707. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -1
  708. package/lib/components/tooltip/src/tooltip2.js +7 -1
  709. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  710. package/lib/components/tooltip/src/trigger.js.map +1 -1
  711. package/lib/components/transfer/index.d.ts +4 -4
  712. package/lib/components/transfer/src/index.js.map +1 -1
  713. package/lib/components/transfer/src/index.vue.d.ts +2 -2
  714. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  715. package/lib/components/tree/src/tree-node.js.map +1 -1
  716. package/lib/components/tree/src/tree.js.map +1 -1
  717. package/lib/components/tree-v2/index.d.ts +1 -1
  718. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  719. package/lib/components/tree-v2/src/tree.js.map +1 -1
  720. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  721. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  722. package/lib/components/upload/src/upload-list.js.map +1 -1
  723. package/lib/components/upload/src/upload.js.map +1 -1
  724. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  725. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  726. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  727. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  728. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  729. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  730. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  731. package/lib/defaults.d.ts +1 -1
  732. package/lib/hooks/use-global-config/index.d.ts +1 -1
  733. package/lib/hooks/use-model-toggle/index.d.ts +10 -7
  734. package/lib/hooks/use-model-toggle/index.js +9 -7
  735. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  736. package/lib/index.d.ts +1 -1
  737. package/lib/{locale.d.ts → locales.d.ts} +0 -0
  738. package/lib/{locale.js → locales.js} +1 -1
  739. package/lib/locales.js.map +1 -0
  740. package/lib/version.d.ts +1 -1
  741. package/lib/version.js +1 -1
  742. package/lib/version.js.map +1 -1
  743. package/package.json +6 -6
  744. package/tags.json +1 -1
  745. package/theme-chalk/base.css +1 -1
  746. package/theme-chalk/display.css +1 -1
  747. package/theme-chalk/el-button.css +1 -1
  748. package/theme-chalk/el-cascader.css +1 -1
  749. package/theme-chalk/el-check-tag.css +1 -1
  750. package/theme-chalk/el-checkbox-button.css +1 -1
  751. package/theme-chalk/el-date-picker.css +1 -1
  752. package/theme-chalk/el-dialog.css +1 -1
  753. package/theme-chalk/el-dropdown.css +1 -1
  754. package/theme-chalk/el-form.css +1 -1
  755. package/theme-chalk/el-input-number.css +1 -1
  756. package/theme-chalk/el-input.css +1 -1
  757. package/theme-chalk/el-reset.css +1 -1
  758. package/theme-chalk/el-row.css +1 -1
  759. package/theme-chalk/el-select-v2.css +1 -1
  760. package/theme-chalk/el-select.css +1 -1
  761. package/theme-chalk/el-switch.css +1 -1
  762. package/theme-chalk/el-table-column.css +1 -1
  763. package/theme-chalk/el-tag.css +1 -1
  764. package/theme-chalk/el-time-picker.css +1 -1
  765. package/theme-chalk/el-time-select.css +1 -1
  766. package/theme-chalk/el-var.css +1 -1
  767. package/theme-chalk/index.css +1 -1
  768. package/theme-chalk/src/button.scss +1 -1
  769. package/theme-chalk/src/cascader.scss +13 -12
  770. package/theme-chalk/src/check-tag.scss +7 -5
  771. package/theme-chalk/src/checkbox-button.scss +1 -1
  772. package/theme-chalk/src/common/var.scss +37 -21
  773. package/theme-chalk/src/dark/vars.scss +6 -0
  774. package/theme-chalk/src/date-picker/date-table.scss +14 -14
  775. package/theme-chalk/src/date-picker/picker.scss +3 -4
  776. package/theme-chalk/src/dialog.scss +6 -2
  777. package/theme-chalk/src/form.scss +2 -2
  778. package/theme-chalk/src/input-number.scss +6 -4
  779. package/theme-chalk/src/input.scss +144 -39
  780. package/theme-chalk/src/mixins/_button.scss +119 -15
  781. package/theme-chalk/src/mixins/_var.scss +21 -8
  782. package/theme-chalk/src/mixins/function.scss +17 -0
  783. package/theme-chalk/src/mixins/mixins.scss +8 -0
  784. package/theme-chalk/src/reset.scss +1 -1
  785. package/theme-chalk/src/row.scss +3 -1
  786. package/theme-chalk/src/select-v2.scss +2 -1
  787. package/theme-chalk/src/select.scss +12 -4
  788. package/theme-chalk/src/switch.scss +2 -0
  789. package/theme-chalk/src/tag.scss +64 -66
  790. package/theme-chalk/src/var.scss +6 -0
  791. package/web-types.json +1 -1
  792. package/es/locale.mjs.map +0 -1
  793. package/lib/locale.js.map +0 -1
@@ -187,6 +187,7 @@ declare const _default: import("vue").DefineComponent<{
187
187
  } | (string | {
188
188
  [x: string]: any;
189
189
  } | any)[])[])[])[])[])[])[])[])[])[])[];
190
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
190
191
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
191
192
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
192
193
  popperClass: string | {
@@ -217,7 +218,6 @@ declare const _default: import("vue").DefineComponent<{
217
218
  popperStyle: import("vue").StyleValue;
218
219
  referenceEl: HTMLElement;
219
220
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
220
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
221
221
  content: string;
222
222
  showAfter: number;
223
223
  hideAfter: number;
@@ -229,6 +229,7 @@ declare const _default: import("vue").DefineComponent<{
229
229
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
230
230
  virtualRef: import("../../..").Measurable;
231
231
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
232
+ "onUpdate:visible": (val: boolean) => void;
232
233
  openDelay: number;
233
234
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
234
235
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -316,9 +317,10 @@ declare const _default: import("vue").DefineComponent<{
316
317
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
317
318
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
318
319
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
320
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
319
321
  }>> & {
320
322
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
321
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
323
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "visible" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
322
324
  $attrs: {
323
325
  [x: string]: unknown;
324
326
  };
@@ -416,6 +418,7 @@ declare const _default: import("vue").DefineComponent<{
416
418
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
417
419
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
418
420
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
421
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
419
422
  }>> & {
420
423
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
421
424
  }, {
@@ -501,6 +504,7 @@ declare const _default: import("vue").DefineComponent<{
501
504
  } | (string | {
502
505
  [x: string]: any;
503
506
  } | any)[])[])[])[])[])[])[])[])[])[])[];
507
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
504
508
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
505
509
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
506
510
  popperClass: string | {
@@ -531,7 +535,6 @@ declare const _default: import("vue").DefineComponent<{
531
535
  popperStyle: import("vue").StyleValue;
532
536
  referenceEl: HTMLElement;
533
537
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
534
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
535
538
  content: string;
536
539
  showAfter: number;
537
540
  hideAfter: number;
@@ -543,6 +546,7 @@ declare const _default: import("vue").DefineComponent<{
543
546
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
544
547
  virtualRef: import("../../..").Measurable;
545
548
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
549
+ "onUpdate:visible": (val: boolean) => void;
546
550
  openDelay: number;
547
551
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
548
552
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -650,6 +654,7 @@ declare const _default: import("vue").DefineComponent<{
650
654
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
651
655
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
652
656
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
657
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
653
658
  }>> & {
654
659
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
655
660
  } & import("vue").ShallowUnwrapRef<{
@@ -1 +1 @@
1
- {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div class=\"el-time-spinner\" :class=\"{ 'has-seconds': showSeconds }\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scollbar) => setRef(scollbar, item)\"\n class=\"el-time-spinner__wrapper\"\n wrap-style=\"max-height: inherit;\"\n view-class=\"el-time-spinner__list\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{ active: key === timePartsMap[item].value, disabled }\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n class=\"el-time-spinner__wrapper is-arrow\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n class=\"el-time-spinner__arrow arrow-up\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n class=\"el-time-spinner__arrow arrow-down\"\n >\n <arrow-down />\n </el-icon>\n <ul class=\"el-time-spinner__list\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{\n active: time === timePartsMap[item].value,\n disabled: listMap[item].value[time],\n }\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n el.$el.querySelector('.el-scrollbar__wrap').scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (listRefsMap[type].$el.querySelector('.el-scrollbar__wrap')\n .scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFuntion = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n listRefsMap[type].$el.querySelector('.el-scrollbar__wrap').onscroll =\n () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFuntion('hours')\n bindFuntion('minutes')\n bindFuntion('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_Fragment","_createBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_withCtx"],"mappings":"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"}
1
+ {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div class=\"el-time-spinner\" :class=\"{ 'has-seconds': showSeconds }\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scollbar) => setRef(scollbar, item)\"\n class=\"el-time-spinner__wrapper\"\n wrap-style=\"max-height: inherit;\"\n view-class=\"el-time-spinner__list\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{ active: key === timePartsMap[item].value, disabled }\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n class=\"el-time-spinner__wrapper is-arrow\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n class=\"el-time-spinner__arrow arrow-up\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n class=\"el-time-spinner__arrow arrow-down\"\n >\n <arrow-down />\n </el-icon>\n <ul class=\"el-time-spinner__list\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{\n active: time === timePartsMap[item].value,\n disabled: listMap[item].value[time],\n }\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n el.$el.querySelector('.el-scrollbar__wrap').scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (listRefsMap[type].$el.querySelector('.el-scrollbar__wrap')\n .scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFuntion = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n listRefsMap[type].$el.querySelector('.el-scrollbar__wrap').onscroll =\n () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFuntion('hours')\n bindFuntion('minutes')\n bindFuntion('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_createBlock","_createVNode","_createElementVNode"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-time-pick.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-pick.vue"],"sourcesContent":["<template>\n <transition :name=\"transitionName\">\n <div v-if=\"actualVisible || visible\" class=\"el-time-panel\">\n <div\n class=\"el-time-panel__content\"\n :class=\"{ 'has-seconds': showSeconds }\"\n >\n <time-spinner\n ref=\"spinner\"\n :role=\"datetimeRole || 'start'\"\n :arrow-control=\"arrowControl\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :spinner-date=\"parsedValue\"\n :disabled-hours=\"disabledHours\"\n :disabled-minutes=\"disabledMinutes\"\n :disabled-seconds=\"disabledSeconds\"\n @change=\"handleChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setSelectionRange\"\n />\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useLocale } from '@element-plus/hooks'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: {\n TimeSpinner,\n },\n\n props: {\n visible: Boolean,\n actualVisible: {\n type: Boolean,\n default: undefined,\n },\n datetimeRole: {\n type: String,\n },\n parsedValue: {\n type: [Object, String] as PropType<string | Dayjs>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n // data\n const selectionRange = ref([0, 2])\n const oldValue = useOldValue(props)\n // computed\n const transitionName = computed(() => {\n return props.actualVisible === undefined ? 'el-zoom-in-top' : ''\n })\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n // method\n const isValidValue = (_date: Dayjs) => {\n const parsedDate = dayjs(_date).locale(lang.value)\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate.isSame(result)\n }\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, false)\n }\n const handleConfirm = (visible = false, first = false) => {\n if (first) return\n ctx.emit('pick', props.parsedValue, visible)\n }\n const handleChange = (_date: Dayjs) => {\n // visible avoids edge cases, when use scrolls during panel closing animation\n if (!props.visible) {\n return\n }\n const result = getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', result, true)\n }\n\n const setSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end)\n selectionRange.value = [start, end]\n }\n\n const changeSelectionRange = (step: number) => {\n const list = [0, 3].concat(showSeconds.value ? [6] : [])\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n timePickerOptions['start_emitSelectRange'](mapping[next])\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n timePickerOptions['start_scrollDown'](step)\n event.preventDefault()\n return\n }\n }\n\n const getRangeAvailableTime = (date: Dayjs) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n let result = date\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), props.datetimeRole)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n props.datetimeRole\n )\n } else {\n availableArr = method(props.datetimeRole)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n result = result[_](availableArr[0])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs) => {\n if (!value) return null\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs) => {\n if (!value) return null\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n return dayjs(defaultValue).locale(lang.value)\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 ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours, disabledMinutes, disabledSeconds)\n\n return {\n transitionName,\n arrowControl,\n onSetOption,\n t,\n handleConfirm,\n handleChange,\n setSelectionRange,\n amPmMode,\n showSeconds,\n handleCancel,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_withCtx","_createElementBlock","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"panel-time-pick.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-pick.vue"],"sourcesContent":["<template>\n <transition :name=\"transitionName\">\n <div v-if=\"actualVisible || visible\" class=\"el-time-panel\">\n <div\n class=\"el-time-panel__content\"\n :class=\"{ 'has-seconds': showSeconds }\"\n >\n <time-spinner\n ref=\"spinner\"\n :role=\"datetimeRole || 'start'\"\n :arrow-control=\"arrowControl\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :spinner-date=\"parsedValue\"\n :disabled-hours=\"disabledHours\"\n :disabled-minutes=\"disabledMinutes\"\n :disabled-seconds=\"disabledSeconds\"\n @change=\"handleChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setSelectionRange\"\n />\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useLocale } from '@element-plus/hooks'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: {\n TimeSpinner,\n },\n\n props: {\n visible: Boolean,\n actualVisible: {\n type: Boolean,\n default: undefined,\n },\n datetimeRole: {\n type: String,\n },\n parsedValue: {\n type: [Object, String] as PropType<string | Dayjs>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n // data\n const selectionRange = ref([0, 2])\n const oldValue = useOldValue(props)\n // computed\n const transitionName = computed(() => {\n return props.actualVisible === undefined ? 'el-zoom-in-top' : ''\n })\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n // method\n const isValidValue = (_date: Dayjs) => {\n const parsedDate = dayjs(_date).locale(lang.value)\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate.isSame(result)\n }\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, false)\n }\n const handleConfirm = (visible = false, first = false) => {\n if (first) return\n ctx.emit('pick', props.parsedValue, visible)\n }\n const handleChange = (_date: Dayjs) => {\n // visible avoids edge cases, when use scrolls during panel closing animation\n if (!props.visible) {\n return\n }\n const result = getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', result, true)\n }\n\n const setSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end)\n selectionRange.value = [start, end]\n }\n\n const changeSelectionRange = (step: number) => {\n const list = [0, 3].concat(showSeconds.value ? [6] : [])\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n timePickerOptions['start_emitSelectRange'](mapping[next])\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n timePickerOptions['start_scrollDown'](step)\n event.preventDefault()\n return\n }\n }\n\n const getRangeAvailableTime = (date: Dayjs) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n let result = date\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), props.datetimeRole)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n props.datetimeRole\n )\n } else {\n availableArr = method(props.datetimeRole)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n result = result[_](availableArr[0])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs) => {\n if (!value) return null\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs) => {\n if (!value) return null\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n return dayjs(defaultValue).locale(lang.value)\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 ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours, disabledMinutes, disabledSeconds)\n\n return {\n transitionName,\n arrowControl,\n onSetOption,\n t,\n handleConfirm,\n handleChange,\n setSelectionRange,\n amPmMode,\n showSeconds,\n handleCancel,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_Transition","_createElementBlock","_createElementVNode","_normalizeClass","_createVNode"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, null)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, null)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass","_createVNode"],"mappings":"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"}
@@ -54,7 +54,7 @@ export declare const useOldValue: (props: {
54
54
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
55
55
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
56
56
  format: (template?: string | undefined) => string;
57
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "months" | "years" | "d" | "m" | "ms" | "weeks" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
57
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
58
58
  valueOf: () => number;
59
59
  unix: () => number;
60
60
  daysInMonth: () => number;
@@ -124,7 +124,7 @@ export declare const useOldValue: (props: {
124
124
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
125
125
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
126
126
  format: (template?: string | undefined) => string;
127
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "months" | "years" | "d" | "m" | "ms" | "weeks" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
127
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
128
128
  valueOf: () => number;
129
129
  unix: () => number;
130
130
  daysInMonth: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"time-select.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.vue"],"sourcesContent":["<template>\n <el-select\n ref=\"select\"\n :model-value=\"value\"\n :disabled=\"disabled\"\n :clearable=\"clearable\"\n :clear-icon=\"clearIcon\"\n :size=\"size\"\n :effect=\"effect\"\n :placeholder=\"placeholder\"\n default-first-option\n :filterable=\"editable\"\n @update:model-value=\"(event) => $emit('update:modelValue', event)\"\n @change=\"(event) => $emit('change', event)\"\n @blur=\"(event) => $emit('blur', event)\"\n @focus=\"(event) => $emit('focus', event)\"\n >\n <el-option\n v-for=\"item in items\"\n :key=\"item.value\"\n :label=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n />\n <template #prefix>\n <el-icon v-if=\"prefixIcon\" class=\"el-input__prefix-icon\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </template>\n </el-select>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\nimport ElSelect from '@element-plus/components/select'\nimport ElIcon from '@element-plus/components/icon'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\ndayjs.extend(customParseFormat)\n\nconst { Option: ElOption } = ElSelect\n\ninterface Time {\n hours: number\n minutes: number\n}\n\nconst parseTime = (time: string): null | Time => {\n const values = (time || '').split(':')\n if (values.length >= 2) {\n let hours = parseInt(values[0], 10)\n const minutes = parseInt(values[1], 10)\n const timeUpper = time.toUpperCase()\n if (timeUpper.includes('AM') && hours === 12) {\n hours = 0\n } else if (timeUpper.includes('PM') && hours !== 12) {\n hours += 12\n }\n return {\n hours,\n minutes,\n }\n }\n return null\n}\nconst compareTime = (time1: string, time2: string): number => {\n const value1 = parseTime(time1)\n const value2 = parseTime(time2)\n const minutes1 = value1.minutes + value1.hours * 60\n const minutes2 = value2.minutes + value2.hours * 60\n if (minutes1 === minutes2) {\n return 0\n }\n return minutes1 > minutes2 ? 1 : -1\n}\nconst padTime = (time: number | string) => {\n return `${time}`.padStart(2, '0')\n}\nconst formatTime = (time: Time): string => {\n return `${padTime(time.hours)}:${padTime(time.minutes)}`\n}\nconst nextTime = (time: string, step: string): string => {\n const timeValue = parseTime(time)\n const stepValue = parseTime(step)\n const next = {\n hours: timeValue.hours,\n minutes: timeValue.minutes,\n }\n next.minutes += stepValue.minutes\n next.hours += stepValue.hours\n next.hours += Math.floor(next.minutes / 60)\n next.minutes = next.minutes % 60\n return formatTime(next)\n}\n\nexport default defineComponent({\n name: 'ElTimeSelect',\n components: { ElSelect, ElOption, ElIcon },\n model: {\n prop: 'value',\n event: 'change',\n },\n props: {\n format: {\n type: String,\n default: 'HH:mm',\n },\n modelValue: String,\n disabled: {\n type: Boolean,\n default: false,\n },\n editable: {\n type: Boolean,\n default: true,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n default: 'default',\n validator: (value: string) =>\n !value || ['large', 'default', 'small'].indexOf(value) !== -1,\n },\n placeholder: {\n type: String,\n default: '',\n },\n start: {\n type: String,\n default: '09:00',\n },\n end: {\n type: String,\n default: '18:00',\n },\n step: {\n type: String,\n default: '00:30',\n },\n minTime: {\n type: String,\n default: '',\n },\n maxTime: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n default: '',\n },\n prefixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Clock,\n },\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n },\n emits: ['change', 'blur', 'focus', 'update:modelValue'],\n setup(props) {\n // computed\n const select = ref(null)\n const value = computed(() => props.modelValue)\n const start = computed(() => {\n const time = parseTime(props.start)\n return formatTime(time)\n })\n const end = computed(() => {\n const time = parseTime(props.end)\n return formatTime(time)\n })\n const step = computed(() => {\n const time = parseTime(props.step)\n return formatTime(time)\n })\n const minTime = computed(() => {\n const time = parseTime(props.minTime)\n return time ? formatTime(time) : null\n })\n const maxTime = computed(() => {\n const time = parseTime(props.maxTime)\n return time ? formatTime(time) : null\n })\n const items = computed(() => {\n const result = []\n if (props.start && props.end && props.step) {\n let current = start.value\n let currentTime\n while (compareTime(current, end.value) <= 0) {\n currentTime = dayjs(current, 'HH:mm').format(props.format)\n result.push({\n value: currentTime,\n disabled:\n compareTime(current, minTime.value || '-1:-1') <= 0 ||\n compareTime(current, maxTime.value || '100:100') >= 0,\n })\n current = nextTime(current, step.value)\n }\n }\n return result\n })\n const blur = () => {\n select.value?.blur?.()\n }\n const focus = () => {\n select.value?.focus?.()\n }\n\n return {\n select,\n value,\n items,\n blur,\n focus,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-select.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.vue"],"sourcesContent":["<template>\n <el-select\n ref=\"select\"\n :model-value=\"value\"\n :disabled=\"disabled\"\n :clearable=\"clearable\"\n :clear-icon=\"clearIcon\"\n :size=\"size\"\n :effect=\"effect\"\n :placeholder=\"placeholder\"\n default-first-option\n :filterable=\"editable\"\n @update:model-value=\"(event) => $emit('update:modelValue', event)\"\n @change=\"(event) => $emit('change', event)\"\n @blur=\"(event) => $emit('blur', event)\"\n @focus=\"(event) => $emit('focus', event)\"\n >\n <el-option\n v-for=\"item in items\"\n :key=\"item.value\"\n :label=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n />\n <template #prefix>\n <el-icon v-if=\"prefixIcon\" class=\"el-input__prefix-icon\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </template>\n </el-select>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\nimport ElSelect from '@element-plus/components/select'\nimport ElIcon from '@element-plus/components/icon'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\ndayjs.extend(customParseFormat)\n\nconst { Option: ElOption } = ElSelect\n\ninterface Time {\n hours: number\n minutes: number\n}\n\nconst parseTime = (time: string): null | Time => {\n const values = (time || '').split(':')\n if (values.length >= 2) {\n let hours = parseInt(values[0], 10)\n const minutes = parseInt(values[1], 10)\n const timeUpper = time.toUpperCase()\n if (timeUpper.includes('AM') && hours === 12) {\n hours = 0\n } else if (timeUpper.includes('PM') && hours !== 12) {\n hours += 12\n }\n return {\n hours,\n minutes,\n }\n }\n return null\n}\nconst compareTime = (time1: string, time2: string): number => {\n const value1 = parseTime(time1)\n const value2 = parseTime(time2)\n const minutes1 = value1.minutes + value1.hours * 60\n const minutes2 = value2.minutes + value2.hours * 60\n if (minutes1 === minutes2) {\n return 0\n }\n return minutes1 > minutes2 ? 1 : -1\n}\nconst padTime = (time: number | string) => {\n return `${time}`.padStart(2, '0')\n}\nconst formatTime = (time: Time): string => {\n return `${padTime(time.hours)}:${padTime(time.minutes)}`\n}\nconst nextTime = (time: string, step: string): string => {\n const timeValue = parseTime(time)\n const stepValue = parseTime(step)\n const next = {\n hours: timeValue.hours,\n minutes: timeValue.minutes,\n }\n next.minutes += stepValue.minutes\n next.hours += stepValue.hours\n next.hours += Math.floor(next.minutes / 60)\n next.minutes = next.minutes % 60\n return formatTime(next)\n}\n\nexport default defineComponent({\n name: 'ElTimeSelect',\n components: { ElSelect, ElOption, ElIcon },\n model: {\n prop: 'value',\n event: 'change',\n },\n props: {\n format: {\n type: String,\n default: 'HH:mm',\n },\n modelValue: String,\n disabled: {\n type: Boolean,\n default: false,\n },\n editable: {\n type: Boolean,\n default: true,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n default: 'default',\n validator: (value: string) =>\n !value || ['large', 'default', 'small'].indexOf(value) !== -1,\n },\n placeholder: {\n type: String,\n default: '',\n },\n start: {\n type: String,\n default: '09:00',\n },\n end: {\n type: String,\n default: '18:00',\n },\n step: {\n type: String,\n default: '00:30',\n },\n minTime: {\n type: String,\n default: '',\n },\n maxTime: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n default: '',\n },\n prefixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Clock,\n },\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n },\n emits: ['change', 'blur', 'focus', 'update:modelValue'],\n setup(props) {\n // computed\n const select = ref(null)\n const value = computed(() => props.modelValue)\n const start = computed(() => {\n const time = parseTime(props.start)\n return formatTime(time)\n })\n const end = computed(() => {\n const time = parseTime(props.end)\n return formatTime(time)\n })\n const step = computed(() => {\n const time = parseTime(props.step)\n return formatTime(time)\n })\n const minTime = computed(() => {\n const time = parseTime(props.minTime)\n return time ? formatTime(time) : null\n })\n const maxTime = computed(() => {\n const time = parseTime(props.maxTime)\n return time ? formatTime(time) : null\n })\n const items = computed(() => {\n const result = []\n if (props.start && props.end && props.step) {\n let current = start.value\n let currentTime\n while (compareTime(current, end.value) <= 0) {\n currentTime = dayjs(current, 'HH:mm').format(props.format)\n result.push({\n value: currentTime,\n disabled:\n compareTime(current, minTime.value || '-1:-1') <= 0 ||\n compareTime(current, maxTime.value || '100:100') >= 0,\n })\n current = nextTime(current, step.value)\n }\n }\n return result\n })\n const blur = () => {\n select.value?.blur?.()\n }\n const focus = () => {\n select.value?.focus?.()\n }\n\n return {\n select,\n value,\n items,\n blur,\n focus,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-item2.mjs","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<template>\n <li :class=\"[ns.b(), { [ns.e('center')]: center }]\">\n <div :class=\"ns.e('tail')\"></div>\n <div\n v-if=\"!$slots.dot\"\n :class=\"[\n ns.e('node'),\n ns.em('node', size || ''),\n ns.em('node', type || ''),\n ns.is('hollow', hollow),\n ]\"\n :style=\"{\n backgroundColor: color,\n }\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon')\">\n <component :is=\"icon\" />\n </el-icon>\n </div>\n <div v-if=\"$slots.dot\" :class=\"ns.e('dot')\">\n <slot name=\"dot\"></slot>\n </div>\n\n <div :class=\"ns.e('wrapper')\">\n <div\n v-if=\"!hideTimestamp && placement === 'top'\"\n :class=\"[ns.e('timestamp'), ns.is('top')]\"\n >\n {{ timestamp }}\n </div>\n\n <div :class=\"ns.e('content')\">\n <slot></slot>\n </div>\n\n <div\n v-if=\"!hideTimestamp && placement === 'bottom'\"\n :class=\"[ns.e('timestamp'), ns.is('bottom')]\"\n >\n {{ timestamp }}\n </div>\n </div>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timelineItemProps } from './timeline-item'\n\nexport default defineComponent({\n name: 'ElTimelineItem',\n components: {\n ElIcon,\n },\n props: timelineItemProps,\n setup() {\n const ns = useNamespace('timeline-item')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass","_createCommentVNode"],"mappings":";;;;;;;AAmDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;SA3DMA,gCAAc;AAAA;KACtB;AAAA,uBAAW,OAAE;AAAA;OAEJ;AAAA;MACN,KAAK;AAAA,MAAY,OAAIC;AAAA,QAAkB,QAAG,EAAE;AAAA,QAA8B,QAAG,GAAE,QAAS,aAAI;AAAA,QAAiB,QAAG,GAAE,aAAW,QAAM;AAAA;;4BAMjG;AAAA;;OAIpB;AAAA;QAAO,KAAK;AAAA;;yBACzB;AAAA;;;;aAGOC,mBAAU;AAAA;MAAG,KAAK;AAAA;OAC3B;AAAA;aAGFA,mBAkBM;AAAA,uBAlBK,OAAE;AAAA;;6BACX,mBAKM;QAHH,KAAK;AAAA,8BAEH,SAAS;AAAA,gDAGdA,mBAEM;AAAA,yBAFK,OAAE;AAAA;SACX;AAAA;SAIO;AAAA,6BADT,mBAKM;QAHH,KAAK;AAAA,8BAEH,SAAS;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"timeline-item2.mjs","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<template>\n <li :class=\"[ns.b(), { [ns.e('center')]: center }]\">\n <div :class=\"ns.e('tail')\"></div>\n <div\n v-if=\"!$slots.dot\"\n :class=\"[\n ns.e('node'),\n ns.em('node', size || ''),\n ns.em('node', type || ''),\n ns.is('hollow', hollow),\n ]\"\n :style=\"{\n backgroundColor: color,\n }\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon')\">\n <component :is=\"icon\" />\n </el-icon>\n </div>\n <div v-if=\"$slots.dot\" :class=\"ns.e('dot')\">\n <slot name=\"dot\"></slot>\n </div>\n\n <div :class=\"ns.e('wrapper')\">\n <div\n v-if=\"!hideTimestamp && placement === 'top'\"\n :class=\"[ns.e('timestamp'), ns.is('top')]\"\n >\n {{ timestamp }}\n </div>\n\n <div :class=\"ns.e('content')\">\n <slot></slot>\n </div>\n\n <div\n v-if=\"!hideTimestamp && placement === 'bottom'\"\n :class=\"[ns.e('timestamp'), ns.is('bottom')]\"\n >\n {{ timestamp }}\n </div>\n </div>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timelineItemProps } from './timeline-item'\n\nexport default defineComponent({\n name: 'ElTimelineItem',\n components: {\n ElIcon,\n },\n props: timelineItemProps,\n setup() {\n const ns = useNamespace('timeline-item')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;AAmDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;sBA3DJA,mBAyCK;AAAA,IAzCA,OAAKC,gBAAG,QAAG,KAAC,GAAO,QAAG,EAAC,YAAa;AAAA;IACvCC,mBAAiC;AAAA,MAA3B,OAAKD,eAAE,QAAG,EAAC;AAAA;KAER,YAAO,oBADhBD,mBAeM;AAAA;MAbH,OAAKC;AAAA,QAAY,QAAG,EAAC;AAAA,QAAkB,QAAG,GAAE,QAAS,aAAI;AAAA,QAAiB,QAAG,GAAE,QAAS,aAAI;AAAA,QAAiB,QAAG,GAAE,UAAW;AAAA;AAAA,MAM7H,OAAKE;AAAA,yBAA6B;AAAA;AAAA;MAIpB,0BAAfC,YAEU;AAAA;QAFY,OAAKH,eAAE,QAAG,EAAC;AAAA;yBAC/B,MAAwB;AAAA,wBAAxBG,YAAwBC,wBAAR;AAAA;AAAA;;;IAGT,YAAO,oBAAlBL,mBAEM;AAAA;MAFkB,OAAKC,eAAE,QAAG,EAAC;AAAA;MACjCK,WAAwB;AAAA;IAG1BJ,mBAkBM;AAAA,MAlBA,OAAKD,eAAE,QAAG,EAAC;AAAA;OAEN,sBAAiB,mBAAS,sBADnCD,mBAKM;AAAA;QAHH,OAAKC,gBAAG,QAAG,EAAC,cAAe,QAAG,GAAE;AAAA,yBAE9B,iBAAS;MAGdC,mBAEM;AAAA,QAFA,OAAKD,eAAE,QAAG,EAAC;AAAA;QACfK,WAAa;AAAA;OAIN,sBAAiB,mBAAS,yBADnCN,mBAKM;AAAA;QAHH,OAAKC,gBAAG,QAAG,EAAC,cAAe,QAAG,GAAE;AAAA,yBAE9B,iBAAS;;;;;;;;"}
@@ -82,6 +82,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
82
82
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
83
83
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
84
84
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
85
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
85
86
  }, {
86
87
  compatShowAfter: import("vue").ComputedRef<number>;
87
88
  compatShowArrow: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>>;
@@ -212,6 +213,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
212
213
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
213
214
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
214
215
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
216
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
215
217
  }>> & {
216
218
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
217
219
  }, {
@@ -251,6 +253,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
251
253
  } | (string | {
252
254
  [x: string]: any;
253
255
  } | any)[])[])[])[])[])[])[])[])[])[])[];
256
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
254
257
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
255
258
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
256
259
  popperClass: string | {
@@ -281,7 +284,6 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
281
284
  popperStyle: import("vue").StyleValue;
282
285
  referenceEl: HTMLElement;
283
286
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
284
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
285
287
  content: string;
286
288
  showAfter: number;
287
289
  hideAfter: number;
@@ -293,6 +295,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
293
295
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
294
296
  virtualRef: import("..").Measurable;
295
297
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
298
+ "onUpdate:visible": (val: boolean) => void;
296
299
  openDelay: number;
297
300
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
298
301
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -25,7 +25,18 @@ const _sfc_main = defineComponent({
25
25
  const intermediateOpen = ref(false);
26
26
  const entering = ref(false);
27
27
  const leaving = ref(false);
28
- const { controlled, id, open, trigger, onClose, onOpen, onShow, onHide } = inject(TOOLTIP_INJECTION_KEY, void 0);
28
+ const {
29
+ controlled,
30
+ id,
31
+ open,
32
+ trigger,
33
+ onClose,
34
+ onOpen,
35
+ onShow,
36
+ onHide,
37
+ onBeforeShow,
38
+ onBeforeHide
39
+ } = inject(TOOLTIP_INJECTION_KEY, void 0);
29
40
  const persistentRef = computed(() => {
30
41
  if (process.env.NODE_ENV === "test") {
31
42
  return true;
@@ -64,6 +75,10 @@ const _sfc_main = defineComponent({
64
75
  const onBeforeEnter = () => {
65
76
  var _a, _b;
66
77
  (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
78
+ onBeforeShow();
79
+ };
80
+ const onBeforeLeave = () => {
81
+ onBeforeHide();
67
82
  };
68
83
  const onAfterShow = () => {
69
84
  onShow();
@@ -101,6 +116,7 @@ const _sfc_main = defineComponent({
101
116
  open,
102
117
  onAfterShow,
103
118
  onBeforeEnter,
119
+ onBeforeLeave,
104
120
  onContentEnter,
105
121
  onContentLeave,
106
122
  onTransitionLeave
@@ -118,7 +134,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
118
134
  name: _ctx.transition,
119
135
  onAfterLeave: _ctx.onTransitionLeave,
120
136
  onBeforeEnter: _ctx.onBeforeEnter,
121
- onAfterEnter: _ctx.onAfterShow
137
+ onAfterEnter: _ctx.onAfterShow,
138
+ onBeforeLeave: _ctx.onBeforeLeave
122
139
  }, {
123
140
  default: withCtx(() => [
124
141
  _ctx.shouldRender ? withDirectives((openBlock(), createBlock(_component_el_popper_content, mergeProps({
@@ -139,6 +156,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
139
156
  "popper-class": _ctx.popperClass,
140
157
  "popper-style": [_ctx.popperStyle, _ctx.contentStyle],
141
158
  "reference-el": _ctx.referenceEl,
159
+ visible: _ctx.shouldShow,
142
160
  "z-index": _ctx.zIndex,
143
161
  onMouseenter: _ctx.onContentEnter,
144
162
  onMouseleave: _ctx.onContentLeave
@@ -156,12 +174,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
156
174
  }, 8, ["id"])
157
175
  ]),
158
176
  _: 3
159
- }, 16, ["aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "z-index", "onMouseenter", "onMouseleave"])), [
177
+ }, 16, ["aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "visible", "z-index", "onMouseenter", "onMouseleave"])), [
160
178
  [vShow, _ctx.shouldShow]
161
179
  ]) : createCommentVNode("v-if", true)
162
180
  ]),
163
181
  _: 3
164
- }, 8, ["name", "onAfterLeave", "onBeforeEnter", "onAfterEnter"])
182
+ }, 8, ["name", "onAfterLeave", "onBeforeEnter", "onAfterEnter", "onBeforeLeave"])
165
183
  ], 8, ["disabled", "to"]);
166
184
  }
167
185
  var ElTooltipContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1 +1 @@
1
- {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transition\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n >\n <slot />\n <el-visually-hidden :id=\"id\" role=\"tooltip\">\n {{ ariaLabel }}\n </el-visually-hidden>\n </el-popper-content>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { onClickOutside } from '@vueuse/core'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport { ElVisuallyHidden } from '@element-plus/components/visual-hidden'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { useEscapeKeydown } from '@element-plus/hooks'\n\nimport { useTooltipContentProps } from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElTooltipContent',\n components: {\n ElPopperContent,\n ElVisuallyHidden,\n },\n inheritAttrs: false,\n props: useTooltipContentProps,\n setup(props) {\n const contentRef = ref<InstanceType<typeof ElPopperContent> | null>(null)\n const intermediateOpen = ref(false)\n const entering = ref(false)\n const leaving = ref(false)\n const { controlled, id, open, trigger, onClose, onOpen, onShow, onHide } =\n inject(TOOLTIP_INJECTION_KEY, undefined)!\n const persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n return true\n }\n return props.persistent\n })\n\n const shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n })\n\n const shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n })\n\n const contentStyle = computed(() => (props.style ?? {}) as any)\n\n const ariaHidden = computed(() => !unref(open))\n\n useEscapeKeydown(onClose)\n\n const onTransitionLeave = () => {\n onHide()\n }\n\n const stopWhenControlled = () => {\n if (unref(controlled)) return true\n }\n\n const onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n })\n\n const onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n })\n\n const onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n }\n\n const onAfterShow = () => {\n onShow()\n }\n\n let stopHandle: ReturnType<typeof onClickOutside>\n\n watch(\n () => unref(open),\n (val) => {\n if (val) {\n stopHandle = onClickOutside(\n computed(() => {\n return contentRef.value?.popperContentRef\n }),\n () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n }\n )\n } else {\n stopHandle?.()\n }\n },\n {\n flush: 'post',\n }\n )\n\n return {\n ariaHidden,\n entering,\n leaving,\n id,\n intermediateOpen,\n contentStyle,\n contentRef,\n shouldRender,\n shouldShow,\n open,\n onAfterShow,\n onBeforeEnter,\n onContentEnter,\n onContentLeave,\n onTransitionLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAa,IAAiD;AACpE,UAAM,mBAAmB,IAAI;AAC7B,UAAM,WAAW,IAAI;AACrB,UAAM,UAAU,IAAI;AACpB,UAAM,EAAE,YAAY,IAAI,MAAM,SAAS,SAAS,QAAQ,QAAQ,WAC9D,OAAO,uBAAuB;AAChC,UAAM,gBAAgB,SAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM,iBAAiB,OAAO,MAAM;AAAA;AAG7C,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQ,MAAM;AAAA;AAGxC,UAAM,eAAe,SAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAM,iBAAiB;AACrB;AACE;AAAA;AAAA;AAIJ;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AAAkB;AAGpB,UAAM;AACJ;AAAA;AAGF;AAEA,UACE,oBACC;AACC,eAAS;AACP;AAEI;AAAyB;AAGzB;AAAuB;AACvB,gBAAM;AACN;AACE;AAAA;AAAA;AAAA;AAKN;AAAA;AAAA;AAGJ;AACS;AAIX;AAAO;AACL;AACA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AA9JmC;;AACrC;AACmB;AAChB,oBACY;AAAE,MACd,eAAa;AAAA;;;AAGM;;AAEd;AACI;AACI,6BACO;AAAA;AACG,UACrB;AAAkB,UAClB;AAAc;AACH,UACX;AAAc,UACd;AAAkB,UAClB;AAAQ,UACR;AAAW,UACX;AAAU,UACV;AAAA,UACA,gBAAY;AAAG,UACf;AAAyB,UACzB;AAAS,UACT,gBAAY;AAAA,UACZ;AAAY;;;AAEL;AAGa;AAFM;AAAO;;;;;;;;;eAtB1B;AAAU;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transition\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n >\n <slot />\n <el-visually-hidden :id=\"id\" role=\"tooltip\">\n {{ ariaLabel }}\n </el-visually-hidden>\n </el-popper-content>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { onClickOutside } from '@vueuse/core'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport { ElVisuallyHidden } from '@element-plus/components/visual-hidden'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { useEscapeKeydown } from '@element-plus/hooks'\n\nimport { useTooltipContentProps } from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElTooltipContent',\n components: {\n ElPopperContent,\n ElVisuallyHidden,\n },\n inheritAttrs: false,\n props: useTooltipContentProps,\n setup(props) {\n const contentRef = ref<InstanceType<typeof ElPopperContent> | null>(null)\n const intermediateOpen = ref(false)\n const entering = ref(false)\n const leaving = ref(false)\n const {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n } = inject(TOOLTIP_INJECTION_KEY, undefined)!\n const persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n return true\n }\n return props.persistent\n })\n\n const shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n })\n\n const shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n })\n\n const contentStyle = computed(() => (props.style ?? {}) as any)\n\n const ariaHidden = computed(() => !unref(open))\n\n useEscapeKeydown(onClose)\n\n const onTransitionLeave = () => {\n onHide()\n }\n\n const stopWhenControlled = () => {\n if (unref(controlled)) return true\n }\n\n const onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n })\n\n const onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n })\n\n const onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow()\n }\n\n const onBeforeLeave = () => {\n onBeforeHide()\n }\n\n const onAfterShow = () => {\n onShow()\n }\n\n let stopHandle: ReturnType<typeof onClickOutside>\n\n watch(\n () => unref(open),\n (val) => {\n if (val) {\n stopHandle = onClickOutside(\n computed(() => {\n return contentRef.value?.popperContentRef\n }),\n () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n }\n )\n } else {\n stopHandle?.()\n }\n },\n {\n flush: 'post',\n }\n )\n\n return {\n ariaHidden,\n entering,\n leaving,\n id,\n intermediateOpen,\n contentStyle,\n contentRef,\n shouldRender,\n shouldShow,\n open,\n onAfterShow,\n onBeforeEnter,\n onBeforeLeave,\n onContentEnter,\n onContentLeave,\n onTransitionLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAa,IAAiD;AACpE,UAAM,mBAAmB,IAAI;AAC7B,UAAM,WAAW,IAAI;AACrB,UAAM,UAAU,IAAI;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,uBAAuB;AAClC,UAAM,gBAAgB,SAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM,iBAAiB,OAAO,MAAM;AAAA;AAG7C,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQ,MAAM;AAAA;AAGxC,UAAM,eAAe,SAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAM,iBAAiB;AACrB;AACE;AAAA;AAAA;AAIJ;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AAAA;AAGF,UAAM;AACJ;AAAA;AAGF;AACE;AAAA;AAGF;AAEA,UACE,oBACC;AACC,eAAS;AACP;AAEI;AAAyB;AAGzB;AAAuB;AACvB,gBAAM;AACN;AACE;AAAA;AAAA;AAAA;AAKN;AAAA;AAAA;AAGJ;AACS;AAIX;AAAO;AACL;AACA,MACA;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;;;;;;AAhLkB;AAAiB;;AAqCxB;AAnCJ,oBACO;AAAA,MACb,eAAc;AAAA;AACD;AACC;wBAEf;AA4BoB;AAAA;;AAzBd;AACU;AACA;AACO,UACpB;AAAqB,UACrB;AAAkB;AACV,UACR;AAAW,UACX;AAAgB,UAChB;AAAU,UACV;AAAQ,UACR;AAAW,UACX;AAAM,UACN,gBAAc;AAAA,UACd;AAA4B,UAC5B;AAAc,UACd,SAAS;AAAA,UACT,WAAS;AAAA,UACT,cAAY;AAAA,UACZ,cAAY;AAAA;kCAEL;AAAA;AAAA;AAGa;AAFI;AAAS;;AACjB;AAAH;AAAA;;;;;;AAxBN;;;;;;;;;;;;;;;"}