element-ps 2.0.12 → 2.0.13

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 (516) hide show
  1. package/dist/index.full.js +352 -324
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +352 -324
  7. package/es/components/autocomplete/index.d.ts +11 -4
  8. package/es/components/autocomplete/index.mjs +2 -2
  9. package/es/components/autocomplete/src/autocomplete.mjs +96 -58
  10. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  11. package/es/components/autocomplete/src/autocomplete.vue.d.ts +11 -4
  12. package/es/components/autocomplete/src/autocomplete2.mjs +58 -96
  13. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  14. package/es/components/avatar/index.mjs +2 -2
  15. package/es/components/avatar/src/avatar.mjs +29 -61
  16. package/es/components/avatar/src/avatar.mjs.map +1 -1
  17. package/es/components/avatar/src/avatar2.mjs +61 -29
  18. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  19. package/es/components/breadcrumb/index.mjs +2 -2
  20. package/es/components/breadcrumb/src/breadcrumb.mjs +37 -12
  21. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  22. package/es/components/breadcrumb/src/breadcrumb2.mjs +12 -37
  23. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  24. package/es/components/button/index.mjs +1 -1
  25. package/es/components/button/src/button-group.mjs +5 -30
  26. package/es/components/button/src/button-group.mjs.map +1 -1
  27. package/es/components/button/src/button-group2.mjs +30 -5
  28. package/es/components/button/src/button-group2.mjs.map +1 -1
  29. package/es/components/calendar/index.mjs +2 -2
  30. package/es/components/calendar/src/calendar.mjs +188 -9
  31. package/es/components/calendar/src/calendar.mjs.map +1 -1
  32. package/es/components/calendar/src/calendar2.mjs +9 -188
  33. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  34. package/es/components/card/index.mjs +2 -2
  35. package/es/components/card/src/card.mjs +15 -35
  36. package/es/components/card/src/card.mjs.map +1 -1
  37. package/es/components/card/src/card2.mjs +35 -15
  38. package/es/components/card/src/card2.mjs.map +1 -1
  39. package/es/components/carousel/index.mjs +2 -2
  40. package/es/components/carousel/src/carousel.mjs +43 -227
  41. package/es/components/carousel/src/carousel.mjs.map +1 -1
  42. package/es/components/carousel/src/carousel2.mjs +227 -43
  43. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  44. package/es/components/cascader/index.d.ts +28 -2
  45. package/es/components/cascader/src/index.mjs +15 -10
  46. package/es/components/cascader/src/index.mjs.map +1 -1
  47. package/es/components/cascader/src/index.vue.d.ts +14 -1
  48. package/es/components/check-tag/index.mjs +2 -2
  49. package/es/components/check-tag/src/check-tag.mjs +20 -7
  50. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  51. package/es/components/check-tag/src/check-tag2.mjs +7 -20
  52. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  53. package/es/components/collection/index.mjs +1 -1
  54. package/es/components/collection/src/collection.mjs +10 -63
  55. package/es/components/collection/src/collection.mjs.map +1 -1
  56. package/es/components/collection/src/collection2.mjs +63 -10
  57. package/es/components/collection/src/collection2.mjs.map +1 -1
  58. package/es/components/descriptions/index.d.ts +12 -0
  59. package/es/components/descriptions/src/description-item.d.ts +6 -0
  60. package/es/components/descriptions/src/description-item.mjs +3 -0
  61. package/es/components/descriptions/src/description-item.mjs.map +1 -1
  62. package/es/components/descriptions/src/descriptions.type.d.ts +1 -0
  63. package/es/components/dialog/index.d.ts +4 -0
  64. package/es/components/dialog/index.mjs +2 -2
  65. package/es/components/dialog/src/dialog-content.d.ts +1 -0
  66. package/es/components/dialog/src/dialog-content.mjs +3 -0
  67. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  68. package/es/components/dialog/src/dialog-content.vue.d.ts +3 -0
  69. package/es/components/dialog/src/dialog-content2.mjs +11 -6
  70. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  71. package/es/components/dialog/src/dialog.d.ts +1 -0
  72. package/es/components/dialog/src/dialog.mjs +97 -58
  73. package/es/components/dialog/src/dialog.mjs.map +1 -1
  74. package/es/components/dialog/src/dialog.vue.d.ts +4 -0
  75. package/es/components/dialog/src/dialog2.mjs +61 -96
  76. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  77. package/es/components/drawer/index.d.ts +3 -0
  78. package/es/components/drawer/src/drawer.d.ts +1 -0
  79. package/es/components/drawer/src/drawer.mjs +4 -1
  80. package/es/components/drawer/src/drawer.mjs.map +1 -1
  81. package/es/components/drawer/src/drawer.vue.d.ts +3 -0
  82. package/es/components/drawer/src/drawer2.mjs +64 -65
  83. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  84. package/es/components/dropdown/index.mjs +2 -2
  85. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -3
  86. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  87. package/es/components/dropdown/src/dropdown-menu.mjs +2 -2
  88. package/es/components/dropdown/src/dropdown.mjs +100 -109
  89. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  90. package/es/components/dropdown/src/dropdown2.mjs +109 -100
  91. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  92. package/es/components/empty/index.mjs +2 -2
  93. package/es/components/empty/src/empty.mjs +11 -56
  94. package/es/components/empty/src/empty.mjs.map +1 -1
  95. package/es/components/empty/src/empty2.mjs +56 -11
  96. package/es/components/empty/src/empty2.mjs.map +1 -1
  97. package/es/components/form/index.d.ts +8 -0
  98. package/es/components/form/index.mjs +2 -2
  99. package/es/components/form/src/form-item.d.ts +1 -0
  100. package/es/components/form/src/form-item.mjs +3 -0
  101. package/es/components/form/src/form-item.mjs.map +1 -1
  102. package/es/components/form/src/form-item.vue.d.ts +4 -0
  103. package/es/components/form/src/form-item2.mjs +12 -7
  104. package/es/components/form/src/form-item2.mjs.map +1 -1
  105. package/es/components/form/src/form.mjs +45 -40
  106. package/es/components/form/src/form.mjs.map +1 -1
  107. package/es/components/form/src/form2.mjs +40 -45
  108. package/es/components/form/src/form2.mjs.map +1 -1
  109. package/es/components/icon/index.mjs +2 -2
  110. package/es/components/icon/src/icon.mjs +8 -35
  111. package/es/components/icon/src/icon.mjs.map +1 -1
  112. package/es/components/icon/src/icon2.mjs +35 -8
  113. package/es/components/icon/src/icon2.mjs.map +1 -1
  114. package/es/components/image/index.d.ts +1 -1
  115. package/es/components/image/index.mjs +2 -2
  116. package/es/components/image/src/image.mjs +50 -158
  117. package/es/components/image/src/image.mjs.map +1 -1
  118. package/es/components/image/src/image.vue.d.ts +1 -1
  119. package/es/components/image/src/image2.mjs +158 -50
  120. package/es/components/image/src/image2.mjs.map +1 -1
  121. package/es/components/index.mjs +27 -27
  122. package/es/components/input/index.d.ts +4 -0
  123. package/es/components/input/index.mjs +2 -2
  124. package/es/components/input/src/input.d.ts +1 -0
  125. package/es/components/input/src/input.mjs +85 -294
  126. package/es/components/input/src/input.mjs.map +1 -1
  127. package/es/components/input/src/input.vue.d.ts +4 -0
  128. package/es/components/input/src/input2.mjs +296 -82
  129. package/es/components/input/src/input2.mjs.map +1 -1
  130. package/es/components/input-number/index.d.ts +8 -0
  131. package/es/components/input-number/src/input-number.vue.d.ts +8 -0
  132. package/es/components/menu/index.mjs +2 -2
  133. package/es/components/menu/src/menu-item.mjs +15 -73
  134. package/es/components/menu/src/menu-item.mjs.map +1 -1
  135. package/es/components/menu/src/menu-item2.mjs +73 -15
  136. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  137. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  138. package/es/components/popover/index.d.ts +2 -2
  139. package/es/components/popover/src/index.vue.d.ts +1 -1
  140. package/es/components/popover/src/popover.mjs +2 -2
  141. package/es/components/popper/index.mjs +2 -2
  142. package/es/components/popper/src/content.vue.d.ts +1 -1
  143. package/es/components/popper/src/trigger.mjs +36 -17
  144. package/es/components/popper/src/trigger.mjs.map +1 -1
  145. package/es/components/popper/src/trigger2.mjs +17 -36
  146. package/es/components/popper/src/trigger2.mjs.map +1 -1
  147. package/es/components/progress/index.d.ts +3 -3
  148. package/es/components/progress/index.mjs +2 -2
  149. package/es/components/progress/src/progress.d.ts +1 -1
  150. package/es/components/progress/src/progress.mjs +57 -230
  151. package/es/components/progress/src/progress.mjs.map +1 -1
  152. package/es/components/progress/src/progress.vue.d.ts +3 -3
  153. package/es/components/progress/src/progress2.mjs +230 -57
  154. package/es/components/progress/src/progress2.mjs.map +1 -1
  155. package/es/components/radio/index.mjs +2 -2
  156. package/es/components/radio/src/radio-button.mjs +1 -1
  157. package/es/components/radio/src/radio-button2.mjs +1 -1
  158. package/es/components/radio/src/radio.mjs +74 -67
  159. package/es/components/radio/src/radio.mjs.map +1 -1
  160. package/es/components/radio/src/radio2.mjs +67 -74
  161. package/es/components/radio/src/radio2.mjs.map +1 -1
  162. package/es/components/rate/index.mjs +2 -2
  163. package/es/components/rate/src/rate.mjs +84 -169
  164. package/es/components/rate/src/rate.mjs.map +1 -1
  165. package/es/components/rate/src/rate2.mjs +169 -84
  166. package/es/components/rate/src/rate2.mjs.map +1 -1
  167. package/es/components/result/index.mjs +2 -2
  168. package/es/components/result/src/result.mjs +28 -73
  169. package/es/components/result/src/result.mjs.map +1 -1
  170. package/es/components/result/src/result2.mjs +73 -28
  171. package/es/components/result/src/result2.mjs.map +1 -1
  172. package/es/components/roving-focus-group/index.mjs +3 -3
  173. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  174. package/es/components/roving-focus-group/src/roving-focus-group.mjs +29 -27
  175. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  176. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -29
  177. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  178. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  179. package/es/components/scrollbar/index.mjs +1 -1
  180. package/es/components/scrollbar/src/bar.mjs +1 -1
  181. package/es/components/scrollbar/src/thumb.mjs +11 -59
  182. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  183. package/es/components/scrollbar/src/thumb.vue.d.ts +1 -1
  184. package/es/components/scrollbar/src/thumb2.mjs +59 -11
  185. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  186. package/es/components/select/index.d.ts +4 -4
  187. package/es/components/select/src/select.mjs +1 -1
  188. package/es/components/select/src/select.vue.d.ts +4 -4
  189. package/es/components/select/src/useSelect.d.ts +3 -3
  190. package/es/components/select-v2/index.d.ts +8 -8
  191. package/es/components/select-v2/src/defaults.mjs +1 -1
  192. package/es/components/select-v2/src/select.vue.d.ts +4 -4
  193. package/es/components/select-v2/src/useSelect.d.ts +3 -3
  194. package/es/components/skeleton/index.mjs +2 -2
  195. package/es/components/skeleton/src/skeleton.mjs +49 -22
  196. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  197. package/es/components/skeleton/src/skeleton2.mjs +22 -49
  198. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  199. package/es/components/switch/index.d.ts +1 -1
  200. package/es/components/switch/src/switch.vue.d.ts +1 -1
  201. package/es/components/table/index.d.ts +13 -1
  202. package/es/components/table/src/filter-panel.vue.d.ts +3 -3
  203. package/es/components/table/src/table-body/render-helper.mjs +2 -1
  204. package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
  205. package/es/components/table/src/table-column/defaults.d.ts +4 -0
  206. package/es/components/table/src/table-column/defaults.mjs +3 -0
  207. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  208. package/es/components/table/src/table-column/index.d.ts +6 -0
  209. package/es/components/table/src/table-column/index.mjs +2 -1
  210. package/es/components/table/src/table-column/index.mjs.map +1 -1
  211. package/es/components/table/src/table-header/index.mjs +1 -8
  212. package/es/components/table/src/table-header/index.mjs.map +1 -1
  213. package/es/components/table/src/table.vue.d.ts +1 -1
  214. package/es/components/teleport/index.mjs +2 -2
  215. package/es/components/teleport/src/teleport.mjs +18 -43
  216. package/es/components/teleport/src/teleport.mjs.map +1 -1
  217. package/es/components/teleport/src/teleport2.mjs +43 -18
  218. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  219. package/es/components/time-picker/src/common/picker.vue.d.ts +3 -3
  220. package/es/components/time-select/index.d.ts +4 -4
  221. package/es/components/time-select/src/time-select.vue.d.ts +2 -2
  222. package/es/components/timeline/index.mjs +2 -2
  223. package/es/components/timeline/src/timeline-item.mjs +73 -39
  224. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  225. package/es/components/timeline/src/timeline-item2.mjs +39 -73
  226. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  227. package/es/components/tooltip/index.d.ts +1 -1
  228. package/es/components/tooltip/index.mjs +2 -2
  229. package/es/components/tooltip/src/tooltip.mjs +64 -51
  230. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  231. package/es/components/tooltip/src/tooltip.vue.d.ts +1 -1
  232. package/es/components/tooltip/src/tooltip2.mjs +51 -64
  233. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  234. package/es/components/tooltip/src/trigger.mjs +2 -2
  235. package/es/components/tooltip-v2/index.mjs +2 -2
  236. package/es/components/tooltip-v2/src/content.mjs +113 -50
  237. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  238. package/es/components/tooltip-v2/src/content2.mjs +50 -113
  239. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  240. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  241. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  242. package/es/components/tooltip-v2/src/trigger.mjs +11 -89
  243. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  244. package/es/components/tooltip-v2/src/trigger2.mjs +89 -11
  245. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  246. package/es/components/upload/index.mjs +3 -3
  247. package/es/components/upload/src/upload-content.mjs +1 -1
  248. package/es/components/upload/src/upload-list.mjs +155 -26
  249. package/es/components/upload/src/upload-list.mjs.map +1 -1
  250. package/es/components/upload/src/upload-list.vue.d.ts +3 -3
  251. package/es/components/upload/src/upload-list2.mjs +26 -155
  252. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  253. package/es/components/upload/src/upload.mjs +99 -106
  254. package/es/components/upload/src/upload.mjs.map +1 -1
  255. package/es/components/upload/src/upload2.mjs +106 -99
  256. package/es/components/upload/src/upload2.mjs.map +1 -1
  257. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  258. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  259. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  260. package/es/index.mjs +27 -27
  261. package/lib/components/autocomplete/index.d.ts +11 -4
  262. package/lib/components/autocomplete/index.js +2 -2
  263. package/lib/components/autocomplete/src/autocomplete.js +96 -58
  264. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  265. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +11 -4
  266. package/lib/components/autocomplete/src/autocomplete2.js +58 -96
  267. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  268. package/lib/components/avatar/index.js +2 -2
  269. package/lib/components/avatar/src/avatar.js +29 -61
  270. package/lib/components/avatar/src/avatar.js.map +1 -1
  271. package/lib/components/avatar/src/avatar2.js +61 -29
  272. package/lib/components/avatar/src/avatar2.js.map +1 -1
  273. package/lib/components/breadcrumb/index.js +2 -2
  274. package/lib/components/breadcrumb/src/breadcrumb.js +37 -12
  275. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  276. package/lib/components/breadcrumb/src/breadcrumb2.js +12 -37
  277. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  278. package/lib/components/button/index.js +1 -1
  279. package/lib/components/button/src/button-group.js +5 -30
  280. package/lib/components/button/src/button-group.js.map +1 -1
  281. package/lib/components/button/src/button-group2.js +30 -5
  282. package/lib/components/button/src/button-group2.js.map +1 -1
  283. package/lib/components/calendar/index.js +2 -2
  284. package/lib/components/calendar/src/calendar.js +192 -9
  285. package/lib/components/calendar/src/calendar.js.map +1 -1
  286. package/lib/components/calendar/src/calendar2.js +9 -192
  287. package/lib/components/calendar/src/calendar2.js.map +1 -1
  288. package/lib/components/card/index.js +2 -2
  289. package/lib/components/card/src/card.js +15 -35
  290. package/lib/components/card/src/card.js.map +1 -1
  291. package/lib/components/card/src/card2.js +35 -15
  292. package/lib/components/card/src/card2.js.map +1 -1
  293. package/lib/components/carousel/index.js +2 -2
  294. package/lib/components/carousel/src/carousel.js +43 -227
  295. package/lib/components/carousel/src/carousel.js.map +1 -1
  296. package/lib/components/carousel/src/carousel2.js +227 -43
  297. package/lib/components/carousel/src/carousel2.js.map +1 -1
  298. package/lib/components/cascader/index.d.ts +28 -2
  299. package/lib/components/cascader/src/index.js +15 -10
  300. package/lib/components/cascader/src/index.js.map +1 -1
  301. package/lib/components/cascader/src/index.vue.d.ts +14 -1
  302. package/lib/components/check-tag/index.js +2 -2
  303. package/lib/components/check-tag/src/check-tag.js +20 -7
  304. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  305. package/lib/components/check-tag/src/check-tag2.js +7 -20
  306. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  307. package/lib/components/collection/index.js +1 -1
  308. package/lib/components/collection/src/collection.js +9 -63
  309. package/lib/components/collection/src/collection.js.map +1 -1
  310. package/lib/components/collection/src/collection2.js +63 -9
  311. package/lib/components/collection/src/collection2.js.map +1 -1
  312. package/lib/components/descriptions/index.d.ts +12 -0
  313. package/lib/components/descriptions/src/description-item.d.ts +6 -0
  314. package/lib/components/descriptions/src/description-item.js +3 -0
  315. package/lib/components/descriptions/src/description-item.js.map +1 -1
  316. package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
  317. package/lib/components/dialog/index.d.ts +4 -0
  318. package/lib/components/dialog/index.js +2 -2
  319. package/lib/components/dialog/src/dialog-content.d.ts +1 -0
  320. package/lib/components/dialog/src/dialog-content.js +3 -0
  321. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  322. package/lib/components/dialog/src/dialog-content.vue.d.ts +3 -0
  323. package/lib/components/dialog/src/dialog-content2.js +11 -6
  324. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  325. package/lib/components/dialog/src/dialog.d.ts +1 -0
  326. package/lib/components/dialog/src/dialog.js +97 -58
  327. package/lib/components/dialog/src/dialog.js.map +1 -1
  328. package/lib/components/dialog/src/dialog.vue.d.ts +4 -0
  329. package/lib/components/dialog/src/dialog2.js +61 -96
  330. package/lib/components/dialog/src/dialog2.js.map +1 -1
  331. package/lib/components/drawer/index.d.ts +3 -0
  332. package/lib/components/drawer/src/drawer.d.ts +1 -0
  333. package/lib/components/drawer/src/drawer.js +4 -1
  334. package/lib/components/drawer/src/drawer.js.map +1 -1
  335. package/lib/components/drawer/src/drawer.vue.d.ts +3 -0
  336. package/lib/components/drawer/src/drawer2.js +63 -64
  337. package/lib/components/drawer/src/drawer2.js.map +1 -1
  338. package/lib/components/dropdown/index.js +2 -2
  339. package/lib/components/dropdown/src/dropdown-item-impl.js +3 -3
  340. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  341. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  342. package/lib/components/dropdown/src/dropdown.js +109 -109
  343. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  344. package/lib/components/dropdown/src/dropdown2.js +109 -109
  345. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  346. package/lib/components/empty/index.js +2 -2
  347. package/lib/components/empty/src/empty.js +11 -56
  348. package/lib/components/empty/src/empty.js.map +1 -1
  349. package/lib/components/empty/src/empty2.js +56 -11
  350. package/lib/components/empty/src/empty2.js.map +1 -1
  351. package/lib/components/form/index.d.ts +8 -0
  352. package/lib/components/form/index.js +2 -2
  353. package/lib/components/form/src/form-item.d.ts +1 -0
  354. package/lib/components/form/src/form-item.js +3 -0
  355. package/lib/components/form/src/form-item.js.map +1 -1
  356. package/lib/components/form/src/form-item.vue.d.ts +4 -0
  357. package/lib/components/form/src/form-item2.js +12 -7
  358. package/lib/components/form/src/form-item2.js.map +1 -1
  359. package/lib/components/form/src/form.js +45 -40
  360. package/lib/components/form/src/form.js.map +1 -1
  361. package/lib/components/form/src/form2.js +40 -45
  362. package/lib/components/form/src/form2.js.map +1 -1
  363. package/lib/components/icon/index.js +2 -2
  364. package/lib/components/icon/src/icon.js +8 -35
  365. package/lib/components/icon/src/icon.js.map +1 -1
  366. package/lib/components/icon/src/icon2.js +35 -8
  367. package/lib/components/icon/src/icon2.js.map +1 -1
  368. package/lib/components/image/index.d.ts +1 -1
  369. package/lib/components/image/index.js +2 -2
  370. package/lib/components/image/src/image.js +50 -158
  371. package/lib/components/image/src/image.js.map +1 -1
  372. package/lib/components/image/src/image.vue.d.ts +1 -1
  373. package/lib/components/image/src/image2.js +158 -50
  374. package/lib/components/image/src/image2.js.map +1 -1
  375. package/lib/components/index.js +27 -27
  376. package/lib/components/input/index.d.ts +4 -0
  377. package/lib/components/input/index.js +2 -2
  378. package/lib/components/input/src/input.d.ts +1 -0
  379. package/lib/components/input/src/input.js +84 -293
  380. package/lib/components/input/src/input.js.map +1 -1
  381. package/lib/components/input/src/input.vue.d.ts +4 -0
  382. package/lib/components/input/src/input2.js +295 -81
  383. package/lib/components/input/src/input2.js.map +1 -1
  384. package/lib/components/input-number/index.d.ts +8 -0
  385. package/lib/components/input-number/src/input-number.vue.d.ts +8 -0
  386. package/lib/components/menu/index.js +2 -2
  387. package/lib/components/menu/src/menu-item.js +16 -73
  388. package/lib/components/menu/src/menu-item.js.map +1 -1
  389. package/lib/components/menu/src/menu-item2.js +73 -16
  390. package/lib/components/menu/src/menu-item2.js.map +1 -1
  391. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  392. package/lib/components/popover/index.d.ts +2 -2
  393. package/lib/components/popover/src/index.vue.d.ts +1 -1
  394. package/lib/components/popover/src/popover.js +2 -2
  395. package/lib/components/popper/index.js +2 -2
  396. package/lib/components/popper/src/content.vue.d.ts +1 -1
  397. package/lib/components/popper/src/trigger.js +36 -17
  398. package/lib/components/popper/src/trigger.js.map +1 -1
  399. package/lib/components/popper/src/trigger2.js +17 -36
  400. package/lib/components/popper/src/trigger2.js.map +1 -1
  401. package/lib/components/progress/index.d.ts +3 -3
  402. package/lib/components/progress/index.js +2 -2
  403. package/lib/components/progress/src/progress.d.ts +1 -1
  404. package/lib/components/progress/src/progress.js +57 -230
  405. package/lib/components/progress/src/progress.js.map +1 -1
  406. package/lib/components/progress/src/progress.vue.d.ts +3 -3
  407. package/lib/components/progress/src/progress2.js +230 -57
  408. package/lib/components/progress/src/progress2.js.map +1 -1
  409. package/lib/components/radio/index.js +2 -2
  410. package/lib/components/radio/src/radio-button.js +1 -1
  411. package/lib/components/radio/src/radio-button2.js +1 -1
  412. package/lib/components/radio/src/radio.js +73 -69
  413. package/lib/components/radio/src/radio.js.map +1 -1
  414. package/lib/components/radio/src/radio2.js +69 -73
  415. package/lib/components/radio/src/radio2.js.map +1 -1
  416. package/lib/components/rate/index.js +2 -2
  417. package/lib/components/rate/src/rate.js +84 -169
  418. package/lib/components/rate/src/rate.js.map +1 -1
  419. package/lib/components/rate/src/rate2.js +169 -84
  420. package/lib/components/rate/src/rate2.js.map +1 -1
  421. package/lib/components/result/index.js +2 -2
  422. package/lib/components/result/src/result.js +30 -73
  423. package/lib/components/result/src/result.js.map +1 -1
  424. package/lib/components/result/src/result2.js +73 -30
  425. package/lib/components/result/src/result2.js.map +1 -1
  426. package/lib/components/roving-focus-group/index.js +2 -2
  427. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  428. package/lib/components/roving-focus-group/src/roving-focus-group.js +33 -27
  429. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  430. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -33
  431. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  432. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  433. package/lib/components/scrollbar/index.js +1 -1
  434. package/lib/components/scrollbar/src/bar.js +1 -1
  435. package/lib/components/scrollbar/src/thumb.js +11 -59
  436. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  437. package/lib/components/scrollbar/src/thumb.vue.d.ts +1 -1
  438. package/lib/components/scrollbar/src/thumb2.js +59 -11
  439. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  440. package/lib/components/select/index.d.ts +4 -4
  441. package/lib/components/select/src/select.js +1 -1
  442. package/lib/components/select/src/select.vue.d.ts +4 -4
  443. package/lib/components/select/src/useSelect.d.ts +3 -3
  444. package/lib/components/select-v2/index.d.ts +8 -8
  445. package/lib/components/select-v2/src/defaults.js +1 -1
  446. package/lib/components/select-v2/src/select.vue.d.ts +4 -4
  447. package/lib/components/select-v2/src/useSelect.d.ts +3 -3
  448. package/lib/components/skeleton/index.js +2 -2
  449. package/lib/components/skeleton/src/skeleton.js +49 -22
  450. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  451. package/lib/components/skeleton/src/skeleton2.js +22 -49
  452. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  453. package/lib/components/switch/index.d.ts +1 -1
  454. package/lib/components/switch/src/switch.vue.d.ts +1 -1
  455. package/lib/components/table/index.d.ts +13 -1
  456. package/lib/components/table/src/filter-panel.vue.d.ts +3 -3
  457. package/lib/components/table/src/table-body/render-helper.js +2 -1
  458. package/lib/components/table/src/table-body/render-helper.js.map +1 -1
  459. package/lib/components/table/src/table-column/defaults.d.ts +4 -0
  460. package/lib/components/table/src/table-column/defaults.js +3 -0
  461. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  462. package/lib/components/table/src/table-column/index.d.ts +6 -0
  463. package/lib/components/table/src/table-column/index.js +2 -1
  464. package/lib/components/table/src/table-column/index.js.map +1 -1
  465. package/lib/components/table/src/table-header/index.js +1 -8
  466. package/lib/components/table/src/table-header/index.js.map +1 -1
  467. package/lib/components/table/src/table.vue.d.ts +1 -1
  468. package/lib/components/teleport/index.js +2 -2
  469. package/lib/components/teleport/src/teleport.js +18 -43
  470. package/lib/components/teleport/src/teleport.js.map +1 -1
  471. package/lib/components/teleport/src/teleport2.js +43 -18
  472. package/lib/components/teleport/src/teleport2.js.map +1 -1
  473. package/lib/components/time-picker/src/common/picker.vue.d.ts +3 -3
  474. package/lib/components/time-select/index.d.ts +4 -4
  475. package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
  476. package/lib/components/timeline/index.js +2 -2
  477. package/lib/components/timeline/src/timeline-item.js +73 -39
  478. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  479. package/lib/components/timeline/src/timeline-item2.js +39 -73
  480. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  481. package/lib/components/tooltip/index.d.ts +1 -1
  482. package/lib/components/tooltip/index.js +2 -2
  483. package/lib/components/tooltip/src/tooltip.js +65 -50
  484. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  485. package/lib/components/tooltip/src/tooltip.vue.d.ts +1 -1
  486. package/lib/components/tooltip/src/tooltip2.js +50 -65
  487. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  488. package/lib/components/tooltip/src/trigger.js +2 -2
  489. package/lib/components/tooltip-v2/index.js +2 -2
  490. package/lib/components/tooltip-v2/src/content.js +113 -50
  491. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  492. package/lib/components/tooltip-v2/src/content2.js +50 -113
  493. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  494. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  495. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  496. package/lib/components/tooltip-v2/src/trigger.js +11 -89
  497. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  498. package/lib/components/tooltip-v2/src/trigger2.js +89 -11
  499. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  500. package/lib/components/upload/index.js +3 -3
  501. package/lib/components/upload/src/upload-content.js +1 -1
  502. package/lib/components/upload/src/upload-list.js +155 -27
  503. package/lib/components/upload/src/upload-list.js.map +1 -1
  504. package/lib/components/upload/src/upload-list.vue.d.ts +3 -3
  505. package/lib/components/upload/src/upload-list2.js +27 -155
  506. package/lib/components/upload/src/upload-list2.js.map +1 -1
  507. package/lib/components/upload/src/upload.js +99 -109
  508. package/lib/components/upload/src/upload.js.map +1 -1
  509. package/lib/components/upload/src/upload2.js +109 -99
  510. package/lib/components/upload/src/upload2.js.map +1 -1
  511. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  512. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  513. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  514. package/lib/index.js +27 -27
  515. package/package.json +1 -1
  516. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.bm('suffix', 'password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\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 :class=\"[nsInput.e('wrapper'), nsInput.is('focus', focused)]\">\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 <ps-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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 <ps-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n >\n <component :is=\"passwordIcon\" />\n </ps-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 <ps-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 </ps-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 ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport {\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isObject,\n} from '@element-ps/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-ps/hooks'\nimport { calcTextareaHeight } from './utils'\nimport { inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'PsInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst 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 !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nonMounted(async () => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'PsInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide"],"mappings":"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"}
1
+ {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-ps/utils'\nimport { useSizeProp } from '@element-ps/hooks'\nimport type Input from './input.vue'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n formatter: {\n type: Function,\n },\n parser: {\n type: Function,\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: iconPropType,\n default: '',\n },\n prefixIcon: {\n type: iconPropType,\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n widget: {\n type: String,\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n\nexport type InputInstance = InstanceType<typeof Input>\n"],"names":[],"mappings":";;;;;;;AAOY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;AACtD,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
@@ -21,6 +21,7 @@ declare const _default: import("vue").DefineComponent<{
21
21
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
22
22
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
23
23
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
24
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
24
25
  }, {
25
26
  PENDANT_MAP: {
26
27
  readonly suffix: "append";
@@ -48,6 +49,7 @@ declare const _default: import("vue").DefineComponent<{
48
49
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
49
50
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
50
51
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
52
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
51
53
  }>> & {
52
54
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
53
55
  }>>;
@@ -138,11 +140,13 @@ declare const _default: import("vue").DefineComponent<{
138
140
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
139
141
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
140
142
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
143
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
141
144
  }>>, {
142
145
  type: string;
143
146
  size: import("element-ps/es/utils").BuildPropType<StringConstructor, "" | "default" | "small" | "large", never>;
144
147
  disabled: boolean;
145
148
  label: string;
149
+ widget: string;
146
150
  modelValue: import("element-ps/es/utils").BuildPropType<import("element-ps/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
147
151
  resize: import("element-ps/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
148
152
  autosize: import("./input").InputAutoSize;
@@ -1,89 +1,303 @@
1
+ import { defineComponent, getCurrentInstance, useAttrs, useSlots, shallowRef, ref, computed, onMounted, nextTick, onUpdated, toRef, resolveComponent, withDirectives, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, createCommentVNode, Fragment, renderSlot, createElementVNode, createBlock, withCtx, resolveDynamicComponent, mergeProps, createVNode, toDisplayString, vShow } from 'vue';
2
+ import { isClient } from '@vueuse/core';
3
+ import { isNil } from 'lodash-unified';
4
+ import { View, Hide } from '@element-plus/icons-vue';
1
5
  import '../../../utils/index.mjs';
2
6
  import '../../../hooks/index.mjs';
3
- import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
4
- import { useSizeProp } from '../../../hooks/use-common-props/index.mjs';
5
- import { iconPropType } from '../../../utils/vue/icon.mjs';
6
- import { mutable } from '../../../utils/typescript.mjs';
7
+ import { calcTextareaHeight } from './utils.mjs';
8
+ import { inputProps } from './input.mjs';
9
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
+ import { useAttrs as useAttrs$1 } from '../../../hooks/use-attrs/index.mjs';
11
+ import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
12
+ import { useSize, useDisabled } from '../../../hooks/use-common-props/index.mjs';
13
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
14
+ import { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';
15
+ import { isObject } from '@vue/shared';
16
+ import { debugWarn } from '../../../utils/error.mjs';
7
17
 
8
- const inputProps = buildProps({
9
- size: useSizeProp,
10
- disabled: Boolean,
11
- modelValue: {
12
- type: definePropType([
13
- String,
14
- Number,
15
- Object
16
- ]),
17
- default: ""
18
- },
19
- type: {
20
- type: String,
21
- default: "text"
22
- },
23
- resize: {
24
- type: String,
25
- values: ["none", "both", "horizontal", "vertical"]
26
- },
27
- autosize: {
28
- type: definePropType([Boolean, Object]),
29
- default: false
30
- },
31
- autocomplete: {
32
- type: String,
33
- default: "off"
34
- },
35
- formatter: {
36
- type: Function
37
- },
38
- parser: {
39
- type: Function
40
- },
41
- placeholder: {
42
- type: String
43
- },
44
- form: {
45
- type: String,
46
- default: ""
47
- },
48
- readonly: {
49
- type: Boolean,
50
- default: false
51
- },
52
- clearable: {
53
- type: Boolean,
54
- default: false
55
- },
56
- showPassword: {
57
- type: Boolean,
58
- default: false
59
- },
60
- showWordLimit: {
61
- type: Boolean,
62
- default: false
63
- },
64
- suffixIcon: {
65
- type: iconPropType,
66
- default: ""
67
- },
68
- prefixIcon: {
69
- type: iconPropType,
70
- default: ""
71
- },
72
- label: {
73
- type: String
74
- },
75
- tabindex: {
76
- type: [Number, String]
77
- },
78
- validateEvent: {
79
- type: Boolean,
80
- default: true
81
- },
82
- inputStyle: {
83
- type: definePropType([Object, Array, String]),
84
- default: () => mutable({})
18
+ const _hoisted_1 = ["widget"];
19
+ const _hoisted_2 = ["type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder"];
20
+ const _hoisted_3 = ["tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder"];
21
+ const __default__ = {
22
+ name: "PsInput",
23
+ inheritAttrs: false
24
+ };
25
+ const _sfc_main = /* @__PURE__ */ defineComponent({
26
+ ...__default__,
27
+ props: inputProps,
28
+ setup(__props, { expose }) {
29
+ const props = __props;
30
+ const PENDANT_MAP = {
31
+ suffix: "append",
32
+ prefix: "prepend"
33
+ };
34
+ const instance = getCurrentInstance();
35
+ const rawAttrs = useAttrs();
36
+ const slots = useSlots();
37
+ const attrs = useAttrs$1();
38
+ const { form, formItem } = useFormItem();
39
+ const inputSize = useSize();
40
+ const inputDisabled = useDisabled();
41
+ const nsInput = useNamespace("input");
42
+ const nsTextarea = useNamespace("textarea");
43
+ const input = shallowRef();
44
+ const textarea = shallowRef();
45
+ const focused = ref(false);
46
+ const hovering = ref(false);
47
+ const isComposing = ref(false);
48
+ const passwordVisible = ref(false);
49
+ const textareaCalcStyle = shallowRef(props.inputStyle);
50
+ const _ref = computed(() => input.value || textarea.value);
51
+ const needStatusIcon = computed(() => {
52
+ var _a;
53
+ return (_a = form == null ? void 0 : form.statusIcon) != null ? _a : false;
54
+ });
55
+ const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || "");
56
+ const validateIcon = computed(() => ValidateComponentsMap[validateState.value]);
57
+ const passwordIcon = computed(() => passwordVisible.value ? View : Hide);
58
+ const containerStyle = computed(() => [
59
+ rawAttrs.style,
60
+ props.inputStyle
61
+ ]);
62
+ const textareaStyle = computed(() => [
63
+ props.inputStyle,
64
+ textareaCalcStyle.value,
65
+ { resize: props.resize }
66
+ ]);
67
+ const nativeInputValue = computed(() => isNil(props.modelValue) ? "" : String(props.modelValue));
68
+ const showClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (focused.value || hovering.value));
69
+ const showPwdVisible = computed(() => props.showPassword && !inputDisabled.value && !props.readonly && (!!nativeInputValue.value || focused.value));
70
+ const isWordLimitVisible = computed(() => props.showWordLimit && !!attrs.value.maxlength && (props.type === "text" || props.type === "textarea") && !inputDisabled.value && !props.readonly && !props.showPassword);
71
+ const textLength = computed(() => Array.from(nativeInputValue.value).length);
72
+ const inputExceed = computed(() => !!isWordLimitVisible.value && textLength.value > Number(attrs.value.maxlength));
73
+ const suffixVisible = computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value);
74
+ const resizeTextarea = () => {
75
+ const { type, autosize } = props;
76
+ if (!isClient || type !== "textarea")
77
+ return;
78
+ if (autosize) {
79
+ const minRows = isObject(autosize) ? autosize.minRows : void 0;
80
+ const maxRows = isObject(autosize) ? autosize.maxRows : void 0;
81
+ textareaCalcStyle.value = {
82
+ ...calcTextareaHeight(textarea.value, minRows, maxRows)
83
+ };
84
+ } else {
85
+ textareaCalcStyle.value = {
86
+ minHeight: calcTextareaHeight(textarea.value).minHeight
87
+ };
88
+ }
89
+ };
90
+ const setNativeInputValue = () => {
91
+ const input2 = _ref.value;
92
+ if (!input2 || input2.value === nativeInputValue.value)
93
+ return;
94
+ input2.value = nativeInputValue.value;
95
+ };
96
+ const calcIconOffset = (place) => {
97
+ const { el } = instance.vnode;
98
+ if (!el)
99
+ return;
100
+ const elList = Array.from(el.querySelectorAll(`.${nsInput.e(place)}`));
101
+ const target = elList.find((item) => item.parentNode === el);
102
+ if (!target)
103
+ return;
104
+ const pendant = PENDANT_MAP[place];
105
+ if (slots[pendant]) {
106
+ target.style.transform = `translateX(${place === "suffix" ? "-" : ""}${el.querySelector(`.${nsInput.be("group", pendant)}`).offsetWidth}px)`;
107
+ } else {
108
+ target.removeAttribute("style");
109
+ }
110
+ };
111
+ const updateIconOffset = () => {
112
+ calcIconOffset("prefix");
113
+ calcIconOffset("suffix");
114
+ };
115
+ onMounted(async () => {
116
+ if (!props.formatter && props.parser) {
117
+ debugWarn("PsInput", "If you set the parser, you also need to set the formatter.");
118
+ }
119
+ setNativeInputValue();
120
+ updateIconOffset();
121
+ await nextTick();
122
+ resizeTextarea();
123
+ });
124
+ onUpdated(async () => {
125
+ await nextTick();
126
+ updateIconOffset();
127
+ });
128
+ expose({
129
+ input,
130
+ textarea,
131
+ ref: _ref,
132
+ textareaStyle,
133
+ autosize: toRef(props, "autosize")
134
+ });
135
+ return (_ctx, _cache) => {
136
+ const _component_ps_icon = resolveComponent("ps-icon");
137
+ const _component_circle_close = resolveComponent("circle-close");
138
+ return withDirectives((openBlock(), createElementBlock("div", {
139
+ class: normalizeClass([
140
+ _ctx.type === "textarea" ? unref(nsTextarea).b() : unref(nsInput).b(),
141
+ unref(nsInput).m(unref(inputSize)),
142
+ unref(nsInput).is("disabled", unref(inputDisabled)),
143
+ unref(nsInput).is("exceed", unref(inputExceed)),
144
+ {
145
+ [unref(nsInput).b("group")]: _ctx.$slots.prepend || _ctx.$slots.append,
146
+ [unref(nsInput).bm("group", "append")]: _ctx.$slots.append,
147
+ [unref(nsInput).bm("group", "prepend")]: _ctx.$slots.prepend,
148
+ [unref(nsInput).m("prefix")]: _ctx.$slots.prefix || _ctx.prefixIcon,
149
+ [unref(nsInput).m("suffix")]: _ctx.$slots.suffix || _ctx.suffixIcon || _ctx.clearable || _ctx.showPassword,
150
+ [unref(nsInput).bm("suffix", "password-clear")]: unref(showClear) && unref(showPwdVisible)
151
+ },
152
+ _ctx.$attrs.class
153
+ ]),
154
+ style: normalizeStyle(unref(containerStyle)),
155
+ widget: _ctx.widget
156
+ }, [
157
+ createCommentVNode(" input "),
158
+ _ctx.type !== "textarea" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
159
+ createCommentVNode(" prepend slot "),
160
+ _ctx.$slots.prepend ? (openBlock(), createElementBlock("div", {
161
+ key: 0,
162
+ class: normalizeClass(unref(nsInput).be("group", "prepend"))
163
+ }, [
164
+ renderSlot(_ctx.$slots, "prepend")
165
+ ], 2)) : createCommentVNode("v-if", true),
166
+ createElementVNode("div", {
167
+ class: normalizeClass([unref(nsInput).e("wrapper"), unref(nsInput).is("focus", focused.value)])
168
+ }, [
169
+ createCommentVNode(" prefix slot "),
170
+ _ctx.$slots.prefix || _ctx.prefixIcon ? (openBlock(), createElementBlock("span", {
171
+ key: 0,
172
+ class: normalizeClass(unref(nsInput).e("prefix"))
173
+ }, [
174
+ createElementVNode("span", {
175
+ class: normalizeClass(unref(nsInput).e("prefix-inner"))
176
+ }, [
177
+ renderSlot(_ctx.$slots, "prefix"),
178
+ _ctx.prefixIcon ? (openBlock(), createBlock(_component_ps_icon, {
179
+ key: 0,
180
+ class: normalizeClass(unref(nsInput).e("icon"))
181
+ }, {
182
+ default: withCtx(() => [
183
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))
184
+ ]),
185
+ _: 1
186
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
187
+ ], 2)
188
+ ], 2)) : createCommentVNode("v-if", true),
189
+ createElementVNode("input", mergeProps({
190
+ ref_key: "input",
191
+ ref: input,
192
+ class: unref(nsInput).e("inner")
193
+ }, unref(attrs), {
194
+ type: _ctx.showPassword ? passwordVisible.value ? "text" : "password" : _ctx.type,
195
+ disabled: unref(inputDisabled),
196
+ formatter: _ctx.formatter,
197
+ parser: _ctx.parser,
198
+ readonly: _ctx.readonly,
199
+ autocomplete: _ctx.autocomplete,
200
+ tabindex: _ctx.tabindex,
201
+ "aria-label": _ctx.label,
202
+ placeholder: _ctx.placeholder,
203
+ style: _ctx.inputStyle
204
+ }), null, 16, _hoisted_2),
205
+ createCommentVNode(" suffix slot "),
206
+ unref(suffixVisible) ? (openBlock(), createElementBlock("span", {
207
+ key: 1,
208
+ class: normalizeClass(unref(nsInput).e("suffix"))
209
+ }, [
210
+ createElementVNode("span", {
211
+ class: normalizeClass(unref(nsInput).e("suffix-inner"))
212
+ }, [
213
+ !unref(showClear) || !unref(showPwdVisible) || !unref(isWordLimitVisible) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
214
+ renderSlot(_ctx.$slots, "suffix"),
215
+ _ctx.suffixIcon ? (openBlock(), createBlock(_component_ps_icon, {
216
+ key: 0,
217
+ class: normalizeClass(unref(nsInput).e("icon"))
218
+ }, {
219
+ default: withCtx(() => [
220
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.suffixIcon)))
221
+ ]),
222
+ _: 1
223
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
224
+ ], 64)) : createCommentVNode("v-if", true),
225
+ unref(showClear) ? (openBlock(), createBlock(_component_ps_icon, {
226
+ key: 1,
227
+ class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("clear")])
228
+ }, {
229
+ default: withCtx(() => [
230
+ createVNode(_component_circle_close)
231
+ ]),
232
+ _: 1
233
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
234
+ unref(showPwdVisible) ? (openBlock(), createBlock(_component_ps_icon, {
235
+ key: 2,
236
+ class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("password")])
237
+ }, {
238
+ default: withCtx(() => [
239
+ (openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon))))
240
+ ]),
241
+ _: 1
242
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
243
+ unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
244
+ key: 3,
245
+ class: normalizeClass(unref(nsInput).e("count"))
246
+ }, [
247
+ createElementVNode("span", {
248
+ class: normalizeClass(unref(nsInput).e("count-inner"))
249
+ }, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 3)
250
+ ], 2)) : createCommentVNode("v-if", true),
251
+ unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(_component_ps_icon, {
252
+ key: 4,
253
+ class: normalizeClass([
254
+ unref(nsInput).e("icon"),
255
+ unref(nsInput).e("validateIcon"),
256
+ unref(nsInput).is("loading", unref(validateState) === "validating")
257
+ ])
258
+ }, {
259
+ default: withCtx(() => [
260
+ (openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon))))
261
+ ]),
262
+ _: 1
263
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
264
+ ], 2)
265
+ ], 2)) : createCommentVNode("v-if", true)
266
+ ], 2),
267
+ createCommentVNode(" append slot "),
268
+ _ctx.$slots.append ? (openBlock(), createElementBlock("div", {
269
+ key: 1,
270
+ class: normalizeClass(unref(nsInput).be("group", "append"))
271
+ }, [
272
+ renderSlot(_ctx.$slots, "append")
273
+ ], 2)) : createCommentVNode("v-if", true)
274
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
275
+ createCommentVNode(" textarea "),
276
+ createElementVNode("textarea", mergeProps({
277
+ ref_key: "textarea",
278
+ ref: textarea,
279
+ class: unref(nsTextarea).e("inner")
280
+ }, unref(attrs), {
281
+ tabindex: _ctx.tabindex,
282
+ disabled: unref(inputDisabled),
283
+ readonly: _ctx.readonly,
284
+ autocomplete: _ctx.autocomplete,
285
+ style: unref(textareaStyle),
286
+ "aria-label": _ctx.label,
287
+ placeholder: _ctx.placeholder
288
+ }), null, 16, _hoisted_3),
289
+ unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
290
+ key: 0,
291
+ class: normalizeClass(unref(nsInput).e("count"))
292
+ }, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 3)) : createCommentVNode("v-if", true)
293
+ ], 64))
294
+ ], 14, _hoisted_1)), [
295
+ [vShow, _ctx.type !== "hidden"]
296
+ ]);
297
+ };
85
298
  }
