vxe-pc-ui 3.0.0 → 3.0.2

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 (626) hide show
  1. package/README.md +23 -25
  2. package/es/button/src/button.js +3 -0
  3. package/es/calendar/index.js +12 -0
  4. package/es/calendar/src/calendar.js +1227 -0
  5. package/es/calendar/style.css +247 -0
  6. package/es/calendar/style.min.css +1 -0
  7. package/es/carousel/index.js +12 -0
  8. package/es/carousel/src/carousel-item.js +100 -0
  9. package/es/carousel/src/carousel.js +418 -0
  10. package/es/carousel/src/util.js +17 -0
  11. package/es/carousel/style.css +185 -0
  12. package/es/carousel/style.min.css +1 -0
  13. package/es/carousel-item/index.js +12 -0
  14. package/es/carousel-item/style.css +0 -0
  15. package/es/carousel-item/style.min.css +0 -0
  16. package/es/checkbox/index.js +12 -0
  17. package/es/checkbox/src/checkbox.js +164 -0
  18. package/es/checkbox/src/group.js +159 -0
  19. package/es/checkbox/style.css +117 -0
  20. package/es/checkbox/style.min.css +1 -0
  21. package/es/checkbox-group/index.js +12 -0
  22. package/es/checkbox-group/style.css +0 -0
  23. package/es/checkbox-group/style.min.css +0 -0
  24. package/es/collapse/index.js +12 -0
  25. package/es/collapse/src/collapse-pane.js +39 -0
  26. package/es/collapse/src/collapse.js +39 -0
  27. package/es/collapse/style.css +0 -0
  28. package/es/collapse/style.min.css +0 -0
  29. package/es/collapse-pane/index.js +12 -0
  30. package/es/collapse-pane/style.css +0 -0
  31. package/es/collapse-pane/style.min.css +0 -0
  32. package/es/components.js +66 -66
  33. package/es/date-picker/src/date-picker.js +20 -13
  34. package/es/drawer/src/drawer.js +17 -12
  35. package/es/form/index.js +13 -0
  36. package/es/form/render/index.js +461 -0
  37. package/es/form/src/form-config-item.js +201 -0
  38. package/es/form/src/form-gather.js +87 -0
  39. package/es/form/src/form-item.js +291 -0
  40. package/es/form/src/form.js +762 -0
  41. package/es/form/src/itemInfo.js +43 -0
  42. package/es/form/src/render.js +78 -0
  43. package/es/form/src/util.js +66 -0
  44. package/es/form/style.css +470 -0
  45. package/es/form/style.min.css +1 -0
  46. package/es/form-gather/index.js +12 -0
  47. package/es/form-gather/style.css +0 -0
  48. package/es/form-gather/style.min.css +0 -0
  49. package/es/form-item/index.js +12 -0
  50. package/es/form-item/style.css +0 -0
  51. package/es/form-item/style.min.css +0 -0
  52. package/es/icon/style.css +1 -1
  53. package/es/icon-picker/index.js +12 -0
  54. package/es/icon-picker/src/icon-picker.js +672 -0
  55. package/es/icon-picker/style.css +207 -0
  56. package/es/icon-picker/style.min.css +1 -0
  57. package/es/image/src/preview.js +1 -2
  58. package/es/input/index.js +12 -0
  59. package/es/input/src/input.js +2896 -0
  60. package/es/input/style.css +941 -0
  61. package/es/input/style.min.css +1 -0
  62. package/es/layout-footer/src/layout-footer.js +2 -1
  63. package/es/layout-header/src/layout-header.js +2 -1
  64. package/es/list/index.js +12 -0
  65. package/es/list/src/list.js +373 -0
  66. package/es/list/style.css +28 -0
  67. package/es/list/style.min.css +1 -0
  68. package/es/loading/src/loading.js +5 -0
  69. package/es/menu/src/menu.js +6 -2
  70. package/es/modal/src/modal.js +7 -4
  71. package/es/number-input/src/number-input.js +11 -7
  72. package/es/optgroup/index.js +12 -0
  73. package/es/optgroup/style.css +0 -0
  74. package/es/optgroup/style.min.css +0 -0
  75. package/es/option/index.js +12 -0
  76. package/es/option/style.css +0 -0
  77. package/es/option/style.min.css +0 -0
  78. package/es/pager/index.js +12 -0
  79. package/es/pager/src/pager.js +687 -0
  80. package/es/pager/style.css +303 -0
  81. package/es/pager/style.min.css +1 -0
  82. package/es/password-input/index.js +12 -0
  83. package/es/password-input/src/password-input.js +392 -0
  84. package/es/password-input/style.css +604 -0
  85. package/es/password-input/style.min.css +1 -0
  86. package/es/pulldown/src/pulldown.js +11 -3
  87. package/es/radio/src/button.js +6 -2
  88. package/es/radio/src/group.js +6 -2
  89. package/es/radio/src/radio.js +6 -2
  90. package/es/select/index.js +12 -0
  91. package/es/select/src/optgroup.js +90 -0
  92. package/es/select/src/option-info.js +16 -0
  93. package/es/select/src/option.js +86 -0
  94. package/es/select/src/select.js +1284 -0
  95. package/es/select/src/util.js +36 -0
  96. package/es/select/style.css +207 -0
  97. package/es/select/style.min.css +1 -0
  98. package/es/style.css +1 -1
  99. package/es/style.min.css +1 -1
  100. package/es/switch/src/switch.js +6 -2
  101. package/es/tab-pane/index.js +12 -0
  102. package/es/tab-pane/style.css +0 -0
  103. package/es/tab-pane/style.min.css +0 -0
  104. package/es/tabs/index.js +12 -0
  105. package/es/tabs/src/tab-pane.js +119 -0
  106. package/es/tabs/src/tabs.js +598 -0
  107. package/es/tabs/src/util.js +17 -0
  108. package/es/tabs/style.css +342 -0
  109. package/es/tabs/style.min.css +1 -0
  110. package/es/textarea/src/textarea.js +9 -5
  111. package/es/tooltip/src/tooltip.js +6 -1
  112. package/es/tree/index.js +12 -0
  113. package/es/tree/src/tree.js +1216 -0
  114. package/es/tree/style.css +219 -0
  115. package/es/tree/style.min.css +1 -0
  116. package/es/tree-select/index.js +12 -0
  117. package/es/tree-select/src/tree-select.js +685 -0
  118. package/es/tree-select/style.css +129 -0
  119. package/es/tree-select/style.min.css +1 -0
  120. package/es/ui/index.js +1 -1
  121. package/es/ui/src/log.js +1 -1
  122. package/es/ui/src/vn.js +1 -1
  123. package/es/upload/src/upload.js +9 -5
  124. package/es/vxe-calendar/index.js +3 -0
  125. package/es/vxe-calendar/style.css +247 -0
  126. package/es/vxe-calendar/style.min.css +1 -0
  127. package/es/vxe-carousel/index.js +3 -0
  128. package/es/vxe-carousel/style.css +185 -0
  129. package/es/vxe-carousel/style.min.css +1 -0
  130. package/es/vxe-carousel-item/index.js +3 -0
  131. package/es/vxe-carousel-item/style.css +0 -0
  132. package/es/vxe-carousel-item/style.min.css +0 -0
  133. package/es/vxe-checkbox/index.js +3 -0
  134. package/es/vxe-checkbox/style.css +117 -0
  135. package/es/vxe-checkbox/style.min.css +1 -0
  136. package/es/vxe-checkbox-group/index.js +3 -0
  137. package/es/vxe-checkbox-group/style.css +0 -0
  138. package/es/vxe-checkbox-group/style.min.css +0 -0
  139. package/es/vxe-collapse/index.js +3 -0
  140. package/es/vxe-collapse/style.css +0 -0
  141. package/es/vxe-collapse/style.min.css +0 -0
  142. package/es/vxe-collapse-pane/index.js +3 -0
  143. package/es/vxe-collapse-pane/style.css +0 -0
  144. package/es/vxe-collapse-pane/style.min.css +0 -0
  145. package/es/vxe-form/index.js +3 -0
  146. package/es/vxe-form/style.css +470 -0
  147. package/es/vxe-form/style.min.css +1 -0
  148. package/es/vxe-form-gather/index.js +3 -0
  149. package/es/vxe-form-gather/style.css +0 -0
  150. package/es/vxe-form-gather/style.min.css +0 -0
  151. package/es/vxe-form-item/index.js +3 -0
  152. package/es/vxe-form-item/style.css +0 -0
  153. package/es/vxe-form-item/style.min.css +0 -0
  154. package/es/vxe-icon-picker/index.js +3 -0
  155. package/es/vxe-icon-picker/style.css +207 -0
  156. package/es/vxe-icon-picker/style.min.css +1 -0
  157. package/es/vxe-input/index.js +3 -0
  158. package/es/vxe-input/style.css +941 -0
  159. package/es/vxe-input/style.min.css +1 -0
  160. package/es/vxe-list/index.js +3 -0
  161. package/es/vxe-list/style.css +28 -0
  162. package/es/vxe-list/style.min.css +1 -0
  163. package/es/vxe-optgroup/index.js +3 -0
  164. package/es/vxe-optgroup/style.css +0 -0
  165. package/es/vxe-optgroup/style.min.css +0 -0
  166. package/es/vxe-option/index.js +3 -0
  167. package/es/vxe-option/style.css +0 -0
  168. package/es/vxe-option/style.min.css +0 -0
  169. package/es/vxe-pager/index.js +3 -0
  170. package/es/vxe-pager/style.css +303 -0
  171. package/es/vxe-pager/style.min.css +1 -0
  172. package/es/vxe-password-input/index.js +3 -0
  173. package/es/vxe-password-input/style.css +604 -0
  174. package/es/vxe-password-input/style.min.css +1 -0
  175. package/es/vxe-select/index.js +3 -0
  176. package/es/vxe-select/style.css +207 -0
  177. package/es/vxe-select/style.min.css +1 -0
  178. package/es/vxe-tab-pane/index.js +3 -0
  179. package/es/vxe-tab-pane/style.css +0 -0
  180. package/es/vxe-tab-pane/style.min.css +0 -0
  181. package/es/vxe-tabs/index.js +3 -0
  182. package/es/vxe-tabs/style.css +342 -0
  183. package/es/vxe-tabs/style.min.css +1 -0
  184. package/es/vxe-tree/index.js +3 -0
  185. package/es/vxe-tree/style.css +219 -0
  186. package/es/vxe-tree/style.min.css +1 -0
  187. package/es/vxe-tree-select/index.js +3 -0
  188. package/es/vxe-tree-select/style.css +129 -0
  189. package/es/vxe-tree-select/style.min.css +1 -0
  190. package/lib/button/src/button.js +3 -0
  191. package/lib/button/src/button.min.js +1 -1
  192. package/lib/calendar/index.js +19 -0
  193. package/lib/calendar/index.min.js +1 -0
  194. package/lib/calendar/src/calendar.js +1286 -0
  195. package/lib/calendar/src/calendar.min.js +1 -0
  196. package/lib/calendar/style/index.js +1 -0
  197. package/lib/calendar/style/style.css +247 -0
  198. package/lib/calendar/style/style.min.css +1 -0
  199. package/lib/carousel/index.js +19 -0
  200. package/lib/carousel/index.min.js +1 -0
  201. package/lib/carousel/src/carousel-item.js +107 -0
  202. package/lib/carousel/src/carousel-item.min.js +1 -0
  203. package/lib/carousel/src/carousel.js +437 -0
  204. package/lib/carousel/src/carousel.min.js +1 -0
  205. package/lib/carousel/src/util.js +27 -0
  206. package/lib/carousel/src/util.min.js +1 -0
  207. package/lib/carousel/style/index.js +1 -0
  208. package/lib/carousel/style/style.css +185 -0
  209. package/lib/carousel/style/style.min.css +1 -0
  210. package/lib/carousel-item/index.js +19 -0
  211. package/lib/carousel-item/index.min.js +1 -0
  212. package/lib/carousel-item/style/index.js +1 -0
  213. package/lib/carousel-item/style/style.css +0 -0
  214. package/lib/carousel-item/style/style.min.css +0 -0
  215. package/lib/checkbox/index.js +19 -0
  216. package/lib/checkbox/index.min.js +1 -0
  217. package/lib/checkbox/src/checkbox.js +174 -0
  218. package/lib/checkbox/src/checkbox.min.js +1 -0
  219. package/lib/checkbox/src/group.js +169 -0
  220. package/lib/checkbox/src/group.min.js +1 -0
  221. package/lib/checkbox/style/index.js +1 -0
  222. package/lib/checkbox/style/style.css +117 -0
  223. package/lib/checkbox/style/style.min.css +1 -0
  224. package/lib/checkbox-group/index.js +19 -0
  225. package/lib/checkbox-group/index.min.js +1 -0
  226. package/lib/checkbox-group/style/index.js +1 -0
  227. package/lib/checkbox-group/style/style.css +0 -0
  228. package/lib/checkbox-group/style/style.min.css +0 -0
  229. package/lib/collapse/index.js +19 -0
  230. package/lib/collapse/index.min.js +1 -0
  231. package/lib/collapse/src/collapse-pane.js +48 -0
  232. package/lib/collapse/src/collapse-pane.min.js +1 -0
  233. package/lib/collapse/src/collapse.js +48 -0
  234. package/lib/collapse/src/collapse.min.js +1 -0
  235. package/lib/collapse/style/index.js +1 -0
  236. package/lib/collapse/style/style.css +0 -0
  237. package/lib/collapse/style/style.min.css +0 -0
  238. package/lib/collapse-pane/index.js +19 -0
  239. package/lib/collapse-pane/index.min.js +1 -0
  240. package/lib/collapse-pane/style/index.js +1 -0
  241. package/lib/collapse-pane/style/style.css +0 -0
  242. package/lib/collapse-pane/style/style.min.css +0 -0
  243. package/lib/components.js +271 -97
  244. package/lib/components.min.js +1 -1
  245. package/lib/date-picker/src/date-picker.js +20 -13
  246. package/lib/date-picker/src/date-picker.min.js +1 -1
  247. package/lib/drawer/src/drawer.js +17 -12
  248. package/lib/drawer/src/drawer.min.js +1 -1
  249. package/lib/form/index.js +20 -0
  250. package/lib/form/index.min.js +1 -0
  251. package/lib/form/render/index.js +509 -0
  252. package/lib/form/render/index.min.js +1 -0
  253. package/lib/form/src/form-config-item.js +210 -0
  254. package/lib/form/src/form-config-item.min.js +1 -0
  255. package/lib/form/src/form-gather.js +99 -0
  256. package/lib/form/src/form-gather.min.js +1 -0
  257. package/lib/form/src/form-item.js +299 -0
  258. package/lib/form/src/form-item.min.js +1 -0
  259. package/lib/form/src/form.js +856 -0
  260. package/lib/form/src/form.min.js +1 -0
  261. package/lib/form/src/itemInfo.js +60 -0
  262. package/lib/form/src/itemInfo.min.js +1 -0
  263. package/lib/form/src/render.js +94 -0
  264. package/lib/form/src/render.min.js +1 -0
  265. package/lib/form/src/util.js +93 -0
  266. package/lib/form/src/util.min.js +1 -0
  267. package/lib/form/style/index.js +1 -0
  268. package/lib/form/style/style.css +470 -0
  269. package/lib/form/style/style.min.css +1 -0
  270. package/lib/form-gather/index.js +19 -0
  271. package/lib/form-gather/index.min.js +1 -0
  272. package/lib/form-gather/style/index.js +1 -0
  273. package/lib/form-gather/style/style.css +0 -0
  274. package/lib/form-gather/style/style.min.css +0 -0
  275. package/lib/form-item/index.js +19 -0
  276. package/lib/form-item/index.min.js +1 -0
  277. package/lib/form-item/style/index.js +1 -0
  278. package/lib/form-item/style/style.css +0 -0
  279. package/lib/form-item/style/style.min.css +0 -0
  280. package/lib/icon/style/style.css +1 -1
  281. package/lib/icon/style/style.min.css +1 -1
  282. package/lib/icon-picker/index.js +19 -0
  283. package/lib/icon-picker/index.min.js +1 -0
  284. package/lib/icon-picker/src/icon-picker.js +650 -0
  285. package/lib/icon-picker/src/icon-picker.min.js +1 -0
  286. package/lib/icon-picker/style/index.js +1 -0
  287. package/lib/icon-picker/style/style.css +207 -0
  288. package/lib/icon-picker/style/style.min.css +1 -0
  289. package/lib/image/src/preview.js +1 -2
  290. package/lib/image/src/preview.min.js +1 -1
  291. package/lib/index.umd.js +23171 -8764
  292. package/lib/index.umd.min.js +1 -1
  293. package/lib/input/index.js +19 -0
  294. package/lib/input/index.min.js +1 -0
  295. package/lib/input/src/input.js +2901 -0
  296. package/lib/input/src/input.min.js +1 -0
  297. package/lib/input/style/index.js +1 -0
  298. package/lib/input/style/style.css +941 -0
  299. package/lib/input/style/style.min.css +1 -0
  300. package/lib/layout-footer/src/layout-footer.js +2 -1
  301. package/lib/layout-header/src/layout-header.js +2 -1
  302. package/lib/list/index.js +19 -0
  303. package/lib/list/index.min.js +1 -0
  304. package/lib/list/src/list.js +415 -0
  305. package/lib/list/src/list.min.js +1 -0
  306. package/lib/list/style/index.js +1 -0
  307. package/lib/list/style/style.css +28 -0
  308. package/lib/list/style/style.min.css +1 -0
  309. package/lib/loading/src/loading.js +5 -0
  310. package/lib/loading/src/loading.min.js +1 -1
  311. package/lib/menu/src/menu.js +6 -2
  312. package/lib/menu/src/menu.min.js +1 -1
  313. package/lib/modal/src/modal.js +7 -4
  314. package/lib/modal/src/modal.min.js +1 -1
  315. package/lib/number-input/src/number-input.js +11 -7
  316. package/lib/number-input/src/number-input.min.js +1 -1
  317. package/lib/optgroup/index.js +19 -0
  318. package/lib/optgroup/index.min.js +1 -0
  319. package/lib/optgroup/style/index.js +1 -0
  320. package/lib/optgroup/style/style.css +0 -0
  321. package/lib/optgroup/style/style.min.css +0 -0
  322. package/lib/option/index.js +19 -0
  323. package/lib/option/index.min.js +1 -0
  324. package/lib/option/style/index.js +1 -0
  325. package/lib/option/style/style.css +0 -0
  326. package/lib/option/style/style.min.css +0 -0
  327. package/lib/pager/index.js +19 -0
  328. package/lib/pager/index.min.js +1 -0
  329. package/lib/pager/src/pager.js +714 -0
  330. package/lib/pager/src/pager.min.js +1 -0
  331. package/lib/pager/style/index.js +1 -0
  332. package/lib/pager/style/style.css +303 -0
  333. package/lib/pager/style/style.min.css +1 -0
  334. package/lib/password-input/index.js +19 -0
  335. package/lib/password-input/index.min.js +1 -0
  336. package/lib/password-input/src/password-input.js +402 -0
  337. package/lib/password-input/src/password-input.min.js +1 -0
  338. package/lib/password-input/style/index.js +1 -0
  339. package/lib/password-input/style/style.css +604 -0
  340. package/lib/password-input/style/style.min.css +1 -0
  341. package/lib/pulldown/src/pulldown.js +11 -3
  342. package/lib/pulldown/src/pulldown.min.js +1 -1
  343. package/lib/radio/src/button.js +6 -2
  344. package/lib/radio/src/button.min.js +1 -1
  345. package/lib/radio/src/group.js +6 -2
  346. package/lib/radio/src/group.min.js +1 -1
  347. package/lib/radio/src/radio.js +6 -2
  348. package/lib/radio/src/radio.min.js +1 -1
  349. package/lib/select/index.js +19 -0
  350. package/lib/select/index.min.js +1 -0
  351. package/lib/select/src/optgroup.js +97 -0
  352. package/lib/select/src/optgroup.min.js +1 -0
  353. package/lib/select/src/option-info.js +33 -0
  354. package/lib/select/src/option-info.min.js +1 -0
  355. package/lib/select/src/option.js +93 -0
  356. package/lib/select/src/option.min.js +1 -0
  357. package/lib/select/src/select.js +1330 -0
  358. package/lib/select/src/select.min.js +1 -0
  359. package/lib/select/src/util.js +51 -0
  360. package/lib/select/src/util.min.js +1 -0
  361. package/lib/select/style/index.js +1 -0
  362. package/lib/select/style/style.css +207 -0
  363. package/lib/select/style/style.min.css +1 -0
  364. package/lib/style.css +1 -1
  365. package/lib/style.min.css +1 -1
  366. package/lib/switch/src/switch.js +6 -2
  367. package/lib/switch/src/switch.min.js +1 -1
  368. package/lib/tab-pane/index.js +19 -0
  369. package/lib/tab-pane/index.min.js +1 -0
  370. package/lib/tab-pane/style/index.js +1 -0
  371. package/lib/tab-pane/style/style.css +0 -0
  372. package/lib/tab-pane/style/style.min.css +0 -0
  373. package/lib/tabs/index.js +19 -0
  374. package/lib/tabs/index.min.js +1 -0
  375. package/lib/tabs/src/tab-pane.js +128 -0
  376. package/lib/tabs/src/tab-pane.min.js +1 -0
  377. package/lib/tabs/src/tabs.js +635 -0
  378. package/lib/tabs/src/tabs.min.js +1 -0
  379. package/lib/tabs/src/util.js +29 -0
  380. package/lib/tabs/src/util.min.js +1 -0
  381. package/lib/tabs/style/index.js +1 -0
  382. package/lib/tabs/style/style.css +342 -0
  383. package/lib/tabs/style/style.min.css +1 -0
  384. package/lib/textarea/src/textarea.js +9 -5
  385. package/lib/textarea/src/textarea.min.js +1 -1
  386. package/lib/tooltip/src/tooltip.js +6 -1
  387. package/lib/tooltip/src/tooltip.min.js +1 -1
  388. package/lib/tree/index.js +19 -0
  389. package/lib/tree/index.min.js +1 -0
  390. package/lib/tree/src/tree.js +1324 -0
  391. package/lib/tree/src/tree.min.js +1 -0
  392. package/lib/tree/style/index.js +1 -0
  393. package/lib/tree/style/style.css +219 -0
  394. package/lib/tree/style/style.min.css +1 -0
  395. package/lib/tree-select/index.js +19 -0
  396. package/lib/tree-select/index.min.js +1 -0
  397. package/lib/tree-select/src/tree-select.js +695 -0
  398. package/lib/tree-select/src/tree-select.min.js +1 -0
  399. package/lib/tree-select/style/index.js +1 -0
  400. package/lib/tree-select/style/style.css +129 -0
  401. package/lib/tree-select/style/style.min.css +1 -0
  402. package/lib/ui/index.js +1 -1
  403. package/lib/ui/index.min.js +1 -1
  404. package/lib/ui/src/log.js +1 -1
  405. package/lib/ui/src/log.min.js +1 -1
  406. package/lib/ui/src/vn.js +1 -1
  407. package/lib/ui/src/vn.min.js +1 -1
  408. package/lib/upload/src/upload.js +9 -5
  409. package/lib/upload/src/upload.min.js +1 -1
  410. package/lib/vxe-calendar/index.js +23 -0
  411. package/lib/vxe-calendar/index.min.js +1 -0
  412. package/lib/vxe-calendar/style/index.js +1 -0
  413. package/lib/vxe-calendar/style/style.css +247 -0
  414. package/lib/vxe-calendar/style/style.min.css +1 -0
  415. package/lib/vxe-carousel/index.js +23 -0
  416. package/lib/vxe-carousel/index.min.js +1 -0
  417. package/lib/vxe-carousel/style/index.js +1 -0
  418. package/lib/vxe-carousel/style/style.css +185 -0
  419. package/lib/vxe-carousel/style/style.min.css +1 -0
  420. package/lib/vxe-carousel-item/index.js +23 -0
  421. package/lib/vxe-carousel-item/index.min.js +1 -0
  422. package/lib/vxe-carousel-item/style/index.js +1 -0
  423. package/lib/vxe-carousel-item/style/style.css +0 -0
  424. package/lib/vxe-carousel-item/style/style.min.css +0 -0
  425. package/lib/vxe-checkbox/index.js +23 -0
  426. package/lib/vxe-checkbox/index.min.js +1 -0
  427. package/lib/vxe-checkbox/style/index.js +1 -0
  428. package/lib/vxe-checkbox/style/style.css +117 -0
  429. package/lib/vxe-checkbox/style/style.min.css +1 -0
  430. package/lib/vxe-checkbox-group/index.js +23 -0
  431. package/lib/vxe-checkbox-group/index.min.js +1 -0
  432. package/lib/vxe-checkbox-group/style/index.js +1 -0
  433. package/lib/vxe-checkbox-group/style/style.css +0 -0
  434. package/lib/vxe-checkbox-group/style/style.min.css +0 -0
  435. package/lib/vxe-collapse/index.js +23 -0
  436. package/lib/vxe-collapse/index.min.js +1 -0
  437. package/lib/vxe-collapse/style/index.js +1 -0
  438. package/lib/vxe-collapse/style/style.css +0 -0
  439. package/lib/vxe-collapse/style/style.min.css +0 -0
  440. package/lib/vxe-collapse-pane/index.js +23 -0
  441. package/lib/vxe-collapse-pane/index.min.js +1 -0
  442. package/lib/vxe-collapse-pane/style/index.js +1 -0
  443. package/lib/vxe-collapse-pane/style/style.css +0 -0
  444. package/lib/vxe-collapse-pane/style/style.min.css +0 -0
  445. package/lib/vxe-form/index.js +23 -0
  446. package/lib/vxe-form/index.min.js +1 -0
  447. package/lib/vxe-form/style/index.js +1 -0
  448. package/lib/vxe-form/style/style.css +470 -0
  449. package/lib/vxe-form/style/style.min.css +1 -0
  450. package/lib/vxe-form-gather/index.js +23 -0
  451. package/lib/vxe-form-gather/index.min.js +1 -0
  452. package/lib/vxe-form-gather/style/index.js +1 -0
  453. package/lib/vxe-form-gather/style/style.css +0 -0
  454. package/lib/vxe-form-gather/style/style.min.css +0 -0
  455. package/lib/vxe-form-item/index.js +23 -0
  456. package/lib/vxe-form-item/index.min.js +1 -0
  457. package/lib/vxe-form-item/style/index.js +1 -0
  458. package/lib/vxe-form-item/style/style.css +0 -0
  459. package/lib/vxe-form-item/style/style.min.css +0 -0
  460. package/lib/vxe-icon-picker/index.js +23 -0
  461. package/lib/vxe-icon-picker/index.min.js +1 -0
  462. package/lib/vxe-icon-picker/style/index.js +1 -0
  463. package/lib/vxe-icon-picker/style/style.css +207 -0
  464. package/lib/vxe-icon-picker/style/style.min.css +1 -0
  465. package/lib/vxe-input/index.js +23 -0
  466. package/lib/vxe-input/index.min.js +1 -0
  467. package/lib/vxe-input/style/index.js +1 -0
  468. package/lib/vxe-input/style/style.css +941 -0
  469. package/lib/vxe-input/style/style.min.css +1 -0
  470. package/lib/vxe-list/index.js +23 -0
  471. package/lib/vxe-list/index.min.js +1 -0
  472. package/lib/vxe-list/style/index.js +1 -0
  473. package/lib/vxe-list/style/style.css +28 -0
  474. package/lib/vxe-list/style/style.min.css +1 -0
  475. package/lib/vxe-optgroup/index.js +23 -0
  476. package/lib/vxe-optgroup/index.min.js +1 -0
  477. package/lib/vxe-optgroup/style/index.js +1 -0
  478. package/lib/vxe-optgroup/style/style.css +0 -0
  479. package/lib/vxe-optgroup/style/style.min.css +0 -0
  480. package/lib/vxe-option/index.js +23 -0
  481. package/lib/vxe-option/index.min.js +1 -0
  482. package/lib/vxe-option/style/index.js +1 -0
  483. package/lib/vxe-option/style/style.css +0 -0
  484. package/lib/vxe-option/style/style.min.css +0 -0
  485. package/lib/vxe-pager/index.js +23 -0
  486. package/lib/vxe-pager/index.min.js +1 -0
  487. package/lib/vxe-pager/style/index.js +1 -0
  488. package/lib/vxe-pager/style/style.css +303 -0
  489. package/lib/vxe-pager/style/style.min.css +1 -0
  490. package/lib/vxe-password-input/index.js +23 -0
  491. package/lib/vxe-password-input/index.min.js +1 -0
  492. package/lib/vxe-password-input/style/index.js +1 -0
  493. package/lib/vxe-password-input/style/style.css +604 -0
  494. package/lib/vxe-password-input/style/style.min.css +1 -0
  495. package/lib/vxe-select/index.js +23 -0
  496. package/lib/vxe-select/index.min.js +1 -0
  497. package/lib/vxe-select/style/index.js +1 -0
  498. package/lib/vxe-select/style/style.css +207 -0
  499. package/lib/vxe-select/style/style.min.css +1 -0
  500. package/lib/vxe-tab-pane/index.js +23 -0
  501. package/lib/vxe-tab-pane/index.min.js +1 -0
  502. package/lib/vxe-tab-pane/style/index.js +1 -0
  503. package/lib/vxe-tab-pane/style/style.css +0 -0
  504. package/lib/vxe-tab-pane/style/style.min.css +0 -0
  505. package/lib/vxe-tabs/index.js +23 -0
  506. package/lib/vxe-tabs/index.min.js +1 -0
  507. package/lib/vxe-tabs/style/index.js +1 -0
  508. package/lib/vxe-tabs/style/style.css +342 -0
  509. package/lib/vxe-tabs/style/style.min.css +1 -0
  510. package/lib/vxe-tree/index.js +23 -0
  511. package/lib/vxe-tree/index.min.js +1 -0
  512. package/lib/vxe-tree/style/index.js +1 -0
  513. package/lib/vxe-tree/style/style.css +219 -0
  514. package/lib/vxe-tree/style/style.min.css +1 -0
  515. package/lib/vxe-tree-select/index.js +23 -0
  516. package/lib/vxe-tree-select/index.min.js +1 -0
  517. package/lib/vxe-tree-select/style/index.js +1 -0
  518. package/lib/vxe-tree-select/style/style.css +129 -0
  519. package/lib/vxe-tree-select/style/style.min.css +1 -0
  520. package/package.json +1 -1
  521. package/packages/button/src/button.ts +3 -0
  522. package/packages/calendar/index.ts +16 -0
  523. package/packages/calendar/src/calendar.ts +1281 -0
  524. package/packages/carousel/index.ts +16 -0
  525. package/packages/carousel/src/carousel-item.ts +114 -0
  526. package/packages/carousel/src/carousel.ts +449 -0
  527. package/packages/carousel/src/util.ts +21 -0
  528. package/packages/carousel-item/index.ts +16 -0
  529. package/packages/checkbox/index.ts +16 -0
  530. package/packages/checkbox/src/checkbox.ts +182 -0
  531. package/packages/checkbox/src/group.ts +184 -0
  532. package/packages/checkbox-group/index.ts +16 -0
  533. package/packages/collapse/index.ts +16 -0
  534. package/packages/collapse/src/collapse-pane.ts +47 -0
  535. package/packages/collapse/src/collapse.ts +47 -0
  536. package/packages/collapse-pane/index.ts +16 -0
  537. package/packages/components.ts +66 -66
  538. package/packages/date-picker/src/date-picker.ts +21 -13
  539. package/packages/drawer/src/drawer.ts +18 -12
  540. package/packages/form/index.ts +17 -0
  541. package/packages/form/render/index.ts +499 -0
  542. package/packages/form/src/form-config-item.ts +219 -0
  543. package/packages/form/src/form-gather.ts +104 -0
  544. package/packages/form/src/form-item.ts +322 -0
  545. package/packages/form/src/form.ts +809 -0
  546. package/packages/form/src/itemInfo.ts +47 -0
  547. package/packages/form/src/render.ts +98 -0
  548. package/packages/form/src/util.ts +80 -0
  549. package/packages/form-gather/index.ts +16 -0
  550. package/packages/form-item/index.ts +16 -0
  551. package/packages/icon-picker/index.ts +16 -0
  552. package/packages/icon-picker/src/icon-picker.ts +716 -0
  553. package/packages/image/src/preview.ts +1 -2
  554. package/packages/input/index.ts +16 -0
  555. package/packages/input/src/input.ts +3000 -0
  556. package/packages/layout-footer/src/layout-footer.ts +5 -3
  557. package/packages/layout-header/src/layout-header.ts +2 -1
  558. package/packages/list/index.ts +16 -0
  559. package/packages/list/src/list.ts +403 -0
  560. package/packages/loading/src/loading.ts +6 -0
  561. package/packages/menu/src/menu.ts +7 -2
  562. package/packages/modal/src/modal.ts +8 -4
  563. package/packages/number-input/src/number-input.ts +12 -7
  564. package/packages/optgroup/index.ts +16 -0
  565. package/packages/option/index.ts +16 -0
  566. package/packages/pager/index.ts +16 -0
  567. package/packages/pager/src/pager.ts +743 -0
  568. package/packages/password-input/index.ts +16 -0
  569. package/packages/password-input/src/password-input.ts +432 -0
  570. package/packages/pulldown/src/pulldown.ts +12 -3
  571. package/packages/radio/src/button.ts +7 -2
  572. package/packages/radio/src/group.ts +7 -2
  573. package/packages/radio/src/radio.ts +7 -2
  574. package/packages/select/index.ts +16 -0
  575. package/packages/select/src/optgroup.ts +107 -0
  576. package/packages/select/src/option-info.ts +20 -0
  577. package/packages/select/src/option.ts +103 -0
  578. package/packages/select/src/select.ts +1341 -0
  579. package/packages/select/src/util.ts +47 -0
  580. package/packages/switch/src/switch.ts +7 -2
  581. package/packages/tab-pane/index.ts +16 -0
  582. package/packages/tabs/index.ts +16 -0
  583. package/packages/tabs/src/tab-pane.ts +136 -0
  584. package/packages/tabs/src/tabs.ts +636 -0
  585. package/packages/tabs/src/util.ts +21 -0
  586. package/packages/textarea/src/textarea.ts +10 -5
  587. package/packages/tooltip/src/tooltip.ts +7 -1
  588. package/packages/tree/index.ts +16 -0
  589. package/packages/tree/src/tree.ts +1292 -0
  590. package/packages/tree-select/index.ts +16 -0
  591. package/packages/tree-select/src/tree-select.ts +743 -0
  592. package/packages/ui/src/vn.ts +1 -1
  593. package/packages/upload/src/upload.ts +10 -5
  594. package/types/components/calendar.d.ts +6 -0
  595. package/types/components/carousel.d.ts +5 -0
  596. package/types/components/colgroup.d.ts +1 -0
  597. package/types/components/column.d.ts +1 -0
  598. package/types/components/drawer.d.ts +11 -10
  599. package/types/components/form-item.d.ts +1 -1
  600. package/types/components/form.d.ts +8 -1
  601. package/types/components/icon-picker.d.ts +4 -0
  602. package/types/components/input.d.ts +9 -1
  603. package/types/components/list.d.ts +1 -0
  604. package/types/components/optgroup.d.ts +10 -4
  605. package/types/components/table.d.ts +43 -4
  606. package/types/components/tabs.d.ts +4 -0
  607. package/types/components/toolbar.d.ts +5 -0
  608. package/types/components/tree-select.d.ts +4 -0
  609. package/types/ui/index.d.ts +0 -5
  610. package/types/ui/renderer.d.ts +37 -36
  611. package/types/handles/form-design.d.ts +0 -4
  612. package/types/handles/index.d.ts +0 -3
  613. package/types/handles/list-design.d.ts +0 -4
  614. package/types/handles/table.d.ts +0 -4
  615. /package/es/icon/style/{iconfont.1725630285930.ttf → iconfont.1725869586078.ttf} +0 -0
  616. /package/es/icon/style/{iconfont.1725630285930.woff → iconfont.1725869586078.woff} +0 -0
  617. /package/es/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725869586078.woff2} +0 -0
  618. /package/es/{iconfont.1725630285930.ttf → iconfont.1725869586078.ttf} +0 -0
  619. /package/es/{iconfont.1725630285930.woff → iconfont.1725869586078.woff} +0 -0
  620. /package/es/{iconfont.1725630285930.woff2 → iconfont.1725869586078.woff2} +0 -0
  621. /package/lib/icon/style/{iconfont.1725630285930.ttf → iconfont.1725869586078.ttf} +0 -0
  622. /package/lib/icon/style/{iconfont.1725630285930.woff → iconfont.1725869586078.woff} +0 -0
  623. /package/lib/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725869586078.woff2} +0 -0
  624. /package/lib/{iconfont.1725630285930.ttf → iconfont.1725869586078.ttf} +0 -0
  625. /package/lib/{iconfont.1725630285930.woff → iconfont.1725869586078.woff} +0 -0
  626. /package/lib/{iconfont.1725630285930.woff2 → iconfont.1725869586078.woff2} +0 -0
