element-pe 2.2.100 → 2.2.101

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 (506) hide show
  1. package/dist/index.full.js +72 -43
  2. package/dist/index.full.min.js +13 -13
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +13 -13
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +72 -43
  7. package/es/components/alert/index.mjs +2 -2
  8. package/es/components/alert/src/alert.mjs +103 -38
  9. package/es/components/alert/src/alert.mjs.map +1 -1
  10. package/es/components/alert/src/alert2.mjs +38 -103
  11. package/es/components/alert/src/alert2.mjs.map +1 -1
  12. package/es/components/avatar/index.mjs +2 -2
  13. package/es/components/avatar/src/avatar.mjs +76 -35
  14. package/es/components/avatar/src/avatar.mjs.map +1 -1
  15. package/es/components/avatar/src/avatar2.mjs +35 -76
  16. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  17. package/es/components/backtop/index.mjs +2 -2
  18. package/es/components/backtop/src/backtop.mjs +61 -23
  19. package/es/components/backtop/src/backtop.mjs.map +1 -1
  20. package/es/components/backtop/src/backtop2.mjs +23 -61
  21. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  22. package/es/components/badge/index.mjs +2 -2
  23. package/es/components/badge/src/badge.mjs +17 -59
  24. package/es/components/badge/src/badge.mjs.map +1 -1
  25. package/es/components/badge/src/badge2.mjs +59 -17
  26. package/es/components/badge/src/badge2.mjs.map +1 -1
  27. package/es/components/button/index.mjs +2 -2
  28. package/es/components/button/src/button-group.mjs +1 -1
  29. package/es/components/button/src/button.mjs +57 -76
  30. package/es/components/button/src/button.mjs.map +1 -1
  31. package/es/components/button/src/button2.mjs +76 -57
  32. package/es/components/button/src/button2.mjs.map +1 -1
  33. package/es/components/calendar/src/calendar2.mjs +1 -1
  34. package/es/components/calendar/src/date-table.mjs +87 -33
  35. package/es/components/calendar/src/date-table.mjs.map +1 -1
  36. package/es/components/calendar/src/date-table2.mjs +33 -87
  37. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  38. package/es/components/calendar/src/use-date-table.mjs +1 -1
  39. package/es/components/card/index.mjs +2 -2
  40. package/es/components/card/src/card.mjs +21 -43
  41. package/es/components/card/src/card.mjs.map +1 -1
  42. package/es/components/card/src/card2.mjs +43 -21
  43. package/es/components/card/src/card2.mjs.map +1 -1
  44. package/es/components/carousel/index.mjs +4 -4
  45. package/es/components/carousel/src/carousel-item.mjs +8 -69
  46. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  47. package/es/components/carousel/src/carousel-item2.mjs +69 -8
  48. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  49. package/es/components/carousel/src/carousel.mjs +56 -174
  50. package/es/components/carousel/src/carousel.mjs.map +1 -1
  51. package/es/components/carousel/src/carousel2.mjs +174 -56
  52. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  53. package/es/components/cascader-panel/src/index.mjs +1 -1
  54. package/es/components/cascader-panel/src/menu.mjs +1 -1
  55. package/es/components/cascader-panel/src/node.mjs +116 -209
  56. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  57. package/es/components/cascader-panel/src/node2.mjs +209 -116
  58. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  59. package/es/components/cascader-panel/src/store.mjs +1 -1
  60. package/es/components/check-tag/index.mjs +2 -2
  61. package/es/components/check-tag/src/check-tag.mjs +31 -12
  62. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  63. package/es/components/check-tag/src/check-tag2.mjs +12 -31
  64. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  65. package/es/components/collapse/index.mjs +2 -2
  66. package/es/components/collapse/src/collapse-item.mjs +14 -94
  67. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  68. package/es/components/collapse/src/collapse-item2.mjs +94 -14
  69. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  70. package/es/components/color-picker/index.mjs +2 -2
  71. package/es/components/color-picker/src/color-picker.mjs +60 -431
  72. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  73. package/es/components/color-picker/src/color-picker2.mjs +431 -60
  74. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  75. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  76. package/es/components/countdown/index.mjs +2 -2
  77. package/es/components/countdown/src/countdown.mjs +23 -76
  78. package/es/components/countdown/src/countdown.mjs.map +1 -1
  79. package/es/components/countdown/src/countdown2.mjs +76 -23
  80. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  81. package/es/components/dialog/index.mjs +2 -2
  82. package/es/components/dialog/src/dialog.mjs +175 -72
  83. package/es/components/dialog/src/dialog.mjs.map +1 -1
  84. package/es/components/dialog/src/dialog2.mjs +72 -175
  85. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  86. package/es/components/drawer/index.mjs +2 -2
  87. package/es/components/drawer/src/drawer.mjs +29 -187
  88. package/es/components/drawer/src/drawer.mjs.map +1 -1
  89. package/es/components/drawer/src/drawer2.mjs +187 -29
  90. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  91. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  92. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  93. package/es/components/dropdown/src/dropdown.mjs +1 -1
  94. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  95. package/es/components/form/index.mjs +2 -2
  96. package/es/components/form/src/form.mjs +150 -58
  97. package/es/components/form/src/form.mjs.map +1 -1
  98. package/es/components/form/src/form2.mjs +58 -150
  99. package/es/components/form/src/form2.mjs.map +1 -1
  100. package/es/components/index.mjs +36 -36
  101. package/es/components/input/index.mjs +2 -2
  102. package/es/components/input/src/input.mjs +470 -118
  103. package/es/components/input/src/input.mjs.map +1 -1
  104. package/es/components/input/src/input2.mjs +118 -470
  105. package/es/components/input/src/input2.mjs.map +1 -1
  106. package/es/components/input-number/index.mjs +2 -2
  107. package/es/components/input-number/src/input-number.mjs +335 -69
  108. package/es/components/input-number/src/input-number.mjs.map +1 -1
  109. package/es/components/input-number/src/input-number2.mjs +69 -335
  110. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  111. package/es/components/link/index.mjs +2 -2
  112. package/es/components/link/src/link.mjs +50 -21
  113. package/es/components/link/src/link.mjs.map +1 -1
  114. package/es/components/link/src/link2.mjs +21 -50
  115. package/es/components/link/src/link2.mjs.map +1 -1
  116. package/es/components/menu/index.mjs +2 -2
  117. package/es/components/menu/src/menu-item-group.mjs +4 -35
  118. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  119. package/es/components/menu/src/menu-item-group2.mjs +35 -4
  120. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  121. package/es/components/pagination/src/components/prev.mjs +38 -18
  122. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  123. package/es/components/pagination/src/components/prev2.mjs +18 -38
  124. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  125. package/es/components/pagination/src/pagination.mjs +1 -1
  126. package/es/components/popconfirm/index.mjs +2 -2
  127. package/es/components/popconfirm/src/popconfirm.mjs +110 -47
  128. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  129. package/es/components/popconfirm/src/popconfirm2.mjs +47 -110
  130. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  131. package/es/components/popover/src/popover.mjs +1 -1
  132. package/es/components/popper/index.mjs +6 -6
  133. package/es/components/popper/src/arrow.mjs +8 -39
  134. package/es/components/popper/src/arrow.mjs.map +1 -1
  135. package/es/components/popper/src/arrow2.mjs +39 -8
  136. package/es/components/popper/src/arrow2.mjs.map +1 -1
  137. package/es/components/popper/src/content.mjs +139 -94
  138. package/es/components/popper/src/content.mjs.map +1 -1
  139. package/es/components/popper/src/content2.mjs +94 -139
  140. package/es/components/popper/src/content2.mjs.map +1 -1
  141. package/es/components/popper/src/trigger.mjs +31 -121
  142. package/es/components/popper/src/trigger.mjs.map +1 -1
  143. package/es/components/popper/src/trigger2.mjs +121 -31
  144. package/es/components/popper/src/trigger2.mjs.map +1 -1
  145. package/es/components/resizable-columns/index.mjs +2 -2
  146. package/es/components/resizable-columns/src/resizable-columns.mjs +264 -21
  147. package/es/components/resizable-columns/src/resizable-columns.mjs.map +1 -1
  148. package/es/components/resizable-columns/src/resizable-columns2.mjs +21 -264
  149. package/es/components/resizable-columns/src/resizable-columns2.mjs.map +1 -1
  150. package/es/components/roving-focus-group/index.mjs +3 -3
  151. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  152. package/es/components/roving-focus-group/src/roving-focus-group.mjs +29 -27
  153. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  154. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -29
  155. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  156. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  157. package/es/components/row/index.mjs +2 -2
  158. package/es/components/row/src/row.mjs +45 -29
  159. package/es/components/row/src/row.mjs.map +1 -1
  160. package/es/components/row/src/row2.mjs +29 -45
  161. package/es/components/row/src/row2.mjs.map +1 -1
  162. package/es/components/scrollbar/index.mjs +1 -1
  163. package/es/components/scrollbar/src/bar.mjs +17 -42
  164. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  165. package/es/components/scrollbar/src/bar2.mjs +42 -17
  166. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  167. package/es/components/scrollbar/src/scrollbar.mjs +1 -1
  168. package/es/components/scrollbar/src/thumb.mjs +11 -134
  169. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  170. package/es/components/scrollbar/src/thumb2.mjs +134 -11
  171. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  172. package/es/components/slider/index.mjs +2 -2
  173. package/es/components/slider/src/button.mjs +21 -94
  174. package/es/components/slider/src/button.mjs.map +1 -1
  175. package/es/components/slider/src/button2.mjs +94 -21
  176. package/es/components/slider/src/button2.mjs.map +1 -1
  177. package/es/components/slider/src/slider.mjs +237 -96
  178. package/es/components/slider/src/slider.mjs.map +1 -1
  179. package/es/components/slider/src/slider2.mjs +96 -237
  180. package/es/components/slider/src/slider2.mjs.map +1 -1
  181. package/es/components/switch/index.mjs +2 -2
  182. package/es/components/switch/src/switch.mjs +268 -103
  183. package/es/components/switch/src/switch.mjs.map +1 -1
  184. package/es/components/switch/src/switch2.mjs +103 -268
  185. package/es/components/switch/src/switch2.mjs.map +1 -1
  186. package/es/components/table/src/store/watcher.mjs +42 -15
  187. package/es/components/table/src/store/watcher.mjs.map +1 -1
  188. package/es/components/table/src/table-body/defaults.d.ts +2 -1
  189. package/es/components/table/src/table-body/defaults.mjs +2 -1
  190. package/es/components/table/src/table-body/defaults.mjs.map +1 -1
  191. package/es/components/table/src/table-body/render-helper.mjs +6 -4
  192. package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
  193. package/es/components/tabs/index.mjs +1 -1
  194. package/es/components/tabs/src/tab-bar.mjs +7 -75
  195. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  196. package/es/components/tabs/src/tab-bar2.mjs +75 -7
  197. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  198. package/es/components/tabs/src/tab-nav.mjs +1 -1
  199. package/es/components/text/index.mjs +2 -2
  200. package/es/components/text/src/text.mjs +38 -24
  201. package/es/components/text/src/text.mjs.map +1 -1
  202. package/es/components/text/src/text2.mjs +24 -38
  203. package/es/components/text/src/text2.mjs.map +1 -1
  204. package/es/components/time-select/index.mjs +1 -1
  205. package/es/components/time-select/src/time-select.mjs +134 -55
  206. package/es/components/time-select/src/time-select.mjs.map +1 -1
  207. package/es/components/time-select/src/time-select2.mjs +55 -134
  208. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  209. package/es/components/tooltip/index.mjs +1 -1
  210. package/es/components/tooltip/src/content.mjs +1 -1
  211. package/es/components/tooltip/src/content2.mjs +1 -1
  212. package/es/components/tooltip/src/tooltip.mjs +2 -2
  213. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  214. package/es/components/tooltip/src/trigger.mjs +16 -73
  215. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  216. package/es/components/tooltip/src/trigger2.mjs +73 -16
  217. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  218. package/es/components/tooltip-v2/index.mjs +3 -3
  219. package/es/components/tooltip-v2/src/arrow.mjs +22 -37
  220. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  221. package/es/components/tooltip-v2/src/arrow2.mjs +37 -22
  222. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  223. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  224. package/es/components/tooltip-v2/src/root.mjs +82 -17
  225. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  226. package/es/components/tooltip-v2/src/root2.mjs +17 -82
  227. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  228. package/es/components/tooltip-v2/src/tooltip.mjs +3 -3
  229. package/es/components/tooltip-v2/src/tooltip2.mjs +6 -6
  230. package/es/components/tooltip-v2/src/trigger.mjs +91 -12
  231. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  232. package/es/components/tooltip-v2/src/trigger2.mjs +12 -91
  233. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  234. package/es/components/transfer/index.mjs +2 -2
  235. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  236. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  237. package/es/components/transfer/src/transfer-panel.mjs +128 -19
  238. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  239. package/es/components/transfer/src/transfer-panel2.mjs +19 -128
  240. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  241. package/es/components/transfer/src/transfer.mjs +69 -162
  242. package/es/components/transfer/src/transfer.mjs.map +1 -1
  243. package/es/components/transfer/src/transfer2.mjs +162 -69
  244. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  245. package/es/components/visual-hidden/index.mjs +3 -3
  246. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -7
  247. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  248. package/es/components/visual-hidden/src/visual-hidden2.mjs +7 -35
  249. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  250. package/es/components/watermark/index.mjs +2 -2
  251. package/es/components/watermark/src/watermark.mjs +207 -28
  252. package/es/components/watermark/src/watermark.mjs.map +1 -1
  253. package/es/components/watermark/src/watermark2.mjs +28 -207
  254. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  255. package/es/index.mjs +36 -36
  256. package/lib/components/alert/index.js +2 -2
  257. package/lib/components/alert/src/alert.js +102 -39
  258. package/lib/components/alert/src/alert.js.map +1 -1
  259. package/lib/components/alert/src/alert2.js +39 -102
  260. package/lib/components/alert/src/alert2.js.map +1 -1
  261. package/lib/components/avatar/index.js +2 -2
  262. package/lib/components/avatar/src/avatar.js +75 -35
  263. package/lib/components/avatar/src/avatar.js.map +1 -1
  264. package/lib/components/avatar/src/avatar2.js +35 -75
  265. package/lib/components/avatar/src/avatar2.js.map +1 -1
  266. package/lib/components/backtop/index.js +2 -2
  267. package/lib/components/backtop/src/backtop.js +61 -24
  268. package/lib/components/backtop/src/backtop.js.map +1 -1
  269. package/lib/components/backtop/src/backtop2.js +24 -61
  270. package/lib/components/backtop/src/backtop2.js.map +1 -1
  271. package/lib/components/badge/index.js +2 -2
  272. package/lib/components/badge/src/badge.js +17 -59
  273. package/lib/components/badge/src/badge.js.map +1 -1
  274. package/lib/components/badge/src/badge2.js +59 -17
  275. package/lib/components/badge/src/badge2.js.map +1 -1
  276. package/lib/components/button/index.js +2 -2
  277. package/lib/components/button/src/button-group.js +1 -1
  278. package/lib/components/button/src/button.js +60 -76
  279. package/lib/components/button/src/button.js.map +1 -1
  280. package/lib/components/button/src/button2.js +76 -60
  281. package/lib/components/button/src/button2.js.map +1 -1
  282. package/lib/components/calendar/src/calendar2.js +1 -1
  283. package/lib/components/calendar/src/date-table.js +87 -37
  284. package/lib/components/calendar/src/date-table.js.map +1 -1
  285. package/lib/components/calendar/src/date-table2.js +37 -87
  286. package/lib/components/calendar/src/date-table2.js.map +1 -1
  287. package/lib/components/calendar/src/use-date-table.js +1 -1
  288. package/lib/components/card/index.js +2 -2
  289. package/lib/components/card/src/card.js +21 -43
  290. package/lib/components/card/src/card.js.map +1 -1
  291. package/lib/components/card/src/card2.js +43 -21
  292. package/lib/components/card/src/card2.js.map +1 -1
  293. package/lib/components/carousel/index.js +4 -4
  294. package/lib/components/carousel/src/carousel-item.js +8 -69
  295. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  296. package/lib/components/carousel/src/carousel-item2.js +69 -8
  297. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  298. package/lib/components/carousel/src/carousel.js +57 -174
  299. package/lib/components/carousel/src/carousel.js.map +1 -1
  300. package/lib/components/carousel/src/carousel2.js +174 -57
  301. package/lib/components/carousel/src/carousel2.js.map +1 -1
  302. package/lib/components/cascader-panel/src/index.js +1 -1
  303. package/lib/components/cascader-panel/src/menu.js +1 -1
  304. package/lib/components/cascader-panel/src/node.js +116 -209
  305. package/lib/components/cascader-panel/src/node.js.map +1 -1
  306. package/lib/components/cascader-panel/src/node2.js +209 -116
  307. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  308. package/lib/components/cascader-panel/src/store.js +1 -1
  309. package/lib/components/check-tag/index.js +2 -2
  310. package/lib/components/check-tag/src/check-tag.js +31 -13
  311. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  312. package/lib/components/check-tag/src/check-tag2.js +13 -31
  313. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  314. package/lib/components/collapse/index.js +2 -2
  315. package/lib/components/collapse/src/collapse-item.js +14 -94
  316. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  317. package/lib/components/collapse/src/collapse-item2.js +94 -14
  318. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  319. package/lib/components/color-picker/index.js +2 -2
  320. package/lib/components/color-picker/src/color-picker.js +60 -429
  321. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  322. package/lib/components/color-picker/src/color-picker2.js +429 -60
  323. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  324. package/lib/components/color-picker/src/components/predefine.js +1 -1
  325. package/lib/components/countdown/index.js +2 -2
  326. package/lib/components/countdown/src/countdown.js +24 -76
  327. package/lib/components/countdown/src/countdown.js.map +1 -1
  328. package/lib/components/countdown/src/countdown2.js +76 -24
  329. package/lib/components/countdown/src/countdown2.js.map +1 -1
  330. package/lib/components/dialog/index.js +2 -2
  331. package/lib/components/dialog/src/dialog.js +175 -73
  332. package/lib/components/dialog/src/dialog.js.map +1 -1
  333. package/lib/components/dialog/src/dialog2.js +73 -175
  334. package/lib/components/dialog/src/dialog2.js.map +1 -1
  335. package/lib/components/drawer/index.js +2 -2
  336. package/lib/components/drawer/src/drawer.js +30 -187
  337. package/lib/components/drawer/src/drawer.js.map +1 -1
  338. package/lib/components/drawer/src/drawer2.js +187 -30
  339. package/lib/components/drawer/src/drawer2.js.map +1 -1
  340. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  341. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  342. package/lib/components/dropdown/src/dropdown.js +1 -1
  343. package/lib/components/dropdown/src/dropdown2.js +1 -1
  344. package/lib/components/form/index.js +2 -2
  345. package/lib/components/form/src/form.js +149 -58
  346. package/lib/components/form/src/form.js.map +1 -1
  347. package/lib/components/form/src/form2.js +58 -149
  348. package/lib/components/form/src/form2.js.map +1 -1
  349. package/lib/components/index.js +36 -36
  350. package/lib/components/input/index.js +2 -2
  351. package/lib/components/input/src/input.js +469 -118
  352. package/lib/components/input/src/input.js.map +1 -1
  353. package/lib/components/input/src/input2.js +118 -469
  354. package/lib/components/input/src/input2.js.map +1 -1
  355. package/lib/components/input-number/index.js +2 -2
  356. package/lib/components/input-number/src/input-number.js +333 -68
  357. package/lib/components/input-number/src/input-number.js.map +1 -1
  358. package/lib/components/input-number/src/input-number2.js +68 -333
  359. package/lib/components/input-number/src/input-number2.js.map +1 -1
  360. package/lib/components/link/index.js +2 -2
  361. package/lib/components/link/src/link.js +50 -22
  362. package/lib/components/link/src/link.js.map +1 -1
  363. package/lib/components/link/src/link2.js +22 -50
  364. package/lib/components/link/src/link2.js.map +1 -1
  365. package/lib/components/menu/index.js +2 -2
  366. package/lib/components/menu/src/menu-item-group.js +4 -35
  367. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  368. package/lib/components/menu/src/menu-item-group2.js +35 -4
  369. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  370. package/lib/components/pagination/src/components/prev.js +38 -19
  371. package/lib/components/pagination/src/components/prev.js.map +1 -1
  372. package/lib/components/pagination/src/components/prev2.js +19 -38
  373. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  374. package/lib/components/pagination/src/pagination.js +1 -1
  375. package/lib/components/popconfirm/index.js +2 -2
  376. package/lib/components/popconfirm/src/popconfirm.js +110 -48
  377. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  378. package/lib/components/popconfirm/src/popconfirm2.js +48 -110
  379. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  380. package/lib/components/popover/src/popover.js +1 -1
  381. package/lib/components/popper/index.js +6 -6
  382. package/lib/components/popper/src/arrow.js +9 -39
  383. package/lib/components/popper/src/arrow.js.map +1 -1
  384. package/lib/components/popper/src/arrow2.js +39 -9
  385. package/lib/components/popper/src/arrow2.js.map +1 -1
  386. package/lib/components/popper/src/content.js +139 -99
  387. package/lib/components/popper/src/content.js.map +1 -1
  388. package/lib/components/popper/src/content2.js +99 -139
  389. package/lib/components/popper/src/content2.js.map +1 -1
  390. package/lib/components/popper/src/trigger.js +32 -121
  391. package/lib/components/popper/src/trigger.js.map +1 -1
  392. package/lib/components/popper/src/trigger2.js +121 -32
  393. package/lib/components/popper/src/trigger2.js.map +1 -1
  394. package/lib/components/resizable-columns/index.js +2 -2
  395. package/lib/components/resizable-columns/src/resizable-columns.js +264 -21
  396. package/lib/components/resizable-columns/src/resizable-columns.js.map +1 -1
  397. package/lib/components/resizable-columns/src/resizable-columns2.js +21 -264
  398. package/lib/components/resizable-columns/src/resizable-columns2.js.map +1 -1
  399. package/lib/components/roving-focus-group/index.js +2 -2
  400. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  401. package/lib/components/roving-focus-group/src/roving-focus-group.js +33 -27
  402. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  403. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -33
  404. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  405. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  406. package/lib/components/row/index.js +2 -2
  407. package/lib/components/row/src/row.js +45 -31
  408. package/lib/components/row/src/row.js.map +1 -1
  409. package/lib/components/row/src/row2.js +31 -45
  410. package/lib/components/row/src/row2.js.map +1 -1
  411. package/lib/components/scrollbar/index.js +1 -1
  412. package/lib/components/scrollbar/src/bar.js +17 -42
  413. package/lib/components/scrollbar/src/bar.js.map +1 -1
  414. package/lib/components/scrollbar/src/bar2.js +42 -17
  415. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  416. package/lib/components/scrollbar/src/scrollbar.js +1 -1
  417. package/lib/components/scrollbar/src/thumb.js +11 -134
  418. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  419. package/lib/components/scrollbar/src/thumb2.js +134 -11
  420. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  421. package/lib/components/slider/index.js +2 -2
  422. package/lib/components/slider/src/button.js +22 -94
  423. package/lib/components/slider/src/button.js.map +1 -1
  424. package/lib/components/slider/src/button2.js +94 -22
  425. package/lib/components/slider/src/button2.js.map +1 -1
  426. package/lib/components/slider/src/slider.js +237 -97
  427. package/lib/components/slider/src/slider.js.map +1 -1
  428. package/lib/components/slider/src/slider2.js +97 -237
  429. package/lib/components/slider/src/slider2.js.map +1 -1
  430. package/lib/components/switch/index.js +2 -2
  431. package/lib/components/switch/src/switch.js +267 -103
  432. package/lib/components/switch/src/switch.js.map +1 -1
  433. package/lib/components/switch/src/switch2.js +103 -267
  434. package/lib/components/switch/src/switch2.js.map +1 -1
  435. package/lib/components/table/src/store/watcher.js +42 -15
  436. package/lib/components/table/src/store/watcher.js.map +1 -1
  437. package/lib/components/table/src/table-body/defaults.d.ts +2 -1
  438. package/lib/components/table/src/table-body/defaults.js +2 -0
  439. package/lib/components/table/src/table-body/defaults.js.map +1 -1
  440. package/lib/components/table/src/table-body/render-helper.js +6 -4
  441. package/lib/components/table/src/table-body/render-helper.js.map +1 -1
  442. package/lib/components/tabs/index.js +1 -1
  443. package/lib/components/tabs/src/tab-bar.js +7 -75
  444. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  445. package/lib/components/tabs/src/tab-bar2.js +75 -7
  446. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  447. package/lib/components/tabs/src/tab-nav.js +1 -1
  448. package/lib/components/text/index.js +2 -2
  449. package/lib/components/text/src/text.js +38 -24
  450. package/lib/components/text/src/text.js.map +1 -1
  451. package/lib/components/text/src/text2.js +24 -38
  452. package/lib/components/text/src/text2.js.map +1 -1
  453. package/lib/components/time-select/index.js +1 -1
  454. package/lib/components/time-select/src/time-select.js +139 -55
  455. package/lib/components/time-select/src/time-select.js.map +1 -1
  456. package/lib/components/time-select/src/time-select2.js +55 -139
  457. package/lib/components/time-select/src/time-select2.js.map +1 -1
  458. package/lib/components/tooltip/index.js +1 -1
  459. package/lib/components/tooltip/src/content.js +1 -1
  460. package/lib/components/tooltip/src/content2.js +1 -1
  461. package/lib/components/tooltip/src/tooltip.js +2 -2
  462. package/lib/components/tooltip/src/tooltip2.js +2 -2
  463. package/lib/components/tooltip/src/trigger.js +16 -73
  464. package/lib/components/tooltip/src/trigger.js.map +1 -1
  465. package/lib/components/tooltip/src/trigger2.js +73 -16
  466. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  467. package/lib/components/tooltip-v2/index.js +3 -3
  468. package/lib/components/tooltip-v2/src/arrow.js +23 -37
  469. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  470. package/lib/components/tooltip-v2/src/arrow2.js +37 -23
  471. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  472. package/lib/components/tooltip-v2/src/content2.js +1 -1
  473. package/lib/components/tooltip-v2/src/root.js +82 -17
  474. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  475. package/lib/components/tooltip-v2/src/root2.js +17 -82
  476. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  477. package/lib/components/tooltip-v2/src/tooltip.js +3 -3
  478. package/lib/components/tooltip-v2/src/tooltip2.js +6 -6
  479. package/lib/components/tooltip-v2/src/trigger.js +91 -12
  480. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  481. package/lib/components/tooltip-v2/src/trigger2.js +12 -91
  482. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  483. package/lib/components/transfer/index.js +2 -2
  484. package/lib/components/transfer/src/composables/use-check.js +1 -1
  485. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  486. package/lib/components/transfer/src/transfer-panel.js +128 -21
  487. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  488. package/lib/components/transfer/src/transfer-panel2.js +21 -128
  489. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  490. package/lib/components/transfer/src/transfer.js +73 -162
  491. package/lib/components/transfer/src/transfer.js.map +1 -1
  492. package/lib/components/transfer/src/transfer2.js +162 -73
  493. package/lib/components/transfer/src/transfer2.js.map +1 -1
  494. package/lib/components/visual-hidden/index.js +2 -2
  495. package/lib/components/visual-hidden/src/visual-hidden.js +35 -7
  496. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  497. package/lib/components/visual-hidden/src/visual-hidden2.js +7 -35
  498. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  499. package/lib/components/watermark/index.js +2 -2
  500. package/lib/components/watermark/src/watermark.js +207 -28
  501. package/lib/components/watermark/src/watermark.js.map +1 -1
  502. package/lib/components/watermark/src/watermark2.js +28 -207
  503. package/lib/components/watermark/src/watermark2.js.map +1 -1
  504. package/lib/index.js +36 -36
  505. package/package.json +1 -1
  506. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n :widget=\"widget\"\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 <div ref=\"wrapperRef\" :class=\"wrapperKls\">\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 <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"inputReadonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"inputViewMode || isTableInput ? '' : placeholder\"\n :style=\"inputStyle\"\n :form=\"props.form\"\n :autofocus=\"props.autofocus\"\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 <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\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=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\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 <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 </span>\n </div>\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 :id=\"inputId\"\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"inputReadonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"inputViewMode || isTableInput ? '' : placeholder\"\n :form=\"props.form\"\n :autofocus=\"props.autofocus\"\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\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed, inject,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n} from 'vue'\nimport { watch } from '../../config-provider'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormViewMode,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useFocusController,\n useNamespace,\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'\nimport { TABLE_INJECTION_KEY } from '../../table/src/tokens'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst table = inject(TABLE_INJECTION_KEY, undefined)\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n inputViewMode.value ? 'view-mode-' + inputViewMode.value : '',\n nsInput.is('table-input', isTableInput.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\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 || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst isTableInput = computed(() => table && props.tableInput)\nconst inputSize = computed(() => {\n if (isTableInput.value) {\n return table!.props.size === 'small' ? 'small' : ''\n } else {\n const formSize = useFormSize()\n return formSize.value\n }\n})\n\nconst inputDisabled = useFormDisabled()\nconst inputViewMode = useFormViewMode()\nconst inputReadonly = computed<boolean>(() => props.readonly || !!inputViewMode.value)\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n afterBlur() {\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\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 !inputViewMode.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !inputViewMode.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || isFocused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !inputViewMode.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => 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 [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n }\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) {\n setNativeInputValue()\n return\n }\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 setCursor()\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 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 }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\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":["inject","TABLE_INJECTION_KEY","useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useFormViewMode","useNamespace","shallowRef","ref","useFocusController","debugWarn","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","event","UPDATE_MODEL_EVENT","isKorean","watch","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAgMc,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAM,MAAA,KAAA,GAAQA,UAAO,CAAAC,0BAAA,EAAqB,KAAS,CAAA,CAAA,CAAA;AACnD,IAAA,MAAM,WAAWC,YAAY,EAAA,CAAA;AAC7B,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,cAAA,GAAiBC,aAAS,MAAM;AACpC,MAAA,MAAM,gBAAyC,EAAC,CAAA;AAChD,MAAI,IAAA,KAAA,CAAM,kBAAkB,UAAY,EAAA;AACtC,QAAA,aAAA,CAAc,mBAAmB,QAAS,CAAA,eAAA,CAAA,CAAA;AAC1C,QAAA,aAAA,CAAc,eAAe,QAAS,CAAA,WAAA,CAAA,CAAA;AACtC,QAAA,aAAA,CAAc,mBAAmB,QAAS,CAAA,eAAA,CAAA,CAAA;AAAA,OAC5C;AACA,MAAO,OAAA,aAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeA,aAAS,MAAM;AAAA,MAClC,MAAM,IAAS,KAAA,UAAA,GAAa,WAAW,CAAE,EAAA,GAAI,QAAQ,CAAE,EAAA;AAAA,MACvD,OAAA,CAAQ,CAAE,CAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MACzB,aAAc,CAAA,KAAA,GAAQ,YAAe,GAAA,aAAA,CAAc,KAAQ,GAAA,EAAA;AAAA,MAC3D,OAAQ,CAAA,EAAA,CAAG,aAAe,EAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MAC5C,OAAQ,CAAA,EAAA,CAAG,UAAY,EAAA,aAAA,CAAc,KAAK,CAAA;AAAA,MAC1C,OAAQ,CAAA,EAAA,CAAG,QAAU,EAAA,WAAA,CAAY,KAAK,CAAA;AAAA,MACtC;AAAA,QACE,CAAC,OAAQ,CAAA,CAAA,CAAE,OAAO,CAAI,GAAA,KAAA,CAAM,WAAW,KAAM,CAAA,MAAA;AAAA,QAC7C,CAAC,OAAQ,CAAA,EAAA,CAAG,OAAS,EAAA,QAAQ,IAAI,KAAM,CAAA,MAAA;AAAA,QACvC,CAAC,OAAQ,CAAA,EAAA,CAAG,OAAS,EAAA,SAAS,IAAI,KAAM,CAAA,OAAA;AAAA,QACxC,CAAC,OAAQ,CAAA,CAAA,CAAE,QAAQ,CAAI,GAAA,KAAA,CAAM,UAAU,KAAM,CAAA,UAAA;AAAA,QAC7C,CAAC,OAAQ,CAAA,CAAA,CAAE,QAAQ,CAAA,GACjB,KAAM,CAAA,MAAA,IAAU,KAAM,CAAA,UAAA,IAAc,KAAM,CAAA,SAAA,IAAa,KAAM,CAAA,YAAA;AAAA,QAC/D,CAAC,QAAQ,EAAG,CAAA,QAAA,EAAU,gBAAgB,CACpC,GAAA,SAAA,CAAU,SAAS,cAAe,CAAA,KAAA;AAAA,OACtC;AAAA,MACA,QAAS,CAAA,KAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAAA,MAChC,OAAA,CAAQ,EAAE,SAAS,CAAA;AAAA,MACnB,OAAQ,CAAA,EAAA,CAAG,OAAS,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,KACpC,CAAA,CAAA;AAED,IAAA,MAAM,QAAQC,cAAS,CAAA;AAAA,MACrB,WAAA,EAAaD,aAAmB,MAAM;AACpC,QAAO,OAAA,MAAA,CAAO,IAAK,CAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,OACxC,CAAA;AAAA,KACF,CAAA,CAAA;AACD,IAAM,MAAA,EAAE,IAAM,EAAA,QAAA,EAAA,GAAaE,uBAAY,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,OAAY,EAAA,GAAAC,8BAAA,CAAmB,KAAO,EAAA;AAAA,MAC5C,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AACD,IAAA,MAAM,YAAe,GAAAH,YAAA,CAAS,MAAM,KAAA,IAAS,MAAM,UAAU,CAAA,CAAA;AAC7D,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAA,IAAI,aAAa,KAAO,EAAA;AACtB,QAAA,OAAO,KAAO,CAAA,KAAA,CAAM,IAAS,KAAA,OAAA,GAAU,OAAU,GAAA,EAAA,CAAA;AAAA,OAC5C,MAAA;AACL,QAAA,MAAM,WAAWI,8BAAY,EAAA,CAAA;AAC7B,QAAA,OAAO,QAAS,CAAA,KAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,gBAAgBC,kCAAgB,EAAA,CAAA;AACtC,IAAA,MAAM,gBAAgBC,kCAAgB,EAAA,CAAA;AACtC,IAAM,MAAA,aAAA,GAAgBN,aAAkB,MAAM,KAAA,CAAM,YAAY,CAAC,CAAC,cAAc,KAAK,CAAA,CAAA;AACrF,IAAM,MAAA,OAAA,GAAUO,qBAAa,OAAO,CAAA,CAAA;AACpC,IAAM,MAAA,UAAA,GAAaA,qBAAa,UAAU,CAAA,CAAA;AAE1C,IAAA,MAAM,QAAQC,cAA6B,EAAA,CAAA;AAC3C,IAAA,MAAM,WAAWA,cAAgC,EAAA,CAAA;AAEjD,IAAM,MAAA,QAAA,GAAWC,QAAI,KAAK,CAAA,CAAA;AAC1B,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA,CAAA;AAC7B,IAAM,MAAA,eAAA,GAAkBA,QAAI,KAAK,CAAA,CAAA;AACjC,IAAA,MAAM,aAAaA,OAAgB,EAAA,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoBD,cAAW,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAErD,IAAA,MAAM,OAAOR,YAAS,CAAA,MAAM,KAAM,CAAA,KAAA,IAAS,SAAS,KAAK,CAAA,CAAA;AAEzD,IAAA,MAAM,EAAE,UAAY,EAAA,SAAA,EAAW,WAAa,EAAA,UAAA,EAAA,GAAeU,2BACzD,IACA,EAAA;AAAA,MACE,SAAY,GAAA;AACV,QAAA,IAAI;AACF,QAAU,IAAA,KAAA,CAAA,aAAW;AAAqC,UAC5D,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,KAAAC,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,SACF;AAAA,OAEJ;AAEA,KAAA,CAAA,CAAA;AACA,IAAA,MAAM,cAAgB,GAAAX,YAAS,CAAM,MAAA;AACrC,MAAA,IAAM;AAGN,MAAA,qBAA8B,IAAA,GAAA,KAAA,CAC5B,GAAgB,IAAA,CAAA,UAAA,KAAA,YAAmB,KACrC,CAAA;AACA,KAAM,CAAA,CAAA;AAA4C,IAAA,MACvC,aAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,KAAA,EAAA,CAAA,CAAA;AAAA,IAAA,MACH,YAAA,GAAAA,YAAA,CAAA,MAAA,aAAA,CAAA,KAAA,IAAAY,0BAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACR,MAAC,YAAA,GAAAZ,YAAA,CAAA,MAAA,eAAA,CAAA,KAAA,GAAAa,aAAA,GAAAC,aAAA,CAAA,CAAA;AACD,IAAM,MAAA,cAAA,eAAqC,CAAM,MAAA;AAAA,MAC/C,QAAM,CAAA,KAAA;AAAA,MACN,KAAkB,CAAA,UAAA;AAAA,KAClB,CAAA,CAAA;AAAuB,IACzB,MAAC,aAAA,GAAAd,YAAA,CAAA,MAAA;AACD,MAAM,KAAA,CAAA,UAAA;AAGN,MAAM;AASN,MAAM,EAAA,MAAA,EAAA,KAAA,CAAA;AASN,KAAM,CAAA,CAAA;AAUN,IAAA,MAAM,gBAAa,GAAAA,YAAe,CAAA,MAAAe,mBAAA,CAAA,KAAiB,WAAY,CAAA,GAAA,EAAA,GAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAC/D,IAAA,MAAM,SAAc,GAAAf,YAAA,CAAA,MAGhB,KAAE,CAAA,SAAA,IAAA,CAAA,aACF,CAAA,KAAA,IAAW,CAAQ,aAAA,CAAO,KAAM,IAAA,CAAA,cACpC,IAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,KAAA,SAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAM,MAAA,cAAA,eACJ,CACE,MAAC,KAAO,CAAA,YACP,IAAO,CAAA,aAAA,CAAA,uBAER,CAAA,wBACmB,IAAA,CAAA,CAAA,gBAAA,CAClB,KAAE,KAAA,CAAA,CAAA,gBAAuB,CAAA,KAAA,IAAA,SAC9B,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAM,kBAA4B,GAAAA,YAAA,CAAA,MAAA,KAAe,CAAA,aAAA,IAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,KAAA,KAAA,CAAA,IAAA,KAAA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,CAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AAEjD,IAAkB,MAAA,UAAA,GAAAA,YAAA,CAAU,MAAa,gBAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AACvC,IAAqB,MAAA,WAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AACrB,IAAA,MAAI,aAAC,GAAAA,YAA4B,CAAA,MAAA,CAAA,CAAA,KAAiB,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;AAAQ,IAAA,MAAA,CAAA,YAAA,EAAA,SAAA,CAAA,GAAAgB,iBAAA,CAAA,KAAA,CAAA,CAAA;AAC1D,IAAAC,sBAAsB,CAAA,QAAA,EAAA,CAAA,OAAA,KAAA;AACtB,MAAM,oBAAkB,EAAA,CAAA;AACxB,MAAA,IAAA,CAAA,kBAAmB,CAAA,KAAA,IAAA,KAAA,CAAA,MAAA,KAAA,MAAA;AAAA,QAEjB,OAAO;AAA4B,MACrC,MAAA,KAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MACD,MAAA,EAAA,KAAA,EAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AAED,MAAA;AACE,QAAM,KAAA,eAAqB,EAAA,KAAA,GAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA;AAE3B,OAAA,CAAA;AAAyD,KAAA,CAAA,CAAA;AAEzD,IAAA,MAAI,cAAU,GAAA,MAAA;AACZ,MAAA,MAAA,EAAM,IAAU,EAAA,QAAA,EAAA,GAAS,KAAQ,CAAA;AACjC,MAAA,IAAA,CAAAC,aAAgB,IAAA,IAAA,KAAA,UAAiB,aAAuB,CAAA,KAAA;AACxD,QAAA,OAAsB;AAMtB,MAAA,IAAA,QAAA,EAAA;AAA0B,QAAA,MACb,OAAA,GAAAC,eAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QAAA,MACR,OAAA,GAAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QACL,MAAA,cAAA,GAAAC,wBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAEA,QAAA,iBAAe,CAAA,KAAA,GAAA;AAEb,UAAA,SAAS,EAAO,QAAA;AAChB,UAAA,GAAA,cAAA;AAA0B,SAC3B,CAAA;AAAA,QACIC,YAAA,CAAA,MAAA;AACL,UAAA,QAAA,CAAA,KAAA,CAAA,YAA0B,CAAA;AAAA,UACxB,iBAAW,CAAA,KAAA,GAAA,cAA4B,CAAA;AAAO,SAChD,CAAA,CAAA;AAAA,OACF,MAAA;AAAA,QACF,iBAAA,CAAA,KAAA,GAAA;AAEA,UAAM,SAAA,EAAAD,wBAAuD,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,SAAA;AAC3D,SAAA,CAAI;AACJ,OAAA;AACE,KAAI,CAAA;AAA2B,IAAA,MAAA,oBAAA,GAAA,CAAA,eAAA,KAAA;AAC/B,MAAM,IAAA,MAAA,GAAA,KAAA,CAAA;AACN,MAAA,OAAK,MAAY;AACf,QAAe,IAAA,EAAA,CAAA;AACf,QAAS,IAAA,MAAA,IAAA,CAAA,KAAA,CAAA,QAAA;AAAA,UACX,OAAA;AAAA,QACF,MAAA,UAAA,GAAA,CAAA,CAAA,EAAA,GAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,MAAA,IAAA,CAAA;AAAA,QACF,IAAA,CAAA,UAAA,EAAA;AAEA,UAAM,eAAA,EAAA,CAAA;AAEN,UAAM;AACJ,SAAA;AACA,OAAM,CAAA;AAGN,KAAI,CAAA;AAA0C,IAAA,MAAA,oBAAA,GAAA,oBAAA,CAAA,cAAA,CAAA,CAAA;AAC9C,IAAA,MAAA,mBAAc,GAAA,MAAA;AAAA,MAChB,MAAA,MAAA,GAAA,IAAA,CAAA,KAAA,CAAA;AAEA,MAAM,MAAA,sBAAsC,CAAA,SAAA,GAAA,KAAA,CAAA,SAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,KAAA,CAAA;AAC1C,MAAa,IAAA,CAAA,MAAA,IAAA,MAAA,CAAA,KAAA,KAAA,cAAA;AAEb,QAAI;AAEJ,MAAA,YAAqB,GAAA,cAAA,CAAA;AACnB,KAAA,CAAA;AAA6C,IAC/C,MAAA,WAAA,GAAA,OAAAE,OAAA,KAAA;AAIA,MAAA,YAAgB,EAAA,CAAA;AAAO,MAAA,IAAA,EAAA,KAAA,EAAA,GAAAA,OAAA,CAAA,MAAA,CAAA;AAIvB,MAAI,IAAA,KAAA,CAAA;AACF,QAAoB,KAAA,GAAA,KAAA,CAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACpB,OAAA;AAAA,MACF,IAAA,WAAA,CAAA,KAAA;AAEA,QAAA;AACA,MAAA,IAAA,UAAc,gBAAK,CAAA,KAAA,EAAA;AAInB,QAAA,mBAAe,EAAA,CAAA;AACf,QAAoB,OAAA;AACpB,OAAU;AAAA,MACZ,IAAA,CAAAC,wBAAA,EAAA,KAAA,CAAA,CAAA;AAEA,MAAM,IAAA,CAAA,OAAA,EAAA,KAAe,CAAC,CAAiB;AACrC,MAAK,MAAAF,YAAA,EAAiB,CAAA;AAA8B,MACtD,mBAAA,EAAA,CAAA;AAEA,MAAM,SAAA,EAAA,CAAA;AACJ,KAAA,CAAA;AACA,IAAA,MAAA,YAAoB,GAAA,CAAA,KAAA,KAAA;AAAA,MACtB,IAAA,CAAA,QAAA,EAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAA,MAAA,sBAA0B,GAAK,CAAA,KAAA,KAAA;AAC/B,MAAM,IAAA,CAAA,kBAA2C,EAAA,KAAA,CAAA,CAAA;AACjD,MAAA,WAAsB,CAAA,KAAA,GAAA,IAAA,CAAA;AACtB,KAAY,CAAA;AAA+B,IAC7C,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AAEA,MAAM,IAAA,EAAA,CAAA;AACJ,MAAA,IAAA,CAAK,mBAAuB,EAAA,KAAA,CAAA,CAAA;AAC5B,MAAA,gBAAgB,GAAO,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AACrB,MAAA,MAAA,aAAoB,GAAA,IAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AACpB,MAAA,WAAA,CAAA,KAAiB,GAAA,CAAAG,aAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,IACF,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AAEA,MAAA,IAAM,wBAAwB,CAAM,CAAA;AAClC,MAAgB,IAAA,WAAA,CAAA,KAAA,EAAA;AAChB,QAAM,WAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,QACR,WAAA,CAAA,KAAA,CAAA,CAAA;AAEA,OAAA;AAEE,KAAA,CAAA;AACA,IAAA,MAAA,qBAAkB,GAAA,MAAA;AAAA,MACpB,eAAA,CAAA,KAAA,GAAA,CAAA,eAAA,CAAA,KAAA,CAAA;AAEA,MAAA,KAAa,EAAA,CAAA;AAEb,KAAM,CAAA;AACJ,IAAA,MAAA,KAAS,GAAQ,YAAA;AACjB,MAAA,IAAA;AAAsB,MACxB,MAAAH,YAAA,EAAA,CAAA;AAEA,MAAM,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAwC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAC5C,KAAA,CAAA;AACA,IAAA,MAAA;AAAsB,MACxB,IAAA,EAAA,CAAA;AAEA,MAAM,OAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAwC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AAC5C,KAAA,CAAA;AAAmB,IACrB,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAEA,MAAA,cAAqB,GAAA,KAAA,CAAA;AACnB,MAAA,IAAA,CAAK,YAAc,EAAA,GAAA,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,MAAM,gBAAc,GAAA,CAAA,GAAA,KAAA;AAClB,MAAA;AACA,MAAA,IAAA,CAAK,YAAY,EAAA,GAAA,CAAA,CAAA;AACjB,KAAA,CAAA;AACA,IAAA,MAAA,aAAgB,GAAA,CAAA,GAAA,KAAA;AAAA,MAClB,IAAA,CAAA,SAAA,EAAA,GAAA,CAAA,CAAA;AAEA,KACE,CAAA;AAEE,IAAS,MAAA,MAAA,GAAA;AACT,MAAA,IAAI;AACF,MAAU,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,YAAqB,CAAA,GAAA,EAAM,CAAC,MAAQ,EAAA,CAAA;AAAc,KAC9D,CAAA;AAAA,IACF,MACF,KAAA,GAAA,MAAA;AAKA,MAAM,IAAA,CAAAE,wBAAwB,EAAA,EAAA,CAAA,CAAA;AAK9B,MACE,IAAA,CAAA,QAAY,EAAA,EAAA,CAAA,CAAA;AAEV,MAAA,IAAA,CAAA,OAAe,CAAA,CAAA;AACf,MAAoB,IAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACpB,KAAe,CAAA;AAAA,IACjBE,eACF,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACE,MAAAJ,YAAK,CAAA,MAAmB,cAAA,EAAc,CAAA,CAAA;AACpC,MAAA,IAAA,KAAA,CAAA,aAEE,EACF;AAAA,QACF,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,KAAAV,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,OAAoB;AACpB,KAAA,CAAA,CAAA;AAAuB,IACzBc,eAAC,CAAA,gBAAA,EAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;AAED,IAAaA,eAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AAAA,MAEX,MAAAJ,YAAA,EAAA,CAAA;AAAA,MAEA,mBAAA,EAAA,CAAA;AAAA,MAEA,cAAK,EAAA,CAAA;AAAA,KAEL,CAAA,CAAA;AAAA,IAGAK,aAAA,CAAA,MAAgB;AAAiB,MAGjC,IAAA,CAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AAAA,QAEAf,eAAA,CAAA,SAAA,EAAA,4DAAA,CAAA,CAAA;AAAA,OAEA;AAAA,MAEA,mBAAA,EAAA,CAAA;AAAA,MAEAU,YAAA,CAAA,cAAA,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"input2.js","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, viewModes } 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 /**\n * @description native input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description 浏览模式\n */\n viewMode: {\n type: String,\n values: viewModes\n },\n /**\n * @description 表格输入\n */\n tableInput: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n /**\n * @description type of input\n */\n type: {\n type: String,\n default: 'text',\n },\n /**\n * @description control the resizability\n */\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n /**\n * @description whether textarea has an adaptive height\n */\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description format content\n */\n formatter: {\n type: Function,\n },\n /**\n * @description parse content\n */\n parser: {\n type: Function,\n },\n /**\n * @description placeholder\n */\n placeholder: {\n type: String,\n },\n /**\n * @description native input form\n */\n form: {\n type: String,\n },\n /**\n * @description native input readonly\n */\n readonly: {\n type: Boolean,\n default: false,\n },\n /**\n * @description native input readonly\n */\n clearable: {\n type: Boolean,\n default: false,\n },\n /**\n * @description toggleable password input\n */\n showPassword: {\n type: Boolean,\n default: false,\n },\n /**\n * @description word count\n */\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n /**\n * @description suffix icon\n */\n suffixIcon: {\n type: iconPropType,\n },\n /**\n * @description prefix icon\n */\n prefixIcon: {\n type: iconPropType,\n },\n /**\n * @description container role, internal properties provided for use by the picker component\n */\n containerRole: {\n type: String,\n default: undefined,\n },\n /**\n * @description native input aria-label\n */\n label: {\n type: String,\n default: undefined,\n },\n /**\n * @description input tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description input or textarea element style\n */\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n widget: {\n type: String,\n },\n /**\n * @description native input autofocus\n */\n autofocus: {\n type: Boolean,\n default: false,\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":["buildProps","useSizeProp","viewModes","definePropType","iconPropType","mutable","UPDATE_MODEL_EVENT","isString"],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var inputNumber$1 = require('./src/input-number2.js');
7
- var inputNumber = require('./src/input-number.js');
6
+ var inputNumber$1 = require('./src/input-number.js');
7
+ var inputNumber = require('./src/input-number2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const ElInputNumber = install.withInstall(inputNumber$1["default"]);
@@ -2,82 +2,347 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ require('../../config-provider/index.js');
5
7
  var lodashUnified = require('lodash-unified');
8
+ var index$4 = require('../../input/index.js');
9
+ var index$2 = require('../../icon/index.js');
10
+ require('../../form/index.js');
11
+ require('../../../directives/index.js');
6
12
  require('../../../hooks/index.js');
7
13
  require('../../../utils/index.js');
14
+ var iconsVue = require('@element-plus/icons-vue');
8
15
  require('../../../constants/index.js');
9
- var runtime = require('../../../utils/vue/props/runtime.js');
10
- var size = require('../../../constants/size.js');
11
- var index = require('../../../hooks/use-size/index.js');
16
+ var inputNumber = require('./input-number2.js');
17
+ var tokens = require('../../table/src/tokens.js');
18
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
19
+ var index = require('../../../hooks/use-locale/index.js');
20
+ var index$1 = require('../../../hooks/use-namespace/index.js');
21
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
12
22
  var types = require('../../../utils/types.js');
23
+ var error = require('../../../utils/error.js');
24
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
13
25
  var event = require('../../../constants/event.js');
26
+ var shared = require('@vue/shared');
27
+ var forEditor = require('../../config-provider/src/for-editor.js');
28
+ var index$3 = require('../../../directives/repeat-click/index.js');
14
29
 
15
- const inputNumberProps = runtime.buildProps({
16
- id: {
17
- type: String,
18
- default: void 0
19
- },
20
- step: {
21
- type: Number,
22
- default: 1
23
- },
24
- stepStrictly: Boolean,
25
- max: {
26
- type: Number,
27
- default: Number.POSITIVE_INFINITY
28
- },
29
- min: {
30
- type: Number,
31
- default: Number.NEGATIVE_INFINITY
32
- },
33
- modelValue: Number,
34
- readonly: Boolean,
35
- disabled: Boolean,
36
- viewMode: {
37
- type: String,
38
- values: size.viewModes
39
- },
40
- tableInput: Boolean,
41
- size: index.useSizeProp,
42
- controls: {
43
- type: Boolean,
44
- default: true
45
- },
46
- controlsPosition: {
47
- type: String,
48
- default: "",
49
- values: ["", "right"]
50
- },
51
- textAlign: {
52
- type: String,
53
- default: "center",
54
- values: ["", "left", "center", "right"]
55
- },
56
- valueOnClear: {
57
- type: [String, Number, null],
58
- validator: (val) => val === null || types.isNumber(val) || ["min", "max"].includes(val),
59
- default: null
60
- },
61
- name: String,
62
- label: String,
63
- placeholder: String,
64
- precision: {
65
- type: Number,
66
- validator: (val) => val >= 0 && val === Number.parseInt(`${val}`, 10)
67
- },
68
- validateEvent: {
69
- type: Boolean,
70
- default: true
30
+ const _hoisted_1 = ["aria-label", "onKeydown"];
31
+ const _hoisted_2 = ["aria-label", "onKeydown"];
32
+ const __default__ = vue.defineComponent({
33
+ name: "ElInputNumber"
34
+ });
35
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
36
+ ...__default__,
37
+ props: inputNumber.inputNumberProps,
38
+ emits: inputNumber.inputNumberEmits,
39
+ setup(__props, { expose, emit }) {
40
+ const props = __props;
41
+ const { t } = index.useLocale();
42
+ const ns = index$1.useNamespace("input-number");
43
+ const input = vue.ref();
44
+ const table = vue.inject(tokens.TABLE_INJECTION_KEY, void 0);
45
+ const data = vue.reactive({
46
+ currentValue: props.modelValue,
47
+ userInput: null
48
+ });
49
+ const { formItem } = useFormItem.useFormItem();
50
+ const minDisabled = vue.computed(() => types.isNumber(props.modelValue) && props.modelValue <= props.min);
51
+ const maxDisabled = vue.computed(() => types.isNumber(props.modelValue) && props.modelValue >= props.max);
52
+ const numPrecision = vue.computed(() => {
53
+ const stepPrecision = getPrecision(props.step);
54
+ if (!types.isUndefined(props.precision)) {
55
+ if (stepPrecision > props.precision) {
56
+ error.debugWarn("InputNumber", "precision should not be less than the decimal places of step");
57
+ }
58
+ return props.precision;
59
+ } else {
60
+ return Math.max(getPrecision(props.modelValue), stepPrecision);
61
+ }
62
+ });
63
+ const controlsAtRight = vue.computed(() => {
64
+ return props.controls && props.controlsPosition === "right";
65
+ });
66
+ const isTableInput = vue.computed(() => table && props.tableInput);
67
+ const inputNumberSize = vue.computed(() => {
68
+ if (isTableInput.value) {
69
+ return table.props.size === "small" ? "small" : "";
70
+ } else {
71
+ const formSize = useFormCommonProps.useFormSize();
72
+ return formSize.value;
73
+ }
74
+ });
75
+ const inputNumberDisabled = useFormCommonProps.useFormDisabled();
76
+ const inputNumberViewMode = useFormCommonProps.useFormViewMode();
77
+ const displayValue = vue.computed(() => {
78
+ if (data.userInput !== null) {
79
+ return data.userInput;
80
+ }
81
+ let currentValue = data.currentValue;
82
+ if (lodashUnified.isNil(currentValue))
83
+ return "";
84
+ if (types.isNumber(currentValue)) {
85
+ if (Number.isNaN(currentValue))
86
+ return "";
87
+ if (!types.isUndefined(props.precision)) {
88
+ currentValue = currentValue.toFixed(props.precision);
89
+ }
90
+ }
91
+ return currentValue;
92
+ });
93
+ const toPrecision = (num, pre) => {
94
+ if (types.isUndefined(pre))
95
+ pre = numPrecision.value;
96
+ if (pre === 0)
97
+ return Math.round(num);
98
+ let snum = String(num);
99
+ const pointPos = snum.indexOf(".");
100
+ if (pointPos === -1)
101
+ return num;
102
+ const nums = snum.replace(".", "").split("");
103
+ const datum = nums[pointPos + pre];
104
+ if (!datum)
105
+ return num;
106
+ const length = snum.length;
107
+ if (snum.charAt(length - 1) === "5") {
108
+ snum = `${snum.slice(0, Math.max(0, length - 1))}6`;
109
+ }
110
+ return Number.parseFloat(Number(snum).toFixed(pre));
111
+ };
112
+ const getPrecision = (value) => {
113
+ if (lodashUnified.isNil(value))
114
+ return 0;
115
+ const valueString = value.toString();
116
+ const dotPosition = valueString.indexOf(".");
117
+ let precision = 0;
118
+ if (dotPosition !== -1) {
119
+ precision = valueString.length - dotPosition - 1;
120
+ }
121
+ return precision;
122
+ };
123
+ const ensurePrecision = (val, coefficient = 1) => {
124
+ if (!types.isNumber(val))
125
+ return data.currentValue;
126
+ return toPrecision(val + props.step * coefficient);
127
+ };
128
+ const increase = () => {
129
+ if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || maxDisabled.value)
130
+ return;
131
+ const value = Number(displayValue.value) || 0;
132
+ const newVal = ensurePrecision(value);
133
+ setCurrentValue(newVal);
134
+ emit(event.INPUT_EVENT, data.currentValue);
135
+ };
136
+ const decrease = () => {
137
+ if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || minDisabled.value)
138
+ return;
139
+ const value = Number(displayValue.value) || 0;
140
+ const newVal = ensurePrecision(value, -1);
141
+ setCurrentValue(newVal);
142
+ emit(event.INPUT_EVENT, data.currentValue);
143
+ };
144
+ const verifyValue = (value, update) => {
145
+ const { max, min, step, precision, stepStrictly, valueOnClear } = props;
146
+ if (max < min) {
147
+ error.throwError("InputNumber", "min should not be greater than max.");
148
+ }
149
+ let newVal = Number(value);
150
+ if (lodashUnified.isNil(value) || Number.isNaN(newVal)) {
151
+ return null;
152
+ }
153
+ if (value === "") {
154
+ if (valueOnClear === null) {
155
+ return null;
156
+ }
157
+ newVal = shared.isString(valueOnClear) ? { min, max }[valueOnClear] : valueOnClear;
158
+ }
159
+ if (stepStrictly) {
160
+ newVal = toPrecision(Math.round(newVal / step) * step, precision);
161
+ }
162
+ if (!types.isUndefined(precision)) {
163
+ newVal = toPrecision(newVal, precision);
164
+ }
165
+ if (newVal > max || newVal < min) {
166
+ newVal = newVal > max ? max : min;
167
+ update && emit(event.UPDATE_MODEL_EVENT, newVal);
168
+ }
169
+ return newVal;
170
+ };
171
+ const setCurrentValue = (value, emitChange = true) => {
172
+ var _a;
173
+ const oldVal = data.currentValue;
174
+ const newVal = verifyValue(value);
175
+ if (!emitChange) {
176
+ emit(event.UPDATE_MODEL_EVENT, newVal);
177
+ return;
178
+ }
179
+ if (oldVal === newVal)
180
+ return;
181
+ data.userInput = null;
182
+ emit(event.UPDATE_MODEL_EVENT, newVal);
183
+ emit(event.CHANGE_EVENT, newVal, oldVal);
184
+ if (props.validateEvent) {
185
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn(err));
186
+ }
187
+ data.currentValue = newVal;
188
+ };
189
+ const handleInput = (value) => {
190
+ data.userInput = value;
191
+ const newVal = value === "" ? null : Number(value);
192
+ emit(event.INPUT_EVENT, newVal);
193
+ setCurrentValue(newVal, false);
194
+ };
195
+ const handleInputChange = (value) => {
196
+ const newVal = value !== "" ? Number(value) : "";
197
+ if (types.isNumber(newVal) && !Number.isNaN(newVal) || value === "") {
198
+ setCurrentValue(newVal);
199
+ }
200
+ data.userInput = null;
201
+ };
202
+ const focus = () => {
203
+ var _a, _b;
204
+ (_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
205
+ };
206
+ const blur = () => {
207
+ var _a, _b;
208
+ (_b = (_a = input.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
209
+ };
210
+ const handleFocus = (event) => {
211
+ emit("focus", event);
212
+ };
213
+ const handleBlur = (event) => {
214
+ var _a;
215
+ emit("blur", event);
216
+ if (props.validateEvent) {
217
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => error.debugWarn(err));
218
+ }
219
+ };
220
+ forEditor.watch(() => props.modelValue, (value) => {
221
+ const userInput = verifyValue(data.userInput);
222
+ const newValue = verifyValue(value, true);
223
+ if (!types.isNumber(userInput) && (!userInput || userInput !== newValue)) {
224
+ if (data.userInput !== "") {
225
+ data.currentValue = newValue;
226
+ data.userInput = null;
227
+ }
228
+ }
229
+ }, { immediate: true });
230
+ vue.onMounted(() => {
231
+ var _a;
232
+ const { min, max, modelValue } = props;
233
+ const innerInput = (_a = input.value) == null ? void 0 : _a.input;
234
+ innerInput.setAttribute("role", "spinbutton");
235
+ if (Number.isFinite(max)) {
236
+ innerInput.setAttribute("aria-valuemax", String(max));
237
+ } else {
238
+ innerInput.removeAttribute("aria-valuemax");
239
+ }
240
+ if (Number.isFinite(min)) {
241
+ innerInput.setAttribute("aria-valuemin", String(min));
242
+ } else {
243
+ innerInput.removeAttribute("aria-valuemin");
244
+ }
245
+ innerInput.setAttribute("aria-valuenow", data.currentValue || data.currentValue === 0 ? String(data.currentValue) : "");
246
+ innerInput.setAttribute("aria-disabled", String(inputNumberDisabled.value));
247
+ innerInput.setAttribute("aria-view-mode", String(inputNumberViewMode.value));
248
+ if (!types.isNumber(modelValue) && modelValue != null) {
249
+ let val = Number(modelValue);
250
+ if (Number.isNaN(val)) {
251
+ val = null;
252
+ }
253
+ emit(event.UPDATE_MODEL_EVENT, val);
254
+ }
255
+ });
256
+ vue.onUpdated(() => {
257
+ var _a, _b;
258
+ const innerInput = (_a = input.value) == null ? void 0 : _a.input;
259
+ innerInput == null ? void 0 : innerInput.setAttribute("aria-valuenow", `${(_b = data.currentValue) != null ? _b : ""}`);
260
+ });
261
+ expose({
262
+ focus,
263
+ blur
264
+ });
265
+ return (_ctx, _cache) => {
266
+ return vue.openBlock(), vue.createElementBlock("div", {
267
+ class: vue.normalizeClass([
268
+ vue.unref(ns).b(),
269
+ vue.unref(ns).m(vue.unref(inputNumberSize)),
270
+ vue.unref(ns).is("disabled", vue.unref(inputNumberDisabled)),
271
+ vue.unref(ns).is("view-mode", !!vue.unref(inputNumberViewMode)),
272
+ vue.unref(ns).is("table-input", vue.unref(isTableInput)),
273
+ vue.unref(ns).is("without-controls", !_ctx.controls),
274
+ vue.unref(ns).is("controls-right", vue.unref(controlsAtRight)),
275
+ _ctx.textAlign ? "text-align--" + _ctx.textAlign : ""
276
+ ]),
277
+ onDragstart: _cache[1] || (_cache[1] = vue.withModifiers(() => {
278
+ }, ["prevent"]))
279
+ }, [
280
+ _ctx.controls ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
281
+ key: 0,
282
+ role: "button",
283
+ "aria-label": vue.unref(t)("el.inputNumber.decrease"),
284
+ class: vue.normalizeClass([vue.unref(ns).e("decrease"), vue.unref(ns).is("disabled", vue.unref(minDisabled))]),
285
+ onKeydown: vue.withKeys(decrease, ["enter"])
286
+ }, [
287
+ vue.createVNode(vue.unref(index$2.ElIcon), null, {
288
+ default: vue.withCtx(() => [
289
+ vue.unref(controlsAtRight) ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.ArrowDown), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.Minus), { key: 1 }))
290
+ ]),
291
+ _: 1
292
+ })
293
+ ], 42, _hoisted_1)), [
294
+ [vue.unref(index$3.vRepeatClick), decrease]
295
+ ]) : vue.createCommentVNode("v-if", true),
296
+ _ctx.controls ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
297
+ key: 1,
298
+ role: "button",
299
+ "aria-label": vue.unref(t)("el.inputNumber.increase"),
300
+ class: vue.normalizeClass([vue.unref(ns).e("increase"), vue.unref(ns).is("disabled", vue.unref(maxDisabled))]),
301
+ onKeydown: vue.withKeys(increase, ["enter"])
302
+ }, [
303
+ vue.createVNode(vue.unref(index$2.ElIcon), null, {
304
+ default: vue.withCtx(() => [
305
+ vue.unref(controlsAtRight) ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.ArrowUp), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.Plus), { key: 1 }))
306
+ ]),
307
+ _: 1
308
+ })
309
+ ], 42, _hoisted_2)), [
310
+ [vue.unref(index$3.vRepeatClick), increase]
311
+ ]) : vue.createCommentVNode("v-if", true),
312
+ vue.createVNode(vue.unref(index$4.ElInput), {
313
+ id: _ctx.id,
314
+ ref_key: "input",
315
+ ref: input,
316
+ type: "number",
317
+ step: _ctx.step,
318
+ "model-value": vue.unref(displayValue),
319
+ placeholder: _ctx.placeholder,
320
+ readonly: _ctx.readonly,
321
+ disabled: vue.unref(inputNumberDisabled),
322
+ "view-mode": vue.unref(inputNumberViewMode),
323
+ "table-input": vue.unref(isTableInput),
324
+ size: vue.unref(inputNumberSize),
325
+ max: _ctx.max,
326
+ min: _ctx.min,
327
+ name: _ctx.name,
328
+ label: _ctx.label,
329
+ "validate-event": false,
330
+ onWheel: _cache[0] || (_cache[0] = vue.withModifiers(() => {
331
+ }, ["prevent"])),
332
+ onKeydown: [
333
+ vue.withKeys(vue.withModifiers(increase, ["prevent"]), ["up"]),
334
+ vue.withKeys(vue.withModifiers(decrease, ["prevent"]), ["down"])
335
+ ],
336
+ onBlur: handleBlur,
337
+ onFocus: handleFocus,
338
+ onInput: handleInput,
339
+ onChange: handleInputChange
340
+ }, null, 8, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "view-mode", "table-input", "size", "max", "min", "name", "label", "onKeydown"])
341
+ ], 34);
342
+ };
71
343
  }
