element-plus 2.3.1 → 2.3.3

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 (362) hide show
  1. package/README.md +1 -1
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +63 -17
  5. package/dist/index.full.min.js +12 -12
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +12 -12
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +63 -17
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +1 -1
  19. package/dist/locale/az.min.js +1 -1
  20. package/dist/locale/az.min.mjs +1 -1
  21. package/dist/locale/az.mjs +1 -1
  22. package/dist/locale/bg.js +1 -1
  23. package/dist/locale/bg.min.js +1 -1
  24. package/dist/locale/bg.min.mjs +1 -1
  25. package/dist/locale/bg.mjs +1 -1
  26. package/dist/locale/bn.js +1 -1
  27. package/dist/locale/bn.min.js +1 -1
  28. package/dist/locale/bn.min.mjs +1 -1
  29. package/dist/locale/bn.mjs +1 -1
  30. package/dist/locale/ca.js +1 -1
  31. package/dist/locale/ca.min.js +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/ckb.js +1 -1
  35. package/dist/locale/ckb.min.js +1 -1
  36. package/dist/locale/ckb.min.mjs +1 -1
  37. package/dist/locale/ckb.mjs +1 -1
  38. package/dist/locale/cs.js +1 -1
  39. package/dist/locale/cs.min.js +1 -1
  40. package/dist/locale/cs.min.mjs +1 -1
  41. package/dist/locale/cs.mjs +1 -1
  42. package/dist/locale/da.js +1 -1
  43. package/dist/locale/da.min.js +1 -1
  44. package/dist/locale/da.min.mjs +1 -1
  45. package/dist/locale/da.mjs +1 -1
  46. package/dist/locale/de.js +1 -1
  47. package/dist/locale/de.min.js +1 -1
  48. package/dist/locale/de.min.mjs +1 -1
  49. package/dist/locale/de.mjs +1 -1
  50. package/dist/locale/el.js +1 -1
  51. package/dist/locale/el.min.js +1 -1
  52. package/dist/locale/el.min.mjs +1 -1
  53. package/dist/locale/el.mjs +1 -1
  54. package/dist/locale/en.js +1 -1
  55. package/dist/locale/en.min.js +1 -1
  56. package/dist/locale/en.min.mjs +1 -1
  57. package/dist/locale/en.mjs +1 -1
  58. package/dist/locale/eo.js +1 -1
  59. package/dist/locale/eo.min.js +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +1 -1
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.mjs +1 -1
  65. package/dist/locale/es.mjs +1 -1
  66. package/dist/locale/et.js +1 -1
  67. package/dist/locale/et.min.js +1 -1
  68. package/dist/locale/et.min.mjs +1 -1
  69. package/dist/locale/et.mjs +1 -1
  70. package/dist/locale/eu.js +1 -1
  71. package/dist/locale/eu.min.js +1 -1
  72. package/dist/locale/eu.min.mjs +1 -1
  73. package/dist/locale/eu.mjs +1 -1
  74. package/dist/locale/fa.js +1 -1
  75. package/dist/locale/fa.min.js +1 -1
  76. package/dist/locale/fa.min.mjs +1 -1
  77. package/dist/locale/fa.mjs +1 -1
  78. package/dist/locale/fi.js +1 -1
  79. package/dist/locale/fi.min.js +1 -1
  80. package/dist/locale/fi.min.mjs +1 -1
  81. package/dist/locale/fi.mjs +1 -1
  82. package/dist/locale/fr.js +1 -1
  83. package/dist/locale/fr.min.js +1 -1
  84. package/dist/locale/fr.min.mjs +1 -1
  85. package/dist/locale/fr.mjs +1 -1
  86. package/dist/locale/he.js +1 -1
  87. package/dist/locale/he.min.js +1 -1
  88. package/dist/locale/he.min.mjs +1 -1
  89. package/dist/locale/he.mjs +1 -1
  90. package/dist/locale/hr.js +1 -1
  91. package/dist/locale/hr.min.js +1 -1
  92. package/dist/locale/hr.min.mjs +1 -1
  93. package/dist/locale/hr.mjs +1 -1
  94. package/dist/locale/hu.js +1 -1
  95. package/dist/locale/hu.min.js +1 -1
  96. package/dist/locale/hu.min.mjs +1 -1
  97. package/dist/locale/hu.mjs +1 -1
  98. package/dist/locale/hy-am.js +1 -1
  99. package/dist/locale/hy-am.min.js +1 -1
  100. package/dist/locale/hy-am.min.mjs +1 -1
  101. package/dist/locale/hy-am.mjs +1 -1
  102. package/dist/locale/id.js +1 -1
  103. package/dist/locale/id.min.js +1 -1
  104. package/dist/locale/id.min.mjs +1 -1
  105. package/dist/locale/id.mjs +1 -1
  106. package/dist/locale/it.js +1 -1
  107. package/dist/locale/it.min.js +1 -1
  108. package/dist/locale/it.min.mjs +1 -1
  109. package/dist/locale/it.mjs +1 -1
  110. package/dist/locale/ja.js +1 -1
  111. package/dist/locale/ja.min.js +1 -1
  112. package/dist/locale/ja.min.mjs +1 -1
  113. package/dist/locale/ja.mjs +1 -1
  114. package/dist/locale/kk.js +1 -1
  115. package/dist/locale/kk.min.js +1 -1
  116. package/dist/locale/kk.min.mjs +1 -1
  117. package/dist/locale/kk.mjs +1 -1
  118. package/dist/locale/km.js +1 -1
  119. package/dist/locale/km.min.js +1 -1
  120. package/dist/locale/km.min.mjs +1 -1
  121. package/dist/locale/km.mjs +1 -1
  122. package/dist/locale/ko.js +1 -1
  123. package/dist/locale/ko.min.js +1 -1
  124. package/dist/locale/ko.min.mjs +1 -1
  125. package/dist/locale/ko.mjs +1 -1
  126. package/dist/locale/ku.js +1 -1
  127. package/dist/locale/ku.min.js +1 -1
  128. package/dist/locale/ku.min.mjs +1 -1
  129. package/dist/locale/ku.mjs +1 -1
  130. package/dist/locale/ky.js +1 -1
  131. package/dist/locale/ky.min.js +1 -1
  132. package/dist/locale/ky.min.mjs +1 -1
  133. package/dist/locale/ky.mjs +1 -1
  134. package/dist/locale/lt.js +1 -1
  135. package/dist/locale/lt.min.js +1 -1
  136. package/dist/locale/lt.min.mjs +1 -1
  137. package/dist/locale/lt.mjs +1 -1
  138. package/dist/locale/lv.js +1 -1
  139. package/dist/locale/lv.min.js +1 -1
  140. package/dist/locale/lv.min.mjs +1 -1
  141. package/dist/locale/lv.mjs +1 -1
  142. package/dist/locale/mg.js +1 -1
  143. package/dist/locale/mg.min.js +1 -1
  144. package/dist/locale/mg.min.mjs +1 -1
  145. package/dist/locale/mg.mjs +1 -1
  146. package/dist/locale/mn.js +1 -1
  147. package/dist/locale/mn.min.js +1 -1
  148. package/dist/locale/mn.min.mjs +1 -1
  149. package/dist/locale/mn.mjs +1 -1
  150. package/dist/locale/nb-no.js +1 -1
  151. package/dist/locale/nb-no.min.js +1 -1
  152. package/dist/locale/nb-no.min.mjs +1 -1
  153. package/dist/locale/nb-no.mjs +1 -1
  154. package/dist/locale/nl.js +1 -1
  155. package/dist/locale/nl.min.js +1 -1
  156. package/dist/locale/nl.min.mjs +1 -1
  157. package/dist/locale/nl.mjs +1 -1
  158. package/dist/locale/pa.js +1 -1
  159. package/dist/locale/pa.min.js +1 -1
  160. package/dist/locale/pa.min.mjs +1 -1
  161. package/dist/locale/pa.mjs +1 -1
  162. package/dist/locale/pl.js +1 -1
  163. package/dist/locale/pl.min.js +1 -1
  164. package/dist/locale/pl.min.mjs +1 -1
  165. package/dist/locale/pl.mjs +1 -1
  166. package/dist/locale/pt-br.js +1 -1
  167. package/dist/locale/pt-br.min.js +1 -1
  168. package/dist/locale/pt-br.min.mjs +1 -1
  169. package/dist/locale/pt-br.mjs +1 -1
  170. package/dist/locale/pt.js +1 -1
  171. package/dist/locale/pt.min.js +1 -1
  172. package/dist/locale/pt.min.mjs +1 -1
  173. package/dist/locale/pt.mjs +1 -1
  174. package/dist/locale/ro.js +1 -1
  175. package/dist/locale/ro.min.js +1 -1
  176. package/dist/locale/ro.min.mjs +1 -1
  177. package/dist/locale/ro.mjs +1 -1
  178. package/dist/locale/ru.js +1 -1
  179. package/dist/locale/ru.min.js +1 -1
  180. package/dist/locale/ru.min.mjs +1 -1
  181. package/dist/locale/ru.mjs +1 -1
  182. package/dist/locale/sk.js +1 -1
  183. package/dist/locale/sk.min.js +1 -1
  184. package/dist/locale/sk.min.mjs +1 -1
  185. package/dist/locale/sk.mjs +1 -1
  186. package/dist/locale/sl.js +1 -1
  187. package/dist/locale/sl.min.js +1 -1
  188. package/dist/locale/sl.min.mjs +1 -1
  189. package/dist/locale/sl.mjs +1 -1
  190. package/dist/locale/sr.js +1 -1
  191. package/dist/locale/sr.min.js +1 -1
  192. package/dist/locale/sr.min.mjs +1 -1
  193. package/dist/locale/sr.mjs +1 -1
  194. package/dist/locale/sv.js +1 -1
  195. package/dist/locale/sv.min.js +1 -1
  196. package/dist/locale/sv.min.mjs +1 -1
  197. package/dist/locale/sv.mjs +1 -1
  198. package/dist/locale/ta.js +1 -1
  199. package/dist/locale/ta.min.js +1 -1
  200. package/dist/locale/ta.min.mjs +1 -1
  201. package/dist/locale/ta.mjs +1 -1
  202. package/dist/locale/th.js +1 -1
  203. package/dist/locale/th.min.js +1 -1
  204. package/dist/locale/th.min.mjs +1 -1
  205. package/dist/locale/th.mjs +1 -1
  206. package/dist/locale/tk.js +1 -1
  207. package/dist/locale/tk.min.js +1 -1
  208. package/dist/locale/tk.min.mjs +1 -1
  209. package/dist/locale/tk.mjs +1 -1
  210. package/dist/locale/tr.js +1 -1
  211. package/dist/locale/tr.min.js +1 -1
  212. package/dist/locale/tr.min.mjs +1 -1
  213. package/dist/locale/tr.mjs +1 -1
  214. package/dist/locale/ug-cn.js +1 -1
  215. package/dist/locale/ug-cn.min.js +1 -1
  216. package/dist/locale/ug-cn.min.mjs +1 -1
  217. package/dist/locale/ug-cn.mjs +1 -1
  218. package/dist/locale/uk.js +1 -1
  219. package/dist/locale/uk.min.js +1 -1
  220. package/dist/locale/uk.min.mjs +1 -1
  221. package/dist/locale/uk.mjs +1 -1
  222. package/dist/locale/uz-uz.js +1 -1
  223. package/dist/locale/uz-uz.min.js +1 -1
  224. package/dist/locale/uz-uz.min.mjs +1 -1
  225. package/dist/locale/uz-uz.mjs +1 -1
  226. package/dist/locale/vi.js +1 -1
  227. package/dist/locale/vi.min.js +1 -1
  228. package/dist/locale/vi.min.mjs +1 -1
  229. package/dist/locale/vi.mjs +1 -1
  230. package/dist/locale/zh-cn.js +1 -1
  231. package/dist/locale/zh-cn.min.js +1 -1
  232. package/dist/locale/zh-cn.min.mjs +1 -1
  233. package/dist/locale/zh-cn.mjs +1 -1
  234. package/dist/locale/zh-tw.js +1 -1
  235. package/dist/locale/zh-tw.min.js +1 -1
  236. package/dist/locale/zh-tw.min.mjs +1 -1
  237. package/dist/locale/zh-tw.mjs +1 -1
  238. package/es/components/autocomplete/index.d.ts +6 -0
  239. package/es/components/autocomplete/src/autocomplete.vue.d.ts +6 -0
  240. package/es/components/cascader/index.d.ts +12 -0
  241. package/es/components/cascader/src/cascader.vue.d.ts +6 -0
  242. package/es/components/color-picker/index.d.ts +3 -0
  243. package/es/components/color-picker/src/color-picker.vue.d.ts +3 -0
  244. package/es/components/color-picker/src/color-picker2.mjs +8 -1
  245. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  246. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  247. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  248. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -0
  249. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -0
  250. package/es/components/date-picker/src/panel-utils.d.ts +4 -0
  251. package/es/components/form/index.d.ts +18 -0
  252. package/es/components/form/src/form.d.ts +6 -0
  253. package/es/components/form/src/form.mjs +4 -1
  254. package/es/components/form/src/form.mjs.map +1 -1
  255. package/es/components/form/src/form.vue.d.ts +18 -0
  256. package/es/components/form/src/form2.mjs +1 -1
  257. package/es/components/form/src/form2.mjs.map +1 -1
  258. package/es/components/input/index.d.ts +2 -0
  259. package/es/components/input/src/input.vue.d.ts +2 -0
  260. package/es/components/input/src/input2.mjs +22 -1
  261. package/es/components/input/src/input2.mjs.map +1 -1
  262. package/es/components/input-number/index.d.ts +6 -0
  263. package/es/components/input-number/src/input-number.vue.d.ts +6 -0
  264. package/es/components/loading/src/types.d.ts +24 -0
  265. package/es/components/menu/src/menu.mjs +2 -1
  266. package/es/components/menu/src/menu.mjs.map +1 -1
  267. package/es/components/message/src/message.d.ts +6 -0
  268. package/es/components/message/src/message.mjs.map +1 -1
  269. package/es/components/notification/src/notification.d.ts +3 -0
  270. package/es/components/notification/src/notification.mjs.map +1 -1
  271. package/es/components/pagination/src/components/jumper.vue.d.ts +4 -2
  272. package/es/components/pagination/src/components/jumper2.mjs +2 -2
  273. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  274. package/es/components/select/src/select.mjs +9 -2
  275. package/es/components/select/src/select.mjs.map +1 -1
  276. package/es/components/select-v2/src/useSelect.mjs +5 -0
  277. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  278. package/es/components/slider/index.d.ts +6 -0
  279. package/es/components/slider/src/slider.vue.d.ts +6 -0
  280. package/es/components/steps/src/item.mjs.map +1 -1
  281. package/es/components/steps/src/steps.mjs.map +1 -1
  282. package/es/components/table/src/table.mjs +1 -1
  283. package/es/components/table/src/table.mjs.map +1 -1
  284. package/es/components/time-picker/src/common/picker.vue.d.ts +2 -0
  285. package/es/components/transfer/index.d.ts +10 -0
  286. package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -0
  287. package/es/components/transfer/src/transfer.vue.d.ts +10 -0
  288. package/es/components/upload/index.d.ts +3 -3
  289. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  290. package/es/components/upload/src/upload-content2.mjs +9 -4
  291. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  292. package/es/components/upload/src/upload.vue.d.ts +3 -3
  293. package/es/version.d.ts +1 -1
  294. package/es/version.mjs +1 -1
  295. package/es/version.mjs.map +1 -1
  296. package/global.d.ts +3 -0
  297. package/lib/components/autocomplete/index.d.ts +6 -0
  298. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -0
  299. package/lib/components/cascader/index.d.ts +12 -0
  300. package/lib/components/cascader/src/cascader.vue.d.ts +6 -0
  301. package/lib/components/color-picker/index.d.ts +3 -0
  302. package/lib/components/color-picker/src/color-picker.vue.d.ts +3 -0
  303. package/lib/components/color-picker/src/color-picker2.js +8 -1
  304. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  305. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  306. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  307. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -0
  308. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -0
  309. package/lib/components/date-picker/src/panel-utils.d.ts +4 -0
  310. package/lib/components/form/index.d.ts +18 -0
  311. package/lib/components/form/src/form.d.ts +6 -0
  312. package/lib/components/form/src/form.js +4 -1
  313. package/lib/components/form/src/form.js.map +1 -1
  314. package/lib/components/form/src/form.vue.d.ts +18 -0
  315. package/lib/components/form/src/form2.js +1 -1
  316. package/lib/components/form/src/form2.js.map +1 -1
  317. package/lib/components/input/index.d.ts +2 -0
  318. package/lib/components/input/src/input.vue.d.ts +2 -0
  319. package/lib/components/input/src/input2.js +22 -1
  320. package/lib/components/input/src/input2.js.map +1 -1
  321. package/lib/components/input-number/index.d.ts +6 -0
  322. package/lib/components/input-number/src/input-number.vue.d.ts +6 -0
  323. package/lib/components/loading/src/types.d.ts +24 -0
  324. package/lib/components/menu/src/menu.js +2 -1
  325. package/lib/components/menu/src/menu.js.map +1 -1
  326. package/lib/components/message/src/message.d.ts +6 -0
  327. package/lib/components/message/src/message.js.map +1 -1
  328. package/lib/components/notification/src/notification.d.ts +3 -0
  329. package/lib/components/notification/src/notification.js.map +1 -1
  330. package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -2
  331. package/lib/components/pagination/src/components/jumper2.js +2 -2
  332. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  333. package/lib/components/select/src/select.js +9 -2
  334. package/lib/components/select/src/select.js.map +1 -1
  335. package/lib/components/select-v2/src/useSelect.js +5 -0
  336. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  337. package/lib/components/slider/index.d.ts +6 -0
  338. package/lib/components/slider/src/slider.vue.d.ts +6 -0
  339. package/lib/components/steps/src/item.js.map +1 -1
  340. package/lib/components/steps/src/steps.js.map +1 -1
  341. package/lib/components/table/src/table.js +1 -1
  342. package/lib/components/table/src/table.js.map +1 -1
  343. package/lib/components/time-picker/src/common/picker.vue.d.ts +2 -0
  344. package/lib/components/transfer/index.d.ts +10 -0
  345. package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -0
  346. package/lib/components/transfer/src/transfer.vue.d.ts +10 -0
  347. package/lib/components/upload/index.d.ts +3 -3
  348. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  349. package/lib/components/upload/src/upload-content2.js +9 -4
  350. package/lib/components/upload/src/upload-content2.js.map +1 -1
  351. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  352. package/lib/version.d.ts +1 -1
  353. package/lib/version.js +1 -1
  354. package/lib/version.js.map +1 -1
  355. package/package.json +2 -2
  356. package/tags.json +1 -1
  357. package/theme-chalk/el-select.css +1 -1
  358. package/theme-chalk/el-tabs.css +1 -1
  359. package/theme-chalk/index.css +1 -1
  360. package/theme-chalk/src/select.scss +7 -0
  361. package/theme-chalk/src/tabs.scss +44 -12
  362. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"svPanel\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","onMounted","watch","provide","colorPickerContextKey"],"mappings":"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"}
