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.mjs","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":["useRawAttrs","useAttrs","IconView","IconHide"],"mappings":"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"}
1
+ {"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { isString } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT, 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":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import InputNumber from './src/input-number2.mjs';
3
- export { inputNumberEmits, inputNumberProps } from './src/input-number.mjs';
2
+ import InputNumber from './src/input-number.mjs';
3
+ export { inputNumberEmits, inputNumberProps } from './src/input-number2.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const ElInputNumber = withInstall(InputNumber);
@@ -1,78 +1,344 @@
1
+ import { defineComponent, ref, inject, reactive, computed, onMounted, onUpdated, openBlock, createElementBlock, normalizeClass, unref, withModifiers, withDirectives, withKeys, createVNode, withCtx, createBlock, createCommentVNode } from 'vue';
2
+ import '../../config-provider/index.mjs';
1
3
  import { isNil } from 'lodash-unified';
4
+ import { ElInput } from '../../input/index.mjs';
5
+ import { ElIcon } from '../../icon/index.mjs';
6
+ import '../../form/index.mjs';
7
+ import '../../../directives/index.mjs';
2
8
  import '../../../hooks/index.mjs';
3
9
  import '../../../utils/index.mjs';
10
+ import { ArrowDown, Minus, ArrowUp, Plus } from '@element-plus/icons-vue';
4
11
  import '../../../constants/index.mjs';
5
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
6
- import { viewModes } from '../../../constants/size.mjs';
7
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
8
- import { isNumber } from '../../../utils/types.mjs';
9
- import { CHANGE_EVENT, INPUT_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
12
+ import { inputNumberProps, inputNumberEmits } from './input-number2.mjs';
13
+ import { TABLE_INJECTION_KEY } from '../../table/src/tokens.mjs';
14
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
15
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
16
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
17
+ import { useFormItem } from '../../form/src/hooks/use-form-item.mjs';
18
+ import { isNumber, isUndefined } from '../../../utils/types.mjs';
19
+ import { debugWarn, throwError } from '../../../utils/error.mjs';
20
+ import { useFormSize, useFormDisabled, useFormViewMode } from '../../form/src/hooks/use-form-common-props.mjs';
21
+ import { INPUT_EVENT, UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
22
+ import { isString } from '@vue/shared';
23
+ import { watch } from '../../config-provider/src/for-editor.mjs';
24
+ import { vRepeatClick } from '../../../directives/repeat-click/index.mjs';
10
25
 
11
- const inputNumberProps = buildProps({
12
- id: {
13
- type: String,
14
- default: void 0
15
- },
16
- step: {
17
- type: Number,
18
- default: 1
19
- },
20
- stepStrictly: Boolean,
21
- max: {
22
- type: Number,
23
- default: Number.POSITIVE_INFINITY
24
- },
25
- min: {
26
- type: Number,
27
- default: Number.NEGATIVE_INFINITY
28
- },
29
- modelValue: Number,
30
- readonly: Boolean,
31
- disabled: Boolean,
32
- viewMode: {
33
- type: String,
34
- values: viewModes
35
- },
36
- tableInput: Boolean,
37
- size: useSizeProp,
38
- controls: {
39
- type: Boolean,
40
- default: true
41
- },
42
- controlsPosition: {
43
- type: String,
44
- default: "",
45
- values: ["", "right"]
46
- },
47
- textAlign: {
48
- type: String,
49
- default: "center",
50
- values: ["", "left", "center", "right"]
51
- },
52
- valueOnClear: {
53
- type: [String, Number, null],
54
- validator: (val) => val === null || isNumber(val) || ["min", "max"].includes(val),
55
- default: null
56
- },
57
- name: String,
58
- label: String,
59
- placeholder: String,
60
- precision: {
61
- type: Number,
62
- validator: (val) => val >= 0 && val === Number.parseInt(`${val}`, 10)
63
- },
64
- validateEvent: {
65
- type: Boolean,
66
- default: true
26
+ const _hoisted_1 = ["aria-label", "onKeydown"];
27
+ const _hoisted_2 = ["aria-label", "onKeydown"];
28
+ const __default__ = defineComponent({
29
+ name: "ElInputNumber"
30
+ });
31
+ const _sfc_main = /* @__PURE__ */ defineComponent({
32
+ ...__default__,
33
+ props: inputNumberProps,
34
+ emits: inputNumberEmits,
35
+ setup(__props, { expose, emit }) {
36
+ const props = __props;
37
+ const { t } = useLocale();
38
+ const ns = useNamespace("input-number");
39
+ const input = ref();
40
+ const table = inject(TABLE_INJECTION_KEY, void 0);
41
+ const data = reactive({
42
+ currentValue: props.modelValue,
43
+ userInput: null
44
+ });
45
+ const { formItem } = useFormItem();
46
+ const minDisabled = computed(() => isNumber(props.modelValue) && props.modelValue <= props.min);
47
+ const maxDisabled = computed(() => isNumber(props.modelValue) && props.modelValue >= props.max);
48
+ const numPrecision = computed(() => {
49
+ const stepPrecision = getPrecision(props.step);
50
+ if (!isUndefined(props.precision)) {
51
+ if (stepPrecision > props.precision) {
52
+ debugWarn("InputNumber", "precision should not be less than the decimal places of step");
53
+ }
54
+ return props.precision;
55
+ } else {
56
+ return Math.max(getPrecision(props.modelValue), stepPrecision);
57
+ }
58
+ });
59
+ const controlsAtRight = computed(() => {
60
+ return props.controls && props.controlsPosition === "right";
61
+ });
62
+ const isTableInput = computed(() => table && props.tableInput);
63
+ const inputNumberSize = computed(() => {
64
+ if (isTableInput.value) {
65
+ return table.props.size === "small" ? "small" : "";
66
+ } else {
67
+ const formSize = useFormSize();
68
+ return formSize.value;
69
+ }
70
+ });
71
+ const inputNumberDisabled = useFormDisabled();
72
+ const inputNumberViewMode = useFormViewMode();
73
+ const displayValue = computed(() => {
74
+ if (data.userInput !== null) {
75
+ return data.userInput;
76
+ }
77
+ let currentValue = data.currentValue;
78
+ if (isNil(currentValue))
79
+ return "";
80
+ if (isNumber(currentValue)) {
81
+ if (Number.isNaN(currentValue))
82
+ return "";
83
+ if (!isUndefined(props.precision)) {
84
+ currentValue = currentValue.toFixed(props.precision);
85
+ }
86
+ }
87
+ return currentValue;
88
+ });
89
+ const toPrecision = (num, pre) => {
90
+ if (isUndefined(pre))
91
+ pre = numPrecision.value;
92
+ if (pre === 0)
93
+ return Math.round(num);
94
+ let snum = String(num);
95
+ const pointPos = snum.indexOf(".");
96
+ if (pointPos === -1)
97
+ return num;
98
+ const nums = snum.replace(".", "").split("");
99
+ const datum = nums[pointPos + pre];
100
+ if (!datum)
101
+ return num;
102
+ const length = snum.length;
103
+ if (snum.charAt(length - 1) === "5") {
104
+ snum = `${snum.slice(0, Math.max(0, length - 1))}6`;
105
+ }
106
+ return Number.parseFloat(Number(snum).toFixed(pre));
107
+ };
108
+ const getPrecision = (value) => {
109
+ if (isNil(value))
110
+ return 0;
111
+ const valueString = value.toString();
112
+ const dotPosition = valueString.indexOf(".");
113
+ let precision = 0;
114
+ if (dotPosition !== -1) {
115
+ precision = valueString.length - dotPosition - 1;
116
+ }
117
+ return precision;
118
+ };
119
+ const ensurePrecision = (val, coefficient = 1) => {
120
+ if (!isNumber(val))
121
+ return data.currentValue;
122
+ return toPrecision(val + props.step * coefficient);
123
+ };
124
+ const increase = () => {
125
+ if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || maxDisabled.value)
126
+ return;
127
+ const value = Number(displayValue.value) || 0;
128
+ const newVal = ensurePrecision(value);
129
+ setCurrentValue(newVal);
130
+ emit(INPUT_EVENT, data.currentValue);
131
+ };
132
+ const decrease = () => {
133
+ if (props.readonly || inputNumberDisabled.value || inputNumberViewMode.value || minDisabled.value)
134
+ return;
135
+ const value = Number(displayValue.value) || 0;
136
+ const newVal = ensurePrecision(value, -1);
137
+ setCurrentValue(newVal);
138
+ emit(INPUT_EVENT, data.currentValue);
139
+ };
140
+ const verifyValue = (value, update) => {
141
+ const { max, min, step, precision, stepStrictly, valueOnClear } = props;
142
+ if (max < min) {
143
+ throwError("InputNumber", "min should not be greater than max.");
144
+ }
145
+ let newVal = Number(value);
146
+ if (isNil(value) || Number.isNaN(newVal)) {
147
+ return null;
148
+ }
149
+ if (value === "") {
150
+ if (valueOnClear === null) {
151
+ return null;
152
+ }
153
+ newVal = isString(valueOnClear) ? { min, max }[valueOnClear] : valueOnClear;
154
+ }
155
+ if (stepStrictly) {
156
+ newVal = toPrecision(Math.round(newVal / step) * step, precision);
157
+ }
158
+ if (!isUndefined(precision)) {
159
+ newVal = toPrecision(newVal, precision);
160
+ }
161
+ if (newVal > max || newVal < min) {
162
+ newVal = newVal > max ? max : min;
163
+ update && emit(UPDATE_MODEL_EVENT, newVal);
164
+ }
165
+ return newVal;
166
+ };
167
+ const setCurrentValue = (value, emitChange = true) => {
168
+ var _a;
169
+ const oldVal = data.currentValue;
170
+ const newVal = verifyValue(value);
171
+ if (!emitChange) {
172
+ emit(UPDATE_MODEL_EVENT, newVal);
173
+ return;
174
+ }
175
+ if (oldVal === newVal)
176
+ return;
177
+ data.userInput = null;
178
+ emit(UPDATE_MODEL_EVENT, newVal);
179
+ emit(CHANGE_EVENT, newVal, oldVal);
180
+ if (props.validateEvent) {
181
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
182
+ }
183
+ data.currentValue = newVal;
184
+ };
185
+ const handleInput = (value) => {
186
+ data.userInput = value;
187
+ const newVal = value === "" ? null : Number(value);
188
+ emit(INPUT_EVENT, newVal);
189
+ setCurrentValue(newVal, false);
190
+ };
191
+ const handleInputChange = (value) => {
192
+ const newVal = value !== "" ? Number(value) : "";
193
+ if (isNumber(newVal) && !Number.isNaN(newVal) || value === "") {
194
+ setCurrentValue(newVal);
195
+ }
196
+ data.userInput = null;
197
+ };
198
+ const focus = () => {
199
+ var _a, _b;
200
+ (_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
201
+ };
202
+ const blur = () => {
203
+ var _a, _b;
204
+ (_b = (_a = input.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
205
+ };
206
+ const handleFocus = (event) => {
207
+ emit("focus", event);
208
+ };
209
+ const handleBlur = (event) => {
210
+ var _a;
211
+ emit("blur", event);
212
+ if (props.validateEvent) {
213
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
214
+ }
215
+ };
216
+ watch(() => props.modelValue, (value) => {
217
+ const userInput = verifyValue(data.userInput);
218
+ const newValue = verifyValue(value, true);
219
+ if (!isNumber(userInput) && (!userInput || userInput !== newValue)) {
220
+ if (data.userInput !== "") {
221
+ data.currentValue = newValue;
222
+ data.userInput = null;
223
+ }
224
+ }
225
+ }, { immediate: true });
226
+ onMounted(() => {
227
+ var _a;
228
+ const { min, max, modelValue } = props;
229
+ const innerInput = (_a = input.value) == null ? void 0 : _a.input;
230
+ innerInput.setAttribute("role", "spinbutton");
231
+ if (Number.isFinite(max)) {
232
+ innerInput.setAttribute("aria-valuemax", String(max));
233
+ } else {
234
+ innerInput.removeAttribute("aria-valuemax");
235
+ }
236
+ if (Number.isFinite(min)) {
237
+ innerInput.setAttribute("aria-valuemin", String(min));
238
+ } else {
239
+ innerInput.removeAttribute("aria-valuemin");
240
+ }
241
+ innerInput.setAttribute("aria-valuenow", data.currentValue || data.currentValue === 0 ? String(data.currentValue) : "");
242
+ innerInput.setAttribute("aria-disabled", String(inputNumberDisabled.value));
243
+ innerInput.setAttribute("aria-view-mode", String(inputNumberViewMode.value));
244
+ if (!isNumber(modelValue) && modelValue != null) {
245
+ let val = Number(modelValue);
246
+ if (Number.isNaN(val)) {
247
+ val = null;
248
+ }
249
+ emit(UPDATE_MODEL_EVENT, val);
250
+ }
251
+ });
252
+ onUpdated(() => {
253
+ var _a, _b;
254
+ const innerInput = (_a = input.value) == null ? void 0 : _a.input;
255
+ innerInput == null ? void 0 : innerInput.setAttribute("aria-valuenow", `${(_b = data.currentValue) != null ? _b : ""}`);
256
+ });
257
+ expose({
258
+ focus,
259
+ blur
260
+ });
261
+ return (_ctx, _cache) => {
262
+ return openBlock(), createElementBlock("div", {
263
+ class: normalizeClass([
264
+ unref(ns).b(),
265
+ unref(ns).m(unref(inputNumberSize)),
266
+ unref(ns).is("disabled", unref(inputNumberDisabled)),
267
+ unref(ns).is("view-mode", !!unref(inputNumberViewMode)),
268
+ unref(ns).is("table-input", unref(isTableInput)),
269
+ unref(ns).is("without-controls", !_ctx.controls),
270
+ unref(ns).is("controls-right", unref(controlsAtRight)),
271
+ _ctx.textAlign ? "text-align--" + _ctx.textAlign : ""
272
+ ]),
273
+ onDragstart: _cache[1] || (_cache[1] = withModifiers(() => {
274
+ }, ["prevent"]))
275
+ }, [
276
+ _ctx.controls ? withDirectives((openBlock(), createElementBlock("span", {
277
+ key: 0,
278
+ role: "button",
279
+ "aria-label": unref(t)("el.inputNumber.decrease"),
280
+ class: normalizeClass([unref(ns).e("decrease"), unref(ns).is("disabled", unref(minDisabled))]),
281
+ onKeydown: withKeys(decrease, ["enter"])
282
+ }, [
283
+ createVNode(unref(ElIcon), null, {
284
+ default: withCtx(() => [
285
+ unref(controlsAtRight) ? (openBlock(), createBlock(unref(ArrowDown), { key: 0 })) : (openBlock(), createBlock(unref(Minus), { key: 1 }))
286
+ ]),
287
+ _: 1
288
+ })
289
+ ], 42, _hoisted_1)), [
290
+ [unref(vRepeatClick), decrease]
291
+ ]) : createCommentVNode("v-if", true),
292
+ _ctx.controls ? withDirectives((openBlock(), createElementBlock("span", {
293
+ key: 1,
294
+ role: "button",
295
+ "aria-label": unref(t)("el.inputNumber.increase"),
296
+ class: normalizeClass([unref(ns).e("increase"), unref(ns).is("disabled", unref(maxDisabled))]),
297
+ onKeydown: withKeys(increase, ["enter"])
298
+ }, [
299
+ createVNode(unref(ElIcon), null, {
300
+ default: withCtx(() => [
301
+ unref(controlsAtRight) ? (openBlock(), createBlock(unref(ArrowUp), { key: 0 })) : (openBlock(), createBlock(unref(Plus), { key: 1 }))
302
+ ]),
303
+ _: 1
304
+ })
305
+ ], 42, _hoisted_2)), [
306
+ [unref(vRepeatClick), increase]
307
+ ]) : createCommentVNode("v-if", true),
308
+ createVNode(unref(ElInput), {
309
+ id: _ctx.id,
310
+ ref_key: "input",
311
+ ref: input,
312
+ type: "number",
313
+ step: _ctx.step,
314
+ "model-value": unref(displayValue),
315
+ placeholder: _ctx.placeholder,
316
+ readonly: _ctx.readonly,
317
+ disabled: unref(inputNumberDisabled),
318
+ "view-mode": unref(inputNumberViewMode),
319
+ "table-input": unref(isTableInput),
320
+ size: unref(inputNumberSize),
321
+ max: _ctx.max,
322
+ min: _ctx.min,
323
+ name: _ctx.name,
324
+ label: _ctx.label,
325
+ "validate-event": false,
326
+ onWheel: _cache[0] || (_cache[0] = withModifiers(() => {
327
+ }, ["prevent"])),
328
+ onKeydown: [
329
+ withKeys(withModifiers(increase, ["prevent"]), ["up"]),
330
+ withKeys(withModifiers(decrease, ["prevent"]), ["down"])
331
+ ],
332
+ onBlur: handleBlur,
333
+ onFocus: handleFocus,
334
+ onInput: handleInput,
335
+ onChange: handleInputChange
336
+ }, null, 8, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "view-mode", "table-input", "size", "max", "min", "name", "label", "onKeydown"])
337
+ ], 34);
338
+ };
67
339
  }
68
340
  });
69
- const inputNumberEmits = {
70
- [CHANGE_EVENT]: (cur, prev) => prev !== cur,
71
- blur: (e) => e instanceof FocusEvent,
72
- focus: (e) => e instanceof FocusEvent,
73
- [INPUT_EVENT]: (val) => isNumber(val) || isNil(val),
74
- [UPDATE_MODEL_EVENT]: (val) => isNumber(val) || isNil(val)
75
- };
341
+ var InputNumber = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\input-number\\src\\input-number.vue"]]);
76
342
 
77
- export { inputNumberEmits, inputNumberProps };
343
+ export { InputNumber as default };
78
344
  //# sourceMappingURL=input-number.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.mjs","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":[],"mappings":";;;;;;;;;;AASY,MAAC,gBAAgB,GAAG,UAAU,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,EAAE,SAAS;AACrB,GAAG;AACH,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,IAAI,EAAE,WAAW;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,IAAI,QAAQ,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,CAAC,YAAY,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,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;AACrD,EAAE,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;AAC5D;;;;"}
1
+ {"version":3,"file":"input-number.mjs","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":[],"mappings":"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"}