@element-plus/nightly 0.0.20220324 → 0.0.20220327

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 (1028) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +767 -74
  3. package/dist/index.full.min.js +10 -10
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +12 -12
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +762 -75
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/bg.js +1 -1
  17. package/dist/locale/bg.min.js +1 -1
  18. package/dist/locale/bg.min.mjs +1 -1
  19. package/dist/locale/bg.mjs +1 -1
  20. package/dist/locale/bn.js +1 -1
  21. package/dist/locale/bn.min.js +1 -1
  22. package/dist/locale/bn.min.mjs +1 -1
  23. package/dist/locale/bn.mjs +1 -1
  24. package/dist/locale/ca.js +1 -1
  25. package/dist/locale/ca.min.js +1 -1
  26. package/dist/locale/ca.min.mjs +1 -1
  27. package/dist/locale/ca.mjs +1 -1
  28. package/dist/locale/cs.js +1 -1
  29. package/dist/locale/cs.min.js +1 -1
  30. package/dist/locale/cs.min.mjs +1 -1
  31. package/dist/locale/cs.mjs +1 -1
  32. package/dist/locale/da.js +1 -1
  33. package/dist/locale/da.min.js +1 -1
  34. package/dist/locale/da.min.mjs +1 -1
  35. package/dist/locale/da.mjs +1 -1
  36. package/dist/locale/de.js +1 -1
  37. package/dist/locale/de.min.js +1 -1
  38. package/dist/locale/de.min.mjs +1 -1
  39. package/dist/locale/de.mjs +1 -1
  40. package/dist/locale/el.js +1 -1
  41. package/dist/locale/el.min.js +1 -1
  42. package/dist/locale/el.min.mjs +1 -1
  43. package/dist/locale/el.mjs +1 -1
  44. package/dist/locale/en.js +1 -1
  45. package/dist/locale/en.min.js +1 -1
  46. package/dist/locale/en.min.mjs +1 -1
  47. package/dist/locale/en.mjs +1 -1
  48. package/dist/locale/eo.js +1 -1
  49. package/dist/locale/eo.min.js +1 -1
  50. package/dist/locale/eo.min.mjs +1 -1
  51. package/dist/locale/eo.mjs +1 -1
  52. package/dist/locale/es.js +1 -1
  53. package/dist/locale/es.min.js +1 -1
  54. package/dist/locale/es.min.mjs +1 -1
  55. package/dist/locale/es.mjs +1 -1
  56. package/dist/locale/et.js +1 -1
  57. package/dist/locale/et.min.js +1 -1
  58. package/dist/locale/et.min.mjs +1 -1
  59. package/dist/locale/et.mjs +1 -1
  60. package/dist/locale/eu.js +1 -1
  61. package/dist/locale/eu.min.js +1 -1
  62. package/dist/locale/eu.min.mjs +1 -1
  63. package/dist/locale/eu.mjs +1 -1
  64. package/dist/locale/fa.js +1 -1
  65. package/dist/locale/fa.min.js +1 -1
  66. package/dist/locale/fa.min.mjs +1 -1
  67. package/dist/locale/fa.mjs +1 -1
  68. package/dist/locale/fi.js +1 -1
  69. package/dist/locale/fi.min.js +1 -1
  70. package/dist/locale/fi.min.mjs +1 -1
  71. package/dist/locale/fi.mjs +1 -1
  72. package/dist/locale/fr.js +1 -1
  73. package/dist/locale/fr.min.js +1 -1
  74. package/dist/locale/fr.min.mjs +1 -1
  75. package/dist/locale/fr.mjs +1 -1
  76. package/dist/locale/he.js +1 -1
  77. package/dist/locale/he.min.js +1 -1
  78. package/dist/locale/he.min.mjs +1 -1
  79. package/dist/locale/he.mjs +1 -1
  80. package/dist/locale/hr.js +1 -1
  81. package/dist/locale/hr.min.js +1 -1
  82. package/dist/locale/hr.min.mjs +1 -1
  83. package/dist/locale/hr.mjs +1 -1
  84. package/dist/locale/hu.js +1 -1
  85. package/dist/locale/hu.min.js +1 -1
  86. package/dist/locale/hu.min.mjs +1 -1
  87. package/dist/locale/hu.mjs +1 -1
  88. package/dist/locale/hy-am.js +1 -1
  89. package/dist/locale/hy-am.min.js +1 -1
  90. package/dist/locale/hy-am.min.mjs +1 -1
  91. package/dist/locale/hy-am.mjs +1 -1
  92. package/dist/locale/id.js +1 -1
  93. package/dist/locale/id.min.js +1 -1
  94. package/dist/locale/id.min.mjs +1 -1
  95. package/dist/locale/id.mjs +1 -1
  96. package/dist/locale/it.js +1 -1
  97. package/dist/locale/it.min.js +1 -1
  98. package/dist/locale/it.min.mjs +1 -1
  99. package/dist/locale/it.mjs +1 -1
  100. package/dist/locale/ja.js +1 -1
  101. package/dist/locale/ja.min.js +1 -1
  102. package/dist/locale/ja.min.mjs +1 -1
  103. package/dist/locale/ja.mjs +1 -1
  104. package/dist/locale/kk.js +1 -1
  105. package/dist/locale/kk.min.js +1 -1
  106. package/dist/locale/kk.min.mjs +1 -1
  107. package/dist/locale/kk.mjs +1 -1
  108. package/dist/locale/km.js +1 -1
  109. package/dist/locale/km.min.js +1 -1
  110. package/dist/locale/km.min.mjs +1 -1
  111. package/dist/locale/km.mjs +1 -1
  112. package/dist/locale/ko.js +1 -1
  113. package/dist/locale/ko.min.js +1 -1
  114. package/dist/locale/ko.min.mjs +1 -1
  115. package/dist/locale/ko.mjs +1 -1
  116. package/dist/locale/ku.js +1 -1
  117. package/dist/locale/ku.min.js +1 -1
  118. package/dist/locale/ku.min.mjs +1 -1
  119. package/dist/locale/ku.mjs +1 -1
  120. package/dist/locale/ky.js +1 -1
  121. package/dist/locale/ky.min.js +1 -1
  122. package/dist/locale/ky.min.mjs +1 -1
  123. package/dist/locale/ky.mjs +1 -1
  124. package/dist/locale/lt.js +1 -1
  125. package/dist/locale/lt.min.js +1 -1
  126. package/dist/locale/lt.min.mjs +1 -1
  127. package/dist/locale/lt.mjs +1 -1
  128. package/dist/locale/lv.js +1 -1
  129. package/dist/locale/lv.min.js +1 -1
  130. package/dist/locale/lv.min.mjs +1 -1
  131. package/dist/locale/lv.mjs +1 -1
  132. package/dist/locale/mg.js +1 -1
  133. package/dist/locale/mg.min.js +1 -1
  134. package/dist/locale/mg.min.mjs +1 -1
  135. package/dist/locale/mg.mjs +1 -1
  136. package/dist/locale/mn.js +1 -1
  137. package/dist/locale/mn.min.js +1 -1
  138. package/dist/locale/mn.min.mjs +1 -1
  139. package/dist/locale/mn.mjs +1 -1
  140. package/dist/locale/nb-no.js +1 -1
  141. package/dist/locale/nb-no.min.js +1 -1
  142. package/dist/locale/nb-no.min.mjs +1 -1
  143. package/dist/locale/nb-no.mjs +1 -1
  144. package/dist/locale/nl.js +1 -1
  145. package/dist/locale/nl.min.js +1 -1
  146. package/dist/locale/nl.min.mjs +1 -1
  147. package/dist/locale/nl.mjs +1 -1
  148. package/dist/locale/pa.js +1 -1
  149. package/dist/locale/pa.min.js +1 -1
  150. package/dist/locale/pa.min.mjs +1 -1
  151. package/dist/locale/pa.mjs +1 -1
  152. package/dist/locale/pl.js +1 -1
  153. package/dist/locale/pl.min.js +1 -1
  154. package/dist/locale/pl.min.mjs +1 -1
  155. package/dist/locale/pl.mjs +1 -1
  156. package/dist/locale/pt-br.js +1 -1
  157. package/dist/locale/pt-br.min.js +1 -1
  158. package/dist/locale/pt-br.min.mjs +1 -1
  159. package/dist/locale/pt-br.mjs +1 -1
  160. package/dist/locale/pt.js +1 -1
  161. package/dist/locale/pt.min.js +1 -1
  162. package/dist/locale/pt.min.mjs +1 -1
  163. package/dist/locale/pt.mjs +1 -1
  164. package/dist/locale/ro.js +1 -1
  165. package/dist/locale/ro.min.js +1 -1
  166. package/dist/locale/ro.min.mjs +1 -1
  167. package/dist/locale/ro.mjs +1 -1
  168. package/dist/locale/ru.js +1 -1
  169. package/dist/locale/ru.min.js +1 -1
  170. package/dist/locale/ru.min.mjs +1 -1
  171. package/dist/locale/ru.mjs +1 -1
  172. package/dist/locale/sk.js +1 -1
  173. package/dist/locale/sk.min.js +1 -1
  174. package/dist/locale/sk.min.mjs +1 -1
  175. package/dist/locale/sk.mjs +1 -1
  176. package/dist/locale/sl.js +1 -1
  177. package/dist/locale/sl.min.js +1 -1
  178. package/dist/locale/sl.min.mjs +1 -1
  179. package/dist/locale/sl.mjs +1 -1
  180. package/dist/locale/sr.js +1 -1
  181. package/dist/locale/sr.min.js +1 -1
  182. package/dist/locale/sr.min.mjs +1 -1
  183. package/dist/locale/sr.mjs +1 -1
  184. package/dist/locale/sv.js +1 -1
  185. package/dist/locale/sv.min.js +1 -1
  186. package/dist/locale/sv.min.mjs +1 -1
  187. package/dist/locale/sv.mjs +1 -1
  188. package/dist/locale/ta.js +1 -1
  189. package/dist/locale/ta.min.js +1 -1
  190. package/dist/locale/ta.min.mjs +1 -1
  191. package/dist/locale/ta.mjs +1 -1
  192. package/dist/locale/th.js +1 -1
  193. package/dist/locale/th.min.js +1 -1
  194. package/dist/locale/th.min.mjs +1 -1
  195. package/dist/locale/th.mjs +1 -1
  196. package/dist/locale/tk.js +1 -1
  197. package/dist/locale/tk.min.js +1 -1
  198. package/dist/locale/tk.min.mjs +1 -1
  199. package/dist/locale/tk.mjs +1 -1
  200. package/dist/locale/tr.js +1 -1
  201. package/dist/locale/tr.min.js +1 -1
  202. package/dist/locale/tr.min.mjs +1 -1
  203. package/dist/locale/tr.mjs +1 -1
  204. package/dist/locale/ug-cn.js +1 -1
  205. package/dist/locale/ug-cn.min.js +1 -1
  206. package/dist/locale/ug-cn.min.mjs +1 -1
  207. package/dist/locale/ug-cn.mjs +1 -1
  208. package/dist/locale/uk.js +1 -1
  209. package/dist/locale/uk.min.js +1 -1
  210. package/dist/locale/uk.min.mjs +1 -1
  211. package/dist/locale/uk.mjs +1 -1
  212. package/dist/locale/uz-uz.js +1 -1
  213. package/dist/locale/uz-uz.min.js +1 -1
  214. package/dist/locale/uz-uz.min.mjs +1 -1
  215. package/dist/locale/uz-uz.mjs +1 -1
  216. package/dist/locale/vi.js +1 -1
  217. package/dist/locale/vi.min.js +1 -1
  218. package/dist/locale/vi.min.mjs +1 -1
  219. package/dist/locale/vi.mjs +1 -1
  220. package/dist/locale/zh-cn.js +1 -1
  221. package/dist/locale/zh-cn.min.js +1 -1
  222. package/dist/locale/zh-cn.min.mjs +1 -1
  223. package/dist/locale/zh-cn.mjs +1 -1
  224. package/dist/locale/zh-tw.js +1 -1
  225. package/dist/locale/zh-tw.min.js +1 -1
  226. package/dist/locale/zh-tw.min.mjs +1 -1
  227. package/dist/locale/zh-tw.mjs +1 -1
  228. package/es/component.mjs.map +1 -1
  229. package/es/components/affix/src/affix2.mjs.map +1 -1
  230. package/es/components/alert/src/alert2.mjs.map +1 -1
  231. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  232. package/es/components/autocomplete/src/autocomplete2.mjs +1 -0
  233. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  234. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  235. package/es/components/backtop/index.d.ts +4 -2
  236. package/es/components/backtop/src/backtop.vue.d.ts +4 -2
  237. package/es/components/backtop/src/backtop2.mjs +7 -6
  238. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  239. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  240. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  241. package/es/components/button/src/button2.mjs.map +1 -1
  242. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  243. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  244. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  245. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  246. package/es/components/cascader/src/index.mjs +1 -1
  247. package/es/components/cascader/src/index.mjs.map +1 -1
  248. package/es/components/cascader/src/index.vue.d.ts +1 -1
  249. package/es/components/cascader-panel/src/config.d.ts +1 -1
  250. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  251. package/es/components/cascader-panel/src/index.mjs +1 -1
  252. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  253. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  254. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  255. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  256. package/es/components/cascader-panel/src/store.d.ts +1 -1
  257. package/es/components/cascader-panel/src/store.mjs.map +1 -1
  258. package/es/components/cascader-panel/src/types.d.ts +1 -1
  259. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  260. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  261. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  262. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  263. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  264. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  265. package/es/components/col/src/col.mjs.map +1 -1
  266. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  267. package/es/components/collapse/src/collapse.mjs.map +1 -1
  268. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  269. package/es/components/collection/src/collection.mjs.map +1 -1
  270. package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
  271. package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
  272. package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
  273. package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
  274. package/es/components/color-picker/src/draggable.mjs.map +1 -1
  275. package/es/components/color-picker/src/index.mjs.map +1 -1
  276. package/es/components/container/src/container.mjs.map +1 -1
  277. package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs.map +1 -1
  278. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  279. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  280. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  281. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  282. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  283. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  284. package/es/components/descriptions/src/index.mjs.map +1 -1
  285. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  286. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  287. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  288. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  289. package/es/components/drawer/src/drawer.mjs.map +1 -1
  290. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  291. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  292. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  293. package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
  294. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  295. package/es/components/form/src/form-item2.mjs.map +1 -1
  296. package/es/components/form/src/form-label-wrap.mjs.map +1 -1
  297. package/es/components/form/src/form.mjs.map +1 -1
  298. package/es/components/form/src/form2.mjs.map +1 -1
  299. package/es/components/icon/src/icon.mjs.map +1 -1
  300. package/es/components/icon/src/icon2.mjs.map +1 -1
  301. package/es/components/image/src/image.mjs.map +1 -1
  302. package/es/components/image/src/image2.mjs.map +1 -1
  303. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  304. package/es/components/index.mjs +1 -1
  305. package/es/components/infinite-scroll/src/index.d.ts +1 -1
  306. package/es/components/infinite-scroll/src/index.mjs.map +1 -1
  307. package/es/components/input/src/input.d.ts +1 -1
  308. package/es/components/input/src/input.mjs.map +1 -1
  309. package/es/components/input/src/input2.mjs.map +1 -1
  310. package/es/components/input-number/index.d.ts +6 -6
  311. package/es/components/input-number/src/input-number.d.ts +2 -2
  312. package/es/components/input-number/src/input-number.mjs.map +1 -1
  313. package/es/components/input-number/src/input-number.vue.d.ts +6 -6
  314. package/es/components/input-number/src/input-number2.mjs +35 -54
  315. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  316. package/es/components/link/src/link2.mjs.map +1 -1
  317. package/es/components/loading/src/directive.mjs.map +1 -1
  318. package/es/components/loading/src/loading.mjs.map +1 -1
  319. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  320. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  321. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  322. package/es/components/menu/src/menu.d.ts +1 -1
  323. package/es/components/menu/src/menu.mjs.map +1 -1
  324. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  325. package/es/components/menu/src/use-menu.d.ts +1 -1
  326. package/es/components/menu/src/use-menu.mjs.map +1 -1
  327. package/es/components/message/src/message-method.mjs.map +1 -1
  328. package/es/components/message/src/message.d.ts +1 -1
  329. package/es/components/message/src/message.mjs.map +1 -1
  330. package/es/components/message/src/message2.mjs.map +1 -1
  331. package/es/components/message-box/src/index.mjs.map +1 -1
  332. package/es/components/message-box/src/message-box.type.d.ts +1 -1
  333. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  334. package/es/components/notification/src/notification.d.ts +1 -1
  335. package/es/components/notification/src/notification.mjs.map +1 -1
  336. package/es/components/notification/src/notification2.mjs.map +1 -1
  337. package/es/components/notification/src/notify.mjs.map +1 -1
  338. package/es/components/overlay/src/overlay.mjs.map +1 -1
  339. package/es/components/page-header/src/page-header.mjs.map +1 -1
  340. package/es/components/pagination/src/components/next.mjs.map +1 -1
  341. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  342. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  343. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  344. package/es/components/pagination/src/pagination.d.ts +1 -1
  345. package/es/components/pagination/src/pagination.mjs.map +1 -1
  346. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  347. package/es/components/popover/src/index.mjs.map +1 -1
  348. package/es/components/popper/src/content.d.ts +1 -1
  349. package/es/components/popper/src/content.mjs.map +1 -1
  350. package/es/components/popper/src/content2.mjs.map +1 -1
  351. package/es/components/progress/src/progress.mjs.map +1 -1
  352. package/es/components/progress/src/progress2.mjs.map +1 -1
  353. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  354. package/es/components/radio/src/radio.mjs.map +1 -1
  355. package/es/components/radio/src/radio2.mjs.map +1 -1
  356. package/es/components/rate/src/rate.mjs.map +1 -1
  357. package/es/components/rate/src/rate2.mjs.map +1 -1
  358. package/es/components/result/src/result.mjs.map +1 -1
  359. package/es/components/result/src/result2.mjs.map +1 -1
  360. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  361. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  362. package/es/components/roving-focus-group/src/tokens.d.ts +1 -1
  363. package/es/components/roving-focus-group/src/tokens.mjs.map +1 -1
  364. package/es/components/row/src/row.mjs.map +1 -1
  365. package/es/components/scrollbar/src/scrollbar.d.ts +1 -1
  366. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  367. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  368. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  369. package/es/components/select/src/option-group.mjs.map +1 -1
  370. package/es/components/select/src/option.mjs.map +1 -1
  371. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  372. package/es/components/select/src/select.mjs +1 -1
  373. package/es/components/select/src/select.mjs.map +1 -1
  374. package/es/components/select/src/select.vue.d.ts +1 -1
  375. package/es/components/select/src/useOption.mjs.map +1 -1
  376. package/es/components/select/src/useSelect.mjs.map +1 -1
  377. package/es/components/select-v2/src/defaults.d.ts +1 -1
  378. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  379. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  380. package/es/components/select-v2/src/select.mjs.map +1 -1
  381. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  382. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  383. package/es/components/slider/src/index.mjs.map +1 -1
  384. package/es/components/slider/src/slider.type.d.ts +1 -1
  385. package/es/components/slider/src/useSlide.mjs.map +1 -1
  386. package/es/components/slider/src/useSliderButton.d.ts +1 -1
  387. package/es/components/slider/src/useSliderButton.mjs.map +1 -1
  388. package/es/components/slider/src/useStops.mjs.map +1 -1
  389. package/es/components/slot/src/only-child.d.ts +1 -1
  390. package/es/components/slot/src/only-child.mjs.map +1 -1
  391. package/es/components/space/src/item.mjs.map +1 -1
  392. package/es/components/space/src/space.d.ts +1 -1
  393. package/es/components/space/src/space.mjs.map +1 -1
  394. package/es/components/space/src/use-space.mjs.map +1 -1
  395. package/es/components/steps/src/index.mjs.map +1 -1
  396. package/es/components/steps/src/item.mjs.map +1 -1
  397. package/es/components/steps/src/item.vue.d.ts +1 -1
  398. package/es/components/switch/src/switch.mjs.map +1 -1
  399. package/es/components/switch/src/switch2.mjs.map +1 -1
  400. package/es/components/table/src/filter-panel.mjs.map +1 -1
  401. package/es/components/table/src/filter-panel.vue.d.ts +1 -1
  402. package/es/components/table/src/layout-observer.mjs.map +1 -1
  403. package/es/components/table/src/store/current.mjs.map +1 -1
  404. package/es/components/table/src/store/expand.mjs.map +1 -1
  405. package/es/components/table/src/store/index.mjs.map +1 -1
  406. package/es/components/table/src/store/tree.mjs.map +1 -1
  407. package/es/components/table/src/store/watcher.mjs.map +1 -1
  408. package/es/components/table/src/table/defaults.d.ts +1 -1
  409. package/es/components/table/src/table/defaults.mjs.map +1 -1
  410. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  411. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  412. package/es/components/table/src/table-body/index.mjs.map +1 -1
  413. package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
  414. package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
  415. package/es/components/table/src/table-column/defaults.d.ts +1 -1
  416. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  417. package/es/components/table/src/table-column/index.mjs.map +1 -1
  418. package/es/components/table/src/table-column/render-helper.mjs +3 -2
  419. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  420. package/es/components/table/src/table-column/watcher-helper.mjs.map +1 -1
  421. package/es/components/table/src/table-footer/style-helper.mjs.map +1 -1
  422. package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
  423. package/es/components/table/src/table-header/index.d.ts +1 -1
  424. package/es/components/table/src/table-header/index.mjs.map +1 -1
  425. package/es/components/table/src/table-header/style.helper.mjs.map +1 -1
  426. package/es/components/table/src/table-layout.mjs.map +1 -1
  427. package/es/components/table/src/table.mjs.map +1 -1
  428. package/es/components/table/src/util.mjs.map +1 -1
  429. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  430. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  431. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  432. package/es/components/tabs/src/tabs.d.ts +1 -1
  433. package/es/components/tabs/src/tabs.mjs.map +1 -1
  434. package/es/components/tag/index.mjs +2 -2
  435. package/es/components/tag/src/tag.mjs +89 -28
  436. package/es/components/tag/src/tag.mjs.map +1 -1
  437. package/es/components/tag/src/tag2.mjs +28 -89
  438. package/es/components/tag/src/tag2.mjs.map +1 -1
  439. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  440. package/es/components/time-picker/src/common/props.d.ts +1 -1
  441. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  442. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +1 -1
  443. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  444. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  445. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  446. package/es/components/time-picker/src/time-picker.mjs.map +1 -1
  447. package/es/components/time-select/src/time-select.mjs.map +1 -1
  448. package/es/components/time-select/src/time-select.vue.d.ts +1 -1
  449. package/es/components/timeline/src/timeline.mjs.map +1 -1
  450. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  451. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  452. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  453. package/es/components/tooltip-v2/index.d.ts +0 -0
  454. package/es/components/tooltip-v2/index.mjs +2 -0
  455. package/es/components/tooltip-v2/index.mjs.map +1 -0
  456. package/es/components/tooltip-v2/src/arrow.d.ts +7 -0
  457. package/es/components/tooltip-v2/src/arrow.mjs +20 -0
  458. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -0
  459. package/es/components/tooltip-v2/src/arrow.vue.d.ts +24 -0
  460. package/es/components/tooltip-v2/src/arrow2.mjs +29 -0
  461. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -0
  462. package/es/components/tooltip-v2/src/common.d.ts +8 -0
  463. package/es/components/tooltip-v2/src/common.mjs +9 -0
  464. package/es/components/tooltip-v2/src/common.mjs.map +1 -0
  465. package/es/components/tooltip-v2/src/content.d.ts +11 -0
  466. package/es/components/tooltip-v2/src/content.mjs +46 -0
  467. package/es/components/tooltip-v2/src/content.mjs.map +1 -0
  468. package/es/components/tooltip-v2/src/content.vue.d.ts +106 -0
  469. package/es/components/tooltip-v2/src/content2.mjs +83 -0
  470. package/es/components/tooltip-v2/src/content2.mjs.map +1 -0
  471. package/es/components/tooltip-v2/src/forward-ref.d.ts +17 -0
  472. package/es/components/tooltip-v2/src/forward-ref.mjs +39 -0
  473. package/es/components/tooltip-v2/src/forward-ref.mjs.map +1 -0
  474. package/es/components/tooltip-v2/src/root.d.ts +11 -0
  475. package/es/components/tooltip-v2/src/root.mjs +23 -0
  476. package/es/components/tooltip-v2/src/root.mjs.map +1 -0
  477. package/es/components/tooltip-v2/src/root.vue.d.ts +42 -0
  478. package/es/components/tooltip-v2/src/root2.mjs +80 -0
  479. package/es/components/tooltip-v2/src/root2.mjs.map +1 -0
  480. package/es/components/tooltip-v2/src/tooltip.d.ts +24 -0
  481. package/es/components/tooltip-v2/src/tooltip.mjs +14 -0
  482. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -0
  483. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +440 -0
  484. package/es/components/tooltip-v2/src/tooltip2.mjs +52 -0
  485. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -0
  486. package/es/components/tooltip-v2/src/trigger.d.ts +10 -0
  487. package/es/components/tooltip-v2/src/trigger.mjs +17 -0
  488. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -0
  489. package/es/components/tooltip-v2/src/trigger.vue.d.ts +69 -0
  490. package/es/components/tooltip-v2/src/trigger2.mjs +90 -0
  491. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -0
  492. package/es/components/transfer/src/index.mjs.map +1 -1
  493. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  494. package/es/components/transfer/src/useCheck.d.ts +1 -1
  495. package/es/components/transfer/src/useCheck.mjs.map +1 -1
  496. package/es/components/transfer/src/useCheckedChange.d.ts +1 -1
  497. package/es/components/transfer/src/useCheckedChange.mjs.map +1 -1
  498. package/es/components/transfer/src/useMove.d.ts +1 -1
  499. package/es/components/transfer/src/useMove.mjs.map +1 -1
  500. package/es/components/tree/src/model/node.d.ts +1 -1
  501. package/es/components/tree/src/model/node.mjs.map +1 -1
  502. package/es/components/tree/src/model/tree-store.d.ts +1 -1
  503. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  504. package/es/components/tree/src/model/useKeydown.mjs.map +1 -1
  505. package/es/components/tree/src/tree-node-content.mjs.map +1 -1
  506. package/es/components/tree/src/tree-node.mjs.map +1 -1
  507. package/es/components/tree/src/tree-node.vue.d.ts +1 -1
  508. package/es/components/tree/src/tree.mjs.map +1 -1
  509. package/es/components/tree/src/tree.type.d.ts +1 -1
  510. package/es/components/tree/src/tree.vue.d.ts +2 -2
  511. package/es/components/tree-v2/src/composables/useCheck.d.ts +1 -1
  512. package/es/components/tree-v2/src/composables/useCheck.mjs +1 -0
  513. package/es/components/tree-v2/src/composables/useCheck.mjs.map +1 -1
  514. package/es/components/tree-v2/src/composables/useFilter.d.ts +1 -1
  515. package/es/components/tree-v2/src/composables/useFilter.mjs.map +1 -1
  516. package/es/components/tree-v2/src/composables/useTree.d.ts +1 -1
  517. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  518. package/es/components/tree-v2/src/tree-node-content.mjs.map +1 -1
  519. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  520. package/es/components/tree-v2/src/types.d.ts +2 -2
  521. package/es/components/tree-v2/src/virtual-tree.d.ts +1 -1
  522. package/es/components/tree-v2/src/virtual-tree.mjs.map +1 -1
  523. package/es/components/upload/index.d.ts +4 -4
  524. package/es/components/upload/src/ajax.mjs.map +1 -1
  525. package/es/components/upload/src/upload-content.d.ts +1 -1
  526. package/es/components/upload/src/upload-content.mjs.map +1 -1
  527. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  528. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  529. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  530. package/es/components/upload/src/upload-list.mjs.map +1 -1
  531. package/es/components/upload/src/upload-list.vue.d.ts +4 -4
  532. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  533. package/es/components/upload/src/upload.vue.d.ts +4 -4
  534. package/es/components/upload/src/upload2.mjs.map +1 -1
  535. package/es/components/upload/src/use-handlers.d.ts +1 -1
  536. package/es/components/upload/src/use-handlers.mjs.map +1 -1
  537. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  538. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  539. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  540. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  541. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
  542. package/es/components/virtual-list/src/components/dynamic-size-list.mjs.map +1 -1
  543. package/es/components/virtual-list/src/components/fixed-size-grid.mjs.map +1 -1
  544. package/es/components/virtual-list/src/components/fixed-size-list.mjs.map +1 -1
  545. package/es/components/virtual-list/src/components/scrollbar.mjs.map +1 -1
  546. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs.map +1 -1
  547. package/es/components/virtual-list/src/hooks/use-wheel.mjs.map +1 -1
  548. package/es/components/virtual-list/src/utils.d.ts +1 -1
  549. package/es/components/virtual-list/src/utils.mjs.map +1 -1
  550. package/es/directives/mousewheel/index.mjs.map +1 -1
  551. package/es/directives/repeat-click/index.mjs.map +1 -1
  552. package/es/directives/resize/index.mjs.map +1 -1
  553. package/es/directives/trap-focus/index.mjs.map +1 -1
  554. package/es/hooks/index.d.ts +1 -0
  555. package/es/hooks/index.mjs +1 -0
  556. package/es/hooks/index.mjs.map +1 -1
  557. package/es/hooks/use-attrs/index.mjs.map +1 -1
  558. package/es/hooks/use-common-props/index.mjs.map +1 -1
  559. package/es/hooks/use-delayed-toggle/index.d.ts +1 -1
  560. package/es/hooks/use-delayed-toggle/index.mjs.map +1 -1
  561. package/es/hooks/use-draggable/index.d.ts +1 -1
  562. package/es/hooks/use-draggable/index.mjs.map +1 -1
  563. package/es/hooks/use-escape-keydown/index.mjs.map +1 -1
  564. package/es/hooks/use-floating/index.d.ts +69 -0
  565. package/es/hooks/use-floating/index.mjs +90 -0
  566. package/es/hooks/use-floating/index.mjs.map +1 -0
  567. package/es/hooks/use-global-config/index.d.ts +1 -1
  568. package/es/hooks/use-global-config/index.mjs.map +1 -1
  569. package/es/hooks/use-intermediate-render/index.mjs.map +1 -1
  570. package/es/hooks/use-locale/index.mjs.map +1 -1
  571. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  572. package/es/hooks/use-model-toggle/index.d.ts +1 -1
  573. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  574. package/es/hooks/use-namespace/index.mjs.map +1 -1
  575. package/es/hooks/use-prop/index.mjs.map +1 -1
  576. package/es/hooks/use-teleport/index.d.ts +1 -1
  577. package/es/hooks/use-teleport/index.mjs.map +1 -1
  578. package/es/hooks/use-z-index/index.mjs.map +1 -1
  579. package/es/index.mjs +3 -1
  580. package/es/index.mjs.map +1 -1
  581. package/es/tokens/config-provider.d.ts +1 -1
  582. package/es/tokens/config-provider.mjs.map +1 -1
  583. package/es/tokens/dialog.d.ts +1 -1
  584. package/es/tokens/dialog.mjs.map +1 -1
  585. package/es/tokens/form.d.ts +1 -1
  586. package/es/tokens/form.mjs.map +1 -1
  587. package/es/tokens/index.d.ts +1 -0
  588. package/es/tokens/index.mjs +1 -0
  589. package/es/tokens/index.mjs.map +1 -1
  590. package/es/tokens/pagination.d.ts +1 -1
  591. package/es/tokens/pagination.mjs.map +1 -1
  592. package/es/tokens/tabs.d.ts +2 -2
  593. package/es/tokens/tabs.mjs.map +1 -1
  594. package/es/tokens/tooltip-v2.d.ts +10 -0
  595. package/es/tokens/tooltip-v2.mjs +5 -0
  596. package/es/tokens/tooltip-v2.mjs.map +1 -0
  597. package/es/utils/index.mjs +2 -2
  598. package/es/utils/types.d.ts +1 -0
  599. package/es/utils/types.mjs +5 -1
  600. package/es/utils/types.mjs.map +1 -1
  601. package/es/utils/vue/icon.mjs.map +1 -1
  602. package/es/utils/vue/index.mjs +1 -1
  603. package/es/utils/vue/install.d.ts +1 -1
  604. package/es/utils/vue/install.mjs.map +1 -1
  605. package/es/utils/vue/refs.d.ts +2 -1
  606. package/es/utils/vue/refs.mjs +8 -1
  607. package/es/utils/vue/refs.mjs.map +1 -1
  608. package/es/utils/vue/style.mjs.map +1 -1
  609. package/es/utils/vue/vnode.d.ts +5 -2
  610. package/es/utils/vue/vnode.mjs +8 -2
  611. package/es/utils/vue/vnode.mjs.map +1 -1
  612. package/es/version.d.ts +1 -1
  613. package/es/version.mjs +1 -1
  614. package/es/version.mjs.map +1 -1
  615. package/lib/component.js.map +1 -1
  616. package/lib/components/affix/src/affix2.js.map +1 -1
  617. package/lib/components/alert/src/alert2.js.map +1 -1
  618. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  619. package/lib/components/autocomplete/src/autocomplete2.js +1 -0
  620. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  621. package/lib/components/avatar/src/avatar2.js.map +1 -1
  622. package/lib/components/backtop/index.d.ts +4 -2
  623. package/lib/components/backtop/src/backtop.vue.d.ts +4 -2
  624. package/lib/components/backtop/src/backtop2.js +7 -6
  625. package/lib/components/backtop/src/backtop2.js.map +1 -1
  626. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  627. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  628. package/lib/components/button/src/button2.js.map +1 -1
  629. package/lib/components/calendar/src/calendar2.js.map +1 -1
  630. package/lib/components/calendar/src/date-table2.js.map +1 -1
  631. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  632. package/lib/components/carousel/src/carousel2.js.map +1 -1
  633. package/lib/components/cascader/src/index.js +1 -1
  634. package/lib/components/cascader/src/index.js.map +1 -1
  635. package/lib/components/cascader/src/index.vue.d.ts +1 -1
  636. package/lib/components/cascader-panel/src/config.d.ts +1 -1
  637. package/lib/components/cascader-panel/src/config.js.map +1 -1
  638. package/lib/components/cascader-panel/src/index.js +1 -1
  639. package/lib/components/cascader-panel/src/index.js.map +1 -1
  640. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  641. package/lib/components/cascader-panel/src/node.js.map +1 -1
  642. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  643. package/lib/components/cascader-panel/src/store.d.ts +1 -1
  644. package/lib/components/cascader-panel/src/store.js.map +1 -1
  645. package/lib/components/cascader-panel/src/types.d.ts +1 -1
  646. package/lib/components/cascader-panel/src/types.js.map +1 -1
  647. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  648. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  649. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  650. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  651. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  652. package/lib/components/col/src/col.js.map +1 -1
  653. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  654. package/lib/components/collapse/src/collapse.js.map +1 -1
  655. package/lib/components/collapse/src/collapse2.js.map +1 -1
  656. package/lib/components/collection/src/collection.js.map +1 -1
  657. package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
  658. package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
  659. package/lib/components/color-picker/src/components/predefine.js.map +1 -1
  660. package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
  661. package/lib/components/color-picker/src/draggable.js.map +1 -1
  662. package/lib/components/color-picker/src/index.js.map +1 -1
  663. package/lib/components/container/src/container.js.map +1 -1
  664. package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js.map +1 -1
  665. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  666. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  667. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  668. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  669. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  670. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  671. package/lib/components/descriptions/src/index.js.map +1 -1
  672. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  673. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  674. package/lib/components/dialog/src/dialog2.js.map +1 -1
  675. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  676. package/lib/components/drawer/src/drawer.js.map +1 -1
  677. package/lib/components/drawer/src/drawer2.js.map +1 -1
  678. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  679. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  680. package/lib/components/dropdown/src/useDropdown.js.map +1 -1
  681. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  682. package/lib/components/form/src/form-item2.js.map +1 -1
  683. package/lib/components/form/src/form-label-wrap.js.map +1 -1
  684. package/lib/components/form/src/form.js.map +1 -1
  685. package/lib/components/form/src/form2.js.map +1 -1
  686. package/lib/components/icon/src/icon.js.map +1 -1
  687. package/lib/components/icon/src/icon2.js.map +1 -1
  688. package/lib/components/image/src/image.js.map +1 -1
  689. package/lib/components/image/src/image2.js.map +1 -1
  690. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  691. package/lib/components/index.js +1 -1
  692. package/lib/components/infinite-scroll/src/index.d.ts +1 -1
  693. package/lib/components/infinite-scroll/src/index.js.map +1 -1
  694. package/lib/components/input/src/input.d.ts +1 -1
  695. package/lib/components/input/src/input.js.map +1 -1
  696. package/lib/components/input/src/input2.js.map +1 -1
  697. package/lib/components/input-number/index.d.ts +6 -6
  698. package/lib/components/input-number/src/input-number.d.ts +2 -2
  699. package/lib/components/input-number/src/input-number.js.map +1 -1
  700. package/lib/components/input-number/src/input-number.vue.d.ts +6 -6
  701. package/lib/components/input-number/src/input-number2.js +35 -54
  702. package/lib/components/input-number/src/input-number2.js.map +1 -1
  703. package/lib/components/link/src/link2.js.map +1 -1
  704. package/lib/components/loading/src/directive.js.map +1 -1
  705. package/lib/components/loading/src/loading.js.map +1 -1
  706. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  707. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  708. package/lib/components/menu/src/menu-item2.js.map +1 -1
  709. package/lib/components/menu/src/menu.d.ts +1 -1
  710. package/lib/components/menu/src/menu.js.map +1 -1
  711. package/lib/components/menu/src/sub-menu.js.map +1 -1
  712. package/lib/components/menu/src/use-menu.d.ts +1 -1
  713. package/lib/components/menu/src/use-menu.js.map +1 -1
  714. package/lib/components/message/src/message-method.js.map +1 -1
  715. package/lib/components/message/src/message.d.ts +1 -1
  716. package/lib/components/message/src/message.js.map +1 -1
  717. package/lib/components/message/src/message2.js.map +1 -1
  718. package/lib/components/message-box/src/index.js.map +1 -1
  719. package/lib/components/message-box/src/message-box.type.d.ts +1 -1
  720. package/lib/components/message-box/src/messageBox.js.map +1 -1
  721. package/lib/components/notification/src/notification.d.ts +1 -1
  722. package/lib/components/notification/src/notification.js.map +1 -1
  723. package/lib/components/notification/src/notification2.js.map +1 -1
  724. package/lib/components/notification/src/notify.js.map +1 -1
  725. package/lib/components/overlay/src/overlay.js.map +1 -1
  726. package/lib/components/page-header/src/page-header.js.map +1 -1
  727. package/lib/components/pagination/src/components/next.js.map +1 -1
  728. package/lib/components/pagination/src/components/pager.js.map +1 -1
  729. package/lib/components/pagination/src/components/prev.js.map +1 -1
  730. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  731. package/lib/components/pagination/src/pagination.d.ts +1 -1
  732. package/lib/components/pagination/src/pagination.js.map +1 -1
  733. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  734. package/lib/components/popover/src/index.js.map +1 -1
  735. package/lib/components/popper/src/content.d.ts +1 -1
  736. package/lib/components/popper/src/content.js.map +1 -1
  737. package/lib/components/popper/src/content2.js.map +1 -1
  738. package/lib/components/progress/src/progress.js.map +1 -1
  739. package/lib/components/progress/src/progress2.js.map +1 -1
  740. package/lib/components/radio/src/radio-group2.js.map +1 -1
  741. package/lib/components/radio/src/radio.js.map +1 -1
  742. package/lib/components/radio/src/radio2.js.map +1 -1
  743. package/lib/components/rate/src/rate.js.map +1 -1
  744. package/lib/components/rate/src/rate2.js.map +1 -1
  745. package/lib/components/result/src/result.js.map +1 -1
  746. package/lib/components/result/src/result2.js.map +1 -1
  747. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  748. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  749. package/lib/components/roving-focus-group/src/tokens.d.ts +1 -1
  750. package/lib/components/roving-focus-group/src/tokens.js.map +1 -1
  751. package/lib/components/row/src/row.js.map +1 -1
  752. package/lib/components/scrollbar/src/scrollbar.d.ts +1 -1
  753. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  754. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  755. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  756. package/lib/components/select/src/option-group.js.map +1 -1
  757. package/lib/components/select/src/option.js.map +1 -1
  758. package/lib/components/select/src/select-dropdown.js.map +1 -1
  759. package/lib/components/select/src/select.js +1 -1
  760. package/lib/components/select/src/select.js.map +1 -1
  761. package/lib/components/select/src/select.vue.d.ts +1 -1
  762. package/lib/components/select/src/useOption.js.map +1 -1
  763. package/lib/components/select/src/useSelect.js.map +1 -1
  764. package/lib/components/select-v2/src/defaults.d.ts +1 -1
  765. package/lib/components/select-v2/src/defaults.js.map +1 -1
  766. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  767. package/lib/components/select-v2/src/select.js.map +1 -1
  768. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  769. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  770. package/lib/components/slider/src/index.js.map +1 -1
  771. package/lib/components/slider/src/slider.type.d.ts +1 -1
  772. package/lib/components/slider/src/useSlide.js.map +1 -1
  773. package/lib/components/slider/src/useSliderButton.d.ts +1 -1
  774. package/lib/components/slider/src/useSliderButton.js.map +1 -1
  775. package/lib/components/slider/src/useStops.js.map +1 -1
  776. package/lib/components/slot/src/only-child.d.ts +1 -1
  777. package/lib/components/slot/src/only-child.js.map +1 -1
  778. package/lib/components/space/src/item.js.map +1 -1
  779. package/lib/components/space/src/space.d.ts +1 -1
  780. package/lib/components/space/src/space.js.map +1 -1
  781. package/lib/components/space/src/use-space.js.map +1 -1
  782. package/lib/components/steps/src/index.js.map +1 -1
  783. package/lib/components/steps/src/item.js.map +1 -1
  784. package/lib/components/steps/src/item.vue.d.ts +1 -1
  785. package/lib/components/switch/src/switch.js.map +1 -1
  786. package/lib/components/switch/src/switch2.js.map +1 -1
  787. package/lib/components/table/src/filter-panel.js.map +1 -1
  788. package/lib/components/table/src/filter-panel.vue.d.ts +1 -1
  789. package/lib/components/table/src/layout-observer.js.map +1 -1
  790. package/lib/components/table/src/store/current.js.map +1 -1
  791. package/lib/components/table/src/store/expand.js.map +1 -1
  792. package/lib/components/table/src/store/index.js.map +1 -1
  793. package/lib/components/table/src/store/tree.js.map +1 -1
  794. package/lib/components/table/src/store/watcher.js.map +1 -1
  795. package/lib/components/table/src/table/defaults.d.ts +1 -1
  796. package/lib/components/table/src/table/defaults.js.map +1 -1
  797. package/lib/components/table/src/table/style-helper.js.map +1 -1
  798. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  799. package/lib/components/table/src/table-body/index.js.map +1 -1
  800. package/lib/components/table/src/table-body/render-helper.js.map +1 -1
  801. package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
  802. package/lib/components/table/src/table-column/defaults.d.ts +1 -1
  803. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  804. package/lib/components/table/src/table-column/index.js.map +1 -1
  805. package/lib/components/table/src/table-column/render-helper.js +2 -1
  806. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  807. package/lib/components/table/src/table-column/watcher-helper.js.map +1 -1
  808. package/lib/components/table/src/table-footer/style-helper.js.map +1 -1
  809. package/lib/components/table/src/table-header/event-helper.js.map +1 -1
  810. package/lib/components/table/src/table-header/index.d.ts +1 -1
  811. package/lib/components/table/src/table-header/index.js.map +1 -1
  812. package/lib/components/table/src/table-header/style.helper.js.map +1 -1
  813. package/lib/components/table/src/table-layout.js.map +1 -1
  814. package/lib/components/table/src/table.js.map +1 -1
  815. package/lib/components/table/src/util.js.map +1 -1
  816. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  817. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  818. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  819. package/lib/components/tabs/src/tabs.d.ts +1 -1
  820. package/lib/components/tabs/src/tabs.js.map +1 -1
  821. package/lib/components/tag/index.js +2 -2
  822. package/lib/components/tag/src/tag.js +89 -29
  823. package/lib/components/tag/src/tag.js.map +1 -1
  824. package/lib/components/tag/src/tag2.js +29 -89
  825. package/lib/components/tag/src/tag2.js.map +1 -1
  826. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  827. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  828. package/lib/components/time-picker/src/common/props.js.map +1 -1
  829. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +1 -1
  830. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  831. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  832. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  833. package/lib/components/time-picker/src/time-picker.js.map +1 -1
  834. package/lib/components/time-select/src/time-select.js.map +1 -1
  835. package/lib/components/time-select/src/time-select.vue.d.ts +1 -1
  836. package/lib/components/timeline/src/timeline.js.map +1 -1
  837. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  838. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  839. package/lib/components/tooltip/src/trigger.js.map +1 -1
  840. package/lib/components/tooltip-v2/index.d.ts +0 -0
  841. package/lib/components/tooltip-v2/index.js +3 -0
  842. package/lib/components/tooltip-v2/index.js.map +1 -0
  843. package/lib/components/tooltip-v2/src/arrow.d.ts +7 -0
  844. package/lib/components/tooltip-v2/src/arrow.js +24 -0
  845. package/lib/components/tooltip-v2/src/arrow.js.map +1 -0
  846. package/lib/components/tooltip-v2/src/arrow.vue.d.ts +24 -0
  847. package/lib/components/tooltip-v2/src/arrow2.js +33 -0
  848. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -0
  849. package/lib/components/tooltip-v2/src/common.d.ts +8 -0
  850. package/lib/components/tooltip-v2/src/common.js +13 -0
  851. package/lib/components/tooltip-v2/src/common.js.map +1 -0
  852. package/lib/components/tooltip-v2/src/content.d.ts +11 -0
  853. package/lib/components/tooltip-v2/src/content.js +50 -0
  854. package/lib/components/tooltip-v2/src/content.js.map +1 -0
  855. package/lib/components/tooltip-v2/src/content.vue.d.ts +106 -0
  856. package/lib/components/tooltip-v2/src/content2.js +87 -0
  857. package/lib/components/tooltip-v2/src/content2.js.map +1 -0
  858. package/lib/components/tooltip-v2/src/forward-ref.d.ts +17 -0
  859. package/lib/components/tooltip-v2/src/forward-ref.js +44 -0
  860. package/lib/components/tooltip-v2/src/forward-ref.js.map +1 -0
  861. package/lib/components/tooltip-v2/src/root.d.ts +11 -0
  862. package/lib/components/tooltip-v2/src/root.js +27 -0
  863. package/lib/components/tooltip-v2/src/root.js.map +1 -0
  864. package/lib/components/tooltip-v2/src/root.vue.d.ts +42 -0
  865. package/lib/components/tooltip-v2/src/root2.js +84 -0
  866. package/lib/components/tooltip-v2/src/root2.js.map +1 -0
  867. package/lib/components/tooltip-v2/src/tooltip.d.ts +24 -0
  868. package/lib/components/tooltip-v2/src/tooltip.js +18 -0
  869. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -0
  870. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +440 -0
  871. package/lib/components/tooltip-v2/src/tooltip2.js +56 -0
  872. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -0
  873. package/lib/components/tooltip-v2/src/trigger.d.ts +10 -0
  874. package/lib/components/tooltip-v2/src/trigger.js +21 -0
  875. package/lib/components/tooltip-v2/src/trigger.js.map +1 -0
  876. package/lib/components/tooltip-v2/src/trigger.vue.d.ts +69 -0
  877. package/lib/components/tooltip-v2/src/trigger2.js +94 -0
  878. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -0
  879. package/lib/components/transfer/src/index.js.map +1 -1
  880. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  881. package/lib/components/transfer/src/useCheck.d.ts +1 -1
  882. package/lib/components/transfer/src/useCheck.js.map +1 -1
  883. package/lib/components/transfer/src/useCheckedChange.d.ts +1 -1
  884. package/lib/components/transfer/src/useCheckedChange.js.map +1 -1
  885. package/lib/components/transfer/src/useMove.d.ts +1 -1
  886. package/lib/components/transfer/src/useMove.js.map +1 -1
  887. package/lib/components/tree/src/model/node.d.ts +1 -1
  888. package/lib/components/tree/src/model/node.js.map +1 -1
  889. package/lib/components/tree/src/model/tree-store.d.ts +1 -1
  890. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  891. package/lib/components/tree/src/model/useKeydown.js.map +1 -1
  892. package/lib/components/tree/src/tree-node-content.js.map +1 -1
  893. package/lib/components/tree/src/tree-node.js.map +1 -1
  894. package/lib/components/tree/src/tree-node.vue.d.ts +1 -1
  895. package/lib/components/tree/src/tree.js.map +1 -1
  896. package/lib/components/tree/src/tree.type.d.ts +1 -1
  897. package/lib/components/tree/src/tree.vue.d.ts +2 -2
  898. package/lib/components/tree-v2/src/composables/useCheck.d.ts +1 -1
  899. package/lib/components/tree-v2/src/composables/useCheck.js +1 -0
  900. package/lib/components/tree-v2/src/composables/useCheck.js.map +1 -1
  901. package/lib/components/tree-v2/src/composables/useFilter.d.ts +1 -1
  902. package/lib/components/tree-v2/src/composables/useFilter.js.map +1 -1
  903. package/lib/components/tree-v2/src/composables/useTree.d.ts +1 -1
  904. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  905. package/lib/components/tree-v2/src/tree-node-content.js.map +1 -1
  906. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  907. package/lib/components/tree-v2/src/types.d.ts +2 -2
  908. package/lib/components/tree-v2/src/virtual-tree.d.ts +1 -1
  909. package/lib/components/tree-v2/src/virtual-tree.js.map +1 -1
  910. package/lib/components/upload/index.d.ts +4 -4
  911. package/lib/components/upload/src/ajax.js.map +1 -1
  912. package/lib/components/upload/src/upload-content.d.ts +1 -1
  913. package/lib/components/upload/src/upload-content.js.map +1 -1
  914. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  915. package/lib/components/upload/src/upload-content2.js.map +1 -1
  916. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  917. package/lib/components/upload/src/upload-list.js.map +1 -1
  918. package/lib/components/upload/src/upload-list.vue.d.ts +4 -4
  919. package/lib/components/upload/src/upload-list2.js.map +1 -1
  920. package/lib/components/upload/src/upload.vue.d.ts +4 -4
  921. package/lib/components/upload/src/upload2.js.map +1 -1
  922. package/lib/components/upload/src/use-handlers.d.ts +1 -1
  923. package/lib/components/upload/src/use-handlers.js.map +1 -1
  924. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  925. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  926. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  927. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  928. package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
  929. package/lib/components/virtual-list/src/components/dynamic-size-list.js.map +1 -1
  930. package/lib/components/virtual-list/src/components/fixed-size-grid.js.map +1 -1
  931. package/lib/components/virtual-list/src/components/fixed-size-list.js.map +1 -1
  932. package/lib/components/virtual-list/src/components/scrollbar.js.map +1 -1
  933. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js.map +1 -1
  934. package/lib/components/virtual-list/src/hooks/use-wheel.js.map +1 -1
  935. package/lib/components/virtual-list/src/utils.d.ts +1 -1
  936. package/lib/components/virtual-list/src/utils.js.map +1 -1
  937. package/lib/directives/mousewheel/index.js.map +1 -1
  938. package/lib/directives/repeat-click/index.js.map +1 -1
  939. package/lib/directives/resize/index.js.map +1 -1
  940. package/lib/directives/trap-focus/index.js.map +1 -1
  941. package/lib/hooks/index.d.ts +1 -0
  942. package/lib/hooks/index.js +5 -0
  943. package/lib/hooks/index.js.map +1 -1
  944. package/lib/hooks/use-attrs/index.js.map +1 -1
  945. package/lib/hooks/use-common-props/index.js.map +1 -1
  946. package/lib/hooks/use-delayed-toggle/index.d.ts +1 -1
  947. package/lib/hooks/use-delayed-toggle/index.js.map +1 -1
  948. package/lib/hooks/use-draggable/index.d.ts +1 -1
  949. package/lib/hooks/use-draggable/index.js.map +1 -1
  950. package/lib/hooks/use-escape-keydown/index.js.map +1 -1
  951. package/lib/hooks/use-floating/index.d.ts +69 -0
  952. package/lib/hooks/use-floating/index.js +97 -0
  953. package/lib/hooks/use-floating/index.js.map +1 -0
  954. package/lib/hooks/use-global-config/index.d.ts +1 -1
  955. package/lib/hooks/use-global-config/index.js.map +1 -1
  956. package/lib/hooks/use-intermediate-render/index.js.map +1 -1
  957. package/lib/hooks/use-locale/index.js.map +1 -1
  958. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  959. package/lib/hooks/use-model-toggle/index.d.ts +1 -1
  960. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  961. package/lib/hooks/use-namespace/index.js.map +1 -1
  962. package/lib/hooks/use-prop/index.js.map +1 -1
  963. package/lib/hooks/use-teleport/index.d.ts +1 -1
  964. package/lib/hooks/use-teleport/index.js.map +1 -1
  965. package/lib/hooks/use-z-index/index.js.map +1 -1
  966. package/lib/index.js +9 -1
  967. package/lib/index.js.map +1 -1
  968. package/lib/tokens/config-provider.d.ts +1 -1
  969. package/lib/tokens/config-provider.js.map +1 -1
  970. package/lib/tokens/dialog.d.ts +1 -1
  971. package/lib/tokens/dialog.js.map +1 -1
  972. package/lib/tokens/form.d.ts +1 -1
  973. package/lib/tokens/form.js.map +1 -1
  974. package/lib/tokens/index.d.ts +1 -0
  975. package/lib/tokens/index.js +3 -0
  976. package/lib/tokens/index.js.map +1 -1
  977. package/lib/tokens/pagination.d.ts +1 -1
  978. package/lib/tokens/pagination.js.map +1 -1
  979. package/lib/tokens/tabs.d.ts +2 -2
  980. package/lib/tokens/tabs.js.map +1 -1
  981. package/lib/tokens/tooltip-v2.d.ts +10 -0
  982. package/lib/tokens/tooltip-v2.js +10 -0
  983. package/lib/tokens/tooltip-v2.js.map +1 -0
  984. package/lib/utils/index.js +2 -0
  985. package/lib/utils/index.js.map +1 -1
  986. package/lib/utils/types.d.ts +1 -0
  987. package/lib/utils/types.js +5 -0
  988. package/lib/utils/types.js.map +1 -1
  989. package/lib/utils/vue/icon.js.map +1 -1
  990. package/lib/utils/vue/index.js +1 -0
  991. package/lib/utils/vue/index.js.map +1 -1
  992. package/lib/utils/vue/install.d.ts +1 -1
  993. package/lib/utils/vue/install.js.map +1 -1
  994. package/lib/utils/vue/refs.d.ts +2 -1
  995. package/lib/utils/vue/refs.js +8 -1
  996. package/lib/utils/vue/refs.js.map +1 -1
  997. package/lib/utils/vue/style.js.map +1 -1
  998. package/lib/utils/vue/vnode.d.ts +5 -2
  999. package/lib/utils/vue/vnode.js +8 -1
  1000. package/lib/utils/vue/vnode.js.map +1 -1
  1001. package/lib/version.d.ts +1 -1
  1002. package/lib/version.js +1 -1
  1003. package/lib/version.js.map +1 -1
  1004. package/package.json +2 -2
  1005. package/theme-chalk/base.css +1 -1
  1006. package/theme-chalk/el-backtop.css +1 -1
  1007. package/theme-chalk/el-button.css +1 -1
  1008. package/theme-chalk/el-dialog.css +1 -1
  1009. package/theme-chalk/el-drawer.css +1 -1
  1010. package/theme-chalk/el-dropdown.css +1 -1
  1011. package/theme-chalk/el-loading.css +1 -1
  1012. package/theme-chalk/el-overlay.css +1 -1
  1013. package/theme-chalk/el-table.css +1 -1
  1014. package/theme-chalk/el-tabs.css +1 -1
  1015. package/theme-chalk/el-upload.css +1 -1
  1016. package/theme-chalk/el-var.css +1 -1
  1017. package/theme-chalk/index.css +1 -1
  1018. package/theme-chalk/src/backtop.scss +4 -4
  1019. package/theme-chalk/src/button.scss +1 -1
  1020. package/theme-chalk/src/common/var.scss +37 -6
  1021. package/theme-chalk/src/drawer.scss +1 -2
  1022. package/theme-chalk/src/dropdown.scss +1 -1
  1023. package/theme-chalk/src/loading.scss +1 -1
  1024. package/theme-chalk/src/overlay.scss +1 -1
  1025. package/theme-chalk/src/tabs.scss +0 -1
  1026. package/theme-chalk/src/upload.scss +2 -3
  1027. package/theme-chalk/src/var.scss +3 -0
  1028. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon><close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><arrow-left /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\n <el-icon><arrow-right /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <zoom-out />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <zoom-in />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <refresh-left />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <refresh-right />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n ref,\n onMounted,\n watch,\n nextTick,\n effectScope,\n markRaw,\n} from 'vue'\nimport { useEventListener, isNumber } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isFirefox } from '@element-plus/utils'\nimport {\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n FullScreen,\n ScaleToOriginal,\n} from '@element-plus/icons-vue'\nimport { imageViewerProps, imageViewerEmits } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport default defineComponent({\n name: 'ElImageViewer',\n components: {\n ElIcon,\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n },\n props: imageViewerProps,\n emits: imageViewerEmits,\n\n setup(props, { emit }) {\n const { t } = useLocale()\n const ns = useNamespace('image-viewer')\n const { nextZIndex } = useZIndex()\n const wrapper = ref<HTMLDivElement>()\n const imgRefs = ref<any[]>([])\n\n const scopeEventListener = effectScope()\n\n const loading = ref(true)\n const index = ref(props.initialIndex)\n const mode = ref(Mode.CONTAIN)\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n })\n\n const isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n })\n\n const isFirst = computed(() => {\n return index.value === 0\n })\n\n const isLast = computed(() => {\n return index.value === props.urlList.length - 1\n })\n\n const currentImg = computed(() => {\n return props.urlList[index.value]\n })\n\n const imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n })\n\n const computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n })\n\n function hide() {\n unregisterEventListener()\n emit('close')\n }\n\n function registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n }\n\n function unregisterEventListener() {\n scopeEventListener.stop()\n }\n\n function handleImgLoad() {\n loading.value = false\n }\n\n function handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n }\n\n function handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(\n document,\n 'mousemove',\n dragHandler\n )\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n }\n\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n }\n\n function toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n }\n\n function prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n }\n\n function next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n }\n\n function handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 1.4,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < 7) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n }\n\n watch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n })\n\n watch(index, (val) => {\n reset()\n emit('switch', val)\n })\n\n onMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n })\n\n return {\n index,\n wrapper,\n imgRefs,\n isSingle,\n isFirst,\n isLast,\n currentImg,\n imgStyle,\n mode,\n computedZIndex,\n handleActions,\n prev,\n next,\n hide,\n toggleMode,\n handleImgLoad,\n handleImgError,\n handleMouseDown,\n ns,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Teleport","_createVNode","_Transition","_withCtx","_createElementVNode","_normalizeClass","_normalizeStyle","_withModifiers","_createCommentVNode","_createElementBlock","_Fragment","_resolveDynamicComponent","_renderList","_withDirectives","_vShow","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon><close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><arrow-left /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\n <el-icon><arrow-right /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <zoom-out />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <zoom-in />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <refresh-left />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <refresh-right />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n effectScope,\n markRaw,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { isNumber, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isFirefox } from '@element-plus/utils'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport default defineComponent({\n name: 'ElImageViewer',\n components: {\n ElIcon,\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n },\n props: imageViewerProps,\n emits: imageViewerEmits,\n\n setup(props, { emit }) {\n const { t } = useLocale()\n const ns = useNamespace('image-viewer')\n const { nextZIndex } = useZIndex()\n const wrapper = ref<HTMLDivElement>()\n const imgRefs = ref<any[]>([])\n\n const scopeEventListener = effectScope()\n\n const loading = ref(true)\n const index = ref(props.initialIndex)\n const mode = ref(Mode.CONTAIN)\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n })\n\n const isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n })\n\n const isFirst = computed(() => {\n return index.value === 0\n })\n\n const isLast = computed(() => {\n return index.value === props.urlList.length - 1\n })\n\n const currentImg = computed(() => {\n return props.urlList[index.value]\n })\n\n const imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n })\n\n const computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n })\n\n function hide() {\n unregisterEventListener()\n emit('close')\n }\n\n function registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n }\n\n function unregisterEventListener() {\n scopeEventListener.stop()\n }\n\n function handleImgLoad() {\n loading.value = false\n }\n\n function handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n }\n\n function handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(\n document,\n 'mousemove',\n dragHandler\n )\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n }\n\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n }\n\n function toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n }\n\n function prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n }\n\n function next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n }\n\n function handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 1.4,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < 7) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n }\n\n watch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n })\n\n watch(index, (val) => {\n reset()\n emit('switch', val)\n })\n\n onMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n })\n\n return {\n index,\n wrapper,\n imgRefs,\n isSingle,\n isFirst,\n isLast,\n currentImg,\n imgStyle,\n mode,\n computedZIndex,\n handleActions,\n prev,\n next,\n hide,\n toggleMode,\n handleImgLoad,\n handleImgError,\n handleMouseDown,\n ns,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Teleport","_createVNode","_Transition","_withCtx","_createElementVNode","_normalizeClass","_normalizeStyle","_withModifiers","_createCommentVNode","_createElementBlock","_Fragment","_resolveDynamicComponent","_renderList","_withDirectives","_vShow","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;AAkHA,MAAM,IAAO,GAAA;AAAA,EACX,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,MAAM,OAAQ,CAAA,UAAA,CAAA;AAAA,GAAA;AAAA,EAEhB,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,UAAA;AAAA,IACN,MAAM,OAAQ,CAAA,eAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA;AAIlB,MAAM,mBAAA,GAAsB,cAAc,gBAAmB,GAAA,YAAA,CAAA;AAO7D,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,eAAA;AAAA,EACN,UAAY,EAAA;AAAA,IACV,MAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,GAAA;AAAA,EAEF,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EAEP,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAA,MAAM,EAAE,CAAM,EAAA,GAAA,SAAA,EAAA,CAAA;AACd,IAAA,MAAM,KAAK,YAAa,CAAA,cAAA,CAAA,CAAA;AACxB,IAAA,MAAM,EAAE,UAAe,EAAA,GAAA,SAAA,EAAA,CAAA;AACvB,IAAA,MAAM,OAAU,GAAA,GAAA,EAAA,CAAA;AAChB,IAAA,MAAM,UAAU,GAAW,CAAA,EAAA,CAAA,CAAA;AAE3B,IAAA,MAAM,kBAAqB,GAAA,WAAA,EAAA,CAAA;AAE3B,IAAA,MAAM,UAAU,GAAI,CAAA,IAAA,CAAA,CAAA;AACpB,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,CAAA,YAAA,CAAA,CAAA;AACxB,IAAM,MAAA,IAAA,GAAO,IAAI,IAAK,CAAA,OAAA,CAAA,CAAA;AACtB,IAAA,MAAM,YAAY,GAAI,CAAA;AAAA,MACpB,KAAO,EAAA,CAAA;AAAA,MACP,GAAK,EAAA,CAAA;AAAA,MACL,OAAS,EAAA,CAAA;AAAA,MACT,OAAS,EAAA,CAAA;AAAA,MACT,gBAAkB,EAAA,KAAA;AAAA,KAAA,CAAA,CAAA;AAGpB,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,MAAM,EAAE,OAAY,EAAA,GAAA,KAAA,CAAA;AACpB,MAAA,OAAO,QAAQ,MAAU,IAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAG3B,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAA,OAAO,MAAM,KAAU,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGzB,IAAM,MAAA,MAAA,GAAS,SAAS,MAAM;AAC5B,MAAA,OAAO,KAAM,CAAA,KAAA,KAAU,KAAM,CAAA,OAAA,CAAQ,MAAS,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGhD,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAG7B,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,MAAM,EAAE,KAAO,EAAA,GAAA,EAAK,OAAS,EAAA,OAAA,EAAS,qBAAqB,SAAU,CAAA,KAAA,CAAA;AACrE,MAAA,IAAI,aAAa,OAAU,GAAA,KAAA,CAAA;AAC3B,MAAA,IAAI,aAAa,OAAU,GAAA,KAAA,CAAA;AAE3B,MAAA,QAAQ,GAAM,GAAA,GAAA;AAAA,QACP,KAAA,EAAA,CAAA;AAAA,QACA,KAAA,CAAA,GAAA;AACH,UAAA,CAAA;AAAC,UAAA,CAAC,UAAY,EAAA,UAAA,CAAA,GAAc,CAAC,UAAA,EAAY,CAAC,UAAA,CAAA,CAAA;AAC1C,UAAA,MAAA;AAAA,QACG,KAAA,GAAA,CAAA;AAAA,QACA,KAAA,CAAA,GAAA;AACH,UAAA,CAAA;AAAC,UAAA,CAAC,UAAY,EAAA,UAAA,CAAA,GAAc,CAAC,CAAC,YAAY,CAAC,UAAA,CAAA,CAAA;AAC3C,UAAA,MAAA;AAAA,QACG,KAAA,GAAA,CAAA;AAAA,QACA,KAAA,CAAA,EAAA;AACH,UAAA,CAAA;AAAC,UAAA,CAAC,UAAY,EAAA,UAAA,CAAA,GAAc,CAAC,CAAC,UAAY,EAAA,UAAA,CAAA,CAAA;AAC1C,UAAA,MAAA;AAAA,OAAA;AAGJ,MAAA,MAAM,KAAuB,GAAA;AAAA,QAC3B,SAAW,EAAA,CAAA,MAAA,EAAS,KAAiB,CAAA,SAAA,EAAA,GAAA,CAAA,eAAA,EAAqB,UAAiB,CAAA,IAAA,EAAA,UAAA,CAAA,GAAA,CAAA;AAAA,QAC3E,UAAA,EAAY,mBAAmB,eAAkB,GAAA,EAAA;AAAA,OAAA,CAAA;AAEnD,MAAA,IAAI,IAAK,CAAA,KAAA,CAAM,IAAS,KAAA,IAAA,CAAK,QAAQ,IAAM,EAAA;AACzC,QAAM,KAAA,CAAA,QAAA,GAAW,MAAM,SAAY,GAAA,MAAA,CAAA;AAAA,OAAA;AAErC,MAAO,OAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGT,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAA,OAAO,QAAS,CAAA,KAAA,CAAM,MAAU,CAAA,GAAA,KAAA,CAAM,MAAS,GAAA,UAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGjD,IAAgB,SAAA,IAAA,GAAA;AACd,MAAA,uBAAA,EAAA,CAAA;AACA,MAAK,IAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAGP,IAAiC,SAAA,qBAAA,GAAA;AAC/B,MAAM,MAAA,cAAA,GAAiB,QAAS,CAAA,CAAC,CAAqB,KAAA;AACpD,QAAA,QAAQ,CAAE,CAAA,IAAA;AAAA,UAAA,KAEH,UAAW,CAAA,GAAA;AACd,YAAA,IAAA,EAAA,CAAA;AACA,YAAA,MAAA;AAAA,UAAA,KAEG,UAAW,CAAA,KAAA;AACd,YAAA,UAAA,EAAA,CAAA;AACA,YAAA,MAAA;AAAA,UAAA,KAEG,UAAW,CAAA,IAAA;AACd,YAAA,IAAA,EAAA,CAAA;AACA,YAAA,MAAA;AAAA,UAAA,KAEG,UAAW,CAAA,EAAA;AACd,YAAc,aAAA,CAAA,QAAA,CAAA,CAAA;AACd,YAAA,MAAA;AAAA,UAAA,KAEG,UAAW,CAAA,KAAA;AACd,YAAA,IAAA,EAAA,CAAA;AACA,YAAA,MAAA;AAAA,UAAA,KAEG,UAAW,CAAA,IAAA;AACd,YAAc,aAAA,CAAA,SAAA,CAAA,CAAA;AACd,YAAA,MAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAGN,MAAM,MAAA,iBAAA,GAAoB,QACxB,CAAA,CAAC,CAA6D,KAAA;AAC5D,QAAA,MAAM,QAAQ,CAAE,CAAA,UAAA,GAAa,CAAE,CAAA,UAAA,GAAa,CAAC,CAAE,CAAA,MAAA,CAAA;AAC/C,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAA,aAAA,CAAc,QAAU,EAAA;AAAA,YACtB,QAAU,EAAA,GAAA;AAAA,YACV,gBAAkB,EAAA,KAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAEf,MAAA;AACL,UAAA,aAAA,CAAc,SAAW,EAAA;AAAA,YACvB,QAAU,EAAA,GAAA;AAAA,YACV,gBAAkB,EAAA,KAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAM1B,MAAA,kBAAA,CAAmB,IAAI,MAAM;AAC3B,QAAA,gBAAA,CAAiB,UAAU,SAAW,EAAA,cAAA,CAAA,CAAA;AACtC,QAAA,gBAAA,CAAiB,UAAU,mBAAqB,EAAA,iBAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAIpD,IAAmC,SAAA,uBAAA,GAAA;AACjC,MAAmB,kBAAA,CAAA,IAAA,EAAA,CAAA;AAAA,KAAA;AAGrB,IAAyB,SAAA,aAAA,GAAA;AACvB,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,KAAA;AAGlB,IAAA,SAAA,cAAA,CAAwB,CAAU,EAAA;AAChC,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AACf,MAAC,CAAA,CAAE,MAA4B,CAAA,GAAA,GAAM,CAAE,CAAA,gBAAA,CAAA,CAAA;AAAA,KAAA;AAG1C,IAAA,SAAA,eAAA,CAAyB,CAAe,EAAA;AACtC,MAAA,IAAI,QAAQ,KAAS,IAAA,CAAA,CAAE,MAAW,KAAA,CAAA,IAAK,CAAC,OAAQ,CAAA,KAAA;AAAO,QAAA,OAAA;AACvD,MAAA,SAAA,CAAU,MAAM,gBAAmB,GAAA,KAAA,CAAA;AAEnC,MAAM,MAAA,EAAE,OAAS,EAAA,OAAA,EAAA,GAAY,SAAU,CAAA,KAAA,CAAA;AACvC,MAAA,MAAM,SAAS,CAAE,CAAA,KAAA,CAAA;AACjB,MAAA,MAAM,SAAS,CAAE,CAAA,KAAA,CAAA;AAEjB,MAAM,MAAA,WAAA,GAAc,QAAS,CAAA,CAAC,EAAmB,KAAA;AAC/C,QAAA,SAAA,CAAU,KAAQ,GAAA;AAAA,UAAA,GACb,SAAU,CAAA,KAAA;AAAA,UACb,OAAA,EAAS,OAAU,GAAA,EAAA,CAAG,KAAQ,GAAA,MAAA;AAAA,UAC9B,OAAA,EAAS,OAAU,GAAA,EAAA,CAAG,KAAQ,GAAA,MAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGlC,MAAM,MAAA,eAAA,GAAkB,gBACtB,CAAA,QAAA,EACA,WACA,EAAA,WAAA,CAAA,CAAA;AAEF,MAAiB,gBAAA,CAAA,QAAA,EAAU,WAAW,MAAM;AAC1C,QAAA,eAAA,EAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGF,MAAE,CAAA,CAAA,cAAA,EAAA,CAAA;AAAA,KAAA;AAGJ,IAAiB,SAAA,KAAA,GAAA;AACf,MAAA,SAAA,CAAU,KAAQ,GAAA;AAAA,QAChB,KAAO,EAAA,CAAA;AAAA,QACP,GAAK,EAAA,CAAA;AAAA,QACL,OAAS,EAAA,CAAA;AAAA,QACT,OAAS,EAAA,CAAA;AAAA,QACT,gBAAkB,EAAA,KAAA;AAAA,OAAA,CAAA;AAAA,KAAA;AAItB,IAAsB,SAAA,UAAA,GAAA;AACpB,MAAA,IAAI,OAAQ,CAAA,KAAA;AAAO,QAAA,OAAA;AAEnB,MAAM,MAAA,SAAA,GAAY,OAAO,IAAK,CAAA,IAAA,CAAA,CAAA;AAC9B,MAAM,MAAA,UAAA,GAAa,OAAO,MAAO,CAAA,IAAA,CAAA,CAAA;AACjC,MAAM,MAAA,WAAA,GAAc,KAAK,KAAM,CAAA,IAAA,CAAA;AAC/B,MAAA,MAAM,SAAQ,UAAW,CAAA,SAAA,CAAU,CAAC,CAAA,KAAM,EAAE,IAAS,KAAA,WAAA,CAAA,CAAA;AACrD,MAAM,MAAA,SAAA,GAAa,CAAQ,MAAA,GAAA,CAAA,IAAK,SAAU,CAAA,MAAA,CAAA;AAC1C,MAAK,IAAA,CAAA,KAAA,GAAQ,KAAK,SAAU,CAAA,SAAA,CAAA,CAAA,CAAA;AAC5B,MAAA,KAAA,EAAA,CAAA;AAAA,KAAA;AAGF,IAAgB,SAAA,IAAA,GAAA;AACd,MAAI,IAAA,OAAA,CAAQ,KAAS,IAAA,CAAC,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACtC,MAAM,MAAA,GAAA,GAAM,MAAM,OAAQ,CAAA,MAAA,CAAA;AAC1B,MAAA,KAAA,CAAM,KAAS,GAAA,CAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,GAAI,GAAO,IAAA,GAAA,CAAA;AAAA,KAAA;AAG1C,IAAgB,SAAA,IAAA,GAAA;AACd,MAAI,IAAA,MAAA,CAAO,KAAS,IAAA,CAAC,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACrC,MAAM,MAAA,GAAA,GAAM,MAAM,OAAQ,CAAA,MAAA,CAAA;AAC1B,MAAM,KAAA,CAAA,KAAA,GAAS,CAAM,KAAA,CAAA,KAAA,GAAQ,CAAK,IAAA,GAAA,CAAA;AAAA,KAAA;AAGpC,IAAuB,SAAA,aAAA,CAAA,MAAA,EAA2B,UAAU,EAAI,EAAA;AAC9D,MAAA,IAAI,OAAQ,CAAA,KAAA;AAAO,QAAA,OAAA;AACnB,MAAM,MAAA,EAAE,QAAU,EAAA,SAAA,EAAW,gBAAqB,EAAA,GAAA;AAAA,QAChD,QAAU,EAAA,GAAA;AAAA,QACV,SAAW,EAAA,EAAA;AAAA,QACX,gBAAkB,EAAA,IAAA;AAAA,QACf,GAAA,OAAA;AAAA,OAAA,CAAA;AAEL,MAAQ,QAAA,MAAA;AAAA,QACD,KAAA,SAAA;AACH,UAAI,IAAA,SAAA,CAAU,KAAM,CAAA,KAAA,GAAQ,GAAK,EAAA;AAC/B,YAAU,SAAA,CAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,UAAA,CAC5B,WAAU,KAAM,CAAA,KAAA,GAAQ,UAAU,OAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WAAA;AAG/C,UAAA,MAAA;AAAA,QACG,KAAA,QAAA;AACH,UAAI,IAAA,SAAA,CAAU,KAAM,CAAA,KAAA,GAAQ,CAAG,EAAA;AAC7B,YAAU,SAAA,CAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,UAAA,CAC5B,WAAU,KAAM,CAAA,KAAA,GAAQ,UAAU,OAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WAAA;AAG/C,UAAA,MAAA;AAAA,QACG,KAAA,WAAA;AACH,UAAA,SAAA,CAAU,MAAM,GAAO,IAAA,SAAA,CAAA;AACvB,UAAA,MAAA;AAAA,QACG,KAAA,eAAA;AACH,UAAA,SAAA,CAAU,MAAM,GAAO,IAAA,SAAA,CAAA;AACvB,UAAA,MAAA;AAAA,OAAA;AAEJ,MAAA,SAAA,CAAU,MAAM,gBAAmB,GAAA,gBAAA,CAAA;AAAA,KAAA;AAGrC,IAAA,KAAA,CAAM,YAAY,MAAM;AACtB,MAAA,QAAA,CAAS,MAAM;AACb,QAAM,MAAA,IAAA,GAAO,QAAQ,KAAM,CAAA,CAAA,CAAA,CAAA;AAC3B,QAAI,IAAA,UAAiB,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA,CAAA,EAAA;AACnB,UAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAKtB,IAAM,KAAA,CAAA,KAAA,EAAO,CAAC,GAAQ,KAAA;AACpB,MAAA,KAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAK,QAAU,EAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGjB,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAGA,MAAA,qBAAe,EAAA,CAAA;AAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAGjB,KAAO,CAAA,CAAA;AAAA,IACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MAAA,EAAA;AAAA,KAAA,CAAA;AAAA,GAAA;;;;;;;;;;;gCAvVO,GAAAA,gBAAA,CAAA,eAAA,CAAA,CAAA;AAAA,EAAA,OA9EEC,SAAA,EAAA,EAAAC,WAAA,CAAAC,QAAA,EAAA;AAAA,IAAQ,UAAQ;AAAG,IAAA,QAAA,EAAA,CAAA,IAAA,CAAA,UAAA;KA6EjB;AAAA,IAAAC,WA5EI,CAAAC,UAAA,EAAA;AAAA,MAAc,IAAA,EAAA,aAAA;AAAA,MAAA,MAAA,EAAA,EAAA;;AA2EvB,MAAA,OAAA,EAAAC,OAAA,CAAA,MAAA;AAAA,QAAAC,kBAzEA,CAAA,KAAA,EAAA;AAAA,UACH,GAAU,EAAA,SAAA;AAAA,UACV,QAAO,EAAA,CAAA,CAAA;AAAI,UACX,OAAKC,cAAY,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAAC,cAAA,CAAA,EAAA,MAAA,EAAA,IAAA,CAAA,cAAA,EAAA,CAAA;WAEoD;AAAA,UAAhEF,kBAAO,CAAA,KAAA,EAAA;AAAI,YAAW,KAAA,EAAAC,cAAY,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAwB,YAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAE,aAAA,CAAA,CAAA,MAAA,KAAA,IAAA,CAAA,gBAAA,IAAA,IAAA,CAAA,IAAA,EAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAEhE,WAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,UACAC,kBAEO,CAAA,SAAA,CAAA;AAAA,UAAAJ,kBAFQ,CAAA,MAAA,EAAA;AAAiB,YAAa,qBAAO,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,YAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,CAAA;aACtB;AAAA,YAAAH,WAAA,CAAA,kBAAV,EAAA,IAAA,EAAA;AAAA,cAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,gBAAAF,WAAA,CAAA,gBAAA,CAAA;AAAA,eAAA,CAAA;;;AAGpB,WAAA,EAAA,CAAA,CAAA;AAAA,UAAAO;AAsBW,UAAA,CAAA,IAXF,CAAA,QAAA,IAAAV,SAAA,EAAA,EAAAW,kBAAA,CAAAC,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,YAAAN,kBARC,CAAA,MAAA,EAAA;AAAA,cAAA,qBAAsB,CAAA;AAAA,gBAAuB,QAAG,CAAC,CAAA,KAAA,CAAA;AAAA,gBAAwB,IAAA,CAAA,EAAA,CAAG,CAAE,CAAA,MAAA,CAAA;AAA0B,gBAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,OAAA,CAAA;AAAA;AAKtG,cAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,CAAA;eAEyB;AAAA,cAAAH,WAAA,CAAA,kBAAV,EAAA,IAAA,EAAA;AAAA,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;;;aAWlB,EAAA,CAAA,CAAA;AAAA,YAAAG,kBARC,CAAA,MAAA,EAAA;AAAA,cAAA,qBAAsB,CAAA;AAAA,gBAAuB,QAAG,CAAC,CAAA,KAAA,CAAA;AAAA,gBAAwB,IAAA,CAAA,EAAA,CAAG,CAAE,CAAA,MAAA,CAAA;AAA0B,gBAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA;AAAA;AAKtG,cAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,CAAA;eAE0B;AAAA,cAAAH,WAAA,CAAA,kBAAV,EAAA,IAAA,EAAA;AAAA,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,sBAAA,CAAA;AAAA,iBAAA,CAAA;;;;AAG5B,WAAA,EAAA,EAAA,CAAA,IAAAO,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,UACAA,kBAoBM,CAAA,WAAA,CAAA;AAAA,UAAAJ,kBApBQ,CAAA,KAAA,EAAA;AAAiB,YAAA,KAAA,EAAAC,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA;aAmBvB;AAAA,YAlBAD,kBAAO,CAAA,KAAA,EAAA;AAAI,cAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA;eAGL;AAAA,cAFAJ;AAAoB,gBAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,aAAA,CAAA,SAAA,CAAA,CAAA;;AAChB,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,mBAAA,CAAA;AAAA,iBAAA,CAAA;;eAIJ,CAAA;AAAA,cAFAA;AAAoB,gBAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,aAAA,CAAA,QAAA,CAAA,CAAA;;AACjB,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,kBAAA,CAAA;AAAA,iBAAA,CAAA;;eAE0B,CAAA;AAAA,cAAnCG,kBAAO,CAAA,GAAA,EAAA;AAAI,gBAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;eAGL,EAAA,IAAA,EAAA,CAAA,CAAA;AAFiB,cAAAJ,WAAA,CAAA,kBACI,EAAA,EAAA,OAAA,EAAA,IAAA,CAAA,UAAA,EAAA,EAAA;AAAA,gBAA7B,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAqB,mBAAAL,SAAA,EAAA,EAAAC,WAAA,CAAAY,uBAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;;eAEgB,EAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,cAAnCP,kBAAO,CAAA,GAAA,EAAA;AAAI,gBAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;eAGL,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,cAFAJ;AAAoB,gBAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,aAAA,CAAA,eAAA,CAAA,CAAA;;AACZ,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,uBAAA,CAAA;AAAA,iBAAA,CAAA;;eAIR,CAAA;AAAA,cAFAA;AAAoB,gBAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,aAAA,CAAA,WAAA,CAAA,CAAA;;AACX,gBAAA,OAAA,EAAAE,OAAA,CAAA,MAAA;AAAA,kBAAAF,WAAA,CAAA,wBAAA,CAAA;AAAA,iBAAA,CAAA;;;;AAIvB,WAAA,EAAA,CAAA,CAAA;AAAA,UACAO,kBAaM,CAAA,UAAA,CAAA;AAAA,UAbAJ,kBAAO,CAAA,KAAA,EAAA;AAAI,YAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AACf,WAAA,EAAA;yDAWE,EAAA,IAAA,EAAAO,UAAA,CAAA,IAAA,CAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,cAAA,OAAAC,cAAA,EAAAf,SAAA,EAAA,EAAAW,kBAAA,CAAA,KAAA,EAAA;gBARC,OAAc,EAAA,IAAA;AAAa,gBAC3B,GAAK,EAAA,CAAA,EAAA,KAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,GAAA,EAAA;AAAA,gBACL,GAAK,EAAA,GAAA;AAAA,gBACL,QAAO;AAAA,gBACP,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAI,CAAA;AAAA,gBACX,qBAAM,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AAAA,gBACN,cAAO,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,gBACP,eAAW,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,cAAA,IAAA,IAAA,CAAA,cAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,gBAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,KAAA,MAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,eAAA,IAAA,IAAA,CAAA,eAAA,CAAA,GAAA,IAAA,CAAA,CAAA;yBARJ,EAAM,UAAA,CAAA,GAAA;AAAA,gBAAA,CAAAQ,KAAA,EAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA;AAAA,eAAA,CAAA,CAAA;;WAWV,EAAA,CAAA,CAAA;AAAA,UAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;;;;;;;;;;;"}
@@ -142,7 +142,7 @@ export { tabsEmits, tabsProps } from './tabs/src/tabs.mjs';
142
142
  export { tabBar } from './tabs/src/tab-bar.mjs';
143
143
  export { tabNavProps } from './tabs/src/tab-nav.mjs';
144
144
  export { tabPaneProps } from './tabs/src/tab-pane.mjs';
145
- export { tagEmits, tagProps } from './tag/src/tag.mjs';
145
+ export { tagEmits, tagProps } from './tag/src/tag2.mjs';
146
146
  export { extractDateFormat, extractTimeFormat, rangeArr } from './time-picker/src/common/date-utils.mjs';
147
147
  export { DEFAULT_FORMATS_DATE, DEFAULT_FORMATS_DATEPICKER, DEFAULT_FORMATS_TIME } from './time-picker/src/common/constant.mjs';
148
148
  export { timePickerDefaultProps } from './time-picker/src/common/props.mjs';
@@ -1,4 +1,4 @@
1
- import type { ObjectDirective, ComponentPublicInstance } from 'vue';
1
+ import type { ComponentPublicInstance, ObjectDirective } from 'vue';
2
2
  export declare const SCOPE = "ElInfiniteScroll";
3
3
  export declare const CHECK_INTERVAL = 50;
4
4
  export declare const DEFAULT_DELAY = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/infinite-scroll/src/index.ts"],"sourcesContent":["import { nextTick } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { throttle } from 'lodash-unified'\nimport {\n getScrollContainer,\n getOffsetTopDistance,\n throwError,\n} from '@element-plus/utils'\n\nimport type { ObjectDirective, ComponentPublicInstance } from 'vue'\n\nexport const SCOPE = 'ElInfiniteScroll'\nexport const CHECK_INTERVAL = 50\nexport const DEFAULT_DELAY = 200\nexport const DEFAULT_DISTANCE = 0\n\nconst attributes = {\n delay: {\n type: Number,\n default: DEFAULT_DELAY,\n },\n distance: {\n type: Number,\n default: DEFAULT_DISTANCE,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n}\n\ntype Attrs = typeof attributes\ntype ScrollOptions = { [K in keyof Attrs]: Attrs[K]['default'] }\ntype InfiniteScrollCallback = () => void\ntype InfiniteScrollEl = HTMLElement & {\n [SCOPE]: {\n container: HTMLElement | Window\n containerEl: HTMLElement\n instance: ComponentPublicInstance\n delay: number // export for test\n lastScrollTop: number\n cb: InfiniteScrollCallback\n onScroll: () => void\n observer?: MutationObserver\n }\n}\n\nconst getScrollOptions = (\n el: HTMLElement,\n instance: ComponentPublicInstance\n): ScrollOptions => {\n return Object.entries(attributes).reduce((acm, [name, option]) => {\n const { type, default: defaultValue } = option\n const attrVal = el.getAttribute(`infinite-scroll-${name}`)\n let value = instance[attrVal] ?? attrVal ?? defaultValue\n value = value === 'false' ? false : value\n value = type(value)\n acm[name] = Number.isNaN(value) ? defaultValue : value\n return acm\n }, {} as ScrollOptions)\n}\n\nconst destroyObserver = (el: InfiniteScrollEl) => {\n const { observer } = el[SCOPE]\n\n if (observer) {\n observer.disconnect()\n delete el[SCOPE].observer\n }\n}\n\nconst handleScroll = (el: InfiniteScrollEl, cb: InfiniteScrollCallback) => {\n const { container, containerEl, instance, observer, lastScrollTop } =\n el[SCOPE]\n const { disabled, distance } = getScrollOptions(el, instance)\n const { clientHeight, scrollHeight, scrollTop } = containerEl\n const delta = scrollTop - lastScrollTop\n\n el[SCOPE].lastScrollTop = scrollTop\n\n // trigger only if full check has done and not disabled and scroll down\n if (observer || disabled || delta < 0) return\n\n let shouldTrigger = false\n\n if (container === el) {\n shouldTrigger = scrollHeight - (clientHeight + scrollTop) <= distance\n } else {\n // get the scrollHeight since el might be visible overflow\n const { clientTop, scrollHeight: height } = el\n const offsetTop = getOffsetTopDistance(el, containerEl)\n shouldTrigger =\n scrollTop + clientHeight >= offsetTop + clientTop + height - distance\n }\n\n if (shouldTrigger) {\n cb.call(instance)\n }\n}\n\nfunction checkFull(el: InfiniteScrollEl, cb: InfiniteScrollCallback) {\n const { containerEl, instance } = el[SCOPE]\n const { disabled } = getScrollOptions(el, instance)\n\n if (disabled || containerEl.clientHeight === 0) return\n\n if (containerEl.scrollHeight <= containerEl.clientHeight) {\n cb.call(instance)\n } else {\n destroyObserver(el)\n }\n}\n\nconst InfiniteScroll: ObjectDirective<\n InfiniteScrollEl,\n InfiniteScrollCallback\n> = {\n async mounted(el, binding) {\n const { instance, value: cb } = binding\n\n if (!isFunction(cb)) {\n throwError(SCOPE, \"'v-infinite-scroll' binding value must be a function\")\n }\n\n // ensure parentNode mounted\n await nextTick()\n\n const { delay, immediate } = getScrollOptions(el, instance)\n const container = getScrollContainer(el, true)\n const containerEl =\n container === window\n ? document.documentElement\n : (container as HTMLElement)\n const onScroll = throttle(handleScroll.bind(null, el, cb), delay)\n\n if (!container) return\n\n el[SCOPE] = {\n instance,\n container,\n containerEl,\n delay,\n cb,\n onScroll,\n lastScrollTop: containerEl.scrollTop,\n }\n\n if (immediate) {\n const observer = new MutationObserver(\n throttle(checkFull.bind(null, el, cb), CHECK_INTERVAL)\n )\n el[SCOPE].observer = observer\n observer.observe(el, { childList: true, subtree: true })\n checkFull(el, cb)\n }\n\n container.addEventListener('scroll', onScroll)\n },\n unmounted(el) {\n const { container, onScroll } = el[SCOPE]\n\n container?.removeEventListener('scroll', onScroll)\n destroyObserver(el)\n },\n async updated(el) {\n if (!el[SCOPE]) {\n await nextTick()\n }\n const { containerEl, cb, observer } = el[SCOPE]\n if (containerEl.clientHeight && observer) {\n checkFull(el, cb)\n }\n },\n}\n\nexport default InfiniteScroll\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/infinite-scroll/src/index.ts"],"sourcesContent":["import { nextTick } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { throttle } from 'lodash-unified'\nimport {\n getOffsetTopDistance,\n getScrollContainer,\n throwError,\n} from '@element-plus/utils'\n\nimport type { ComponentPublicInstance, ObjectDirective } from 'vue'\n\nexport const SCOPE = 'ElInfiniteScroll'\nexport const CHECK_INTERVAL = 50\nexport const DEFAULT_DELAY = 200\nexport const DEFAULT_DISTANCE = 0\n\nconst attributes = {\n delay: {\n type: Number,\n default: DEFAULT_DELAY,\n },\n distance: {\n type: Number,\n default: DEFAULT_DISTANCE,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n}\n\ntype Attrs = typeof attributes\ntype ScrollOptions = { [K in keyof Attrs]: Attrs[K]['default'] }\ntype InfiniteScrollCallback = () => void\ntype InfiniteScrollEl = HTMLElement & {\n [SCOPE]: {\n container: HTMLElement | Window\n containerEl: HTMLElement\n instance: ComponentPublicInstance\n delay: number // export for test\n lastScrollTop: number\n cb: InfiniteScrollCallback\n onScroll: () => void\n observer?: MutationObserver\n }\n}\n\nconst getScrollOptions = (\n el: HTMLElement,\n instance: ComponentPublicInstance\n): ScrollOptions => {\n return Object.entries(attributes).reduce((acm, [name, option]) => {\n const { type, default: defaultValue } = option\n const attrVal = el.getAttribute(`infinite-scroll-${name}`)\n let value = instance[attrVal] ?? attrVal ?? defaultValue\n value = value === 'false' ? false : value\n value = type(value)\n acm[name] = Number.isNaN(value) ? defaultValue : value\n return acm\n }, {} as ScrollOptions)\n}\n\nconst destroyObserver = (el: InfiniteScrollEl) => {\n const { observer } = el[SCOPE]\n\n if (observer) {\n observer.disconnect()\n delete el[SCOPE].observer\n }\n}\n\nconst handleScroll = (el: InfiniteScrollEl, cb: InfiniteScrollCallback) => {\n const { container, containerEl, instance, observer, lastScrollTop } =\n el[SCOPE]\n const { disabled, distance } = getScrollOptions(el, instance)\n const { clientHeight, scrollHeight, scrollTop } = containerEl\n const delta = scrollTop - lastScrollTop\n\n el[SCOPE].lastScrollTop = scrollTop\n\n // trigger only if full check has done and not disabled and scroll down\n if (observer || disabled || delta < 0) return\n\n let shouldTrigger = false\n\n if (container === el) {\n shouldTrigger = scrollHeight - (clientHeight + scrollTop) <= distance\n } else {\n // get the scrollHeight since el might be visible overflow\n const { clientTop, scrollHeight: height } = el\n const offsetTop = getOffsetTopDistance(el, containerEl)\n shouldTrigger =\n scrollTop + clientHeight >= offsetTop + clientTop + height - distance\n }\n\n if (shouldTrigger) {\n cb.call(instance)\n }\n}\n\nfunction checkFull(el: InfiniteScrollEl, cb: InfiniteScrollCallback) {\n const { containerEl, instance } = el[SCOPE]\n const { disabled } = getScrollOptions(el, instance)\n\n if (disabled || containerEl.clientHeight === 0) return\n\n if (containerEl.scrollHeight <= containerEl.clientHeight) {\n cb.call(instance)\n } else {\n destroyObserver(el)\n }\n}\n\nconst InfiniteScroll: ObjectDirective<\n InfiniteScrollEl,\n InfiniteScrollCallback\n> = {\n async mounted(el, binding) {\n const { instance, value: cb } = binding\n\n if (!isFunction(cb)) {\n throwError(SCOPE, \"'v-infinite-scroll' binding value must be a function\")\n }\n\n // ensure parentNode mounted\n await nextTick()\n\n const { delay, immediate } = getScrollOptions(el, instance)\n const container = getScrollContainer(el, true)\n const containerEl =\n container === window\n ? document.documentElement\n : (container as HTMLElement)\n const onScroll = throttle(handleScroll.bind(null, el, cb), delay)\n\n if (!container) return\n\n el[SCOPE] = {\n instance,\n container,\n containerEl,\n delay,\n cb,\n onScroll,\n lastScrollTop: containerEl.scrollTop,\n }\n\n if (immediate) {\n const observer = new MutationObserver(\n throttle(checkFull.bind(null, el, cb), CHECK_INTERVAL)\n )\n el[SCOPE].observer = observer\n observer.observe(el, { childList: true, subtree: true })\n checkFull(el, cb)\n }\n\n container.addEventListener('scroll', onScroll)\n },\n unmounted(el) {\n const { container, onScroll } = el[SCOPE]\n\n container?.removeEventListener('scroll', onScroll)\n destroyObserver(el)\n },\n async updated(el) {\n if (!el[SCOPE]) {\n await nextTick()\n }\n const { containerEl, cb, observer } = el[SCOPE]\n if (containerEl.clientHeight && observer) {\n checkFull(el, cb)\n }\n },\n}\n\nexport default InfiniteScroll\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type Input from './input.vue';
2
- import type { StyleValue, ExtractPropTypes } from 'vue';
2
+ import type { ExtractPropTypes, StyleValue } from 'vue';
3
3
  export declare type InputAutoSize = {
4
4
  minRows?: number;
5
5
  maxRows?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { isString } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useSizeProp } from '@element-plus/hooks'\nimport type Input from './input.vue'\nimport type { StyleValue, ExtractPropTypes } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: iconPropType,\n default: '',\n },\n prefixIcon: {\n type: iconPropType,\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n\nexport type InputInstance = InstanceType<typeof Input>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { isString } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useSizeProp } from '@element-plus/hooks'\nimport type Input from './input.vue'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: iconPropType,\n default: '',\n },\n prefixIcon: {\n type: iconPropType,\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n\nexport type InputInstance = InstanceType<typeof Input>\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <icon-view />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n watch,\n nextTick,\n getCurrentInstance,\n ref,\n shallowRef,\n onMounted,\n onUpdated,\n useSlots,\n useAttrs as useRawAttrs,\n toRef,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n isObject,\n isKorean,\n debugWarn,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useSize,\n useNamespace,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputProps, inputEmits } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":"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"}
1
+ {"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <icon-view />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgLA,IAAA,MAAA,WAAA,GAAA;AAAA,MACA,MAAA,EAAA,QAAA;AAAA,MACA,MAAA,EAAA,SAAA;AAAA,KAAA,CAAA;AAUA,IAAA,MAAA,QAAA,GAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAAC,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,MAAA,QAAA,EAAA,GAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAA,YAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,YAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,UAAA,EAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,WAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,IAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAA,QAAA,CAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,UAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA;AACA,KAAA,CAAA,CAAA;AAAA,IAAA,MACA,aAAA,GAAA,QAAA,CAAA,MAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,KAAA,EAAA,CAAA,CAAA;AAAA,IAAA,MACA,YAAA,GAAA,QAAA,CAAA,MAAA,qBAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,QAAA,CAAA,MAAA;AAEA,MAAA,QAAA,CAAA,KAAA;AAAA,MACA,KAAA,CAAA,UAAA;AAAA,KAAA,CACA,CAAA;AAAA,IACA,mBAAA,GAAA,QAAA,CAAA,MAAA;AAAA,MAAA,KAAA,CAAA,UAAA;AAEA,MAAA,iBAAA,CAAA,KAAA;AAGA,MAAA,EAAA,cAAA,MACA,EAAA;AAOA,KAAA,CAAA,CAAA;AAOA,IAAA,MAAA,gBAAA,GAAA,eAEA,KAAA,CAAA,oBACA,EAAA,GAAA,MAAA,CAAA,KACA,CAAA,UAAA,CAAA,CAAA,CAAA;AAKA,IAAA,MAAA,oBAAA,CAAA,MAAA,KAAA,CAAA,2BAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,KAAA,OAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GACA,QAAA,CAAA,MAEA,KAAA,CAAA,YAAA,IAAA,CAAA,aACA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,KAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,IAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,6BAEA,CAAA,MAAA,KAAA,CAAA,aACA,iBACA,CAAA,SAAA,KAAA,UAEA,KAAA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,eACA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AAGA,IAAA,MAAA,qBAAA,CAAA,MAAA,KAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,aAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA,KAAA,CAAA,UAAA,IAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,YAAA,IAAA,kBAAA,CAAA,KAAA,IAAA,CAAA,CAAA,aAAA,CAAA,KAAA,IAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,MAAA;AAEA,MAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,IAAA,IAAA,KAAA,UAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,QAAA,EAAA;AAAA,QACA,MAAA,OAAA,GAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QAAA,MAAA,OAAA,GAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QAEA,iBAAA,CAAA,KAAA,GAAA;AACA,UAAA,GAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA;AAAA,SACA,CAAA;AAAA,OAAA,MAAA;AAAA,QAAA,iBAAA,CAAA,KAAA,GAAA;AAAA,UAAA,SAAA,EAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,SAAA;AAKA,SAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,mBAAA,GAAA,MAAA;AACA,MAAA,MAAA,SAAA,IAAA,CAAA,KAAA,CAAA;AAAA,MAAA,IAAA,CAAA,MAAA,IAAA,MAAA,CAAA,KAAA,KAAA,gBAAA,CAAA,KAAA;AAGA,QAAA,OAAA;AACA,MAAA,MAAA,CAAA,QAAA,gBAAA,CAAA,KAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,QAAA,CAAA,KACA,CAAA;AAEA,MAAA,IAAA,CAAA;AACA,QAAA,OAAA;AAAA,MAAA,MAAA,MAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,MAAA,MAAA,eAAA,CAAA,IAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,UAAA,KAAA,EAAA,CAAA,CAAA;AAEA,MAAA,IAAA,OAAA;AACA,QAAA,OAAA;AACA,MAEA,MAAA,OAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,QAAA,MAAA,CAAA,KAAA,CAAA,SAAA,GAAA,CAAA,WAAA,EAAA,KAAA,KAAA,QAAA,GAAA,GAAA,GAAA,EAAA,CAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA,MAAA;AAIA,QAAA,sBAAA,CAAA,OAAA,CAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,gBAAA,GAAA,MAAA;AAGA,MAAA,cAAA,CAAA,UAAA;AACA,MAAA,uBAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AAAA,IAAA,MAAA,WAAA,GAAA,OAAA,KAAA,KAAA;AAIA,MAAA,eAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AAAA,MAAA,IAAA,WAAA,CAAA,KAAA;AAEA,QAAA,OAAA;AACA,MAAA,IAAA,KAAA,KAAA,gBAAA,CAAA,KAAA;AAIA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;AAAA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAGA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,qBAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,sBAAA,GAAA,CAAA,KAAA,KAAA;AAGA,MAAA,IAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAA,IAAA,CAAA,mBAAA,EAAA,KAAA,CAAA,CAAA;AAGA,MAAA,MAAA,IAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AAAA,MAAA,IAAA,CAAA,gBAAA,EAAA,KAAA,CAAA,CAAA;AAAA,MAAA,IAAA,WAAA,CAAA,KAAA,EAAA;AAIA,QAAA,0BAAA;AACA,QAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,OAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,qBAAA,GAAA,MAAA;AAEA,MAAA,eAAA,CAAA,KAAA,GAAA,CAAA,eAAA,CAAA,KAAA,CAAA;AACA,MAAA,KAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,KAAA,GAAA,YAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,IAAA,GAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AAAA,MAAA,OAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAGA,MAAA,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,aAAA,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAAA,MAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAGA,MAAA,IAAA,aAAA,EAAA,GAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAGA,MAAA,cAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,EAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IACA,MAAA,MAAA,GAAA,MAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,EAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,KAAA,GAAA,MAAA;AAAA,MAAA,IAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;AAQA,MAAA,IAAA;AAKA,MACA,IAAA,CAAA,OAAA,CAAA,CAAA;AAEA,MAAA,IAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAA,QAAA,CAAA,MAAA,cAAA,EAAA,CAAA,CAAA;AAIA,MAAA,IAAA,KAAA,CAAA,aAAA,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,gBAAA,EAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AAGA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,mBAAA,EAAA,CAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,MAAA,gBAAA,EAAA,CAAA;AAGA,KAAA,CAAA,CAAA;AAAA,IAEA,SAAA,CAAA,YAAA;AAAA,MAEA,mBAAA,EAAA,CAAA;AAAA,MAEA,gBAAA,EAAA,CAAA;AAAA,MAEA,MAAA,QAAA,EAAA,CAAA;AAAA,MAGA,gBAAA,CAAA;AAAA,KAGA,CAAA,CAAA;AAAA,IAEA,SAAA,CAAA,YAAA;AAAA,MAEA,MAAA,QAAA,EAAA,CAAA;AAAA,MAEA,gBAAA,EAAA,CAAA;AAAA,KAEA,CAAA,CAAA;AAAA,IAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -504,8 +504,8 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
504
504
  minDisabled: import("vue").ComputedRef<boolean>;
505
505
  focus: () => void;
506
506
  blur: () => void;
507
- handleFocus: (event: MouseEvent) => void;
508
- handleBlur: (event: MouseEvent) => void;
507
+ handleFocus: (event: MouseEvent | FocusEvent) => void;
508
+ handleBlur: (event: MouseEvent | FocusEvent) => void;
509
509
  ns: {
510
510
  namespace: import("vue").ComputedRef<string>;
511
511
  b: (blockSuffix?: string) => string;
@@ -521,10 +521,10 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
521
521
  };
522
522
  };
523
523
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
524
- change: (prev: number, cur: number) => boolean;
524
+ change: (prev: number | undefined, cur: number | undefined) => boolean;
525
525
  blur: (e: FocusEvent) => boolean;
526
526
  focus: (e: FocusEvent) => boolean;
527
- input: (val: number) => boolean;
527
+ input: (val: number | undefined) => boolean;
528
528
  'update:modelValue': (val: number | undefined) => boolean;
529
529
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
530
530
  readonly step: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 1, unknown, unknown, unknown>;
@@ -541,9 +541,9 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
541
541
  readonly placeholder: StringConstructor;
542
542
  readonly precision: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
543
543
  }>> & {
544
- onChange?: ((prev: number, cur: number) => any) | undefined;
544
+ onChange?: ((prev: number | undefined, cur: number | undefined) => any) | undefined;
545
545
  "onUpdate:modelValue"?: ((val: number | undefined) => any) | undefined;
546
- onInput?: ((val: number) => any) | undefined;
546
+ onInput?: ((val: number | undefined) => any) | undefined;
547
547
  onBlur?: ((e: FocusEvent) => any) | undefined;
548
548
  onFocus?: ((e: FocusEvent) => any) | undefined;
549
549
  }, {
@@ -14,9 +14,9 @@ export declare const inputNumberProps: {
14
14
  readonly precision: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
15
15
  };
16
16
  export declare const inputNumberEmits: {
17
- change: (prev: number, cur: number) => boolean;
17
+ change: (prev: number | undefined, cur: number | undefined) => boolean;
18
18
  blur: (e: FocusEvent) => boolean;
19
19
  focus: (e: FocusEvent) => boolean;
20
- input: (val: number) => boolean;
20
+ input: (val: number | undefined) => boolean;
21
21
  'update:modelValue': (val: number | undefined) => boolean;
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { buildProps, isNumber } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nexport const inputNumberProps = buildProps({\n step: {\n type: Number,\n default: 1,\n },\n stepStrictly: {\n type: Boolean,\n default: false,\n },\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n modelValue: {\n type: Number,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n controls: {\n type: Boolean,\n default: true,\n },\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n} as const)\n\nexport const inputNumberEmits = {\n change: (prev: number, cur: number) => prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n input: (val: number) => isNumber(val),\n 'update:modelValue': (val: number | undefined) =>\n isNumber(val) || val === undefined,\n}\n"],"names":[],"mappings":";;;;;;AAEY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG;AACrC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAC/B,EAAE,mBAAmB,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC;AAC/D;;;;"}
1
+ {"version":3,"file":"input-number.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { buildProps, isNumber } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nexport const inputNumberProps = buildProps({\n step: {\n type: Number,\n default: 1,\n },\n stepStrictly: {\n type: Boolean,\n default: false,\n },\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n modelValue: {\n type: Number,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n controls: {\n type: Boolean,\n default: true,\n },\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n} as const)\n\nexport const inputNumberEmits = {\n change: (prev: number | undefined, cur: number | undefined) => prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n input: (val: number | undefined) => isNumber(val),\n 'update:modelValue': (val: number | undefined) =>\n isNumber(val) || val === undefined,\n}\n"],"names":[],"mappings":";;;;;;AAEY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG;AACrC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAC/B,EAAE,mBAAmB,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC;AAC/D;;;;"}
@@ -505,8 +505,8 @@ declare const _default: import("vue").DefineComponent<{
505
505
  minDisabled: import("vue").ComputedRef<boolean>;
506
506
  focus: () => void;
507
507
  blur: () => void;
508
- handleFocus: (event: MouseEvent) => void;
509
- handleBlur: (event: MouseEvent) => void;
508
+ handleFocus: (event: MouseEvent | FocusEvent) => void;
509
+ handleBlur: (event: MouseEvent | FocusEvent) => void;
510
510
  ns: {
511
511
  namespace: import("vue").ComputedRef<string>;
512
512
  b: (blockSuffix?: string) => string;
@@ -522,10 +522,10 @@ declare const _default: import("vue").DefineComponent<{
522
522
  };
523
523
  };
524
524
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
525
- change: (prev: number, cur: number) => boolean;
525
+ change: (prev: number | undefined, cur: number | undefined) => boolean;
526
526
  blur: (e: FocusEvent) => boolean;
527
527
  focus: (e: FocusEvent) => boolean;
528
- input: (val: number) => boolean;
528
+ input: (val: number | undefined) => boolean;
529
529
  'update:modelValue': (val: number | undefined) => boolean;
530
530
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
531
531
  readonly step: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 1, unknown, unknown, unknown>;
@@ -542,9 +542,9 @@ declare const _default: import("vue").DefineComponent<{
542
542
  readonly placeholder: StringConstructor;
543
543
  readonly precision: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
544
544
  }>> & {
545
- onChange?: ((prev: number, cur: number) => any) | undefined;
545
+ onChange?: ((prev: number | undefined, cur: number | undefined) => any) | undefined;
546
546
  "onUpdate:modelValue"?: ((val: number | undefined) => any) | undefined;
547
- onInput?: ((val: number) => any) | undefined;
547
+ onInput?: ((val: number | undefined) => any) | undefined;
548
548
  onBlur?: ((e: FocusEvent) => any) | undefined;
549
549
  onFocus?: ((e: FocusEvent) => any) | undefined;
550
550
  }, {
@@ -10,6 +10,7 @@ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
10
  import RepeatClick from '../../../directives/repeat-click/index.mjs';
11
11
  import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
12
12
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
+ import { isUndefined } from '../../../utils/types.mjs';
13
14
  import { debugWarn } from '../../../utils/error.mjs';
14
15
  import { useSize, useDisabled } from '../../../hooks/use-common-props/index.mjs';
15
16
  import { isNumber } from '@vueuse/core';
@@ -37,11 +38,11 @@ const _sfc_main = defineComponent({
37
38
  });
38
39
  const { formItem } = useFormItem();
39
40
  const ns = useNamespace("input-number");
40
- const minDisabled = computed(() => _decrease(props.modelValue) < props.min);
41
- const maxDisabled = computed(() => _increase(props.modelValue) > props.max);
41
+ const minDisabled = computed(() => ensurePrecision(props.modelValue, -1) < props.min);
42
+ const maxDisabled = computed(() => ensurePrecision(props.modelValue) > props.max);
42
43
  const numPrecision = computed(() => {
43
44
  const stepPrecision = getPrecision(props.step);
44
- if (props.precision !== void 0) {
45
+ if (!isUndefined(props.precision)) {
45
46
  if (stepPrecision > props.precision) {
46
47
  debugWarn("InputNumber", "precision should not be less than the decimal places of step");
47
48
  }
@@ -63,19 +64,19 @@ const _sfc_main = defineComponent({
63
64
  if (isNumber(currentValue)) {
64
65
  if (Number.isNaN(currentValue))
65
66
  return "";
66
- if (props.precision !== void 0) {
67
+ if (!isUndefined(props.precision)) {
67
68
  currentValue = currentValue.toFixed(props.precision);
68
69
  }
69
70
  }
70
71
  return currentValue;
71
72
  });
72
73
  const toPrecision = (num, pre) => {
73
- if (pre === void 0)
74
+ if (isUndefined(pre))
74
75
  pre = numPrecision.value;
75
76
  return Number.parseFloat(`${Math.round(num * 10 ** pre) / 10 ** pre}`);
76
77
  };
77
78
  const getPrecision = (value) => {
78
- if (value === void 0)
79
+ if (isUndefined(value))
79
80
  return 0;
80
81
  const valueString = value.toString();
81
82
  const dotPosition = valueString.indexOf(".");
@@ -85,52 +86,53 @@ const _sfc_main = defineComponent({
85
86
  }
86
87
  return precision;
87
88
  };
88
- const _increase = (val) => {
89
+ const ensurePrecision = (val, coefficient = 1) => {
89
90
  if (!isNumber(val))
90
91
  return data.currentValue;
91
- const precisionFactor = 10 ** numPrecision.value;
92
92
  val = isNumber(val) ? val : Number.NaN;
93
- return toPrecision((precisionFactor * val + precisionFactor * props.step) / precisionFactor);
94
- };
95
- const _decrease = (val) => {
96
- if (!isNumber(val))
97
- return data.currentValue;
98
- const precisionFactor = 10 ** numPrecision.value;
99
- val = isNumber(val) ? val : Number.NaN;
100
- return toPrecision((precisionFactor * val - precisionFactor * props.step) / precisionFactor);
93
+ return toPrecision(val + props.step * coefficient);
101
94
  };
102
95
  const increase = () => {
103
96
  if (inputNumberDisabled.value || maxDisabled.value)
104
97
  return;
105
98
  const value = props.modelValue || 0;
106
- const newVal = _increase(value);
99
+ const newVal = ensurePrecision(value);
107
100
  setCurrentValue(newVal);
108
101
  };
109
102
  const decrease = () => {
110
103
  if (inputNumberDisabled.value || minDisabled.value)
111
104
  return;
112
105
  const value = props.modelValue || 0;
113
- const newVal = _decrease(value);
106
+ const newVal = ensurePrecision(value, -1);
114
107
  setCurrentValue(newVal);
115
108
  };
116
- const setCurrentValue = (newVal) => {
117
- var _a;
118
- const oldVal = data.currentValue;
119
- if (props.stepStrictly) {
120
- const stepPrecision = getPrecision(props.step);
121
- const precisionFactor = 10 ** stepPrecision;
122
- newVal = Math.round(newVal / props.step) * precisionFactor * props.step / precisionFactor;
109
+ const verifyValue = (value, update) => {
110
+ const { max, min, step, precision, stepStrictly } = props;
111
+ let newVal = Number(value);
112
+ if (value === null) {
113
+ newVal = Number.NaN;
123
114
  }
124
- if (typeof newVal === "number" && props.precision !== void 0) {
125
- newVal = toPrecision(newVal, props.precision);
115
+ if (!Number.isNaN(newVal)) {
116
+ if (stepStrictly) {
117
+ newVal = Math.round(newVal / step) * step;
118
+ }
119
+ if (!isUndefined(precision)) {
120
+ newVal = toPrecision(newVal, precision);
121
+ }
122
+ if (newVal > max || newVal < min) {
123
+ newVal = newVal > max ? max : min;
124
+ update && emit("update:modelValue", newVal);
125
+ }
126
126
  }
127
- if (newVal !== void 0 && newVal >= props.max)
128
- newVal = props.max;
129
- if (newVal !== void 0 && newVal <= props.min)
130
- newVal = props.min;
127
+ return newVal;
128
+ };
129
+ const setCurrentValue = (value) => {
130
+ var _a;
131
+ const oldVal = data.currentValue;
132
+ let newVal = verifyValue(value);
131
133
  if (oldVal === newVal)
132
134
  return;
133
- if (!isNumber(newVal)) {
135
+ if (Number.isNaN(newVal)) {
134
136
  newVal = void 0;
135
137
  }
136
138
  data.userInput = null;
@@ -167,28 +169,7 @@ const _sfc_main = defineComponent({
167
169
  (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
168
170
  };
169
171
  watch(() => props.modelValue, (value) => {
170
- let newVal = Number(value);
171
- if (value === null) {
172
- newVal = Number.NaN;
173
- }
174
- if (!Number.isNaN(newVal)) {
175
- if (props.stepStrictly) {
176
- const stepPrecision = getPrecision(props.step);
177
- const precisionFactor = 10 ** stepPrecision;
178
- newVal = Math.round(newVal / props.step) * precisionFactor * props.step / precisionFactor;
179
- }
180
- if (props.precision !== void 0) {
181
- newVal = toPrecision(newVal, props.precision);
182
- }
183
- if (newVal > props.max) {
184
- newVal = props.max;
185
- emit("update:modelValue", newVal);
186
- }
187
- if (newVal < props.min) {
188
- newVal = props.min;
189
- emit("update:modelValue", newVal);
190
- }
191
- }
172
+ const newVal = verifyValue(value, true);
192
173
  data.currentValue = newVal;
193
174
  data.userInput = null;
194
175
  }, { immediate: true });