1
+ {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"svPanel\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","onMounted","watch","provide","colorPickerContextKey"],"mappings":"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"}
@@ -329,7 +329,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
329
329
  event.stopPropagation();
330
330
  event.preventDefault();
331
331
  }
332
- if ([aria.EVENT_CODE.enter, aria.EVENT_CODE.space].includes(code) && userInputDate.value === null && userInputTime.value === null) {
332
+ if ([aria.EVENT_CODE.enter, aria.EVENT_CODE.space, aria.EVENT_CODE.numpadEnter].includes(code) && userInputDate.value === null && userInputTime.value === null) {
333
333
  event.preventDefault();
334
334
  emit(innerDate.value, false);
335
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n :class=\"ppNs.e('footer')\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n WeekPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime, arrowControl } =\n pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value && !isChangeToNow.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n}\nconst handleDatePick = (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'year', 'dates'].includes(type)) return type\n return 'date' as DatePickType\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (month: number) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value, false)\n } else {\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (year: number) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value, false)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n})\n\nconst onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n if (selectionMode.value === 'dates') {\n return (value as Dayjs[]).map((_) => _.format(props.format))\n }\n return (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return dayjs(value, props.format).locale(lang.value)\n}\n\nconst getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n}\n\nconst handleFocusPicker = async () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space].includes(code) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', handleFocusPicker])\n</script>\n"],"names":["useNamespace","useAttrs","useSlots","useLocale","inject","TOOLTIP_INJECTION_KEY","toRef","ref","dayjs","computed","isArray","isFunction","nextTick","extractTimeFormat","extractDateFormat","EVENT_CODE","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0OA,IAAA,MAAM,eAAkB,GAAA,CAAC,CAAe,EAAA,EAAA,EAAS,GAAgB,KAAA,IAAA,CAAA;AAGjE,IAAM,MAAA,IAAA,GAAOA,mBAAa,cAAc,CAAA,CAAA;AACxC,IAAM,MAAA,IAAA,GAAOA,mBAAa,aAAa,CAAA,CAAA;AACvC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,EAAE,CAAG,EAAA,IAAA,EAAA,GAASC,iBAAU,EAAA,CAAA;AAC9B,IAAM,MAAA,UAAA,GAAaC,WAAO,gBAAgB,CAAA,CAAA;AAC1C,IAAM,MAAA,MAAA,GAASA,WAAOC,+BAAqB,CAAA,CAAA;AAC3C,IAAA,MAAM,EAAE,SAAW,EAAA,YAAA,EAAc,aAAe,EAAA,WAAA,EAAa,iBAC3D,UAAW,CAAA,KAAA,CAAA;AACb,IAAA,MAAM,YAAe,GAAAC,SAAA,CAAM,UAAW,CAAA,KAAA,EAAO,cAAc,CAAA,CAAA;AAE3D,IAAA,MAAM,iBAAiBC,OAA2B,EAAA,CAAA;AAElD,IAAA,MAAM,YAAYA,OAAI,CAAAC,yBAAA,GAAQ,MAAO,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAEhD,IAAM,MAAA,aAAA,GAAgBD,QAAI,KAAK,CAAA,CAAA;AAE/B,IAAM,MAAA,YAAA,GAAeE,aAAS,MAAM;AAClC,MAAA,OAAOD,yBAAM,CAAA,WAAW,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,KAC5C,CAAA,CAAA;AAED,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM;AAC3B,MAAO,OAAA,SAAA,CAAU,MAAM,KAAM,EAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAOA,aAAS,MAAM;AAC1B,MAAO,OAAA,SAAA,CAAU,MAAM,IAAK,EAAA,CAAA;AAAA,KAC7B,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkBF,OAAI,CAAA,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,aAAA,GAAgBA,QAAmB,IAAI,CAAA,CAAA;AAC7C,IAAM,MAAA,aAAA,GAAgBA,QAAmB,IAAI,CAAA,CAAA;AAE7C,IAAM,MAAA,oBAAA,GAAuB,CAAC,IAAqB,KAAA;AACjD,MAAO,OAAA,eAAA,CAAgB,KAAM,CAAA,MAAA,GAAS,CAClC,GAAA,eAAA,CAAgB,IAAM,EAAA,eAAA,CAAgB,KAAO,EAAA,KAAA,CAAM,MAAU,IAAA,UAAU,CACvE,GAAA,IAAA,CAAA;AAAA,KACN,CAAA;AACA,IAAM,MAAA,UAAA,GAAa,CAAC,SAAqB,KAAA;AACvC,MAAA,IAAI,eAAe,CAAC,WAAA,CAAY,KAAS,IAAA,CAAC,cAAc,KAAO,EAAA;AAC7D,QAAA,OAAO,YAAa,CAAA,KAAA,CACjB,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA,CACrB,KAAM,CAAA,SAAA,CAAU,OAAO,CAAA,CACvB,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA,CAAA;AAAA,OAC1B;AACA,MAAA,IAAI,QAAS,CAAA,KAAA;AAAO,QAAO,OAAA,SAAA,CAAU,YAAY,CAAC,CAAA,CAAA;AAClD,MAAO,OAAA,SAAA,CAAU,QAAQ,KAAK,CAAA,CAAA;AAAA,KAChC,CAAA;AACA,IAAM,MAAA,IAAA,GAAO,CAAC,KAAA,EAAA,GAA2B,IAAgB,KAAA;AACvD,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAY,WAAA,CAAA,MAAA,EAAQ,KAAO,EAAA,GAAG,IAAI,CAAA,CAAA;AAAA,OACpC,MAAA,IAAWG,cAAQ,CAAA,KAAK,CAAG,EAAA;AACzB,QAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAClC,QAAY,WAAA,CAAA,MAAA,EAAQ,KAAO,EAAA,GAAG,IAAI,CAAA,CAAA;AAAA,OAC7B,MAAA;AACL,QAAA,WAAA,CAAY,MAAQ,EAAA,UAAA,CAAW,KAAK,CAAA,EAAG,GAAG,IAAI,CAAA,CAAA;AAAA,OAChD;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAA,EAAuB,QAAuB,KAAA;AACpE,MAAI,IAAA,aAAA,CAAc,UAAU,MAAQ,EAAA;AAClC,QAAQ,KAAA,GAAA,KAAA,CAAA;AACR,QAAA,IAAI,UAAU,KAAM,CAAA,WAAA,GACf,MAAM,WACJ,CAAA,IAAA,CAAK,MAAM,IAAK,EAAC,EACjB,KAAM,CAAA,KAAA,CAAM,OAAO,CAAA,CACnB,KAAK,KAAM,CAAA,IAAA,EAAM,CACpB,GAAA,KAAA,CAAA;AAEJ,QAAI,IAAA,CAAC,oBAAqB,CAAA,OAAO,CAAG,EAAA;AAClC,UAAA,OAAA,GAAW,gBAAgB,KAAM,CAAA,CAAA,CAAA,CAAG,CACjC,CAAA,CAAA,IAAA,CAAK,MAAM,IAAK,EAAC,CACjB,CAAA,KAAA,CAAM,MAAM,KAAM,EAAC,EACnB,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACtB;AACA,QAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAA;AAClB,QAAK,IAAA,CAAA,OAAA,EAAS,QAAS,CAAA,KAAA,IAAS,QAAQ,CAAA,CAAA;AAAA,OAC1C,MAAA,IAAW,aAAc,CAAA,KAAA,KAAU,MAAQ,EAAA;AACzC,QAAA,IAAA,CAAM,MAA0B,IAAI,CAAA,CAAA;AAAA,OACtC,MAAA,IAAW,aAAc,CAAA,KAAA,KAAU,OAAS,EAAA;AAC1C,QAAA,IAAA,CAAK,OAA2B,IAAI,CAAA,CAAA;AAAA,OACtC;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,OAAqB,KAAA;AACxC,MAAM,MAAA,MAAA,GAAS,UAAU,KAAQ,GAAA,UAAA,CAAA;AACjC,MAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,KAAM,CAAA,MAAA,CAAA,CAAQ,GAAG,OAAO,CAAA,CAAA;AACpD,MAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,OAAqB,KAAA;AACvC,MAAA,MAAM,cAAc,SAAU,CAAA,KAAA,CAAA;AAC9B,MAAM,MAAA,MAAA,GAAS,UAAU,KAAQ,GAAA,UAAA,CAAA;AAEjC,MAAA,SAAA,CAAU,KACR,GAAA,WAAA,CAAY,KAAU,KAAA,MAAA,GAClB,WAAY,CAAA,MAAA,CAAA,CAAQ,EAAI,EAAA,MAAM,CAC9B,GAAA,WAAA,CAAY,MAAQ,CAAA,CAAA,CAAA,EAAG,MAAM,CAAA,CAAA;AAEnC,MAAA,iBAAA,CAAkB,MAAM,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,WAAA,GAAcH,QAAI,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,SAAA,GAAYE,aAAS,MAAM;AAC/B,MAAM,MAAA,eAAA,GAAkB,EAAE,oBAAoB,CAAA,CAAA;AAC9C,MAAI,IAAA,WAAA,CAAY,UAAU,MAAQ,EAAA;AAChC,QAAA,MAAM,YAAY,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAI,GAAA,EAAA,CAAA;AAChD,QAAA,IAAI,eAAiB,EAAA;AACnB,UAAA,OAAO,CAAG,EAAA,SAAA,CAAA,CAAA,EAAa,eACrB,CAAA,GAAA,EAAA,SAAA,GAAY,CACV,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,SACN;AACA,QAAO,OAAA,CAAA,EAAG,eAAe,SAAY,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACvC;AACA,MAAO,OAAA,CAAA,EAAG,KAAK,KAAS,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,KACzB,CAAA,CAAA;AAOD,IAAM,MAAA,mBAAA,GAAsB,CAAC,QAAuB,KAAA;AAClD,MAAM,MAAA,aAAA,GAAgBE,kBAAW,QAAS,CAAA,KAAK,IAC3C,QAAS,CAAA,KAAA,KACT,QAAS,CAAA,KAAA,CAAA;AACb,MAAA,IAAI,aAAe,EAAA;AACjB,QAAA,IAAA,CAAKH,0BAAM,aAAa,CAAA,CAAE,MAAO,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAC5C,QAAA,OAAA;AAAA,OACF;AACA,MAAA,IAAI,SAAS,OAAS,EAAA;AACpB,QAAA,QAAA,CAAS,OAAQ,CAAA;AAAA,UACf,KAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAM,EAAA,WAAA;AAAA,SACP,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBC,aAAuB,MAAM;AACjD,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA,EAAS,QAAQ,OAAO,CAAA,CAAE,SAAS,IAAI,CAAA;AAAG,QAAO,OAAA,IAAA,CAAA;AAC9D,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeA,aAAiB,MAAM;AAC1C,MAAA,OAAO,aAAc,CAAA,KAAA,KAAU,MAC3B,GAAA,WAAA,CAAY,QACZ,aAAc,CAAA,KAAA,CAAA;AAAA,KACnB,CAAA,CAAA;AAED,IAAA,MAAM,eAAeA,YAAS,CAAA,MAAM,CAAC,CAAC,UAAU,MAAM,CAAA,CAAA;AAEtD,IAAM,MAAA,eAAA,GAAkB,OAAO,MAAkB,KAAA;AAC/C,MAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,KAAA,CAAM,QAAQ,OAAO,CAAA,CAAE,MAAM,MAAK,CAAA,CAAA;AAC9D,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,KAAK,CAAA,CAAA;AAAA,OACtB,MAAA;AACL,QAAA,WAAA,CAAY,KAAQ,GAAA,MAAA,CAAA;AACpB,QAAI,IAAA,CAAC,SAAS,MAAQ,EAAA,MAAA,EAAQ,MAAM,CAAE,CAAA,QAAA,CAAS,aAAc,CAAA,KAAK,CAAG,EAAA;AACnE,UAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,UAAA,MAAMG,YAAS,EAAA,CAAA;AACf,UAAkB,iBAAA,EAAA,CAAA;AAAA,SACpB;AAAA,OACF;AACA,MAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,OAAO,KAAiB,KAAA;AAC7C,MAAI,IAAA,aAAA,CAAc,UAAU,MAAQ,EAAA;AAClC,QAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA,CAAE,KAAK,KAAI,CAAA,CAAA;AAC3D,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,KAAK,CAAA,CAAA;AAAA,OACtB,MAAA;AACL,QAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,KAAM,CAAA,IAAA,CAAK,KAAI,CAAA,CAAA;AAC3C,QAAA,WAAA,CAAY,KAAQ,GAAA,OAAA,CAAA;AACpB,QAAI,IAAA,CAAC,SAAS,MAAQ,EAAA,MAAA,EAAQ,MAAM,CAAE,CAAA,QAAA,CAAS,aAAc,CAAA,KAAK,CAAG,EAAA;AACnE,UAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,UAAA,MAAMA,YAAS,EAAA,CAAA;AACf,UAAkB,iBAAA,EAAA,CAAA;AAAA,SACpB;AAAA,OACF;AACA,MAAA,iBAAA,CAAkB,MAAM,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,OAAO,IAA2B,KAAA;AACnD,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAMA,YAAS,EAAA,CAAA;AACf,MAAkB,iBAAA,EAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,QAAA,GAAWH,aACf,MAAM,KAAA,CAAM,SAAS,UAAc,IAAA,KAAA,CAAM,SAAS,eACpD,CAAA,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBA,aAAS,MAAM;AACnC,MAAO,OAAA,QAAA,CAAS,KAAS,IAAA,aAAA,CAAc,KAAU,KAAA,OAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,MAAM;AACtB,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAA,IAAA,CAAK,MAAM,WAAsB,CAAA,CAAA;AAAA,OAC5B,MAAA;AAEL,QAAA,IAAI,SAAS,KAAM,CAAA,WAAA,CAAA;AACnB,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAA,MAAM,gBAAeD,yBAAM,CAAA,WAAW,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AACzD,UAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AACtC,UAAA,MAAA,GAAS,aACN,CAAA,IAAA,CAAK,aAAc,CAAA,IAAA,EAAM,CACzB,CAAA,KAAA,CAAM,aAAc,CAAA,KAAA,EAAO,CAAA,CAC3B,IAAK,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAAA,SAC9B;AACA,QAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAA;AAClB,QAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AAGxB,MAAA,MAAM,GAAM,GAAAA,yBAAA,EAAQ,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AACrC,MAAM,MAAA,OAAA,GAAU,IAAI,MAAO,EAAA,CAAA;AAC3B,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MACG,IAAA,CAAA,CAAC,gBAAgB,CAAC,YAAA,CAAa,OAAO,CACvC,KAAA,oBAAA,CAAqB,OAAO,CAC5B,EAAA;AACA,QAAA,SAAA,CAAU,KAAQ,GAAAA,yBAAA,EAAQ,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC3C,QAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAAA,OACtB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,UAAA,GAAaC,aAAS,MAAM;AAChC,MAAO,OAAAI,uBAAA,CAAkB,MAAM,MAAM,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaJ,aAAS,MAAM;AAChC,MAAO,OAAAK,uBAAA,CAAkB,MAAM,MAAM,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcL,aAAS,MAAM;AACjC,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAO,aAAc,CAAA,KAAA,CAAA;AAC9C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAe,IAAA,CAAC,YAAa,CAAA,KAAA;AAAO,QAAA,OAAA;AAC/C,MAAA,OAAS,OAAM,WAAe,IAAA,SAAA,CAAU,KAAiB,EAAA,MAAA,CACvD,WAAW,KACb,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcA,aAAS,MAAM;AACjC,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAO,aAAc,CAAA,KAAA,CAAA;AAC9C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAe,IAAA,CAAC,YAAa,CAAA,KAAA;AAAO,QAAA,OAAA;AAC/C,MAAA,OAAS,OAAM,WAAe,IAAA,SAAA,CAAU,KAAiB,EAAA,MAAA,CACvD,WAAW,KACb,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoBF,QAAI,KAAK,CAAA,CAAA;AACnC,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,iBAAA,CAAkB,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC5B,CAAA;AACA,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAA,iBAAA,CAAkB,KAAQ,GAAA,KAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAgB,KAAA;AAChC,MAAO,OAAA;AAAA,QACL,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,QAChB,MAAA,EAAQ,KAAK,MAAO,EAAA;AAAA,QACpB,MAAA,EAAQ,KAAK,MAAO,EAAA;AAAA,QACpB,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,QAChB,KAAA,EAAO,KAAK,KAAM,EAAA;AAAA,QAClB,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,OAClB,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAiB,GAAA,CAAC,KAAc,EAAA,OAAA,EAAkB,KAAmB,KAAA;AACzE,MAAA,MAAM,EAAE,IAAA,EAAM,MAAQ,EAAA,MAAA,EAAA,GAAW,SAAS,KAAK,CAAA,CAAA;AAC/C,MAAA,MAAM,OAAU,GAAA,KAAA,CAAM,WACjB,GAAA,KAAA,CAAM,WAAsB,CAAA,IAAA,CAAK,IAAI,CAAA,CAAE,MAAO,CAAA,MAAM,CAAE,CAAA,MAAA,CAAO,MAAM,CACpE,GAAA,KAAA,CAAA;AACJ,MAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAA;AAClB,MAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,iBAAA,CAAkB,KAAQ,GAAA,OAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAkB,KAAA;AACjD,MAAM,MAAA,OAAA,GAAUC,0BAAM,KAAO,EAAA,UAAA,CAAW,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAChE,MAAA,IAAI,OAAQ,CAAA,OAAA,EAAa,IAAA,oBAAA,CAAqB,OAAO,CAAG,EAAA;AACtD,QAAA,MAAM,EAAE,IAAM,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAO,IAAS,EAAA,GAAA,QAAA,CAAS,UAAU,KAAK,CAAA,CAAA;AACtD,QAAU,SAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,KAAI,EAAE,KAAM,CAAA,MAAK,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAC3D,QAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,QAAA,iBAAA,CAAkB,KAAQ,GAAA,KAAA,CAAA;AAC1B,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAkB,KAAA;AACjD,MAAM,MAAA,OAAA,GAAUA,0BAAM,KAAO,EAAA,UAAA,CAAW,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAChE,MAAI,IAAA,OAAA,CAAQ,SAAW,EAAA;AACrB,QAAA,IAAI,YAAgB,IAAA,YAAA,CAAa,OAAQ,CAAA,MAAA,EAAQ,CAAG,EAAA;AAClD,UAAA,OAAA;AAAA,SACF;AACA,QAAA,MAAM,EAAE,IAAM,EAAA,MAAA,EAAQ,MAAW,EAAA,GAAA,QAAA,CAAS,UAAU,KAAK,CAAA,CAAA;AACzD,QAAU,SAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,IAAI,EAAE,MAAO,CAAA,MAAM,CAAE,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AACjE,QAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAkB,KAAA;AACtC,MAAA,OACEA,yBAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,IAClB,IAAK,CAAA,OAAA,EACJ,KAAA,YAAA,GAAe,CAAC,YAAA,CAAa,IAAK,CAAA,MAAA,EAAQ,CAAI,GAAA,IAAA,CAAA,CAAA;AAAA,KAEnD,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAA2B,KAAA;AACjD,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAQ,OAAA,KAAA,CAAkB,IAAI,CAAC,CAAA,KAAM,EAAE,MAAO,CAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,OAC7D;AACA,MAAQ,OAAA,KAAA,CAAgB,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,KAC7C,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAiB,KAAA;AACvC,MAAA,OAAOA,0BAAM,KAAO,EAAA,KAAA,CAAM,MAAM,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,KACrD,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,MAAM,YAAYA,yBAAM,CAAA,YAAA,CAAa,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC7D,MAAI,IAAA,CAAC,aAAa,KAAO,EAAA;AACvB,QAAA,MAAM,oBAAoB,YAAa,CAAA,KAAA,CAAA;AACvC,QAAA,OAAOA,2BACJ,CAAA,IAAA,CAAK,kBAAkB,IAAK,EAAC,EAC7B,MAAO,CAAA,iBAAA,CAAkB,QAAQ,CAAA,CACjC,OAAO,iBAAkB,CAAA,MAAA,EAAQ,CACjC,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB;AACA,MAAO,OAAA,SAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,oBAAoB,YAAY;AACpC,MAAI,IAAA;AACF,MAAA,IAAA,CAAA,MAAA,EAAA,eAA4B,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,EAAA;AAC5B,QAAI,CAAA,EAAA,GAAA,yBAAgC,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAClC,QAAA,IAAA,aAAA,CAAA,gBAAgC,EAAA;AAAA,UAClC,gBAAA,CAAAO,eAAA,CAAA,IAAA,CAAA,CAAA;AAAA,SACF;AAAA,OACF;AAEA,KAAM,CAAA;AACJ,IAAA,MAAA,kBAAiB,GAAA,CAAA,KAAA,KAAA;AACjB,MAAA,MAAM,EAAY,IAAA,EAAA,GAAA,KAAA,CAAA;AAAA,MAAA,MACL,SAAA,GAAA;AAAA,QACXA,eAAW,CAAA,EAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,KAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,GAAA;AAAA,QACXA,eAAW,CAAA,MAAA;AAAA,QACbA,eAAA,CAAA,QAAA;AACA,OAAI,CAAA;AACF,MAAA,IAAA,SAAA,CAAA,QAAqB,CAAA,IAAA,CAAA,EAAA;AACrB,QAAA,gBAAsB,CAAA,IAAA,CAAA,CAAA;AACtB,QAAA,KAAA,CAAM,eAAe,EAAA,CAAA;AAAA,QACvB,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,OAAA;AAKE,MAAA,IAAA,CAAAA,eAAqB,CAAA,KAAA,EAAAA,eAAA,CAAA,KAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA,IAAA,aAAA,CAAA,KAAA,KAAA,IAAA,IAAA,aAAA,CAAA,KAAA,KAAA,IAAA,EAAA;AACrB,QAAK,KAAA,CAAA,gBAAiB,CAAK;AAAA,QAC7B,IAAA,CAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AAAA,OACF;AAEA,KAAM,CAAA;AAaJ,IAAM,MAAA,gBAAY,GAAA,CAAM,SAAa;AACrC,MAAA,IAAA,EAAM,CAA6B;AAAA,MAAA,MAC3B,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAAA,eAAA,CAAA;AAAA,MAAA,MACE,OAAA,GAAA;AAAA,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAY;AACuB,UAC9C,CAAA,KAAA,GAAA,CAAA;AAAA,UACO,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA,WAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AACC,QAAA,KACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAY;AACiB,UACxC,CAAA,KAAA,GAAA,CAAA;AAAA,UACM,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,QAAA,CAAA,IAAA,CAAA,QAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AACE,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAA;AAC+B,UAC1C,CAAA,KAAA,GAAA,CAAA;AAAA,UACM,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,EAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AAAA,SAAA;AACE,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAC,IAAO,GAAA,CAAC,CAAe;AAAa,UACrC,CAAC,KAAM;AAAiC,UACxC,CAAC,IAAA,GAAA,CAAA,IAAU,KAAA,CAAA,IACJ,CAAA,MAAK,EAAK;AAA2C,UAC5D,CAAC,GAAA,GAAA,CAAA,IAAW,KAAC,CAAA,IACX,OAAS,EAAA,GAAA,CAAA;AAAoD,UAC/D,CAAA,MAAA,GAAqB,CAAA,IAAA,KAAA,CAAA,QAAsB,CAAQ,IAAA,CAAA,WAAa,EAAA,EAAA,IAAI,CAAI,QAAA,EAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA;AAAA,UAC1E,CAAA,QAAA,GAAA,CAAA,IAAA,KAAA,IAAA,IAAA,CAAA,IAAA,CAAA,WAAA,EAAA,EAAA,IAAA,CAAA,QAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA;AAAA,UACF,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,EAAA,GAAA,IAAA,CAAA;AAEA,SAAM;AACN,OAAO,CAAA;AACL,MAAM,MAAA,OAAA,YAA2B,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA;AACjC,MAAA,OAAK,IAAA,CAAA,GAAA,CAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,OAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA,GAAA,CAAA,EAAA;AAAK,QAAA,MAAA,GAAA,GAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACV,QAAA,IAAI,CACF,GAAA;AAKF,UAAI,OAAA;AACF,QAAA,GAAA,CAAA,MAAA,CAAA,OAAA,EAAAJ,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAAA,EAAA,GAAA,GAAA,CAAA,IAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,QACF,IAAA,YAAA,IAAA,YAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA;AACA,SAAA;AACA,QAAY,MAAA,MAAA,GAAAH,yBAAQ,QAAQ,CAAI,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAChC,QAAA,SAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AAAA,QACF,WAAA,CAAA,MAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QACF,MAAA;AAEA,OAAM;AACJ,KAAA,CAAA;AAA6E,IAC/E,MAAA,iBAAA,GAAA,CAAA,IAAA,KAAA;AAEA,MAAA,WACQ,CAAA,cACN,EAAA,SAAS,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,IAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACP,KAAA,CAAA;AACE,IAAAQ,SAAA,CAAA,MAAA,aAAoB,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AACpB,MAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA;AAAA,QACF,WAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,QAAA,OAAA;AAAoB,OAEtB;AAGF,MACE,WAAkB,CAAA,KAAA,GAAA,MAAA,CAAA;AAEhB,KAAA,EAAA,EAAA,SAAqB,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,IACvBA,SACF,CAAA,MAAA,WAAA,CAAA,KAAA,EAAA,MAAA;AAEA,MAAA,MACQ,IAAA,IAAA,GAAA,KAAA,CAAa,GACnB,MAAS,CAAA,YAAA,EAAA,CAAA;AACP,KAAA,CAAA,CAAA;AACE,IAAAA,SAAA,CAAA,MAAA,YAAkC,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACpC,IAAA,GAAA,EAAA;AAAA,QAEF,SAAa,CAAA,KAAA,GACf,eAAA,EAAA,CAAA;AAEA,OAAA;AAGI,KAAA,EAAA,EAAA,SAAS,EAAA,IAAA,EAAA,CAAA,CAAA;AACP,IAAAA,SAAA,CAAA,uBAA4B,EAAA,CAAA,GAAA,KAAA;AAAS,MAAA,IAAA,GAAA,EAAA;AACrC,QAAI,IAAA,cAAc,KAAG,KAAA,OAAA;AAAG,UAAA,OAAA;AACxB,QAAA,IAAA,KAAA,CAAU,OAAQ,CAAA,GAAA,CAAA;AAAA,UACb,OAAA;AACL,QAAA,SAAA,CAAU,QAAQ,GAAgB,CAAA;AAAA,OACpC,MAAA;AAAA,QAEF,SAAa,CAAA,KAAA,GACf,eAAA,EAAA,CAAA;AAEA,OAAA;AACA,KAAA,EAAA,EAAA,SAAiC,EAAA,IAAA,EAAA,CAAA,CAAA;AACjC,IAAA,WAAA,CAAY,mBAAqB,EAAA,CAAC,cAAkB,EAAA,YAAA,CAAA,CAAA,CAAA;AACpD,IAAA,WAAA,CAAY,mBAAqB,EAAA,CAAC,gBAAqB,EAAA,cAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"panel-date-pick.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n :class=\"ppNs.e('footer')\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n WeekPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime, arrowControl } =\n pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value && !isChangeToNow.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n}\nconst handleDatePick = (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'year', 'dates'].includes(type)) return type\n return 'date' as DatePickType\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (month: number) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value, false)\n } else {\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (year: number) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value, false)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n})\n\nconst onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n if (selectionMode.value === 'dates') {\n return (value as Dayjs[]).map((_) => _.format(props.format))\n }\n return (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return dayjs(value, props.format).locale(lang.value)\n}\n\nconst getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n}\n\nconst handleFocusPicker = async () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(\n code\n ) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', handleFocusPicker])\n</script>\n"],"names":["useNamespace","useAttrs","useSlots","useLocale","inject","TOOLTIP_INJECTION_KEY","toRef","ref","dayjs","computed","isArray","isFunction","nextTick","extractTimeFormat","extractDateFormat","EVENT_CODE","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0OA,IAAA,MAAM,eAAkB,GAAA,CAAC,CAAe,EAAA,EAAA,EAAS,GAAgB,KAAA,IAAA,CAAA;AAGjE,IAAM,MAAA,IAAA,GAAOA,mBAAa,cAAc,CAAA,CAAA;AACxC,IAAM,MAAA,IAAA,GAAOA,mBAAa,aAAa,CAAA,CAAA;AACvC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,EAAE,CAAG,EAAA,IAAA,EAAA,GAASC,iBAAU,EAAA,CAAA;AAC9B,IAAM,MAAA,UAAA,GAAaC,WAAO,gBAAgB,CAAA,CAAA;AAC1C,IAAM,MAAA,MAAA,GAASA,WAAOC,+BAAqB,CAAA,CAAA;AAC3C,IAAA,MAAM,EAAE,SAAW,EAAA,YAAA,EAAc,aAAe,EAAA,WAAA,EAAa,iBAC3D,UAAW,CAAA,KAAA,CAAA;AACb,IAAA,MAAM,YAAe,GAAAC,SAAA,CAAM,UAAW,CAAA,KAAA,EAAO,cAAc,CAAA,CAAA;AAE3D,IAAA,MAAM,iBAAiBC,OAA2B,EAAA,CAAA;AAElD,IAAA,MAAM,YAAYA,OAAI,CAAAC,yBAAA,GAAQ,MAAO,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAEhD,IAAM,MAAA,aAAA,GAAgBD,QAAI,KAAK,CAAA,CAAA;AAE/B,IAAM,MAAA,YAAA,GAAeE,aAAS,MAAM;AAClC,MAAA,OAAOD,yBAAM,CAAA,WAAW,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,KAC5C,CAAA,CAAA;AAED,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM;AAC3B,MAAO,OAAA,SAAA,CAAU,MAAM,KAAM,EAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAOA,aAAS,MAAM;AAC1B,MAAO,OAAA,SAAA,CAAU,MAAM,IAAK,EAAA,CAAA;AAAA,KAC7B,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkBF,OAAI,CAAA,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,aAAA,GAAgBA,QAAmB,IAAI,CAAA,CAAA;AAC7C,IAAM,MAAA,aAAA,GAAgBA,QAAmB,IAAI,CAAA,CAAA;AAE7C,IAAM,MAAA,oBAAA,GAAuB,CAAC,IAAqB,KAAA;AACjD,MAAO,OAAA,eAAA,CAAgB,KAAM,CAAA,MAAA,GAAS,CAClC,GAAA,eAAA,CAAgB,IAAM,EAAA,eAAA,CAAgB,KAAO,EAAA,KAAA,CAAM,MAAU,IAAA,UAAU,CACvE,GAAA,IAAA,CAAA;AAAA,KACN,CAAA;AACA,IAAM,MAAA,UAAA,GAAa,CAAC,SAAqB,KAAA;AACvC,MAAA,IAAI,eAAe,CAAC,WAAA,CAAY,KAAS,IAAA,CAAC,cAAc,KAAO,EAAA;AAC7D,QAAA,OAAO,YAAa,CAAA,KAAA,CACjB,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA,CACrB,KAAM,CAAA,SAAA,CAAU,OAAO,CAAA,CACvB,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA,CAAA;AAAA,OAC1B;AACA,MAAA,IAAI,QAAS,CAAA,KAAA;AAAO,QAAO,OAAA,SAAA,CAAU,YAAY,CAAC,CAAA,CAAA;AAClD,MAAO,OAAA,SAAA,CAAU,QAAQ,KAAK,CAAA,CAAA;AAAA,KAChC,CAAA;AACA,IAAM,MAAA,IAAA,GAAO,CAAC,KAAA,EAAA,GAA2B,IAAgB,KAAA;AACvD,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAY,WAAA,CAAA,MAAA,EAAQ,KAAO,EAAA,GAAG,IAAI,CAAA,CAAA;AAAA,OACpC,MAAA,IAAWG,cAAQ,CAAA,KAAK,CAAG,EAAA;AACzB,QAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAClC,QAAY,WAAA,CAAA,MAAA,EAAQ,KAAO,EAAA,GAAG,IAAI,CAAA,CAAA;AAAA,OAC7B,MAAA;AACL,QAAA,WAAA,CAAY,MAAQ,EAAA,UAAA,CAAW,KAAK,CAAA,EAAG,GAAG,IAAI,CAAA,CAAA;AAAA,OAChD;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAA,EAAuB,QAAuB,KAAA;AACpE,MAAI,IAAA,aAAA,CAAc,UAAU,MAAQ,EAAA;AAClC,QAAQ,KAAA,GAAA,KAAA,CAAA;AACR,QAAA,IAAI,UAAU,KAAM,CAAA,WAAA,GACf,MAAM,WACJ,CAAA,IAAA,CAAK,MAAM,IAAK,EAAC,EACjB,KAAM,CAAA,KAAA,CAAM,OAAO,CAAA,CACnB,KAAK,KAAM,CAAA,IAAA,EAAM,CACpB,GAAA,KAAA,CAAA;AAEJ,QAAI,IAAA,CAAC,oBAAqB,CAAA,OAAO,CAAG,EAAA;AAClC,UAAA,OAAA,GAAW,gBAAgB,KAAM,CAAA,CAAA,CAAA,CAAG,CACjC,CAAA,CAAA,IAAA,CAAK,MAAM,IAAK,EAAC,CACjB,CAAA,KAAA,CAAM,MAAM,KAAM,EAAC,EACnB,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACtB;AACA,QAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAA;AAClB,QAAK,IAAA,CAAA,OAAA,EAAS,QAAS,CAAA,KAAA,IAAS,QAAQ,CAAA,CAAA;AAAA,OAC1C,MAAA,IAAW,aAAc,CAAA,KAAA,KAAU,MAAQ,EAAA;AACzC,QAAA,IAAA,CAAM,MAA0B,IAAI,CAAA,CAAA;AAAA,OACtC,MAAA,IAAW,aAAc,CAAA,KAAA,KAAU,OAAS,EAAA;AAC1C,QAAA,IAAA,CAAK,OAA2B,IAAI,CAAA,CAAA;AAAA,OACtC;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,OAAqB,KAAA;AACxC,MAAM,MAAA,MAAA,GAAS,UAAU,KAAQ,GAAA,UAAA,CAAA;AACjC,MAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,KAAM,CAAA,MAAA,CAAA,CAAQ,GAAG,OAAO,CAAA,CAAA;AACpD,MAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,OAAqB,KAAA;AACvC,MAAA,MAAM,cAAc,SAAU,CAAA,KAAA,CAAA;AAC9B,MAAM,MAAA,MAAA,GAAS,UAAU,KAAQ,GAAA,UAAA,CAAA;AAEjC,MAAA,SAAA,CAAU,KACR,GAAA,WAAA,CAAY,KAAU,KAAA,MAAA,GAClB,WAAY,CAAA,MAAA,CAAA,CAAQ,EAAI,EAAA,MAAM,CAC9B,GAAA,WAAA,CAAY,MAAQ,CAAA,CAAA,CAAA,EAAG,MAAM,CAAA,CAAA;AAEnC,MAAA,iBAAA,CAAkB,MAAM,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,WAAA,GAAcH,QAAI,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,SAAA,GAAYE,aAAS,MAAM;AAC/B,MAAM,MAAA,eAAA,GAAkB,EAAE,oBAAoB,CAAA,CAAA;AAC9C,MAAI,IAAA,WAAA,CAAY,UAAU,MAAQ,EAAA;AAChC,QAAA,MAAM,YAAY,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAI,GAAA,EAAA,CAAA;AAChD,QAAA,IAAI,eAAiB,EAAA;AACnB,UAAA,OAAO,CAAG,EAAA,SAAA,CAAA,CAAA,EAAa,eACrB,CAAA,GAAA,EAAA,SAAA,GAAY,CACV,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,SACN;AACA,QAAO,OAAA,CAAA,EAAG,eAAe,SAAY,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACvC;AACA,MAAO,OAAA,CAAA,EAAG,KAAK,KAAS,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,KACzB,CAAA,CAAA;AAOD,IAAM,MAAA,mBAAA,GAAsB,CAAC,QAAuB,KAAA;AAClD,MAAM,MAAA,aAAA,GAAgBE,kBAAW,QAAS,CAAA,KAAK,IAC3C,QAAS,CAAA,KAAA,KACT,QAAS,CAAA,KAAA,CAAA;AACb,MAAA,IAAI,aAAe,EAAA;AACjB,QAAA,IAAA,CAAKH,0BAAM,aAAa,CAAA,CAAE,MAAO,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAC5C,QAAA,OAAA;AAAA,OACF;AACA,MAAA,IAAI,SAAS,OAAS,EAAA;AACpB,QAAA,QAAA,CAAS,OAAQ,CAAA;AAAA,UACf,KAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAM,EAAA,WAAA;AAAA,SACP,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBC,aAAuB,MAAM;AACjD,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA,EAAS,QAAQ,OAAO,CAAA,CAAE,SAAS,IAAI,CAAA;AAAG,QAAO,OAAA,IAAA,CAAA;AAC9D,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeA,aAAiB,MAAM;AAC1C,MAAA,OAAO,aAAc,CAAA,KAAA,KAAU,MAC3B,GAAA,WAAA,CAAY,QACZ,aAAc,CAAA,KAAA,CAAA;AAAA,KACnB,CAAA,CAAA;AAED,IAAA,MAAM,eAAeA,YAAS,CAAA,MAAM,CAAC,CAAC,UAAU,MAAM,CAAA,CAAA;AAEtD,IAAM,MAAA,eAAA,GAAkB,OAAO,MAAkB,KAAA;AAC/C,MAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,KAAA,CAAM,QAAQ,OAAO,CAAA,CAAE,MAAM,MAAK,CAAA,CAAA;AAC9D,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,KAAK,CAAA,CAAA;AAAA,OACtB,MAAA;AACL,QAAA,WAAA,CAAY,KAAQ,GAAA,MAAA,CAAA;AACpB,QAAI,IAAA,CAAC,SAAS,MAAQ,EAAA,MAAA,EAAQ,MAAM,CAAE,CAAA,QAAA,CAAS,aAAc,CAAA,KAAK,CAAG,EAAA;AACnE,UAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,UAAA,MAAMG,YAAS,EAAA,CAAA;AACf,UAAkB,iBAAA,EAAA,CAAA;AAAA,SACpB;AAAA,OACF;AACA,MAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,OAAO,KAAiB,KAAA;AAC7C,MAAI,IAAA,aAAA,CAAc,UAAU,MAAQ,EAAA;AAClC,QAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA,CAAE,KAAK,KAAI,CAAA,CAAA;AAC3D,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,KAAK,CAAA,CAAA;AAAA,OACtB,MAAA;AACL,QAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,KAAM,CAAA,IAAA,CAAK,KAAI,CAAA,CAAA;AAC3C,QAAA,WAAA,CAAY,KAAQ,GAAA,OAAA,CAAA;AACpB,QAAI,IAAA,CAAC,SAAS,MAAQ,EAAA,MAAA,EAAQ,MAAM,CAAE,CAAA,QAAA,CAAS,aAAc,CAAA,KAAK,CAAG,EAAA;AACnE,UAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,UAAA,MAAMA,YAAS,EAAA,CAAA;AACf,UAAkB,iBAAA,EAAA,CAAA;AAAA,SACpB;AAAA,OACF;AACA,MAAA,iBAAA,CAAkB,MAAM,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,OAAO,IAA2B,KAAA;AACnD,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAMA,YAAS,EAAA,CAAA;AACf,MAAkB,iBAAA,EAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,QAAA,GAAWH,aACf,MAAM,KAAA,CAAM,SAAS,UAAc,IAAA,KAAA,CAAM,SAAS,eACpD,CAAA,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBA,aAAS,MAAM;AACnC,MAAO,OAAA,QAAA,CAAS,KAAS,IAAA,aAAA,CAAc,KAAU,KAAA,OAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,MAAM;AACtB,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAA,IAAA,CAAK,MAAM,WAAsB,CAAA,CAAA;AAAA,OAC5B,MAAA;AAEL,QAAA,IAAI,SAAS,KAAM,CAAA,WAAA,CAAA;AACnB,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAA,MAAM,gBAAeD,yBAAM,CAAA,WAAW,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AACzD,UAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AACtC,UAAA,MAAA,GAAS,aACN,CAAA,IAAA,CAAK,aAAc,CAAA,IAAA,EAAM,CACzB,CAAA,KAAA,CAAM,aAAc,CAAA,KAAA,EAAO,CAAA,CAC3B,IAAK,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAAA,SAC9B;AACA,QAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAA;AAClB,QAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AAGxB,MAAA,MAAM,GAAM,GAAAA,yBAAA,EAAQ,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AACrC,MAAM,MAAA,OAAA,GAAU,IAAI,MAAO,EAAA,CAAA;AAC3B,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,MACG,IAAA,CAAA,CAAC,gBAAgB,CAAC,YAAA,CAAa,OAAO,CACvC,KAAA,oBAAA,CAAqB,OAAO,CAC5B,EAAA;AACA,QAAA,SAAA,CAAU,KAAQ,GAAAA,yBAAA,EAAQ,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC3C,QAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAAA,OACtB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,UAAA,GAAaC,aAAS,MAAM;AAChC,MAAO,OAAAI,uBAAA,CAAkB,MAAM,MAAM,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaJ,aAAS,MAAM;AAChC,MAAO,OAAAK,uBAAA,CAAkB,MAAM,MAAM,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcL,aAAS,MAAM;AACjC,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAO,aAAc,CAAA,KAAA,CAAA;AAC9C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAe,IAAA,CAAC,YAAa,CAAA,KAAA;AAAO,QAAA,OAAA;AAC/C,MAAA,OAAS,OAAM,WAAe,IAAA,SAAA,CAAU,KAAiB,EAAA,MAAA,CACvD,WAAW,KACb,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcA,aAAS,MAAM;AACjC,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAO,aAAc,CAAA,KAAA,CAAA;AAC9C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAe,IAAA,CAAC,YAAa,CAAA,KAAA;AAAO,QAAA,OAAA;AAC/C,MAAA,OAAS,OAAM,WAAe,IAAA,SAAA,CAAU,KAAiB,EAAA,MAAA,CACvD,WAAW,KACb,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoBF,QAAI,KAAK,CAAA,CAAA;AACnC,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,iBAAA,CAAkB,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC5B,CAAA;AACA,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAA,iBAAA,CAAkB,KAAQ,GAAA,KAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAgB,KAAA;AAChC,MAAO,OAAA;AAAA,QACL,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,QAChB,MAAA,EAAQ,KAAK,MAAO,EAAA;AAAA,QACpB,MAAA,EAAQ,KAAK,MAAO,EAAA;AAAA,QACpB,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,QAChB,KAAA,EAAO,KAAK,KAAM,EAAA;AAAA,QAClB,IAAA,EAAM,KAAK,IAAK,EAAA;AAAA,OAClB,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAiB,GAAA,CAAC,KAAc,EAAA,OAAA,EAAkB,KAAmB,KAAA;AACzE,MAAA,MAAM,EAAE,IAAA,EAAM,MAAQ,EAAA,MAAA,EAAA,GAAW,SAAS,KAAK,CAAA,CAAA;AAC/C,MAAA,MAAM,OAAU,GAAA,KAAA,CAAM,WACjB,GAAA,KAAA,CAAM,WAAsB,CAAA,IAAA,CAAK,IAAI,CAAA,CAAE,MAAO,CAAA,MAAM,CAAE,CAAA,MAAA,CAAO,MAAM,CACpE,GAAA,KAAA,CAAA;AACJ,MAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAA;AAClB,MAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAC1B,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,iBAAA,CAAkB,KAAQ,GAAA,OAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAkB,KAAA;AACjD,MAAM,MAAA,OAAA,GAAUC,0BAAM,KAAO,EAAA,UAAA,CAAW,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAChE,MAAA,IAAI,OAAQ,CAAA,OAAA,EAAa,IAAA,oBAAA,CAAqB,OAAO,CAAG,EAAA;AACtD,QAAA,MAAM,EAAE,IAAM,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAO,IAAS,EAAA,GAAA,QAAA,CAAS,UAAU,KAAK,CAAA,CAAA;AACtD,QAAU,SAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,KAAI,EAAE,KAAM,CAAA,MAAK,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAC3D,QAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,QAAA,iBAAA,CAAkB,KAAQ,GAAA,KAAA,CAAA;AAC1B,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAkB,KAAA;AACjD,MAAM,MAAA,OAAA,GAAUA,0BAAM,KAAO,EAAA,UAAA,CAAW,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAChE,MAAI,IAAA,OAAA,CAAQ,SAAW,EAAA;AACrB,QAAA,IAAI,YAAgB,IAAA,YAAA,CAAa,OAAQ,CAAA,MAAA,EAAQ,CAAG,EAAA;AAClD,UAAA,OAAA;AAAA,SACF;AACA,QAAA,MAAM,EAAE,IAAM,EAAA,MAAA,EAAQ,MAAW,EAAA,GAAA,QAAA,CAAS,UAAU,KAAK,CAAA,CAAA;AACzD,QAAU,SAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,IAAI,EAAE,MAAO,CAAA,MAAM,CAAE,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AACjE,QAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,QAAK,IAAA,CAAA,SAAA,CAAU,OAAO,IAAI,CAAA,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAkB,KAAA;AACtC,MAAA,OACEA,yBAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,IAClB,IAAK,CAAA,OAAA,EACJ,KAAA,YAAA,GAAe,CAAC,YAAA,CAAa,IAAK,CAAA,MAAA,EAAQ,CAAI,GAAA,IAAA,CAAA,CAAA;AAAA,KAEnD,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAA2B,KAAA;AACjD,MAAI,IAAA,aAAA,CAAc,UAAU,OAAS,EAAA;AACnC,QAAQ,OAAA,KAAA,CAAkB,IAAI,CAAC,CAAA,KAAM,EAAE,MAAO,CAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,OAC7D;AACA,MAAQ,OAAA,KAAA,CAAgB,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,KAC7C,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAiB,KAAA;AACvC,MAAA,OAAOA,0BAAM,KAAO,EAAA,KAAA,CAAM,MAAM,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,KACrD,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,MAAM,YAAYA,yBAAM,CAAA,YAAA,CAAa,KAAK,CAAE,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC7D,MAAI,IAAA,CAAC,aAAa,KAAO,EAAA;AACvB,QAAA,MAAM,oBAAoB,YAAa,CAAA,KAAA,CAAA;AACvC,QAAA,OAAOA,2BACJ,CAAA,IAAA,CAAK,kBAAkB,IAAK,EAAC,EAC7B,MAAO,CAAA,iBAAA,CAAkB,QAAQ,CAAA,CACjC,OAAO,iBAAkB,CAAA,MAAA,EAAQ,CACjC,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB;AACA,MAAO,OAAA,SAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,oBAAoB,YAAY;AACpC,MAAI,IAAA;AACF,MAAA,IAAA,CAAA,MAAA,EAAA,eAA4B,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,EAAA;AAC5B,QAAI,CAAA,EAAA,GAAA,yBAAgC,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAClC,QAAA,IAAA,aAAA,CAAA,gBAAgC,EAAA;AAAA,UAClC,gBAAA,CAAAO,eAAA,CAAA,IAAA,CAAA,CAAA;AAAA,SACF;AAAA,OACF;AAEA,KAAM,CAAA;AACJ,IAAA,MAAA,kBAAiB,GAAA,CAAA,KAAA,KAAA;AACjB,MAAA,MAAM,EAAY,IAAA,EAAA,GAAA,KAAA,CAAA;AAAA,MAAA,MACL,SAAA,GAAA;AAAA,QACXA,eAAW,CAAA,EAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,KAAA;AAAA,QACXA,eAAW,CAAA,IAAA;AAAA,QACXA,eAAW,CAAA,GAAA;AAAA,QACXA,eAAW,CAAA,MAAA;AAAA,QACbA,eAAA,CAAA,QAAA;AACA,OAAI,CAAA;AACF,MAAA,IAAA,SAAA,CAAA,QAAqB,CAAA,IAAA,CAAA,EAAA;AACrB,QAAA,gBAAsB,CAAA,IAAA,CAAA,CAAA;AACtB,QAAA,KAAA,CAAM,eAAe,EAAA,CAAA;AAAA,QACvB,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,OAAA;AAOE,MAAA,IAAA,CAAAA,eAAqB,CAAA,KAAA,EAAAA,eAAA,CAAA,KAAA,EAAAA,eAAA,CAAA,WAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA,IAAA,aAAA,CAAA,KAAA,KAAA,IAAA,IAAA,aAAA,CAAA,KAAA,KAAA,IAAA,EAAA;AACrB,QAAK,KAAA,CAAA,gBAAiB,CAAK;AAAA,QAC7B,IAAA,CAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AAAA,OACF;AAEA,KAAM,CAAA;AAaJ,IAAM,MAAA,gBAAY,GAAA,CAAM,SAAa;AACrC,MAAA,IAAA,EAAM,CAA6B;AAAA,MAAA,MAC3B,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAAA,eAAA,CAAA;AAAA,MAAA,MACE,OAAA,GAAA;AAAA,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAY;AACuB,UAC9C,CAAA,KAAA,GAAA,CAAA;AAAA,UACO,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA,WAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AACC,QAAA,KACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAY;AACiB,UACxC,CAAA,KAAA,GAAA,CAAA;AAAA,UACM,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,QAAA,CAAA,IAAA,CAAA,QAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AACE,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAA,IAAA,GAAQ,CAAC,CAAA;AAC+B,UAC1C,CAAA,KAAA,GAAA,CAAA;AAAA,UACM,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,EAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AAAA,SAAA;AACE,QAAA,IACE,EAAA;AAAA,UACR,CAAC,EAAO,GAAA,CAAA,CAAA;AAAA,UACR,CAAC,IAAQ,GAAA,CAAA;AAAA,UACT,CAAC,IAAO,GAAA,CAAC,CAAe;AAAa,UACrC,CAAC,KAAM;AAAiC,UACxC,CAAC,IAAA,GAAA,CAAA,IAAU,KAAA,CAAA,IACJ,CAAA,MAAK,EAAK;AAA2C,UAC5D,CAAC,GAAA,GAAA,CAAA,IAAW,KAAC,CAAA,IACX,OAAS,EAAA,GAAA,CAAA;AAAoD,UAC/D,CAAA,MAAA,GAAqB,CAAA,IAAA,KAAA,CAAA,QAAsB,CAAQ,IAAA,CAAA,WAAa,EAAA,EAAA,IAAI,CAAI,QAAA,EAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA;AAAA,UAC1E,CAAA,QAAA,GAAA,CAAA,IAAA,KAAA,IAAA,IAAA,CAAA,IAAA,CAAA,WAAA,EAAA,EAAA,IAAA,CAAA,QAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA;AAAA,UACF,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,EAAA,GAAA,IAAA,CAAA;AAEA,SAAM;AACN,OAAO,CAAA;AACL,MAAM,MAAA,OAAA,YAA2B,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA;AACjC,MAAA,OAAK,IAAA,CAAA,GAAA,CAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,OAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA,GAAA,CAAA,EAAA;AAAK,QAAA,MAAA,GAAA,GAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACV,QAAA,IAAI,CACF,GAAA;AAKF,UAAI,OAAA;AACF,QAAA,GAAA,CAAA,MAAA,CAAA,OAAA,EAAAJ,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAAA,EAAA,GAAA,GAAA,CAAA,IAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,QACF,IAAA,YAAA,IAAA,YAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA;AACA,SAAA;AACA,QAAY,MAAA,MAAA,GAAAH,yBAAQ,QAAQ,CAAI,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAChC,QAAA,SAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AAAA,QACF,WAAA,CAAA,MAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QACF,MAAA;AAEA,OAAM;AACJ,KAAA,CAAA;AAA6E,IAC/E,MAAA,iBAAA,GAAA,CAAA,IAAA,KAAA;AAEA,MAAA,WACQ,CAAA,cACN,EAAA,SAAS,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,IAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACP,KAAA,CAAA;AACE,IAAAQ,SAAA,CAAA,MAAA,aAAoB,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AACpB,MAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA;AAAA,QACF,WAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,QAAA,OAAA;AAAoB,OAEtB;AAGF,MACE,WAAkB,CAAA,KAAA,GAAA,MAAA,CAAA;AAEhB,KAAA,EAAA,EAAA,SAAqB,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,IACvBA,SACF,CAAA,MAAA,WAAA,CAAA,KAAA,EAAA,MAAA;AAEA,MAAA,MACQ,IAAA,IAAA,GAAA,KAAA,CAAa,GACnB,MAAS,CAAA,YAAA,EAAA,CAAA;AACP,KAAA,CAAA,CAAA;AACE,IAAAA,SAAA,CAAA,MAAA,YAAkC,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACpC,IAAA,GAAA,EAAA;AAAA,QAEF,SAAa,CAAA,KAAA,GACf,eAAA,EAAA,CAAA;AAEA,OAAA;AAGI,KAAA,EAAA,EAAA,SAAS,EAAA,IAAA,EAAA,CAAA,CAAA;AACP,IAAAA,SAAA,CAAA,uBAA4B,EAAA,CAAA,GAAA,KAAA;AAAS,MAAA,IAAA,GAAA,EAAA;AACrC,QAAI,IAAA,cAAc,KAAG,KAAA,OAAA;AAAG,UAAA,OAAA;AACxB,QAAA,IAAA,KAAA,CAAU,OAAQ,CAAA,GAAA,CAAA;AAAA,UACb,OAAA;AACL,QAAA,SAAA,CAAU,QAAQ,GAAgB,CAAA;AAAA,OACpC,MAAA;AAAA,QAEF,SAAa,CAAA,KAAA,GACf,eAAA,EAAA,CAAA;AAEA,OAAA;AACA,KAAA,EAAA,EAAA,SAAiC,EAAA,IAAA,EAAA,CAAA,CAAA;AACjC,IAAA,WAAA,CAAY,mBAAqB,EAAA,CAAC,cAAkB,EAAA,YAAA,CAAA,CAAA,CAAA;AACpD,IAAA,WAAA,CAAY,mBAAqB,EAAA,CAAC,gBAAqB,EAAA,cAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -701,6 +701,8 @@ declare const _default: import("vue").DefineComponent<{
701
701
  recordCursor: () => void;
702
702
  setCursor: () => void;
703
703
  resizeTextarea: () => void;
704
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
705
+ onceInitSizeTextarea: () => void;
704
706
  setNativeInputValue: () => void;
705
707
  handleInput: (event: Event) => Promise<void>;
706
708
  handleChange: (event: Event) => void;
@@ -828,6 +828,8 @@ declare const _default: import("vue").DefineComponent<{
828
828
  recordCursor: () => void;
829
829
  setCursor: () => void;
830
830
  resizeTextarea: () => void;
831
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
832
+ onceInitSizeTextarea: () => void;
831
833
  setNativeInputValue: () => void;
832
834
  handleInput: (event: Event) => Promise<void>;
833
835
  handleChange: (event: Event) => void;
@@ -826,6 +826,8 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
826
826
  recordCursor: () => void;
827
827
  setCursor: () => void;
828
828
  resizeTextarea: () => void;
829
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
830
+ onceInitSizeTextarea: () => void;
829
831
  setNativeInputValue: () => void;
830
832
  handleInput: (event: Event) => Promise<void>;
831
833
  handleChange: (event: Event) => void;
@@ -9439,6 +9441,8 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
9439
9441
  recordCursor: () => void;
9440
9442
  setCursor: () => void;
9441
9443
  resizeTextarea: () => void;
9444
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
9445
+ onceInitSizeTextarea: () => void;
9442
9446
  setNativeInputValue: () => void;
9443
9447
  handleInput: (event: Event) => Promise<void>;
9444
9448
  handleChange: (event: Event) => void;
@@ -19,6 +19,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
19
19
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
20
20
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
21
21
  readonly scrollToError: BooleanConstructor;
22
+ readonly scrollIntoViewOptions: {
23
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
22
28
  readonly size: {
23
29
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
24
30
  readonly required: false;
@@ -47,6 +53,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
47
53
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
48
54
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
49
55
  readonly scrollToError: BooleanConstructor;
56
+ readonly scrollIntoViewOptions: {
57
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
58
+ readonly required: false;
59
+ readonly validator: ((val: unknown) => boolean) | undefined;
60
+ __epPropKey: true;
61
+ };
50
62
  readonly size: {
51
63
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
52
64
  readonly required: false;
@@ -112,6 +124,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
112
124
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
113
125
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
114
126
  readonly scrollToError: BooleanConstructor;
127
+ readonly scrollIntoViewOptions: {
128
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
129
+ readonly required: false;
130
+ readonly validator: ((val: unknown) => boolean) | undefined;
131
+ __epPropKey: true;
132
+ };
115
133
  readonly size: {
116
134
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
117
135
  readonly required: false;
@@ -28,6 +28,12 @@ export declare const formProps: {
28
28
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
29
29
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
30
30
  readonly scrollToError: BooleanConstructor;
31
+ readonly scrollIntoViewOptions: {
32
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
33
+ readonly required: false;
34
+ readonly validator: ((val: unknown) => boolean) | undefined;
35
+ __epPropKey: true;
36
+ };
31
37
  readonly size: {
32
38
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
33
39
  readonly required: false;
@@ -55,7 +55,10 @@ const formProps = runtime.buildProps({
55
55
  type: Boolean,
56
56
  default: false
57
57
  },
58
- scrollToError: Boolean
58
+ scrollToError: Boolean,
59
+ scrollIntoViewOptions: {
60
+ type: [Object, Boolean]
61
+ }
59
62
  });
60
63
  const formEmits = {
61
64
  validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && core.isBoolean(isValid) && shared.isString(message)
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nconst formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;;;AAQA,MAAM,aAAa,GAAGA,kBAAU,CAAC;AACjC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,cAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nconst formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;;;AAQA,MAAM,aAAa,GAAGA,kBAAU,CAAC;AACjC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,cAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
@@ -20,6 +20,12 @@ declare const _default: import("vue").DefineComponent<{
20
20
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
21
21
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
22
22
  readonly scrollToError: BooleanConstructor;
23
+ readonly scrollIntoViewOptions: {
24
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
25
+ readonly required: false;
26
+ readonly validator: ((val: unknown) => boolean) | undefined;
27
+ __epPropKey: true;
28
+ };
23
29
  readonly size: {
24
30
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
25
31
  readonly required: false;
@@ -48,6 +54,12 @@ declare const _default: import("vue").DefineComponent<{
48
54
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
49
55
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
50
56
  readonly scrollToError: BooleanConstructor;
57
+ readonly scrollIntoViewOptions: {
58
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
59
+ readonly required: false;
60
+ readonly validator: ((val: unknown) => boolean) | undefined;
61
+ __epPropKey: true;
62
+ };
51
63
  readonly size: {
52
64
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
53
65
  readonly required: false;
@@ -113,6 +125,12 @@ declare const _default: import("vue").DefineComponent<{
113
125
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
114
126
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
115
127
  readonly scrollToError: BooleanConstructor;
128
+ readonly scrollIntoViewOptions: {
129
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
130
+ readonly required: false;
131
+ readonly validator: ((val: unknown) => boolean) | undefined;
132
+ __epPropKey: true;
133
+ };
116
134
  readonly size: {
117
135
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
118
136
  readonly required: false;
@@ -119,7 +119,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
119
119
  var _a;
120
120
  const field = utils.filterFields(fields, prop)[0];
121
121
  if (field) {
122
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView();
122
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
123
123
  }
124
124
  };
125
125
  vue.watch(() => props.rules, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView()\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n})\n</script>\n"],"names":["useFormSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
1
+ {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n})\n</script>\n"],"names":["useFormSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
@@ -219,6 +219,8 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
219
219
  recordCursor: () => void;
220
220
  setCursor: () => void;
221
221
  resizeTextarea: () => void;
222
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
223
+ onceInitSizeTextarea: () => void;
222
224
  setNativeInputValue: () => void;
223
225
  handleInput: (event: Event) => Promise<void>;
224
226
  handleChange: (event: Event) => void;
@@ -219,6 +219,8 @@ declare const _default: import("vue").DefineComponent<{
219
219
  recordCursor: () => void;
220
220
  setCursor: () => void;
221
221
  resizeTextarea: () => void;
222
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
223
+ onceInitSizeTextarea: () => void;
222
224
  setNativeInputValue: () => void;
223
225
  handleInput: (event: Event) => Promise<void>;
224
226
  handleChange: (event: Event) => void;
@@ -115,6 +115,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
115
115
  const suffixVisible = vue.computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value);
116
116
  const [recordCursor, setCursor] = index$2.useCursor(input);
117
117
  core.useResizeObserver(textarea, (entries) => {
118
+ onceInitSizeTextarea();
118
119
  if (!isWordLimitVisible.value || props.resize !== "both")
119
120
  return;
120
121
  const entry = entries[0];
@@ -130,15 +131,35 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
130
131
  if (autosize) {
131
132
  const minRows = shared.isObject(autosize) ? autosize.minRows : void 0;
132
133
  const maxRows = shared.isObject(autosize) ? autosize.maxRows : void 0;
134
+ const textareaStyle2 = utils.calcTextareaHeight(textarea.value, minRows, maxRows);
133
135
  textareaCalcStyle.value = {
134
- ...utils.calcTextareaHeight(textarea.value, minRows, maxRows)
136
+ overflowY: "hidden",
137
+ ...textareaStyle2
135
138
  };
139
+ vue.nextTick(() => {
140
+ textarea.value.offsetHeight;
141
+ textareaCalcStyle.value = textareaStyle2;
142
+ });
136
143
  } else {
137
144
  textareaCalcStyle.value = {
138
145
  minHeight: utils.calcTextareaHeight(textarea.value).minHeight
139
146
  };
140
147
  }
141
148
  };
149
+ const createOnceInitResize = (resizeTextarea2) => {
150
+ let isInit = false;
151
+ return () => {
152
+ var _a;
153
+ if (isInit || !props.autosize)
154
+ return;
155
+ const isElHidden = ((_a = textarea.value) == null ? void 0 : _a.offsetParent) === null;
156
+ if (!isElHidden) {
157
+ resizeTextarea2();
158
+ isInit = true;
159
+ }
160
+ };
161
+ };
162
+ const onceInitSizeTextarea = createOnceInitResize(resizeTextarea);
142
163
  const setNativeInputValue = () => {
143
164
  const input2 = _ref.value;
144
165
  if (!input2 || input2.value === nativeInputValue.value)