72
344
  });
73
- const inputNumberEmits = {
74
- [event.CHANGE_EVENT]: (cur, prev) => prev !== cur,
75
- blur: (e) => e instanceof FocusEvent,
76
- focus: (e) => e instanceof FocusEvent,
77
- [event.INPUT_EVENT]: (val) => types.isNumber(val) || lodashUnified.isNil(val),
78
- [event.UPDATE_MODEL_EVENT]: (val) => types.isNumber(val) || lodashUnified.isNil(val)
79
- };
345
+ var InputNumber = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\input-number\\src\\input-number.vue"]]);
80
346
 
81
- exports.inputNumberEmits = inputNumberEmits;
82
- exports.inputNumberProps = inputNumberProps;
347
+ exports["default"] = InputNumber;
83
348
  //# sourceMappingURL=input-number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.js","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT, viewModes\n} from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type InputNumber from './input-number.vue'\n\nexport const inputNumberProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description incremental step\n */\n step: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether input value can only be multiple of step\n */\n stepStrictly: Boolean,\n /**\n * @description the maximum allowed value\n */\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n /**\n * @description the minimum allowed value\n */\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n /**\n * @description binding value\n */\n modelValue: Number,\n /**\n * @description same as `readonly` in native input\n */\n readonly: Boolean,\n /**\n * @description whether the component is disabled\n */\n disabled: Boolean,\n /**\n * @description 浏览模式\n */\n viewMode: {\n type: String,\n values: viewModes\n },\n /**\n * @description 表格输入\n */\n tableInput: Boolean,\n /**\n * @description size of the component\n */\n size: useSizeProp,\n /**\n * @description whether to enable the control buttons\n */\n controls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of the control buttons\n */\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n /**\n * @description text align\n */\n textAlign: {\n type: String,\n default: 'center',\n values: ['', 'left', 'center', 'right'],\n },\n /**\n * @description value should be set when input box is cleared\n */\n valueOnClear: {\n type: [String, Number, null],\n validator: (val: 'min' | 'max' | number | null) =>\n val === null || isNumber(val) || ['min', 'max'].includes(val),\n default: null,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description same as `label` in native input\n */\n label: String,\n /**\n * @description same as `placeholder` in native input\n */\n placeholder: String,\n /**\n * @description precision of input value\n */\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type InputNumberProps = ExtractPropTypes<typeof inputNumberProps>\n\nexport const inputNumberEmits = {\n [CHANGE_EVENT]: (cur: number | undefined, prev: number | undefined) =>\n prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n [INPUT_EVENT]: (val: number | null | undefined) =>\n isNumber(val) || isNil(val),\n [UPDATE_MODEL_EVENT]: (val: number | undefined) =>\n isNumber(val) || isNil(val),\n}\nexport type InputNumberEmits = typeof inputNumberEmits\n\nexport type InputNumberInstance = InstanceType<typeof InputNumber>\n"],"names":["buildProps","viewModes","useSizeProp","isNumber","CHANGE_EVENT","INPUT_EVENT","isNil","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;;AASY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,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,MAAM;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,cAAS;AACrB,GAAG;AACH,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,IAAI,EAAEC,iBAAW;AACnB,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,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC3C,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;AAChC,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrF,IAAI,OAAO,EAAE,IAAI;AACjB,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,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,GAAG;AAC7C,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,CAACC,iBAAW,GAAG,CAAC,GAAG,KAAKF,cAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AACrD,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKJ,cAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AAC5D;;;;;"}