86
299
  });
300
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/input/src/input.vue"]]);
87
301
 
88
- export { inputProps };
302
+ export { Input as default };
89
303
  //# sourceMappingURL=input2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n mutable,\n} from '@element-ps/utils'\nimport { useSizeProp } from '@element-ps/hooks'\nimport type Input from './input.vue'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n formatter: {\n type: Function,\n },\n parser: {\n type: Function,\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: iconPropType,\n default: '',\n },\n prefixIcon: {\n type: iconPropType,\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n\nexport type InputInstance = InstanceType<typeof Input>\n"],"names":[],"mappings":";;;;;;;AAOY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;AACtD,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.bm('suffix', 'password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\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 :class=\"[nsInput.e('wrapper'), nsInput.is('focus', focused)]\">\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 <ps-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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 <ps-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n >\n <component :is=\"passwordIcon\" />\n </ps-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 <ps-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 </ps-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 ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport {\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isObject,\n} from '@element-ps/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-ps/hooks'\nimport { calcTextareaHeight } from './utils'\nimport { inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'PsInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst 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 !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nonMounted(async () => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'PsInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide"],"mappings":"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"}
@@ -35,6 +35,7 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
35
35
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
36
36
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
37
37
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
38
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
38
39
  }, {
39
40
  PENDANT_MAP: {
40
41
  readonly suffix: "append";
@@ -62,6 +63,7 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
62
63
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
63
64
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
64
65
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
66
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
65
67
  }>> & {
66
68
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
67
69
  }>>;
@@ -152,11 +154,13 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
152
154
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
153
155
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
154
156
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
157
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
155
158
  }>>, {
156
159
  type: string;
157
160
  size: import("element-ps/es/utils").BuildPropType<StringConstructor, "" | "default" | "small" | "large", never>;
158
161
  disabled: boolean;
159
162
  label: string;
163
+ widget: string;
160
164
  modelValue: import("element-ps/es/utils").BuildPropType<import("element-ps/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
161
165
  resize: import("element-ps/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
162
166
  autosize: import("..").InputAutoSize;
@@ -196,6 +200,7 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
196
200
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
197
201
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
198
202
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
203
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
199
204
  }, {
200
205
  PENDANT_MAP: {
201
206
  readonly suffix: "append";
@@ -223,6 +228,7 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
223
228
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
224
229
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
225
230
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
231
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
226
232
  }>> & {
227
233
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
228
234
  }>>;
@@ -313,11 +319,13 @@ export declare const PsInputNumber: import("element-ps/es/utils").SFCWithInstall
313
319
  readonly tabindex: import("element-ps/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, unknown, unknown, unknown>;
314
320
  readonly validateEvent: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
315
321
  readonly inputStyle: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("vue").StyleValue>, () => import("element-ps/es/utils").Mutable<{}>, unknown, unknown, unknown>;
322
+ readonly widget: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
316
323
  }>>, {
317
324
  type: string;
318
325
  size: import("element-ps/es/utils").BuildPropType<StringConstructor, "" | "default" | "small" | "large", never>;
319
326
  disabled: boolean;
320
327
  label: string;
328
+ widget: string;
321
329
  modelValue: import("element-ps/es/utils").BuildPropType<import("element-ps/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
322
330
  resize: import("element-ps/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
323
331
  autosize: import("..").InputAutoSize;