@@ -0,0 +1,16 @@
1
+ import { VueConstructor } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxePasswordInputComponent from './src/password-input'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxePasswordInput = Object.assign({}, VxePasswordInputComponent, {
7
+ install (app: VueConstructor) {
8
+ app.component(VxePasswordInputComponent.name as string, VxePasswordInputComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxePasswordInput)
13
+ VxeUI.component(VxePasswordInputComponent)
14
+
15
+ export const PasswordInput = VxePasswordInput
16
+ export default VxePasswordInput
@@ -0,0 +1,432 @@
1
+ import { CreateElement, PropType, VNode } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
3
+ import XEUtils from 'xe-utils'
4
+ import { getConfig, getIcon, getI18n, createEvent, globalMixins, renderEmptyElement } from '../../ui'
5
+ import { getFuncText } from '../../ui/src/utils'
6
+ import { getSlotVNs } from '../..//ui/src/vn'
7
+
8
+ import type { VxePasswordInputEmits, VxeComponentSizeType, PasswordInputReactData, ValueOf, VxePasswordInputPropTypes, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines } from '../../../types'
9
+
10
+ export default defineVxeComponent({
11
+ name: 'VxePasswordInput',
12
+ mixins: [
13
+ globalMixins.sizeMixin
14
+ ],
15
+ model: {
16
+ prop: 'value',
17
+ event: 'modelValue'
18
+ },
19
+ props: {
20
+ value: String as PropType<VxePasswordInputPropTypes.ModelValue>,
21
+ name: String as PropType<VxePasswordInputPropTypes.Name>,
22
+ clearable: { type: Boolean as PropType<VxePasswordInputPropTypes.Clearable>, default: () => getConfig().passwordInput.clearable },
23
+ readonly: Boolean as PropType<VxePasswordInputPropTypes.Readonly>,
24
+ disabled: Boolean as PropType<VxePasswordInputPropTypes.Disabled>,
25
+ maxLength: [String, Number] as PropType<VxePasswordInputPropTypes.MaxLength>,
26
+ placeholder: String as PropType<VxePasswordInputPropTypes.Placeholder>,
27
+ autoComplete: {
28
+ type: String as PropType<VxePasswordInputPropTypes.AutoComplete>,
29
+ default: 'off'
30
+ },
31
+ className: String as PropType<VxePasswordInputPropTypes.ClassName>,
32
+ size: { type: String as PropType<VxePasswordInputPropTypes.Size>, default: () => getConfig().passwordInput.size || getConfig().size },
33
+ prefixIcon: String as PropType<VxePasswordInputPropTypes.PrefixIcon>,
34
+ suffixIcon: String as PropType<VxePasswordInputPropTypes.SuffixIcon>,
35
+
36
+ // 已废弃
37
+ autocomplete: String as PropType<VxePasswordInputPropTypes.Autocomplete>
38
+ },
39
+ inject: {
40
+ $xeForm: {
41
+ default: null
42
+ },
43
+ formItemInfo: {
44
+ from: 'xeFormItemInfo',
45
+ default: null
46
+ }
47
+ },
48
+ data () {
49
+ const xID = XEUtils.uniqueId()
50
+ const reactData: PasswordInputReactData = {
51
+ showPwd: false,
52
+ isActivated: false,
53
+ inputValue: ''
54
+ }
55
+ return {
56
+ xID,
57
+ reactData
58
+ }
59
+ },
60
+ computed: {
61
+ ...({} as {
62
+ computeSize(): VxeComponentSizeType
63
+ $xeForm(): (VxeFormConstructor & VxeFormPrivateMethods) | null
64
+ formItemInfo(): VxeFormDefines.ProvideItemInfo | null
65
+ }),
66
+ computeIsClearable () {
67
+ const $xePasswordInput = this
68
+ const props = $xePasswordInput
69
+
70
+ return props.clearable
71
+ },
72
+ computeInpReadonly () {
73
+ const $xePasswordInput = this
74
+ const props = $xePasswordInput
75
+
76
+ const { readonly } = props
77
+ return readonly
78
+ },
79
+ computeInpPlaceholder () {
80
+ const $xePasswordInput = this
81
+ const props = $xePasswordInput
82
+
83
+ const { placeholder } = props
84
+ if (placeholder) {
85
+ return getFuncText(placeholder)
86
+ }
87
+ const globalPlaceholder = getConfig().passwordInput.placeholder
88
+ if (globalPlaceholder) {
89
+ return getFuncText(globalPlaceholder)
90
+ }
91
+ return getI18n('vxe.base.pleaseInput')
92
+ },
93
+ computeInputType () {
94
+ const $xePasswordInput = this
95
+ const reactData = $xePasswordInput.reactData
96
+
97
+ const { showPwd } = reactData
98
+ if (showPwd) {
99
+ return 'text'
100
+ }
101
+ return 'password'
102
+ }
103
+ },
104
+ methods: {
105
+ //
106
+ // Method
107
+ //
108
+ dispatchEvent (type: ValueOf<VxePasswordInputEmits>, params: Record<string, any>, evnt: Event | null) {
109
+ const $xePasswordInput = this
110
+ $xePasswordInput.$emit(type, createEvent(evnt, { $passwordInput: $xePasswordInput }, params))
111
+ },
112
+ emitModel (value: any) {
113
+ const $xeModal = this
114
+
115
+ $xeModal.$emit('modelValue', value)
116
+ },
117
+ focus () {
118
+ const $xePasswordInput = this
119
+ const reactData = $xePasswordInput.reactData
120
+
121
+ const inputElem = $xePasswordInput.$refs.refInputTarget as HTMLInputElement
122
+ reactData.isActivated = true
123
+ inputElem.focus()
124
+ return $xePasswordInput.$nextTick()
125
+ },
126
+ blur () {
127
+ const $xePasswordInput = this
128
+ const reactData = $xePasswordInput.reactData
129
+
130
+ const inputElem = $xePasswordInput.$refs.refInputTarget as HTMLInputElement
131
+ inputElem.blur()
132
+ reactData.isActivated = false
133
+ return $xePasswordInput.$nextTick()
134
+ },
135
+ select () {
136
+ const $xePasswordInput = this
137
+ const reactData = $xePasswordInput.reactData
138
+
139
+ const inputElem = $xePasswordInput.$refs.refInputTarget as HTMLInputElement
140
+ inputElem.select()
141
+ reactData.isActivated = false
142
+ return $xePasswordInput.$nextTick()
143
+ },
144
+ triggerEvent (evnt: Event & { type: 'input' | 'change' | 'click' | 'focus' | 'blur' }) {
145
+ const $xePasswordInput = this
146
+ const reactData = $xePasswordInput.reactData
147
+
148
+ const { inputValue } = reactData
149
+ $xePasswordInput.dispatchEvent(evnt.type, { value: inputValue }, evnt)
150
+ },
151
+ emitInputEvent (value: any, evnt: Event) {
152
+ const $xePasswordInput = this
153
+ const reactData = $xePasswordInput.reactData
154
+
155
+ reactData.inputValue = value
156
+ $xePasswordInput.dispatchEvent('input', { value }, evnt)
157
+ },
158
+ inputEvent (evnt: Event & { type: 'input' }) {
159
+ const $xePasswordInput = this
160
+
161
+ const inputElem = evnt.target as HTMLInputElement
162
+ const value = inputElem.value
163
+ $xePasswordInput.emitInputEvent(value, evnt)
164
+ },
165
+ handleChange (value: string, evnt: Event | { type: string }) {
166
+ const $xePasswordInput = this
167
+ const props = $xePasswordInput
168
+ const reactData = $xePasswordInput.reactData
169
+ const $xeForm = $xePasswordInput.$xeForm
170
+ const formItemInfo = $xePasswordInput.formItemInfo
171
+
172
+ reactData.inputValue = value
173
+ $xePasswordInput.emitModel(value)
174
+ $xePasswordInput.dispatchEvent('input', { value }, evnt as any)
175
+ if (XEUtils.toValueString(props.value) !== value) {
176
+ $xePasswordInput.dispatchEvent('change', { value }, evnt as any)
177
+ // 自动更新校验状态
178
+ if ($xeForm && formItemInfo) {
179
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value)
180
+ }
181
+ }
182
+ },
183
+ changeEvent (evnt: Event & { type: 'change' }) {
184
+ const $xePasswordInput = this
185
+ const reactData = $xePasswordInput.reactData
186
+ const $xeForm = $xePasswordInput.$xeForm
187
+ const formItemInfo = $xePasswordInput.formItemInfo
188
+
189
+ $xePasswordInput.triggerEvent(evnt)
190
+ const { inputValue } = reactData
191
+ // 自动更新校验状态
192
+ if ($xeForm && formItemInfo) {
193
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, inputValue)
194
+ }
195
+ },
196
+ focusEvent (evnt: Event & { type: 'focus' }) {
197
+ const $xePasswordInput = this
198
+ const reactData = $xePasswordInput.reactData
199
+
200
+ reactData.isActivated = true
201
+ $xePasswordInput.triggerEvent(evnt)
202
+ },
203
+ blurEvent (evnt: Event & { type: 'blur' }) {
204
+ const $xePasswordInput = this
205
+ const reactData = $xePasswordInput.reactData
206
+
207
+ const { inputValue } = reactData
208
+ $xePasswordInput.dispatchEvent('blur', { value: inputValue }, evnt)
209
+ },
210
+ passwordToggleEvent (evnt: Event) {
211
+ const $xePasswordInput = this
212
+ const props = $xePasswordInput
213
+ const reactData = $xePasswordInput.reactData
214
+
215
+ const { readonly, disabled } = props
216
+ const { showPwd } = reactData
217
+ if (!disabled && !readonly) {
218
+ reactData.showPwd = !showPwd
219
+ }
220
+ $xePasswordInput.dispatchEvent('toggle-visible', { visible: reactData.showPwd }, evnt)
221
+ },
222
+ clickEvent (evnt: Event & { type: 'click' }) {
223
+ const $xePasswordInput = this
224
+
225
+ $xePasswordInput.triggerEvent(evnt)
226
+ },
227
+ clearValueEvent (evnt: Event, value: VxePasswordInputPropTypes.ModelValue) {
228
+ const $xePasswordInput = this
229
+
230
+ $xePasswordInput.focus()
231
+ $xePasswordInput.handleChange('', evnt)
232
+ $xePasswordInput.dispatchEvent('clear', { value }, evnt)
233
+ },
234
+ clickSuffixEvent (evnt: Event) {
235
+ const $xePasswordInput = this
236
+ const props = $xePasswordInput
237
+ const reactData = $xePasswordInput.reactData
238
+
239
+ const { disabled } = props
240
+ if (!disabled) {
241
+ const { inputValue } = reactData
242
+ $xePasswordInput.dispatchEvent('suffix-click', { value: inputValue }, evnt)
243
+ }
244
+ },
245
+ clickPrefixEvent (evnt: Event) {
246
+ const $xePasswordInput = this
247
+ const props = $xePasswordInput
248
+ const reactData = $xePasswordInput.reactData
249
+
250
+ const { disabled } = props
251
+ if (!disabled) {
252
+ const { inputValue } = reactData
253
+ $xePasswordInput.dispatchEvent('prefix-click', { value: inputValue }, evnt)
254
+ }
255
+ },
256
+
257
+ //
258
+ // Render
259
+ //
260
+ renderPasswordIcon (h: CreateElement) {
261
+ const $xePasswordInput = this
262
+ const reactData = $xePasswordInput.reactData
263
+
264
+ const { showPwd } = reactData
265
+ return h('div', {
266
+ class: 'password-input--control-icon',
267
+ on: {
268
+ click: $xePasswordInput.passwordToggleEvent
269
+ }
270
+ }, [
271
+ h('i', {
272
+ class: ['password-input--password-icon', showPwd ? getIcon().PASSWORD_INPUT_SHOW_PWD : getIcon().PASSWORD_INPUT_HIDE_PWD]
273
+ })
274
+ ])
275
+ },
276
+ renderPrefixIcon (h: CreateElement) {
277
+ const $xePasswordInput = this
278
+ const props = $xePasswordInput
279
+ const slots = $xePasswordInput.$scopedSlots
280
+
281
+ const { prefixIcon } = props
282
+ const prefixSlot = slots.prefix
283
+ return prefixSlot || prefixIcon
284
+ ? h('div', {
285
+ class: 'password-input--prefix',
286
+ on: {
287
+ click: $xePasswordInput.clickPrefixEvent
288
+ }
289
+ }, [
290
+ h('div', {
291
+ class: 'password-input--prefix-icon'
292
+ }, prefixSlot
293
+ ? getSlotVNs(prefixSlot({}))
294
+ : [
295
+ h('i', {
296
+ class: prefixIcon
297
+ })
298
+ ])
299
+ ])
300
+ : null
301
+ },
302
+ renderSuffixIcon (h: CreateElement) {
303
+ const $xePasswordInput = this
304
+ const props = $xePasswordInput
305
+ const slots = $xePasswordInput.$scopedSlots
306
+ const reactData = $xePasswordInput.reactData
307
+
308
+ const { disabled, suffixIcon } = props
309
+ const { inputValue } = reactData
310
+ const suffixSlot = slots.suffix
311
+ const isClearable = $xePasswordInput.computeIsClearable
312
+ return isClearable || suffixSlot || suffixIcon
313
+ ? h('div', {
314
+ class: ['password-input--suffix', {
315
+ 'is--clear': isClearable && !disabled && !(inputValue === '' || XEUtils.eqNull(inputValue))
316
+ }]
317
+ }, [
318
+ isClearable
319
+ ? h('div', {
320
+ class: 'password-input--clear-icon',
321
+ on: {
322
+ click: $xePasswordInput.clearValueEvent
323
+ }
324
+ }, [
325
+ h('i', {
326
+ class: getIcon().INPUT_CLEAR
327
+ })
328
+ ])
329
+ : renderEmptyElement($xePasswordInput),
330
+ $xePasswordInput.renderExtraSuffixIcon(h),
331
+ suffixSlot || suffixIcon
332
+ ? h('div', {
333
+ class: 'password-input--suffix-icon',
334
+ on: {
335
+ click: $xePasswordInput.clickSuffixEvent
336
+ }
337
+ }, suffixSlot
338
+ ? getSlotVNs(suffixSlot({}))
339
+ : [
340
+ h('i', {
341
+ class: suffixIcon
342
+ })
343
+ ])
344
+ : renderEmptyElement($xePasswordInput)
345
+ ])
346
+ : null
347
+ },
348
+ renderExtraSuffixIcon (h: CreateElement) {
349
+ const $xePasswordInput = this
350
+
351
+ return $xePasswordInput.renderPasswordIcon(h)
352
+ },
353
+ renderVN (h: CreateElement): VNode {
354
+ const $xePasswordInput = this
355
+ const props = $xePasswordInput
356
+ const reactData = $xePasswordInput.reactData
357
+
358
+ const { className, name, disabled, readonly, autocomplete, autoComplete, maxLength } = props
359
+ const { inputValue, isActivated } = reactData
360
+ const vSize = $xePasswordInput.computeSize
361
+ const inpReadonly = $xePasswordInput.computeInpReadonly
362
+ const inputType = $xePasswordInput.computeInputType
363
+ const inpPlaceholder = $xePasswordInput.computeInpPlaceholder
364
+ const isClearable = $xePasswordInput.computeIsClearable
365
+ const prefix = $xePasswordInput.renderPrefixIcon(h)
366
+ const suffix = $xePasswordInput.renderSuffixIcon(h)
367
+ return h('div', {
368
+ ref: 'refElem',
369
+ class: ['password-input', className, {
370
+ [`size--${vSize}`]: vSize,
371
+ 'is--prefix': !!prefix,
372
+ 'is--suffix': !!suffix,
373
+ 'is--readonly': readonly,
374
+ 'is--disabled': disabled,
375
+ 'is--active': isActivated,
376
+ 'show--clear': isClearable && !disabled && !(inputValue === '' || XEUtils.eqNull(inputValue))
377
+ }],
378
+ attrs: {
379
+ spellcheck: false
380
+ }
381
+ }, [
382
+ prefix || renderEmptyElement($xePasswordInput),
383
+ h('div', {
384
+ class: 'password-input--wrapper'
385
+ }, [
386
+ h('input', {
387
+ ref: 'refInputTarget',
388
+ class: 'password-input--inner',
389
+ domProps: {
390
+ value: inputValue
391
+ },
392
+ attrs: {
393
+ name,
394
+ type: inputType,
395
+ placeholder: inpPlaceholder,
396
+ readonly: inpReadonly,
397
+ disabled,
398
+ autocomplete: autocomplete || autoComplete,
399
+ maxlength: maxLength
400
+ },
401
+ on: {
402
+ click: $xePasswordInput.clickEvent,
403
+ input: $xePasswordInput.inputEvent,
404
+ change: $xePasswordInput.changeEvent,
405
+ focus: $xePasswordInput.focusEvent,
406
+ blur: $xePasswordInput.blurEvent
407
+ }
408
+ })
409
+ ]),
410
+ suffix || renderEmptyElement($xePasswordInput)
411
+ ])
412
+ }
413
+ },
414
+ watch: {
415
+ value (val) {
416
+ const $xePasswordInput = this
417
+ const reactData = $xePasswordInput.reactData
418
+
419
+ reactData.inputValue = val
420
+ }
421
+ },
422
+ created () {
423
+ const $xePasswordInput = this
424
+ const props = $xePasswordInput
425
+ const reactData = $xePasswordInput.reactData
426
+
427
+ reactData.inputValue = props.value
428
+ },
429
+ render (this: any, h) {
430
+ return this.renderVN(h)
431
+ }
432
+ })
@@ -46,6 +46,9 @@ export default defineVxeComponent({
46
46
  $xeModal: {
47
47
  default: null
48
48
  },
49
+ $xeDrawer: {
50
+ default: null
51
+ },
49
52
  $xeTable: {
50
53
  default: null
51
54
  },
@@ -54,6 +57,7 @@ export default defineVxeComponent({
54
57
  }
55
58
  },
56
59
  data () {
60
+ const xID = XEUtils.uniqueId()
57
61
  const reactData: PulldownReactData = {
58
62
  initialized: false,
59
63
  panelIndex: 0,
@@ -67,7 +71,7 @@ export default defineVxeComponent({
67
71
  hpTimeout: undefined
68
72
  }
69
73
  return {
70
- xID: XEUtils.uniqueId(),
74
+ xID,
71
75
  reactData,
72
76
  internalData
73
77
  }
@@ -109,6 +113,11 @@ export default defineVxeComponent({
109
113
  const $xePulldown = this
110
114
  $xePulldown.$emit(type, createEvent(evnt, { $pulldown: $xePulldown }, params))
111
115
  },
116
+ emitModel (value: any) {
117
+ const $xePulldown = this
118
+
119
+ $xePulldown.$emit('modelValue', value)
120
+ },
112
121
  updateZindex () {
113
122
  const $xePulldown = this
114
123
  const reactData = $xePulldown.reactData
@@ -230,7 +239,7 @@ export default defineVxeComponent({
230
239
  reactData.visibleAnimate = true
231
240
  setTimeout(() => {
232
241
  reactData.visiblePanel = true
233
- $xePulldown.$emit('modelValue', true)
242
+ $xePulldown.emitModel(true)
234
243
  $xePulldown.updatePlacement()
235
244
  setTimeout(() => {
236
245
  resolve($xePulldown.updatePlacement())
@@ -253,7 +262,7 @@ export default defineVxeComponent({
253
262
  const internalData = $xePulldown.internalData
254
263
 
255
264
  reactData.visiblePanel = false
256
- $xePulldown.$emit('modelValue', false)
265
+ $xePulldown.emitModel(false)
257
266
  return new Promise<void>(resolve => {
258
267
  if (reactData.visibleAnimate) {
259
268
  internalData.hpTimeout = window.setTimeout(() => {
@@ -103,6 +103,12 @@ export default defineVxeComponent({
103
103
  const $xeRadioButton = this
104
104
  $xeRadioButton.$emit(type, createEvent(evnt, { $radioButton: $xeRadioButton }, params))
105
105
  },
106
+ emitModel (value: any) {
107
+ const $xeRadioButton = this
108
+
109
+ $xeRadioButton.$emit('input', value)
110
+ $xeRadioButton.$emit('modelValue', value)
111
+ },
106
112
  handleValue (label: VxeRadioButtonPropTypes.Label, evnt: Event) {
107
113
  const $xeRadioButton = this
108
114
  const $xeForm = $xeRadioButton.$xeForm
@@ -112,8 +118,7 @@ export default defineVxeComponent({
112
118
  if ($xeRadioGroup) {
113
119
  $xeRadioGroup.handleChecked({ label }, evnt)
114
120
  } else {
115
- $xeRadioButton.$emit('input', label)
116
- $xeRadioButton.$emit('modelValue', label)
121
+ $xeRadioButton.emitModel(label)
117
122
  $xeRadioButton.dispatchEvent('change', { label }, evnt)
118
123
  // 自动更新校验状态
119
124
  if ($xeForm && formItemInfo) {
@@ -110,6 +110,12 @@ export default defineVxeComponent({
110
110
 
111
111
  $xeRadioGroup.$emit(type, createEvent(evnt, { $radioGroup: $xeRadioGroup }, params))
112
112
  },
113
+ emitModel (value: any) {
114
+ const $xeRadioGroup = this
115
+
116
+ $xeRadioGroup.$emit('input', value)
117
+ $xeRadioGroup.$emit('modelValue', value)
118
+ },
113
119
  handleChecked (params: {
114
120
  label: any
115
121
  }, evnt: Event) {
@@ -118,8 +124,7 @@ export default defineVxeComponent({
118
124
  const formItemInfo = $xeRadioGroup.formItemInfo
119
125
 
120
126
  const value = params.label
121
- $xeRadioGroup.$emit('input', value)
122
- $xeRadioGroup.$emit('modelValue', value)
127
+ $xeRadioGroup.emitModel(value)
123
128
  $xeRadioGroup.dispatchEvent('change', params, evnt)
124
129
  // 自动更新校验状态
125
130
  if ($xeForm && formItemInfo) {
@@ -105,6 +105,12 @@ export default defineVxeComponent({
105
105
  const $xeRadio = this
106
106
  $xeRadio.$emit(type, createEvent(evnt, { $radio: $xeRadio }, params))
107
107
  },
108
+ emitModel (value: any) {
109
+ const $xeRadio = this
110
+
111
+ $xeRadio.$emit('input', value)
112
+ $xeRadio.$emit('modelValue', value)
113
+ },
108
114
  handleValue (label: VxeRadioPropTypes.Label, evnt: Event) {
109
115
  const $xeRadio = this
110
116
  const formItemInfo = $xeRadio.formItemInfo
@@ -114,8 +120,7 @@ export default defineVxeComponent({
114
120
  if ($xeRadioGroup) {
115
121
  $xeRadioGroup.handleChecked({ label }, evnt)
116
122
  } else {
117
- $xeRadio.$emit('input', label)
118
- $xeRadio.$emit('modelValue', label)
123
+ $xeRadio.emitModel(label)
119
124
  $xeRadio.dispatchEvent('change', { label }, evnt)
120
125
  // 自动更新校验状态
121
126
  if ($xeForm && formItemInfo) {
@@ -0,0 +1,16 @@
1
+ import { VueConstructor } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeSelectComponent from './src/select'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeSelect = Object.assign(VxeSelectComponent, {
7
+ install: function (app: VueConstructor) {
8
+ app.component(VxeSelectComponent.name as string, VxeSelectComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeSelect)
13
+ VxeUI.component(VxeSelectComponent)
14
+
15
+ export const Select = VxeSelect
16
+ export default VxeSelect
@@ -0,0 +1,107 @@
1
+ import { PropType, CreateElement, VNode } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
3
+ import { createEvent, globalMixins } from '../../ui'
4
+ import XEUtils from 'xe-utils'
5
+ import { createOption, watchOption, destroyOption, assembleOption } from './util'
6
+ import { OptionInfo } from './option-info'
7
+
8
+ import type { VxeSelectConstructor, VxeOptgroupPropTypes, VxeComponentSizeType, VxeOptgroupEmits, ValueOf, OptgroupReactData } from '../../../types'
9
+
10
+ export default defineVxeComponent({
11
+ name: 'VxeOptgroup',
12
+ mixins: [
13
+ globalMixins.sizeMixin
14
+ ],
15
+ props: {
16
+ label: {
17
+ type: [String, Number, Boolean] as PropType<VxeOptgroupPropTypes.Label>,
18
+ default: ''
19
+ },
20
+ visible: {
21
+ type: Boolean as PropType<VxeOptgroupPropTypes.Visible>,
22
+ default: null
23
+ },
24
+ className: [String, Function] as PropType<VxeOptgroupPropTypes.ClassName>,
25
+ disabled: Boolean as PropType<VxeOptgroupPropTypes.Disabled>
26
+ },
27
+ inject: {
28
+ $xeSelect: {
29
+ default: null
30
+ }
31
+ },
32
+ provide () {
33
+ const $xeOptgroup = this
34
+ return {
35
+ $xeOptgroup
36
+ }
37
+ },
38
+ data () {
39
+ const xID = XEUtils.uniqueId()
40
+ const reactData: OptgroupReactData = {
41
+ }
42
+ const optionConfig = {} as OptionInfo
43
+ return {
44
+ xID,
45
+ reactData,
46
+ optionConfig
47
+ }
48
+ },
49
+ computed: {
50
+ ...({} as {
51
+ computeSize(): VxeComponentSizeType
52
+ $xeSelect(): VxeSelectConstructor
53
+ })
54
+ },
55
+ methods: {
56
+ //
57
+ // Method
58
+ //
59
+ dispatchEvent (type: ValueOf<VxeOptgroupEmits>, params: Record<string, any>, evnt: Event | null) {
60
+ const $xeOptgroup = this
61
+ $xeOptgroup.$emit(type, createEvent(evnt, { $optgroup: $xeOptgroup }, params))
62
+ },
63
+
64
+ //
65
+ // Render
66
+ //
67
+ renderVN (h: CreateElement): VNode {
68
+ const $xeOptgroup = this
69
+ const slots = $xeOptgroup.$scopedSlots
70
+ const defaultSlot = slots.default
71
+
72
+ return h('div', {
73
+ ref: 'elem'
74
+ }, defaultSlot ? defaultSlot({}) : [])
75
+ }
76
+ },
77
+ created () {
78
+ const $xeOptgroup = this
79
+ const props = $xeOptgroup
80
+ const slots = $xeOptgroup.$scopedSlots
81
+ const $xeSelect = $xeOptgroup.$xeSelect
82
+
83
+ const optionConfig = createOption($xeSelect, props)
84
+ optionConfig.slots = slots
85
+ $xeOptgroup.optionConfig = optionConfig
86
+
87
+ watchOption($xeOptgroup, optionConfig)
88
+ },
89
+ mounted () {
90
+ const $xeOptgroup = this
91
+ const optionConfig = $xeOptgroup.optionConfig
92
+ const $xeSelect = $xeOptgroup.$xeSelect
93
+
94
+ const el = $xeOptgroup.$refs.elem as HTMLDivElement
95
+ assembleOption($xeSelect, el, optionConfig)
96
+ },
97
+ beforeDestroy () {
98
+ const $xeOptgroup = this
99
+ const optionConfig = $xeOptgroup.optionConfig
100
+ const $xeSelect = $xeOptgroup.$xeSelect
101
+
102
+ destroyOption($xeSelect, optionConfig)
103
+ },
104
+ render (this: any, h) {
105
+ return this.renderVN(h)
106
+ }
107
+ })