1
+ {"version":3,"file":"input-number.js","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('view-mode', !!inputNumberViewMode),\n ns.is('table-input', isTableInput),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n textAlign ? 'text-align--' + textAlign : ''\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :aria-label=\"t('el.inputNumber.decrease')\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :aria-label=\"t('el.inputNumber.increase')\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n :id=\"id\"\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"inputNumberDisabled\"\n :view-mode=\"inputNumberViewMode\"\n :table-input=\"isTableInput\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @wheel.prevent\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, onUpdated, reactive, ref } from 'vue'\nimport { watch } from '../../config-provider'\nimport { isNil } from 'lodash-unified'\nimport { ElInput } from '@element-plus/components/input'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormSize, useFormViewMode\n} from '@element-plus/components/form'\nimport { vRepeatClick } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport {\n debugWarn,\n isNumber,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport { ArrowDown, ArrowUp, Minus, Plus } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputNumberEmits, inputNumberProps } from './input-number'\n\nimport type { InputInstance } from '@element-plus/components/input'\nimport { TABLE_INJECTION_KEY } from '../../table/src/tokens'\n\ndefineOptions({\n name: 'ElInputNumber',\n})\n\nconst props = defineProps(inputNumberProps)\nconst emit = defineEmits(inputNumberEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('input-number')\nconst input = ref<InputInstance>()\nconst table = inject(TABLE_INJECTION_KEY, undefined)\n\ninterface Data {\n currentValue: number | null | undefined\n userInput: null | number | string\n}\nconst data = reactive<Data>({\n currentValue: props.modelValue,\n userInput: null,\n})\n\nconst { formItem } = useFormItem()\n\nconst minDisabled = computed(\n () => isNumber(props.modelValue) && props.modelValue <= props.min\n)\nconst maxDisabled = computed(\n () => isNumber(props.modelValue) && props.modelValue >= props.max\n)\n\nconst numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (!isUndefined(props.precision)) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n})\nconst controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n})\n\nconst isTableInput = computed(() => table && props.tableInput)\nconst inputNumberSize = computed(() => {\n if (isTableInput.value) {\n return table!.props.size === 'small' ? 'small' : ''\n } else {\n const formSize = useFormSize()\n return formSize.value\n }\n})\nconst inputNumberDisabled = useFormDisabled()\nconst inputNumberViewMode = useFormViewMode()\n\nconst displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined | null = data.currentValue\n if (isNil(currentValue)) return ''\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (!isUndefined(props.precision)) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n})\nconst toPrecision = (num: number, pre?: number) => {\n if (isUndefined(pre)) pre = numPrecision.value\n if (pre === 0) return Math.round(num)\n let snum = String(num)\n const pointPos = snum.indexOf('.')\n if (pointPos === -1) return num\n const nums = snum.replace('.', '').split('')\n const datum = nums[pointPos + pre]\n if (!datum) return num\n const length = snum.length\n if (snum.charAt(length - 1) === '5') {\n snum = `${snum.slice(0, Math.max(0, length - 1))}6`\n }\n return Number.parseFloat(Number(snum).toFixed(pre))\n}\nconst getPrecision = (value: number | null | undefined) => {\n if (isNil(value)) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n}\nconst ensurePrecision = (val: number, coefficient: 1 | -1 = 1) => {\n if (!isNumber(val)) return data.currentValue\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n return toPrecision(val + props.step * coefficient)\n}\nconst increase = () => {\n if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || maxDisabled.value) return\n const value = Number(displayValue.value) || 0\n const newVal = ensurePrecision(value)\n setCurrentValue(newVal)\n emit(INPUT_EVENT, data.currentValue)\n}\nconst decrease = () => {\n if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || minDisabled.value) return\n const value = Number(displayValue.value) || 0\n const newVal = ensurePrecision(value, -1)\n setCurrentValue(newVal)\n emit(INPUT_EVENT, data.currentValue)\n}\nconst verifyValue = (\n value: number | string | null | undefined,\n update?: boolean\n): number | null | undefined => {\n const { max, min, step, precision, stepStrictly, valueOnClear } = props\n if (max < min) {\n throwError('InputNumber', 'min should not be greater than max.')\n }\n let newVal = Number(value)\n if (isNil(value) || Number.isNaN(newVal)) {\n return null\n }\n if (value === '') {\n if (valueOnClear === null) {\n return null\n }\n newVal = isString(valueOnClear) ? { min, max }[valueOnClear] : valueOnClear\n }\n if (stepStrictly) {\n newVal = toPrecision(Math.round(newVal / step) * step, precision)\n }\n if (!isUndefined(precision)) {\n newVal = toPrecision(newVal, precision)\n }\n if (newVal > max || newVal < min) {\n newVal = newVal > max ? max : min\n update && emit(UPDATE_MODEL_EVENT, newVal)\n }\n return newVal\n}\nconst setCurrentValue = (\n value: number | string | null | undefined,\n emitChange = true\n) => {\n const oldVal = data.currentValue\n const newVal = verifyValue(value)\n if (!emitChange) {\n emit(UPDATE_MODEL_EVENT, newVal!)\n return\n }\n if (oldVal === newVal) return\n data.userInput = null\n emit(UPDATE_MODEL_EVENT, newVal!)\n emit(CHANGE_EVENT, newVal!, oldVal!)\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n data.currentValue = newVal\n}\nconst handleInput = (value: string) => {\n data.userInput = value\n const newVal = value === '' ? null : Number(value)\n emit(INPUT_EVENT, newVal)\n setCurrentValue(newVal, false)\n}\nconst handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n}\n\nconst focus = () => {\n input.value?.focus?.()\n}\n\nconst blur = () => {\n input.value?.blur?.()\n}\n\nconst handleFocus = (event: MouseEvent | FocusEvent) => {\n emit('focus', event)\n}\n\nconst handleBlur = (event: MouseEvent | FocusEvent) => {\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nwatch(\n () => props.modelValue,\n (value) => {\n const userInput = verifyValue(data.userInput)\n const newValue = verifyValue(value, true)\n if (!isNumber(userInput) && (!userInput || userInput !== newValue)) {\n if (data.userInput !== '') {\n data.currentValue = newValue\n data.userInput = null\n }\n }\n },\n { immediate: true }\n)\nonMounted(() => {\n const { min, max, modelValue } = props\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n if (Number.isFinite(max)) {\n innerInput.setAttribute('aria-valuemax', String(max))\n } else {\n innerInput.removeAttribute('aria-valuemax')\n }\n if (Number.isFinite(min)) {\n innerInput.setAttribute('aria-valuemin', String(min))\n } else {\n innerInput.removeAttribute('aria-valuemin')\n }\n innerInput.setAttribute(\n 'aria-valuenow',\n data.currentValue || data.currentValue === 0\n ? String(data.currentValue)\n : ''\n )\n innerInput.setAttribute('aria-disabled', String(inputNumberDisabled.value))\n innerInput.setAttribute('aria-view-mode', String(inputNumberViewMode.value))\n if (!isNumber(modelValue) && modelValue != null) {\n let val: number | null = Number(modelValue)\n if (Number.isNaN(val)) {\n val = null\n }\n emit(UPDATE_MODEL_EVENT, val!)\n }\n})\nonUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', `${data.currentValue ?? ''}`)\n})\ndefineExpose({\n /** @description get focus the input component */\n focus,\n /** @description remove focus the input component */\n blur,\n})\n</script>\n"],"names":["useLocale","useNamespace","ref","inject","TABLE_INJECTION_KEY","reactive","useFormItem","computed","isNumber","isUndefined","debugWarn","useFormSize","useFormDisabled","useFormViewMode","isNil","INPUT_EVENT","throwError","isString","UPDATE_MODEL_EVENT","watch","onMounted","onUpdated"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAkGc,CAAA;AAAA,EACZ,IAAM,EAAA,eAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAE,MAAMA,eAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAKC,qBAAa,cAAc,CAAA,CAAA;AACtC,IAAA,MAAM,QAAQC,OAAmB,EAAA,CAAA;AACjC,IAAM,MAAA,KAAA,GAAQC,UAAO,CAAAC,0BAAA,EAAqB,KAAS,CAAA,CAAA,CAAA;AAMnD,IAAA,MAAM,OAAOC,YAAe,CAAA;AAAA,MAC1B,cAAc,KAAM,CAAA,UAAA;AAAA,MACpB,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,aAAaC,uBAAY,EAAA,CAAA;AAEjC,IAAM,MAAA,WAAA,GAAcC,YAClB,CAAA,MAAMC,cAAS,CAAA,KAAA,CAAM,UAAU,CAAK,IAAA,KAAA,CAAM,UAAc,IAAA,KAAA,CAAM,GAChE,CAAA,CAAA;AACA,IAAM,MAAA,WAAA,GAAcD,YAClB,CAAA,MAAMC,cAAS,CAAA,KAAA,CAAM,UAAU,CAAK,IAAA,KAAA,CAAM,UAAc,IAAA,KAAA,CAAM,GAChE,CAAA,CAAA;AAEA,IAAM,MAAA,YAAA,GAAeD,aAAS,MAAM;AAClC,MAAM,MAAA,aAAA,GAAgB,YAAa,CAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAC7C,MAAA,IAAI,CAACE,iBAAA,CAAY,KAAM,CAAA,SAAS,CAAG,EAAA;AACjC,QAAI,IAAA,aAAA,GAAgB,MAAM,SAAW,EAAA;AACnC,UAAAC,eAAA,CACE,eACA,8DACF,CAAA,CAAA;AAAA,SACF;AACA,QAAA,OAAO,KAAM,CAAA,SAAA,CAAA;AAAA,OACR,MAAA;AACL,QAAA,OAAO,KAAK,GAAI,CAAA,YAAA,CAAa,KAAM,CAAA,UAAU,GAAG,aAAa,CAAA,CAAA;AAAA,OAC/D;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,GAAkBH,aAAS,MAAM;AACrC,MAAO,OAAA,KAAA,CAAM,QAAY,IAAA,KAAA,CAAM,gBAAqB,KAAA,OAAA,CAAA;AAAA,KACrD,CAAA,CAAA;AAED,IAAA,MAAM,YAAe,GAAAA,YAAA,CAAS,MAAM,KAAA,IAAS,MAAM,UAAU,CAAA,CAAA;AAC7D,IAAM,MAAA,eAAA,GAAkBA,aAAS,MAAM;AACrC,MAAA,IAAI,aAAa,KAAO,EAAA;AACtB,QAAA,OAAO,KAAO,CAAA,KAAA,CAAM,IAAS,KAAA,OAAA,GAAU,OAAU,GAAA,EAAA,CAAA;AAAA,OAC5C,MAAA;AACL,QAAA,MAAM,WAAWI,8BAAY,EAAA,CAAA;AAC7B,QAAA,OAAO,QAAS,CAAA,KAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,sBAAsBC,kCAAgB,EAAA,CAAA;AAC5C,IAAA,MAAM,sBAAsBC,kCAAgB,EAAA,CAAA;AAE5C,IAAM,MAAA,YAAA,GAAeN,aAAS,MAAM;AAClC,MAAI,IAAA,IAAA,CAAK,cAAc,IAAM,EAAA;AAC3B,QAAA,OAAO,IAAK,CAAA,SAAA,CAAA;AAAA,OACd;AACA,MAAA,IAAI,eAAmD,IAAK,CAAA,YAAA,CAAA;AAC5D,MAAA,IAAIO,oBAAM,YAAY,CAAA;AAAG,QAAO,OAAA,EAAA,CAAA;AAChC,MAAI,IAAAN,cAAA,CAAS,YAAY,CAAG,EAAA;AAC1B,QAAI,IAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAG,UAAO,OAAA,EAAA,CAAA;AACvC,QAAA,IAAI,CAACC,iBAAA,CAAY,KAAM,CAAA,SAAS,CAAG,EAAA;AACjC,UAAe,YAAA,GAAA,YAAA,CAAa,OAAQ,CAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,SACrD;AAAA,OACF;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,WAAA,GAAc,CAAC,GAAA,EAAa,GAAiB,KAAA;AACjD,MAAA,IAAIA,kBAAY,GAAG,CAAA;AAAG,QAAA,GAAA,GAAM,YAAa,CAAA,KAAA,CAAA;AACzC,MAAA,IAAI,GAAQ,KAAA,CAAA;AAAG,QAAO,OAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AACpC,MAAI,IAAA,IAAA,GAAO,OAAO,GAAG,CAAA,CAAA;AACrB,MAAM,MAAA,QAAA,GAAW,IAAK,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AACjC,MAAA,IAAI,QAAa,KAAA,CAAA,CAAA;AAAI,QAAO,OAAA,GAAA,CAAA;AAC5B,MAAA,MAAM,OAAO,IAAK,CAAA,OAAA,CAAQ,KAAK,EAAE,CAAA,CAAE,MAAM,EAAE,CAAA,CAAA;AAC3C,MAAM,MAAA,KAAA,GAAQ,KAAK,QAAW,GAAA,GAAA,CAAA,CAAA;AAC9B,MAAA,IAAI,CAAC,KAAA;AAAO,QAAO,OAAA,GAAA,CAAA;AACnB,MAAA,MAAM,SAAS,IAAK,CAAA,MAAA,CAAA;AACpB,MAAA,IAAI,IAAK,CAAA,MAAA,CAAO,MAAS,GAAA,CAAC,MAAM,GAAK,EAAA;AACnC,QAAO,IAAA,GAAA,CAAA,EAAG,KAAK,KAAM,CAAA,CAAA,EAAG,KAAK,GAAI,CAAA,CAAA,EAAG,MAAS,GAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACjD;AACA,MAAA,OAAO,OAAO,UAAW,CAAA,MAAA,CAAO,IAAI,CAAE,CAAA,OAAA,CAAQ,GAAG,CAAC,CAAA,CAAA;AAAA,KACpD,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,CAAC,KAAqC,KAAA;AACzD,MAAA,IAAIK,oBAAM,KAAK,CAAA;AAAG,QAAO,OAAA,CAAA,CAAA;AACzB,MAAM,MAAA,WAAA,GAAc,MAAM,QAAS,EAAA,CAAA;AACnC,MAAM,MAAA,WAAA,GAAc,WAAY,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AAC3C,MAAA,IAAI,SAAY,GAAA,CAAA,CAAA;AAChB,MAAA,IAAI,gBAAgB,CAAI,CAAA,EAAA;AACtB,QAAY,SAAA,GAAA,WAAA,CAAY,SAAS,WAAc,GAAA,CAAA,CAAA;AAAA,OACjD;AACA,MAAO,OAAA,SAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,MAAM,eAAkB,GAAA,CAAC,GAAa,EAAA,WAAA,GAAsB,CAAM,KAAA;AAChE,MAAI,IAAA,CAACN,eAAS,GAAG,CAAA;AAAG,QAAA,OAAO,IAAK,CAAA,YAAA,CAAA;AAEhC,MAAA,OAAO,WAAY,CAAA,GAAA,GAAM,KAAM,CAAA,IAAA,GAAO,WAAW,CAAA,CAAA;AAAA,KACnD,CAAA;AACA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,IAAI,MAAM,QAAY,IAAA,mBAAA,CAAoB,KAAS,IAAA,mBAAA,CAAoB,SAAS,WAAY,CAAA,KAAA;AAAO,QAAA,OAAA;AACnG,MAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,YAAa,CAAA,KAAK,CAAK,IAAA,CAAA,CAAA;AAC5C,MAAM,MAAA,MAAA,GAAS,gBAAgB,KAAK,CAAA,CAAA;AACpC,MAAA,eAAA,CAAgB,MAAM,CAAA,CAAA;AACtB,MAAK,IAAA,CAAAO,iBAAA,EAAa,KAAK,YAAY,CAAA,CAAA;AAAA,KACrC,CAAA;AACA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,IAAI,MAAM,QAAY,IAAA,mBAAA,CAAoB,KAAS,IAAA,mBAAA,CAAoB,SAAS,WAAY,CAAA,KAAA;AAAO,QAAA,OAAA;AACnG,MAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,YAAa,CAAA,KAAK,CAAK,IAAA,CAAA,CAAA;AAC5C,MAAM,MAAA,MAAA,GAAS,eAAgB,CAAA,KAAA,EAAO,CAAE,CAAA,CAAA,CAAA;AACxC,MAAA,eAAA,CAAgB,MAAM,CAAA,CAAA;AACtB,MAAK,IAAA,CAAAA,iBAAA,EAAa,KAAK,YAAY,CAAA,CAAA;AAAA,KACrC,CAAA;AACA,IAAM,MAAA,WAAA,GAAc,CAClB,KAAA,EACA,MAC8B,KAAA;AAC9B,MAAA,MAAM,EAAE,GAAK,EAAA,GAAA,EAAK,IAAM,EAAA,SAAA,EAAW,cAAc,YAAiB,EAAA,GAAA,KAAA,CAAA;AAClE,MAAA,IAAI,MAAM,GAAK,EAAA;AACb,QAAAC,gBAAA,CAAW,eAAe,qCAAqC,CAAA,CAAA;AAAA,OACjE;AACA,MAAI,IAAA,MAAA,GAAS,OAAO,KAAK,CAAA,CAAA;AACzB,MAAA,IAAIF,oBAAM,KAAK,CAAA,IAAK,MAAO,CAAA,KAAA,CAAM,MAAM,CAAG,EAAA;AACxC,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AACA,MAAA,IAAI,UAAU,EAAI,EAAA;AAChB,QAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAA,MAAA,GAASG,gBAAS,YAAY,CAAA,GAAI,EAAE,GAAK,EAAA,GAAA,GAAM,YAAgB,CAAA,GAAA,YAAA,CAAA;AAAA,OACjE;AACA,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,MAAA,GAAS,YAAY,IAAK,CAAA,KAAA,CAAM,SAAS,IAAI,CAAA,GAAI,MAAM,SAAS,CAAA,CAAA;AAAA,OAClE;AACA,MAAI,IAAA,CAACR,iBAAY,CAAA,SAAS,CAAG,EAAA;AAC3B,QAAS,MAAA,GAAA,WAAA,CAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,OACxC;AACA,MAAI,IAAA,MAAA,GAAS,GAAO,IAAA,MAAA,GAAS,GAAK,EAAA;AAChC,QAAS,MAAA,GAAA,MAAA,GAAS,MAAM,GAAM,GAAA,GAAA,CAAA;AAC9B,QAAU,MAAA,IAAA,IAAA,CAAKS,0BAAoB,MAAM,CAAA,CAAA;AAAA,OAC3C;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,MAAM,eAAkB,GAAA,CACtB,KACA,EAAA,UAAA,GAAa,IACV,KAAA;AACH,MAAA,IAAA,EAAM;AACN,MAAM,MAAA,MAAA,GAAS,iBAAiB,CAAA;AAChC,MAAA,MAAiB,MAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACf,MAAA,IAAA,CAAA;AACA,QAAA,IAAA,CAAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QACF,OAAA;AACA,OAAA;AAAuB,MAAA,IAAA,MAAA,KAAA,MAAA;AACvB,QAAA,OAAiB;AACjB,MAAA,IAAA,CAAK;AACL,MAAK,IAAA,CAAAA,gCAA8B,CAAA,CAAA;AACnC,MAAA,IAAI,mBAAqB,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AACvB,MAAU,IAAA,KAAA,CAAA,aAAW;AAAuC,QAC9D,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,KAAAR,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,OAAA;AAAoB,MACtB,IAAA,CAAA,YAAA,GAAA,MAAA,CAAA;AACA,KAAM,CAAA;AACJ,IAAA,MAAA,WAAiB,GAAA,CAAA,KAAA,KAAA;AACjB,MAAA,IAAA,CAAA,SAAe,GAAA,KAAA,CAAA;AACf,MAAA,oBAAwB,KAAA,EAAA,GAAA,IAAA,GAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACxB,MAAA,IAAA,CAAAK,iBAAgB,QAAQ,CAAK,CAAA;AAAA,MAC/B,eAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACA,KAAM,CAAA;AACJ,IAAA,MAAA,iBAAe,GAAA,CAAU,KAAK,KAAA;AAC9B,MAAK,MAAA,MAAA,QAAoB,KAAC,WAAa,CAAA,KAAA,CAAA,GAAY,EAAA,CAAA;AACjD,MAAA,IAAAP,cAAA,CAAA,MAAsB,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,KAAA,KAAA,EAAA,EAAA;AAAA,QACxB,eAAA,CAAA,MAAA,CAAA,CAAA;AACA,OAAA;AAAiB,MACnB,IAAA,CAAA,SAAA,GAAA,IAAA,CAAA;AAEA,KAAA,CAAA;AACE,IAAA,MAAA,cAAqB;AAAA,MACvB,IAAA,EAAA,EAAA,EAAA,CAAA;AAEA,MAAA,CAAA,EAAA,SAAmB,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AACjB,KAAA,CAAA;AAAoB,IACtB,MAAA,IAAA,GAAA,MAAA;AAEA,MAAM,IAAA,EAAA,EAAA,EAAA,CAAA;AACJ,MAAA,CAAA,EAAA,cAAmB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAmC,KAAA,KAAA;AACrD,MAAA,IAAA,CAAK,SAAa,KAAA,CAAA,CAAA;AAClB,KAAA,CAAA;AACE,IAAU,MAAA,UAAA,GAAA,CAAA,KAAW;AAAqC,MAC5D,IAAA,EAAA,CAAA;AAAA,MACF,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAEA,MAAA,IACE,KAAM,CAAA,aACN,EAAA;AACE,QAAM,CAAA,EAAA,GAAA,QAAA,IAAwB,IAAA,GAAA,KAAA,CAAA,GAAc,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAE,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAC5C,OAAM;AACN,KAAA,CAAA;AACE,IAAIS,eAAA,CAAA,MAAA,gBAAuB,EAAA,CAAA,KAAA,KAAA;AACzB,MAAA,MAAA,SAAoB,GAAA,WAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA;AACpB,MAAA,MAAA,QAAiB,GAAA,WAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AAAA,MACnB,IAAA,CAAAX,cAAA,CAAA,SAAA,CAAA,KAAA,CAAA,SAAA,IAAA,SAAA,KAAA,QAAA,CAAA,EAAA;AAAA,QACF,IAAA,IAAA,CAAA,SAAA,KAAA,EAAA,EAAA;AAAA,UAEW,IAAA,CAAA,YACf,GAAA,QAAA,CAAA;AACA,UAAA,IAAU,CAAM,SAAA,GAAA,IAAA,CAAA;AACd,SAAM;AACN,OAAM;AACN,KAAW,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACX,IAAIY,aAAA,CAAA,MAAgB;AAClB,MAAA,IAAA,EAAA,CAAA;AAAoD,MACtD,MAAO,EAAA,GAAA,EAAA,GAAA,EAAA,UAAA,EAAA,GAAA,KAAA,CAAA;AACL,MAAA,MAAA,wBAA0C,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAAA,MAC5C,UAAA,CAAA,YAAA,CAAA,MAAA,EAAA,YAAA,CAAA,CAAA;AACA,MAAI,IAAA,MAAA,CAAO,QAAS,CAAA,GAAG,CAAG,EAAA;AACxB,QAAA,UAAA,CAAW,YAAa,CAAA,eAAA,EAAiB,MAAO,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,OAC/C,MAAA;AACL,QAAA,UAAA,CAAW,gBAAgB,eAAe,CAAA,CAAA;AAAA,OAC5C;AACA,MAAW,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,CACT,EACA;AAIF,QAAA,UAAwB,CAAA,YAAA,CAAA,eAAiB,EAAO,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAChD,OAAA,MAAA;AACA,QAAA,UAAK,CAAA,eAAmB,CAAK,eAAoB,CAAA,CAAA;AAC/C,OAAI;AACJ,MAAI,UAAA,CAAA,YAAmB,CAAA,eAAA,EAAA,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,YAAA,KAAA,CAAA,GAAA,MAAA,CAAA,IAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,CAAA;AACrB,MAAM,UAAA,CAAA,YAAA,CAAA,eAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,MACR,UAAA,CAAA,YAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAAZ,8BAA6B,UAAA,IAAA,IAAA,EAAA;AAAA,QAC/B,IAAA,GAAA,GAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AAAA,QACD,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,CAAA,EAAA;AACD,UAAA,GAAA,GAAgB,IAAA,CAAA;AACd,SAAM;AACN,QAAA,IAAA,CAAAU,wBAAyB,EAAA,GAAA,CAAA,CAAA;AAA6C,OACvE;AACD,KAAa,CAAA,CAAA;AAAA,IAEXG,aAAA,CAAA,MAAA;AAAA,MAEA,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACD,MAAA,UAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}