fast-element-plus 1.0.0 → 1.0.1

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 (558) hide show
  1. package/Fast.png +0 -0
  2. package/LICENSE +201 -0
  3. package/README.md +164 -0
  4. package/README.zh.md +164 -0
  5. package/dist/index.full.js +28446 -0
  6. package/dist/index.full.js.map +1 -0
  7. package/dist/index.full.min.js +36 -0
  8. package/dist/index.full.min.js.map +1 -0
  9. package/dist/index.full.min.mjs +36 -0
  10. package/dist/index.full.min.mjs.map +1 -0
  11. package/dist/index.full.mjs +28445 -0
  12. package/dist/index.full.mjs.map +1 -0
  13. package/dist/styles/index.css +984 -0
  14. package/dist/styles/index.css.map +1 -0
  15. package/es/component.d.ts +3 -0
  16. package/es/component.mjs +52 -0
  17. package/es/component.mjs.map +1 -0
  18. package/es/components/avatar/index.d.ts +14 -0
  19. package/es/components/avatar/index.mjs +8 -0
  20. package/es/components/avatar/index.mjs.map +1 -0
  21. package/es/components/avatar/src/avatar.d.ts +96 -0
  22. package/es/components/avatar/src/avatar.mjs +76 -0
  23. package/es/components/avatar/src/avatar.mjs.map +1 -0
  24. package/es/components/button/index.d.ts +15 -0
  25. package/es/components/button/index.mjs +11 -0
  26. package/es/components/button/index.mjs.map +1 -0
  27. package/es/components/button/src/button.d.ts +173 -0
  28. package/es/components/button/src/button.mjs +118 -0
  29. package/es/components/button/src/button.mjs.map +1 -0
  30. package/es/components/carNumber/index.d.ts +9 -0
  31. package/es/components/carNumber/index.mjs +12 -0
  32. package/es/components/carNumber/index.mjs.map +1 -0
  33. package/es/components/carNumber/src/carNumber.d.ts +217 -0
  34. package/es/components/carNumber/src/carNumber.mjs +164 -0
  35. package/es/components/carNumber/src/carNumber.mjs.map +1 -0
  36. package/es/components/carNumber/src/common.d.ts +15 -0
  37. package/es/components/carNumber/src/common.mjs +75 -0
  38. package/es/components/carNumber/src/common.mjs.map +1 -0
  39. package/es/components/contextMenu/index.d.ts +9 -0
  40. package/es/components/contextMenu/index.mjs +9 -0
  41. package/es/components/contextMenu/index.mjs.map +1 -0
  42. package/es/components/contextMenu/src/contextMenu.d.ts +32 -0
  43. package/es/components/contextMenu/src/contextMenu.mjs +85 -0
  44. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -0
  45. package/es/components/contextMenu/src/contextMenu.type.d.ts +33 -0
  46. package/es/components/contextMenu/src/contextMenu.type.mjs +2 -0
  47. package/es/components/contextMenu/src/contextMenu.type.mjs.map +1 -0
  48. package/es/components/dialog/index.d.ts +14 -0
  49. package/es/components/dialog/index.mjs +11 -0
  50. package/es/components/dialog/index.mjs.map +1 -0
  51. package/es/components/dialog/src/dialog.d.ts +454 -0
  52. package/es/components/dialog/src/dialog.mjs +285 -0
  53. package/es/components/dialog/src/dialog.mjs.map +1 -0
  54. package/es/components/drawer/index.d.ts +14 -0
  55. package/es/components/drawer/index.mjs +8 -0
  56. package/es/components/drawer/index.mjs.map +1 -0
  57. package/es/components/drawer/src/drawer.d.ts +449 -0
  58. package/es/components/drawer/src/drawer.mjs +284 -0
  59. package/es/components/drawer/src/drawer.mjs.map +1 -0
  60. package/es/components/form/index.d.ts +23 -0
  61. package/es/components/form/index.mjs +19 -0
  62. package/es/components/form/index.mjs.map +1 -0
  63. package/es/components/form/src/form.d.ts +194 -0
  64. package/es/components/form/src/form.mjs +109 -0
  65. package/es/components/form/src/form.mjs.map +1 -0
  66. package/es/components/form/src/formItem.d.ts +190 -0
  67. package/es/components/form/src/formItem.mjs +117 -0
  68. package/es/components/form/src/formItem.mjs.map +1 -0
  69. package/es/components/form/utils/form.d.ts +81 -0
  70. package/es/components/form/utils/form.mjs +217 -0
  71. package/es/components/form/utils/form.mjs.map +1 -0
  72. package/es/components/formItemTip/index.d.ts +12 -0
  73. package/es/components/formItemTip/index.mjs +10 -0
  74. package/es/components/formItemTip/index.mjs.map +1 -0
  75. package/es/components/formItemTip/src/formItemTip.d.ts +22 -0
  76. package/es/components/formItemTip/src/formItemTip.mjs +38 -0
  77. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -0
  78. package/es/components/icon/index.d.ts +12 -0
  79. package/es/components/icon/index.mjs +8 -0
  80. package/es/components/icon/index.mjs.map +1 -0
  81. package/es/components/icon/src/icon.d.ts +39 -0
  82. package/es/components/icon/src/icon.mjs +69 -0
  83. package/es/components/icon/src/icon.mjs.map +1 -0
  84. package/es/components/iconSelector/index.d.ts +7 -0
  85. package/es/components/iconSelector/index.mjs +8 -0
  86. package/es/components/iconSelector/index.mjs.map +1 -0
  87. package/es/components/iconSelector/src/iconSelector.d.ts +23 -0
  88. package/es/components/iconSelector/src/iconSelector.mjs +143 -0
  89. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -0
  90. package/es/components/image/index.d.ts +12 -0
  91. package/es/components/image/index.mjs +10 -0
  92. package/es/components/image/index.mjs.map +1 -0
  93. package/es/components/image/src/image.d.ts +225 -0
  94. package/es/components/image/src/image.mjs +90 -0
  95. package/es/components/image/src/image.mjs.map +1 -0
  96. package/es/components/index.d.ts +21 -0
  97. package/es/components/index.mjs +100 -0
  98. package/es/components/index.mjs.map +1 -0
  99. package/es/components/layoutGrid/index.d.ts +16 -0
  100. package/es/components/layoutGrid/index.mjs +14 -0
  101. package/es/components/layoutGrid/index.mjs.map +1 -0
  102. package/es/components/layoutGrid/src/layoutGrid.d.ts +60 -0
  103. package/es/components/layoutGrid/src/layoutGrid.mjs +178 -0
  104. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -0
  105. package/es/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
  106. package/es/components/layoutGrid/src/layoutGrid.type.mjs +2 -0
  107. package/es/components/layoutGrid/src/layoutGrid.type.mjs.map +1 -0
  108. package/es/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
  109. package/es/components/layoutGrid/src/layoutGridItem.mjs +97 -0
  110. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -0
  111. package/es/components/select/index.d.ts +22 -0
  112. package/es/components/select/index.mjs +17 -0
  113. package/es/components/select/index.mjs.map +1 -0
  114. package/es/components/select/src/select.d.ts +1201 -0
  115. package/es/components/select/src/select.mjs +559 -0
  116. package/es/components/select/src/select.mjs.map +1 -0
  117. package/es/components/select/src/select.type.d.ts +28 -0
  118. package/es/components/select/src/select.type.mjs +2 -0
  119. package/es/components/select/src/select.type.mjs.map +1 -0
  120. package/es/components/select/src/selectOption.d.ts +99 -0
  121. package/es/components/select/src/selectOption.mjs +71 -0
  122. package/es/components/select/src/selectOption.mjs.map +1 -0
  123. package/es/components/selectPage/index.d.ts +14 -0
  124. package/es/components/selectPage/index.mjs +11 -0
  125. package/es/components/selectPage/index.mjs.map +1 -0
  126. package/es/components/selectPage/src/selectPage.d.ts +595 -0
  127. package/es/components/selectPage/src/selectPage.mjs +381 -0
  128. package/es/components/selectPage/src/selectPage.mjs.map +1 -0
  129. package/es/components/selectV2/index.d.ts +14 -0
  130. package/es/components/selectV2/index.mjs +11 -0
  131. package/es/components/selectV2/index.mjs.map +1 -0
  132. package/es/components/selectV2/src/selectV2.d.ts +1407 -0
  133. package/es/components/selectV2/src/selectV2.mjs +606 -0
  134. package/es/components/selectV2/src/selectV2.mjs.map +1 -0
  135. package/es/components/table/images/artwork.png.mjs +5 -0
  136. package/es/components/table/images/artwork.png.mjs.map +1 -0
  137. package/es/components/table/images/index.d.ts +4 -0
  138. package/es/components/table/images/notImage.png.mjs +5 -0
  139. package/es/components/table/images/notImage.png.mjs.map +1 -0
  140. package/es/components/table/index.d.ts +35 -0
  141. package/es/components/table/index.mjs +32 -0
  142. package/es/components/table/index.mjs.map +1 -0
  143. package/es/components/table/src/page.type.d.ts +145 -0
  144. package/es/components/table/src/page.type.mjs +16 -0
  145. package/es/components/table/src/page.type.mjs.map +1 -0
  146. package/es/components/table/src/table.d.ts +1382 -0
  147. package/es/components/table/src/table.mjs +1046 -0
  148. package/es/components/table/src/table.mjs.map +1 -0
  149. package/es/components/table/src/table.state.d.ts +115 -0
  150. package/es/components/table/src/table.state.mjs +2 -0
  151. package/es/components/table/src/table.state.mjs.map +1 -0
  152. package/es/components/table/src/table.type.d.ts +316 -0
  153. package/es/components/table/src/table.type.mjs +14 -0
  154. package/es/components/table/src/table.type.mjs.map +1 -0
  155. package/es/components/table/src/tableColumn.d.ts +644 -0
  156. package/es/components/table/src/tableColumn.mjs +604 -0
  157. package/es/components/table/src/tableColumn.mjs.map +1 -0
  158. package/es/components/table/src/tableColumnSettingDialog.d.ts +18 -0
  159. package/es/components/table/src/tableColumnSettingDialog.mjs +430 -0
  160. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -0
  161. package/es/components/table/src/tablePagination.d.ts +24 -0
  162. package/es/components/table/src/tablePagination.mjs +56 -0
  163. package/es/components/table/src/tablePagination.mjs.map +1 -0
  164. package/es/components/table/src/tableSearchForm.d.ts +88 -0
  165. package/es/components/table/src/tableSearchForm.mjs +269 -0
  166. package/es/components/table/src/tableSearchForm.mjs.map +1 -0
  167. package/es/components/table/src/tableSearchFormItem.d.ts +37 -0
  168. package/es/components/table/src/tableSearchFormItem.mjs +121 -0
  169. package/es/components/table/src/tableSearchFormItem.mjs.map +1 -0
  170. package/es/components/table/src/useTable.d.ts +32 -0
  171. package/es/components/table/src/useTable.mjs +374 -0
  172. package/es/components/table/src/useTable.mjs.map +1 -0
  173. package/es/components/table/utils/table.d.ts +45 -0
  174. package/es/components/table/utils/table.mjs +122 -0
  175. package/es/components/table/utils/table.mjs.map +1 -0
  176. package/es/components/tree/index.d.ts +15 -0
  177. package/es/components/tree/index.mjs +12 -0
  178. package/es/components/tree/index.mjs.map +1 -0
  179. package/es/components/tree/src/tree.d.ts +668 -0
  180. package/es/components/tree/src/tree.mjs +364 -0
  181. package/es/components/tree/src/tree.mjs.map +1 -0
  182. package/es/components/tree/src/tree.props.d.ts +81 -0
  183. package/es/components/tree/src/tree.props.mjs +71 -0
  184. package/es/components/tree/src/tree.props.mjs.map +1 -0
  185. package/es/components/tree/src/tree.type.d.ts +36 -0
  186. package/es/components/tree/src/tree.type.mjs +2 -0
  187. package/es/components/tree/src/tree.type.mjs.map +1 -0
  188. package/es/components/treeSelect/index.d.ts +14 -0
  189. package/es/components/treeSelect/index.mjs +11 -0
  190. package/es/components/treeSelect/index.mjs.map +1 -0
  191. package/es/components/treeSelect/src/treeSelect.d.ts +1063 -0
  192. package/es/components/treeSelect/src/treeSelect.mjs +492 -0
  193. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -0
  194. package/es/components/upload/index.d.ts +15 -0
  195. package/es/components/upload/index.mjs +11 -0
  196. package/es/components/upload/index.mjs.map +1 -0
  197. package/es/components/upload/src/upload.d.ts +525 -0
  198. package/es/components/upload/src/upload.mjs +140 -0
  199. package/es/components/upload/src/upload.mjs.map +1 -0
  200. package/es/components/upload/src/useUpload.d.ts +65 -0
  201. package/es/components/upload/src/useUpload.mjs +150 -0
  202. package/es/components/upload/src/useUpload.mjs.map +1 -0
  203. package/es/components/upload/utils/upload.d.ts +30 -0
  204. package/es/components/upload/utils/upload.mjs +119 -0
  205. package/es/components/upload/utils/upload.mjs.map +1 -0
  206. package/es/components/uploadImage/index.d.ts +14 -0
  207. package/es/components/uploadImage/index.mjs +11 -0
  208. package/es/components/uploadImage/index.mjs.map +1 -0
  209. package/es/components/uploadImage/src/uploadImage.d.ts +575 -0
  210. package/es/components/uploadImage/src/uploadImage.mjs +207 -0
  211. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -0
  212. package/es/components/uploadImages/index.d.ts +14 -0
  213. package/es/components/uploadImages/index.mjs +8 -0
  214. package/es/components/uploadImages/index.mjs.map +1 -0
  215. package/es/components/uploadImages/src/uploadImages.d.ts +544 -0
  216. package/es/components/uploadImages/src/uploadImages.mjs +194 -0
  217. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -0
  218. package/es/constants/index.d.ts +2 -0
  219. package/es/constants/index.mjs +7 -0
  220. package/es/constants/index.mjs.map +1 -0
  221. package/es/constants/mime.d.ts +61 -0
  222. package/es/constants/mime.mjs +62 -0
  223. package/es/constants/mime.mjs.map +1 -0
  224. package/es/constants/regex.d.ts +78 -0
  225. package/es/constants/regex.mjs +79 -0
  226. package/es/constants/regex.mjs.map +1 -0
  227. package/es/directive.d.ts +2 -0
  228. package/es/directive.mjs +11 -0
  229. package/es/directive.mjs.map +1 -0
  230. package/es/directives/click-copy/index.d.ts +2 -0
  231. package/es/directives/click-copy/index.mjs +36 -0
  232. package/es/directives/click-copy/index.mjs.map +1 -0
  233. package/es/directives/click-debounce/index.d.ts +2 -0
  234. package/es/directives/click-debounce/index.mjs +20 -0
  235. package/es/directives/click-debounce/index.mjs.map +1 -0
  236. package/es/directives/click-draggable/index.d.ts +2 -0
  237. package/es/directives/click-draggable/index.mjs +38 -0
  238. package/es/directives/click-draggable/index.mjs.map +1 -0
  239. package/es/directives/click-icon-copy/index.d.ts +2 -0
  240. package/es/directives/click-icon-copy/index.mjs +54 -0
  241. package/es/directives/click-icon-copy/index.mjs.map +1 -0
  242. package/es/directives/click-longpress/index.d.ts +2 -0
  243. package/es/directives/click-longpress/index.mjs +42 -0
  244. package/es/directives/click-longpress/index.mjs.map +1 -0
  245. package/es/directives/click-throttle/index.d.ts +2 -0
  246. package/es/directives/click-throttle/index.mjs +31 -0
  247. package/es/directives/click-throttle/index.mjs.map +1 -0
  248. package/es/directives/index.d.ts +6 -0
  249. package/es/directives/index.mjs +15 -0
  250. package/es/directives/index.mjs.map +1 -0
  251. package/es/element-plus.d.ts +2 -0
  252. package/es/element-plus.mjs +304 -0
  253. package/es/element-plus.mjs.map +1 -0
  254. package/es/hooks/index.d.ts +3 -0
  255. package/es/hooks/index.mjs +9 -0
  256. package/es/hooks/index.mjs.map +1 -0
  257. package/es/hooks/use-loading/index.d.ts +4 -0
  258. package/es/hooks/use-loading/index.mjs +34 -0
  259. package/es/hooks/use-loading/index.mjs.map +1 -0
  260. package/es/hooks/use-overlay/index.d.ts +4 -0
  261. package/es/hooks/use-overlay/index.mjs +26 -0
  262. package/es/hooks/use-overlay/index.mjs.map +1 -0
  263. package/es/hooks/use-screenFull/index.d.ts +7 -0
  264. package/es/hooks/use-screenFull/index.mjs +45 -0
  265. package/es/hooks/use-screenFull/index.mjs.map +1 -0
  266. package/es/index.d.ts +14 -0
  267. package/es/index.es.d.ts +6 -0
  268. package/es/index.mjs +138 -0
  269. package/es/index.mjs.map +1 -0
  270. package/es/make-installer.d.ts +6 -0
  271. package/es/make-installer.mjs +27 -0
  272. package/es/make-installer.mjs.map +1 -0
  273. package/es/version.d.ts +1 -0
  274. package/es/version.mjs +5 -0
  275. package/es/version.mjs.map +1 -0
  276. package/global.d.ts +2 -0
  277. package/lib/component.d.ts +3 -0
  278. package/lib/component.js +2 -0
  279. package/lib/component.js.map +1 -0
  280. package/lib/components/avatar/index.d.ts +14 -0
  281. package/lib/components/avatar/index.js +2 -0
  282. package/lib/components/avatar/index.js.map +1 -0
  283. package/lib/components/avatar/src/avatar.d.ts +96 -0
  284. package/lib/components/avatar/src/avatar.js +2 -0
  285. package/lib/components/avatar/src/avatar.js.map +1 -0
  286. package/lib/components/button/index.d.ts +15 -0
  287. package/lib/components/button/index.js +2 -0
  288. package/lib/components/button/index.js.map +1 -0
  289. package/lib/components/button/src/button.d.ts +173 -0
  290. package/lib/components/button/src/button.js +2 -0
  291. package/lib/components/button/src/button.js.map +1 -0
  292. package/lib/components/carNumber/index.d.ts +9 -0
  293. package/lib/components/carNumber/index.js +2 -0
  294. package/lib/components/carNumber/index.js.map +1 -0
  295. package/lib/components/carNumber/src/carNumber.d.ts +217 -0
  296. package/lib/components/carNumber/src/carNumber.js +2 -0
  297. package/lib/components/carNumber/src/carNumber.js.map +1 -0
  298. package/lib/components/carNumber/src/common.d.ts +15 -0
  299. package/lib/components/carNumber/src/common.js +2 -0
  300. package/lib/components/carNumber/src/common.js.map +1 -0
  301. package/lib/components/contextMenu/index.d.ts +9 -0
  302. package/lib/components/contextMenu/index.js +2 -0
  303. package/lib/components/contextMenu/index.js.map +1 -0
  304. package/lib/components/contextMenu/src/contextMenu.d.ts +32 -0
  305. package/lib/components/contextMenu/src/contextMenu.js +2 -0
  306. package/lib/components/contextMenu/src/contextMenu.js.map +1 -0
  307. package/lib/components/contextMenu/src/contextMenu.type.d.ts +33 -0
  308. package/lib/components/contextMenu/src/contextMenu.type.js +2 -0
  309. package/lib/components/contextMenu/src/contextMenu.type.js.map +1 -0
  310. package/lib/components/dialog/index.d.ts +14 -0
  311. package/lib/components/dialog/index.js +2 -0
  312. package/lib/components/dialog/index.js.map +1 -0
  313. package/lib/components/dialog/src/dialog.d.ts +454 -0
  314. package/lib/components/dialog/src/dialog.js +2 -0
  315. package/lib/components/dialog/src/dialog.js.map +1 -0
  316. package/lib/components/drawer/index.d.ts +14 -0
  317. package/lib/components/drawer/index.js +2 -0
  318. package/lib/components/drawer/index.js.map +1 -0
  319. package/lib/components/drawer/src/drawer.d.ts +449 -0
  320. package/lib/components/drawer/src/drawer.js +2 -0
  321. package/lib/components/drawer/src/drawer.js.map +1 -0
  322. package/lib/components/form/index.d.ts +23 -0
  323. package/lib/components/form/index.js +2 -0
  324. package/lib/components/form/index.js.map +1 -0
  325. package/lib/components/form/src/form.d.ts +194 -0
  326. package/lib/components/form/src/form.js +2 -0
  327. package/lib/components/form/src/form.js.map +1 -0
  328. package/lib/components/form/src/formItem.d.ts +190 -0
  329. package/lib/components/form/src/formItem.js +2 -0
  330. package/lib/components/form/src/formItem.js.map +1 -0
  331. package/lib/components/form/utils/form.d.ts +81 -0
  332. package/lib/components/form/utils/form.js +2 -0
  333. package/lib/components/form/utils/form.js.map +1 -0
  334. package/lib/components/formItemTip/index.d.ts +12 -0
  335. package/lib/components/formItemTip/index.js +2 -0
  336. package/lib/components/formItemTip/index.js.map +1 -0
  337. package/lib/components/formItemTip/src/formItemTip.d.ts +22 -0
  338. package/lib/components/formItemTip/src/formItemTip.js +2 -0
  339. package/lib/components/formItemTip/src/formItemTip.js.map +1 -0
  340. package/lib/components/icon/index.d.ts +12 -0
  341. package/lib/components/icon/index.js +2 -0
  342. package/lib/components/icon/index.js.map +1 -0
  343. package/lib/components/icon/src/icon.d.ts +39 -0
  344. package/lib/components/icon/src/icon.js +2 -0
  345. package/lib/components/icon/src/icon.js.map +1 -0
  346. package/lib/components/iconSelector/index.d.ts +7 -0
  347. package/lib/components/iconSelector/index.js +2 -0
  348. package/lib/components/iconSelector/index.js.map +1 -0
  349. package/lib/components/iconSelector/src/iconSelector.d.ts +23 -0
  350. package/lib/components/iconSelector/src/iconSelector.js +2 -0
  351. package/lib/components/iconSelector/src/iconSelector.js.map +1 -0
  352. package/lib/components/image/index.d.ts +12 -0
  353. package/lib/components/image/index.js +2 -0
  354. package/lib/components/image/index.js.map +1 -0
  355. package/lib/components/image/src/image.d.ts +225 -0
  356. package/lib/components/image/src/image.js +2 -0
  357. package/lib/components/image/src/image.js.map +1 -0
  358. package/lib/components/index.d.ts +21 -0
  359. package/lib/components/index.js +2 -0
  360. package/lib/components/index.js.map +1 -0
  361. package/lib/components/layoutGrid/index.d.ts +16 -0
  362. package/lib/components/layoutGrid/index.js +2 -0
  363. package/lib/components/layoutGrid/index.js.map +1 -0
  364. package/lib/components/layoutGrid/src/layoutGrid.d.ts +60 -0
  365. package/lib/components/layoutGrid/src/layoutGrid.js +2 -0
  366. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -0
  367. package/lib/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
  368. package/lib/components/layoutGrid/src/layoutGrid.type.js +2 -0
  369. package/lib/components/layoutGrid/src/layoutGrid.type.js.map +1 -0
  370. package/lib/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
  371. package/lib/components/layoutGrid/src/layoutGridItem.js +2 -0
  372. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -0
  373. package/lib/components/select/index.d.ts +22 -0
  374. package/lib/components/select/index.js +2 -0
  375. package/lib/components/select/index.js.map +1 -0
  376. package/lib/components/select/src/select.d.ts +1201 -0
  377. package/lib/components/select/src/select.js +2 -0
  378. package/lib/components/select/src/select.js.map +1 -0
  379. package/lib/components/select/src/select.type.d.ts +28 -0
  380. package/lib/components/select/src/select.type.js +2 -0
  381. package/lib/components/select/src/select.type.js.map +1 -0
  382. package/lib/components/select/src/selectOption.d.ts +99 -0
  383. package/lib/components/select/src/selectOption.js +2 -0
  384. package/lib/components/select/src/selectOption.js.map +1 -0
  385. package/lib/components/selectPage/index.d.ts +14 -0
  386. package/lib/components/selectPage/index.js +2 -0
  387. package/lib/components/selectPage/index.js.map +1 -0
  388. package/lib/components/selectPage/src/selectPage.d.ts +595 -0
  389. package/lib/components/selectPage/src/selectPage.js +2 -0
  390. package/lib/components/selectPage/src/selectPage.js.map +1 -0
  391. package/lib/components/selectV2/index.d.ts +14 -0
  392. package/lib/components/selectV2/index.js +2 -0
  393. package/lib/components/selectV2/index.js.map +1 -0
  394. package/lib/components/selectV2/src/selectV2.d.ts +1407 -0
  395. package/lib/components/selectV2/src/selectV2.js +2 -0
  396. package/lib/components/selectV2/src/selectV2.js.map +1 -0
  397. package/lib/components/table/images/artwork.png.js +2 -0
  398. package/lib/components/table/images/artwork.png.js.map +1 -0
  399. package/lib/components/table/images/index.d.ts +4 -0
  400. package/lib/components/table/images/notImage.png.js +2 -0
  401. package/lib/components/table/images/notImage.png.js.map +1 -0
  402. package/lib/components/table/index.d.ts +35 -0
  403. package/lib/components/table/index.js +2 -0
  404. package/lib/components/table/index.js.map +1 -0
  405. package/lib/components/table/src/page.type.d.ts +145 -0
  406. package/lib/components/table/src/page.type.js +2 -0
  407. package/lib/components/table/src/page.type.js.map +1 -0
  408. package/lib/components/table/src/table.d.ts +1382 -0
  409. package/lib/components/table/src/table.js +2 -0
  410. package/lib/components/table/src/table.js.map +1 -0
  411. package/lib/components/table/src/table.state.d.ts +115 -0
  412. package/lib/components/table/src/table.state.js +2 -0
  413. package/lib/components/table/src/table.state.js.map +1 -0
  414. package/lib/components/table/src/table.type.d.ts +316 -0
  415. package/lib/components/table/src/table.type.js +2 -0
  416. package/lib/components/table/src/table.type.js.map +1 -0
  417. package/lib/components/table/src/tableColumn.d.ts +644 -0
  418. package/lib/components/table/src/tableColumn.js +2 -0
  419. package/lib/components/table/src/tableColumn.js.map +1 -0
  420. package/lib/components/table/src/tableColumnSettingDialog.d.ts +18 -0
  421. package/lib/components/table/src/tableColumnSettingDialog.js +2 -0
  422. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -0
  423. package/lib/components/table/src/tablePagination.d.ts +24 -0
  424. package/lib/components/table/src/tablePagination.js +2 -0
  425. package/lib/components/table/src/tablePagination.js.map +1 -0
  426. package/lib/components/table/src/tableSearchForm.d.ts +88 -0
  427. package/lib/components/table/src/tableSearchForm.js +2 -0
  428. package/lib/components/table/src/tableSearchForm.js.map +1 -0
  429. package/lib/components/table/src/tableSearchFormItem.d.ts +37 -0
  430. package/lib/components/table/src/tableSearchFormItem.js +2 -0
  431. package/lib/components/table/src/tableSearchFormItem.js.map +1 -0
  432. package/lib/components/table/src/useTable.d.ts +32 -0
  433. package/lib/components/table/src/useTable.js +2 -0
  434. package/lib/components/table/src/useTable.js.map +1 -0
  435. package/lib/components/table/utils/table.d.ts +45 -0
  436. package/lib/components/table/utils/table.js +2 -0
  437. package/lib/components/table/utils/table.js.map +1 -0
  438. package/lib/components/tree/index.d.ts +15 -0
  439. package/lib/components/tree/index.js +2 -0
  440. package/lib/components/tree/index.js.map +1 -0
  441. package/lib/components/tree/src/tree.d.ts +668 -0
  442. package/lib/components/tree/src/tree.js +2 -0
  443. package/lib/components/tree/src/tree.js.map +1 -0
  444. package/lib/components/tree/src/tree.props.d.ts +81 -0
  445. package/lib/components/tree/src/tree.props.js +2 -0
  446. package/lib/components/tree/src/tree.props.js.map +1 -0
  447. package/lib/components/tree/src/tree.type.d.ts +36 -0
  448. package/lib/components/tree/src/tree.type.js +2 -0
  449. package/lib/components/tree/src/tree.type.js.map +1 -0
  450. package/lib/components/treeSelect/index.d.ts +14 -0
  451. package/lib/components/treeSelect/index.js +2 -0
  452. package/lib/components/treeSelect/index.js.map +1 -0
  453. package/lib/components/treeSelect/src/treeSelect.d.ts +1063 -0
  454. package/lib/components/treeSelect/src/treeSelect.js +2 -0
  455. package/lib/components/treeSelect/src/treeSelect.js.map +1 -0
  456. package/lib/components/upload/index.d.ts +15 -0
  457. package/lib/components/upload/index.js +2 -0
  458. package/lib/components/upload/index.js.map +1 -0
  459. package/lib/components/upload/src/upload.d.ts +525 -0
  460. package/lib/components/upload/src/upload.js +2 -0
  461. package/lib/components/upload/src/upload.js.map +1 -0
  462. package/lib/components/upload/src/useUpload.d.ts +65 -0
  463. package/lib/components/upload/src/useUpload.js +2 -0
  464. package/lib/components/upload/src/useUpload.js.map +1 -0
  465. package/lib/components/upload/utils/upload.d.ts +30 -0
  466. package/lib/components/upload/utils/upload.js +2 -0
  467. package/lib/components/upload/utils/upload.js.map +1 -0
  468. package/lib/components/uploadImage/index.d.ts +14 -0
  469. package/lib/components/uploadImage/index.js +2 -0
  470. package/lib/components/uploadImage/index.js.map +1 -0
  471. package/lib/components/uploadImage/src/uploadImage.d.ts +575 -0
  472. package/lib/components/uploadImage/src/uploadImage.js +2 -0
  473. package/lib/components/uploadImage/src/uploadImage.js.map +1 -0
  474. package/lib/components/uploadImages/index.d.ts +14 -0
  475. package/lib/components/uploadImages/index.js +2 -0
  476. package/lib/components/uploadImages/index.js.map +1 -0
  477. package/lib/components/uploadImages/src/uploadImages.d.ts +544 -0
  478. package/lib/components/uploadImages/src/uploadImages.js +2 -0
  479. package/lib/components/uploadImages/src/uploadImages.js.map +1 -0
  480. package/lib/constants/index.d.ts +2 -0
  481. package/lib/constants/index.js +2 -0
  482. package/lib/constants/index.js.map +1 -0
  483. package/lib/constants/mime.d.ts +61 -0
  484. package/lib/constants/mime.js +2 -0
  485. package/lib/constants/mime.js.map +1 -0
  486. package/lib/constants/regex.d.ts +78 -0
  487. package/lib/constants/regex.js +2 -0
  488. package/lib/constants/regex.js.map +1 -0
  489. package/lib/directive.d.ts +2 -0
  490. package/lib/directive.js +2 -0
  491. package/lib/directive.js.map +1 -0
  492. package/lib/directives/click-copy/index.d.ts +2 -0
  493. package/lib/directives/click-copy/index.js +2 -0
  494. package/lib/directives/click-copy/index.js.map +1 -0
  495. package/lib/directives/click-debounce/index.d.ts +2 -0
  496. package/lib/directives/click-debounce/index.js +2 -0
  497. package/lib/directives/click-debounce/index.js.map +1 -0
  498. package/lib/directives/click-draggable/index.d.ts +2 -0
  499. package/lib/directives/click-draggable/index.js +2 -0
  500. package/lib/directives/click-draggable/index.js.map +1 -0
  501. package/lib/directives/click-icon-copy/index.d.ts +2 -0
  502. package/lib/directives/click-icon-copy/index.js +2 -0
  503. package/lib/directives/click-icon-copy/index.js.map +1 -0
  504. package/lib/directives/click-longpress/index.d.ts +2 -0
  505. package/lib/directives/click-longpress/index.js +2 -0
  506. package/lib/directives/click-longpress/index.js.map +1 -0
  507. package/lib/directives/click-throttle/index.d.ts +2 -0
  508. package/lib/directives/click-throttle/index.js +2 -0
  509. package/lib/directives/click-throttle/index.js.map +1 -0
  510. package/lib/directives/index.d.ts +6 -0
  511. package/lib/directives/index.js +2 -0
  512. package/lib/directives/index.js.map +1 -0
  513. package/lib/element-plus.d.ts +2 -0
  514. package/lib/element-plus.js +2 -0
  515. package/lib/element-plus.js.map +1 -0
  516. package/lib/hooks/index.d.ts +3 -0
  517. package/lib/hooks/index.js +2 -0
  518. package/lib/hooks/index.js.map +1 -0
  519. package/lib/hooks/use-loading/index.d.ts +4 -0
  520. package/lib/hooks/use-loading/index.js +2 -0
  521. package/lib/hooks/use-loading/index.js.map +1 -0
  522. package/lib/hooks/use-overlay/index.d.ts +4 -0
  523. package/lib/hooks/use-overlay/index.js +2 -0
  524. package/lib/hooks/use-overlay/index.js.map +1 -0
  525. package/lib/hooks/use-screenFull/index.d.ts +7 -0
  526. package/lib/hooks/use-screenFull/index.js +2 -0
  527. package/lib/hooks/use-screenFull/index.js.map +1 -0
  528. package/lib/index.d.ts +14 -0
  529. package/lib/index.es.d.ts +6 -0
  530. package/lib/index.js +2 -0
  531. package/lib/index.js.map +1 -0
  532. package/lib/make-installer.d.ts +6 -0
  533. package/lib/make-installer.js +2 -0
  534. package/lib/make-installer.js.map +1 -0
  535. package/lib/version.d.ts +1 -0
  536. package/lib/version.js +2 -0
  537. package/lib/version.js.map +1 -0
  538. package/package.json +139 -26
  539. package/styles/common/animation.scss +46 -0
  540. package/styles/common/common.scss +44 -0
  541. package/styles/common/loading.scss +29 -0
  542. package/styles/common/overlay.scss +12 -0
  543. package/styles/components/carNumber.scss +44 -0
  544. package/styles/components/contextMenu.scss +34 -0
  545. package/styles/components/dialog.scss +88 -0
  546. package/styles/components/drawer.scss +87 -0
  547. package/styles/components/form.scss +44 -0
  548. package/styles/components/formItemTip.scss +7 -0
  549. package/styles/components/image.scss +19 -0
  550. package/styles/components/selectPage.scss +74 -0
  551. package/styles/components/selectV2.scss +22 -0
  552. package/styles/components/table.scss +439 -0
  553. package/styles/components/tree.scss +100 -0
  554. package/styles/components/uploadImage.scss +61 -0
  555. package/styles/components/uploadImages.scss +9 -0
  556. package/styles/index.scss +18 -0
  557. package/types/components.d.ts +36 -0
  558. package/types/env.d.ts +17 -0
@@ -0,0 +1,492 @@
1
+ import { defineComponent, reactive, ref, watch, onMounted, createVNode, mergeProps, computed } from "vue";
2
+ import { ElTreeSelect } from "element-plus";
3
+ import { SelectProps } from "../../select/src/select.mjs";
4
+ import { treeProps } from "../../tree/src/tree.props.mjs";
5
+ import { definePropType, withDefineType, consoleError, useProps, useRender, addUnit, useExpose, makeSlots } from "@fast-china/utils";
6
+ import { useVModel } from "@vueuse/core";
7
+ import { isObject, isString, isBoolean, isNumber, isArray, isNull, isFunction, isNil, isEqual } from "lodash-unified";
8
+ const faTreeSelectProps = {
9
+ ...SelectProps,
10
+ ...treeProps,
11
+ /** @description displayed text while loading data from server, default is 'Loading' */
12
+ loadingText: {
13
+ type: String,
14
+ default: "加载中..."
15
+ },
16
+ /** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */
17
+ noMatchText: {
18
+ type: String,
19
+ default: "暂无匹配的数据"
20
+ },
21
+ /** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */
22
+ noDataText: {
23
+ type: String,
24
+ default: "暂无数据"
25
+ },
26
+ /** @description whether to collapse tags to a text when multiple selecting */
27
+ collapseTags: {
28
+ type: Boolean,
29
+ default: true
30
+ },
31
+ /** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */
32
+ collapseTagsTooltip: {
33
+ type: Boolean,
34
+ default: true
35
+ },
36
+ /** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */
37
+ nodeKey: {
38
+ type: String,
39
+ default: "value"
40
+ },
41
+ /** @description 是否默认展开所有节点 */
42
+ defaultExpandAll: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ /** @description 是否在点击节点的时候选中节点 */
47
+ checkOnClickNode: {
48
+ type: Boolean,
49
+ default: true
50
+ },
51
+ /** @description 是否高亮当前选中节点 */
52
+ highlightCurrent: {
53
+ type: Boolean,
54
+ default: true
55
+ },
56
+ /** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */
57
+ expandOnClickNode: Boolean,
58
+ /** @description 点击折叠节点,需要开启 'expandOnClickNode' */
59
+ collapseOnClickNode: Boolean,
60
+ /**
61
+ * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签
62
+ * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data
63
+ */
64
+ cacheData: {
65
+ type: Array,
66
+ default: () => []
67
+ },
68
+ /** @description v-model绑定值 */
69
+ modelValue: {
70
+ type: definePropType([String, Number, Boolean, Object, Array]),
71
+ default: void 0
72
+ },
73
+ /** @description v-model:label绑定值 */
74
+ label: definePropType([String, Array]),
75
+ /** @description 宽度 */
76
+ width: {
77
+ type: [String, Number],
78
+ default: "100%"
79
+ },
80
+ /** @description 更多细节,只有使用slot的时候有用 */
81
+ moreDetail: Boolean,
82
+ /** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/
83
+ lazy: {
84
+ type: Boolean,
85
+ default: true
86
+ },
87
+ /** @description 默认选中。不能和懒加载一起使用 */
88
+ defaultSelected: Boolean,
89
+ /** @description 配置选项 */
90
+ props: {
91
+ type: definePropType(Object),
92
+ default: () => ({
93
+ label: "label",
94
+ hide: "hide",
95
+ disabled: "disabled",
96
+ children: "children"
97
+ })
98
+ },
99
+ /** @description 下拉框数据 */
100
+ data: {
101
+ type: definePropType(Array),
102
+ default: () => []
103
+ },
104
+ /** @description 请求api */
105
+ requestApi: {
106
+ type: definePropType(Function)
107
+ },
108
+ /** 初始化参数 */
109
+ initParam: definePropType([String, Number, Object])
110
+ };
111
+ const faTreeSelectEmits = {
112
+ /** @description v-model 回调 */
113
+ "update:modelValue": (value) => isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),
114
+ /** @description v-model:label 回调 */
115
+ "update:label": (value) => isString(value) || isArray(value) || isNull(value),
116
+ /** @description 数据改变 */
117
+ dataChangeCallBack: (data) => isArray(data),
118
+ /** @description 改变 */
119
+ change: (data, value) => (isObject(data) || isArray(data) || isNull(data)) && (isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),
120
+ /** @description 下拉框出现/隐藏时触发 */
121
+ visibleChange: (visible) => isBoolean(visible),
122
+ /** @description 多选模式下移除tag时触发 */
123
+ removeTag: (tagValue) => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),
124
+ /** @description 可清空的单选模式下用户点击清空按钮时触发 */
125
+ clear: () => true,
126
+ /** @description 当 input 失去焦点时触发 */
127
+ blur: (event) => event instanceof FocusEvent,
128
+ /** @description 当 input 获得焦点时触发 */
129
+ focus: (event) => event instanceof FocusEvent,
130
+ /** @description 当节点被点击的时候触发 */
131
+ nodeClick: (data, node, instance) => isObject(data) && isObject(node) && isObject(instance),
132
+ /** @description 当某一节点被鼠标右键点击时会触发该事件 */
133
+ nodeContextmenu: (event, data, node, instance) => event instanceof Event && isObject(data) && isObject(node) && isObject(instance),
134
+ /** @description 当复选框被点击的时候触发 */
135
+ checkChange: (data, checked, indeterminate) => isObject(data) && isBoolean(checked) && isBoolean(indeterminate),
136
+ /** @description 点击节点复选框之后触发 */
137
+ check: (data, node) => isObject(data) && isObject(node),
138
+ /** @description 当前选中节点变化时触发的事件 */
139
+ currentChange: (data, node) => isObject(data) && isObject(node),
140
+ /** @description 节点被展开时触发的事件 */
141
+ nodeExpand: (data, node, instance) => isObject(data) && isObject(node) && isObject(instance),
142
+ /** @description 节点被关闭时触发的事件 */
143
+ nodeCollapse: (data, node, instance) => isObject(data) && isObject(node) && isObject(instance),
144
+ /** @description 节点开始拖拽时触发的事件 */
145
+ nodeDragStart: (node, event) => isObject(node) && event instanceof DragEvent,
146
+ /** @description 拖拽进入其他节点时触发的事件 */
147
+ nodeDragEnter: (node, enterNode, event) => isObject(node) && isObject(enterNode) && event instanceof DragEvent,
148
+ /** @description 拖拽离开某个节点时触发的事件 */
149
+ nodeDragLeave: (node, leaveNode, event) => isObject(node) && isObject(leaveNode) && event instanceof DragEvent,
150
+ /** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */
151
+ nodeDragOver: (node, dropNode, event) => isObject(node) && isObject(dropNode) && event instanceof DragEvent,
152
+ /** @description 拖拽结束时(可能未成功)触发的事件 */
153
+ nodeDragEnd: (node, dropNode, dropType, event) => isObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,
154
+ /** @description 拖拽成功完成时触发的事件 */
155
+ nodeDrop: (node, dropNode, dropType, event) => isObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent
156
+ };
157
+ const TreeSelect = /* @__PURE__ */ defineComponent({
158
+ name: "FaTreeSelect",
159
+ props: faTreeSelectProps,
160
+ emits: faTreeSelectEmits,
161
+ slots: makeSlots(),
162
+ setup(props, {
163
+ attrs,
164
+ slots,
165
+ emit,
166
+ expose
167
+ }) {
168
+ const selectedLabel = useVModel(props, "label", emit, {
169
+ passive: true
170
+ });
171
+ const state = reactive({
172
+ value: withDefineType(),
173
+ loading: false,
174
+ selectorData: withDefineType([]),
175
+ /** 首次出现 */
176
+ debut: true,
177
+ /** 回显 */
178
+ echo: props.data?.length > 0 ? false : true,
179
+ /** 下次刷新 */
180
+ nextRefresh: false
181
+ });
182
+ const treeSelectRef = ref();
183
+ const handleData = (data) => {
184
+ return data?.map((m) => ({
185
+ ...m,
186
+ value: m[props.nodeKey],
187
+ label: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? "label"],
188
+ hide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? "hide"],
189
+ disabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? "disabled"],
190
+ children: isFunction(props.props.children) ? handleData(props.props.children(m)) : handleData(m[props.props.children ?? "children"])
191
+ })).filter((f) => !f.hide);
192
+ };
193
+ const loadData = async () => {
194
+ if (props.requestApi) {
195
+ state.loading = true;
196
+ const params = props.initParam ?? {};
197
+ try {
198
+ const resData = await props.requestApi(params);
199
+ state.echo = false;
200
+ state.selectorData = handleData(resData);
201
+ emit("dataChangeCallBack", state.selectorData);
202
+ } catch (error) {
203
+ consoleError("FaTreeSelect", error);
204
+ state.selectorData = [];
205
+ } finally {
206
+ state.loading = false;
207
+ }
208
+ } else {
209
+ state.echo = false;
210
+ state.selectorData = handleData(props.data);
211
+ }
212
+ };
213
+ const handleFilterNode = (value, data, child) => {
214
+ if (!value) return true;
215
+ let parentNode = child.parent, labels = [child.label], level = 1;
216
+ while (level < child.level) {
217
+ labels = [...labels, parentNode.label];
218
+ parentNode = parentNode.parent;
219
+ level++;
220
+ }
221
+ const result = labels.some((label) => label.indexOf(value) !== -1);
222
+ if (props.filterNodeMethod) {
223
+ return result && props.filterNodeMethod(value, data, child);
224
+ }
225
+ return result;
226
+ };
227
+ const handleChange = (value, data) => {
228
+ if (props.multiple) {
229
+ const valueArr = value;
230
+ if (valueArr?.length === 0) {
231
+ state.value = null;
232
+ selectedLabel.value = null;
233
+ emit("update:modelValue", null);
234
+ emit("change", null, null);
235
+ return;
236
+ }
237
+ const dataList = state.selectorData.filter((f) => valueArr.includes(f.value));
238
+ state.value = value;
239
+ selectedLabel.value = dataList.map((m) => m.label);
240
+ emit("update:modelValue", value);
241
+ emit("change", dataList, value);
242
+ } else {
243
+ if (isNil(value)) {
244
+ state.value = null;
245
+ selectedLabel.value = null;
246
+ emit("update:modelValue", null);
247
+ emit("change", null, null);
248
+ return;
249
+ }
250
+ data ??= state.selectorData.find((f) => f.value === value);
251
+ state.value = value;
252
+ selectedLabel.value = data.label;
253
+ emit("update:modelValue", value);
254
+ emit("change", data, value);
255
+ }
256
+ };
257
+ const handleClear = () => {
258
+ state.value = null;
259
+ selectedLabel.value = null;
260
+ emit("clear");
261
+ };
262
+ const handleNodeClick = (data, node, instance, event) => {
263
+ if (props.expandOnClickNode) {
264
+ if (!node.expanded) {
265
+ node.expand();
266
+ } else if (node.expanded && props.collapseOnClickNode) {
267
+ node.collapse();
268
+ }
269
+ }
270
+ if (props.checkStrictly) {
271
+ handleChange(data.value, data);
272
+ } else {
273
+ if (node.isLeaf) {
274
+ handleChange(data.value, data);
275
+ }
276
+ }
277
+ emit("nodeClick", data, node, instance);
278
+ };
279
+ const handleVisibleChange = async (visible) => {
280
+ if (visible) {
281
+ if (state.debut) {
282
+ state.debut = false;
283
+ props.lazy && await loadData();
284
+ } else {
285
+ if (state.nextRefresh) {
286
+ state.nextRefresh = false;
287
+ await loadData();
288
+ }
289
+ }
290
+ }
291
+ emit("visibleChange", visible);
292
+ };
293
+ watch(() => props.modelValue, (newValue) => {
294
+ if (state.echo && !isNil(newValue)) {
295
+ const hasLabel = !isNil(props.label);
296
+ if (props.multiple) {
297
+ if (!isArray(newValue)) {
298
+ consoleError("FaTreeSelect", "当启用 multiple 时,传入的 modelValue 必须是Array。");
299
+ return;
300
+ }
301
+ if (hasLabel && !isArray(props.label)) {
302
+ consoleError("FaTreeSelect", "当启用 multiple 时,传入的 modelValue:label 必须是Array。");
303
+ return;
304
+ }
305
+ state.selectorData = newValue.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length).map((item, index) => ({
306
+ value: item,
307
+ label: hasLabel ? props.label[index] : void 0
308
+ }));
309
+ } else {
310
+ if (isArray(newValue)) {
311
+ consoleError("FaTreeSelect", "当禁用 multiple 时,传入的 modelValue 不能是Array。");
312
+ return;
313
+ }
314
+ if (hasLabel && isArray(props.label)) {
315
+ consoleError("FaTreeSelect", "当禁用 multiple 时,传入的 modelValue:label 不能是Array。");
316
+ return;
317
+ }
318
+ state.selectorData = [{
319
+ value: newValue,
320
+ label: props.label
321
+ }];
322
+ }
323
+ }
324
+ state.value = newValue;
325
+ }, {
326
+ immediate: true
327
+ });
328
+ onMounted(async () => {
329
+ if (props.defaultSelected) {
330
+ await loadData();
331
+ if (state.selectorData.length > 0) {
332
+ if (props.multiple) {
333
+ handleChange([state.selectorData[0].value]);
334
+ } else {
335
+ handleChange(state.selectorData[0].value, state.selectorData[0]);
336
+ }
337
+ }
338
+ } else if (!props.requestApi && props.data?.length > 0) {
339
+ state.debut = false;
340
+ await loadData();
341
+ } else if (!props.lazy) {
342
+ await loadData();
343
+ }
344
+ watch(() => props.initParam, (newValue, oldValue) => {
345
+ if (!isEqual(newValue, oldValue)) {
346
+ state.nextRefresh = true;
347
+ if (!isNil(state.value)) {
348
+ handleChange();
349
+ }
350
+ }
351
+ });
352
+ watch(() => props.data, async () => {
353
+ if (!props.requestApi) {
354
+ await loadData();
355
+ }
356
+ }, {
357
+ deep: true
358
+ });
359
+ });
360
+ const elTreeSelectProps = useProps(props, {
361
+ ...SelectProps,
362
+ ...treeProps
363
+ }, ["modelValue", "popperClass", "loading", "expandOnClickNode", "filterNodeMethod"]);
364
+ useRender(() => createVNode(ElTreeSelect, mergeProps(elTreeSelectProps.value, {
365
+ "ref": treeSelectRef,
366
+ "class": "fa-tree-select",
367
+ "popperClass": `fa-tree-select-dropdown ${props.popperClass}`,
368
+ "style": {
369
+ width: addUnit(props.width)
370
+ },
371
+ "modelValue": state.value,
372
+ "onUpdate:modelValue": ($event) => state.value = $event,
373
+ "loading": state.loading,
374
+ "data": state.selectorData,
375
+ "expandOnClickNode": props.checkOnClickNode ? false : props.expandOnClickNode,
376
+ "filterNodeMethod": handleFilterNode,
377
+ "onNodeClick": handleNodeClick,
378
+ "onClear": handleClear,
379
+ "onVisibleChange": handleVisibleChange,
380
+ "onRemoveTag": (tagValue) => emit("removeTag", tagValue),
381
+ "onBlur": (event) => emit("blur", event),
382
+ "onFocus": (event) => emit("focus", event),
383
+ "onNodeContextmenu": (event, data, node, instance) => emit("nodeContextmenu", event, data, node, instance),
384
+ "onCheckChange": (data, checked, indeterminate) => emit("checkChange", data, checked, indeterminate),
385
+ "onCheck": (data, node) => emit("check", data, node),
386
+ "onCurrentChange": (data, node) => emit("currentChange", data, node),
387
+ "onNodeExpand": (data, node, instance) => emit("nodeExpand", data, node, instance),
388
+ "onNodeCollapse": (data, node, instance) => emit("nodeCollapse", data, node, instance),
389
+ "onNodeDragStart": (node, event) => emit("nodeDragStart", node, event),
390
+ "onNodeDragEnter": (node, enterNode, event) => emit("nodeDragEnter", node, enterNode, event),
391
+ "onNodeDragLeave": (node, leaveNode, event) => emit("nodeDragLeave", node, leaveNode, event),
392
+ "onNodeDragOver": (node, dropNode, event) => emit("nodeDragOver", node, dropNode, event),
393
+ "onNodeDragEnd": (node, dropNode, dropType, event) => emit("nodeDragEnd", node, dropNode, dropType, event),
394
+ "onNodeDrop": (node, dropNode, dropType, event) => emit("nodeDrop", node, dropNode, dropType, event)
395
+ }), {
396
+ ...slots.default && {
397
+ default: ({
398
+ node,
399
+ data
400
+ }) => slots.default({
401
+ node,
402
+ data
403
+ })
404
+ },
405
+ ...slots.header && {
406
+ header: () => slots.header()
407
+ },
408
+ ...slots.footer && {
409
+ footer: () => slots.footer()
410
+ },
411
+ ...slots.prefix && {
412
+ prefix: () => slots.prefix()
413
+ },
414
+ ...slots.empty && {
415
+ empty: () => slots.empty()
416
+ },
417
+ ...slots.tag && {
418
+ tag: () => slots.tag()
419
+ },
420
+ ...slots.loading && {
421
+ loading: () => slots.loading()
422
+ },
423
+ ...slots.label && {
424
+ label: ({
425
+ label,
426
+ value
427
+ }) => slots.label({
428
+ label,
429
+ value
430
+ })
431
+ }
432
+ }));
433
+ return useExpose(expose, {
434
+ /** @description 使选择器的输入框获取焦点 */
435
+ focus: computed(() => treeSelectRef.value?.focus),
436
+ /** @description 使选择器的输入框失去焦点,并隐藏下拉框 */
437
+ blur: computed(() => treeSelectRef.value?.blur),
438
+ /** @description 获取当前选中的标签 */
439
+ selectedLabel: computed(() => treeSelectRef.value?.selectedLabel),
440
+ /** @description 过滤所有树节点,过滤后的节点将被隐藏 */
441
+ filter: computed(() => treeSelectRef.value?.filter),
442
+ /** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */
443
+ updateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),
444
+ /** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */
445
+ getCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),
446
+ /** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */
447
+ setCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),
448
+ /** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */
449
+ getCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),
450
+ /** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */
451
+ setCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),
452
+ /** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */
453
+ setChecked: computed(() => treeSelectRef.value?.setChecked),
454
+ /** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */
455
+ getHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),
456
+ /** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */
457
+ getHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),
458
+ /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */
459
+ getCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),
460
+ /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */
461
+ getCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),
462
+ /** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */
463
+ setCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),
464
+ /** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */
465
+ setCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),
466
+ /** @description 根据 data 或者 key 拿到 Tree 组件中的 node */
467
+ getNode: computed(() => treeSelectRef.value?.getNode),
468
+ /** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */
469
+ remove: computed(() => treeSelectRef.value?.remove),
470
+ /** @description 为 Tree 中的一个节点追加一个子节点 */
471
+ append: computed(() => treeSelectRef.value?.append),
472
+ /** @description 在 Tree 中给定节点前插入一个节点 */
473
+ insertBefore: computed(() => treeSelectRef.value?.insertBefore),
474
+ /** @description 在 Tree 中给定节点后插入一个节点 */
475
+ insertAfter: computed(() => treeSelectRef.value?.insertAfter),
476
+ /** @description 加载状态 */
477
+ loading: computed(() => state.loading),
478
+ /** @description 刷新 */
479
+ refresh: loadData,
480
+ /** @description 设置选择 */
481
+ setSelection: (value) => handleChange(value),
482
+ /** @description 清除选择 */
483
+ clearSelection: () => handleChange(null)
484
+ });
485
+ }
486
+ });
487
+ export {
488
+ TreeSelect as default,
489
+ faTreeSelectEmits,
490
+ faTreeSelectProps
491
+ };
492
+ //# sourceMappingURL=treeSelect.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeSelect.mjs","sources":["../../../../../packages/components/treeSelect/src/treeSelect.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElTreeSelect } from \"element-plus\";\nimport { type SelectComponentProps, SelectProps } from \"@fast-element-plus/components/select/src/select\";\nimport { treeProps } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select\";\nimport type { FilterValue, NodeDropType, TreeKey, TreeNodeData } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeSelectProps = {\n\t...SelectProps,\n\t...treeProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */\n\texpandOnClickNode: Boolean,\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\n\t/**\n\t * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签\n\t * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n\t */\n\tcacheData: {\n\t\ttype: Array,\n\t\tdefault: (): [] => [],\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[] | any[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] | any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[] | any[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeSelectEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\n\t/** @description 当节点被点击的时候触发 */\n\tnodeClick: (data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当某一节点被鼠标右键点击时会触发该事件 */\n\tnodeContextmenu: (event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tevent instanceof Event && isObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当复选框被点击的时候触发 */\n\tcheckChange: (data: ElSelectorOutput, checked: boolean, indeterminate: boolean): boolean =>\n\t\tisObject(data) && isBoolean(checked) && isBoolean(indeterminate),\n\t/** @description 点击节点复选框之后触发 */\n\tcheck: (\n\t\tdata: ElSelectorOutput,\n\t\tnode: {\n\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\tcheckedKeys: TreeKey[];\n\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\thalfCheckedKeys: TreeKey[];\n\t\t}\n\t): boolean => isObject(data) && isObject(node),\n\t/** @description 当前选中节点变化时触发的事件 */\n\tcurrentChange: (data: ElSelectorOutput, node: any): boolean => isObject(data) && isObject(node),\n\t/** @description 节点被展开时触发的事件 */\n\tnodeExpand: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点被关闭时触发的事件 */\n\tnodeCollapse: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点开始拖拽时触发的事件 */\n\tnodeDragStart: (node: any, event: DragEvent): boolean => isObject(node) && event instanceof DragEvent,\n\t/** @description 拖拽进入其他节点时触发的事件 */\n\tnodeDragEnter: (node: any, enterNode: any, event: DragEvent): boolean => isObject(node) && isObject(enterNode) && event instanceof DragEvent,\n\t/** @description 拖拽离开某个节点时触发的事件 */\n\tnodeDragLeave: (node: any, leaveNode: any, event: DragEvent): boolean => isObject(node) && isObject(leaveNode) && event instanceof DragEvent,\n\t/** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */\n\tnodeDragOver: (node: any, dropNode: any, event: DragEvent): boolean => isObject(node) && isObject(dropNode) && event instanceof DragEvent,\n\t/** @description 拖拽结束时(可能未成功)触发的事件 */\n\tnodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n\t/** @description 拖拽成功完成时触发的事件 */\n\tnodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n};\n\ntype FaTreeSelectSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElSelectorOutput };\n\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaTreeSelect\",\n\tprops: faTreeSelectProps,\n\temits: faTreeSelectEmits,\n\tslots: makeSlots<FaTreeSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst treeSelectRef = ref<InstanceType<typeof ElTreeSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[] | any[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.nodeKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTreeSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[], data?: ElSelectorOutput): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata ??= state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleNodeClick = (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否开启了 checkStrictly\n\t\t\tif (props.checkStrictly) {\n\t\t\t\thandleChange(data.value, data);\n\t\t\t} else {\n\t\t\t\tif (node.isLeaf) {\n\t\t\t\t\thandleChange(data.value, data);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"nodeClick\", data, node, instance);\n\t\t};\n\n\t\t/**\n\t\t * 下拉框出现/隐藏时触发\n\t\t */\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\tprops.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\thandleChange([state.selectorData[0].value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleChange(state.selectorData[0].value, state.selectorData[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elTreeSelectProps = useProps(props, { ...SelectProps, ...treeProps }, [\n\t\t\t\"modelValue\",\n\t\t\t\"popperClass\",\n\t\t\t\"loading\",\n\t\t\t\"expandOnClickNode\",\n\t\t\t\"filterNodeMethod\",\n\t\t]);\n\n\t\tuseRender(() => (\n\t\t\t<ElTreeSelect\n\t\t\t\t{...elTreeSelectProps.value}\n\t\t\t\tref={treeSelectRef}\n\t\t\t\tclass=\"fa-tree-select\"\n\t\t\t\tpopperClass={`fa-tree-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tdata={state.selectorData}\n\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\tonNodeClick={handleNodeClick}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t\tonNodeContextmenu={(event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeContextmenu\", event, data, node, instance)\n\t\t\t\t}\n\t\t\t\tonCheckChange={(data: ElSelectorOutput, checked: boolean, indeterminate: boolean) =>\n\t\t\t\t\temit(\"checkChange\", data, checked, indeterminate)\n\t\t\t\t}\n\t\t\t\tonCheck={(\n\t\t\t\t\tdata: ElSelectorOutput,\n\t\t\t\t\tnode: {\n\t\t\t\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\tcheckedKeys: TreeKey[];\n\t\t\t\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\thalfCheckedKeys: TreeKey[];\n\t\t\t\t\t}\n\t\t\t\t) => emit(\"check\", data, node)}\n\t\t\t\tonCurrentChange={(data: ElSelectorOutput, node: any) => emit(\"currentChange\", data, node)}\n\t\t\t\tonNodeExpand={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) => emit(\"nodeExpand\", data, node, instance)}\n\t\t\t\tonNodeCollapse={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeCollapse\", data, node, instance)\n\t\t\t\t}\n\t\t\t\tonNodeDragStart={(node: any, event: DragEvent) => emit(\"nodeDragStart\", node, event)}\n\t\t\t\tonNodeDragEnter={(node: any, enterNode: any, event: DragEvent) => emit(\"nodeDragEnter\", node, enterNode, event)}\n\t\t\t\tonNodeDragLeave={(node: any, leaveNode: any, event: DragEvent) => emit(\"nodeDragLeave\", node, leaveNode, event)}\n\t\t\t\tonNodeDragOver={(node: any, dropNode: any, event: DragEvent) => emit(\"nodeDragOver\", node, dropNode, event)}\n\t\t\t\tonNodeDragEnd={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) =>\n\t\t\t\t\temit(\"nodeDragEnd\", node, dropNode, dropType, event)\n\t\t\t\t}\n\t\t\t\tonNodeDrop={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => emit(\"nodeDrop\", node, dropNode, dropType, event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ node, data }: { node: any; data: ElSelectorOutput }): VNode[] => slots.default({ node, data }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElTreeSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => treeSelectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => treeSelectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => treeSelectRef.value?.selectedLabel),\n\n\t\t\t/** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\tfilter: computed(() => treeSelectRef.value?.filter),\n\t\t\t/** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\tupdateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),\n\t\t\t/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\tgetCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),\n\t\t\t/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\tsetCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),\n\t\t\t/** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\tgetCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),\n\t\t\t/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),\n\t\t\t/** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\tsetChecked: computed(() => treeSelectRef.value?.setChecked),\n\t\t\t/** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\tgetHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),\n\t\t\t/** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\tgetHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),\n\t\t\t/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),\n\t\t\t/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),\n\t\t\t/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\tgetNode: computed(() => treeSelectRef.value?.getNode),\n\t\t\t/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\tremove: computed(() => treeSelectRef.value?.remove),\n\t\t\t/** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\tappend: computed(() => treeSelectRef.value?.append),\n\t\t\t/** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\tinsertBefore: computed(() => treeSelectRef.value?.insertBefore),\n\t\t\t/** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\tinsertAfter: computed(() => treeSelectRef.value?.insertAfter),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["faTreeSelectProps","SelectProps","treeProps","loadingText","type","String","default","noMatchText","noDataText","collapseTags","Boolean","collapseTagsTooltip","nodeKey","defaultExpandAll","checkOnClickNode","highlightCurrent","expandOnClickNode","collapseOnClickNode","cacheData","Array","modelValue","definePropType","Number","Object","undefined","label","width","moreDetail","lazy","defaultSelected","props","hide","disabled","children","data","requestApi","Function","initParam","faTreeSelectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","nodeClick","node","instance","nodeContextmenu","Event","checkChange","checked","indeterminate","check","currentChange","nodeExpand","nodeCollapse","nodeDragStart","DragEvent","nodeDragEnter","enterNode","nodeDragLeave","leaveNode","nodeDragOver","dropNode","nodeDragEnd","dropType","nodeDrop","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","loading","selectorData","debut","echo","length","nextRefresh","treeSelectRef","ref","handleData","map","m","isFunction","filter","f","loadData","params","resData","error","consoleError","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleChange","multiple","valueArr","dataList","includes","isNil","find","handleClear","handleNodeClick","expanded","expand","collapse","checkStrictly","isLeaf","handleVisibleChange","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","deep","elTreeSelectProps","useProps","useRender","_createVNode","ElTreeSelect","_mergeProps","popperClass","addUnit","$event","onNodeContextmenu","onCheckChange","onCheck","onCurrentChange","onNodeExpand","onNodeCollapse","onNodeDragStart","onNodeDragEnter","onNodeDragLeave","onNodeDragOver","onNodeDragEnd","onNodeDrop","header","footer","prefix","empty","tag","useExpose","computed","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter","refresh","setSelection","clearSelection"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { TSXWithInstall } from "@fast-china/utils";
2
+ import { faUploadEmits, faUploadProps } from "./src/upload";
3
+ import type { default as Upload } from "./src/upload";
4
+ import type { ExtractPropTypes } from "vue";
5
+
6
+ export declare const FaUpload: TSXWithInstall<typeof Upload>;
7
+ export default FaUpload;
8
+
9
+ export { faUploadProps, faUploadEmits };
10
+
11
+ export type FaUploadInstance = InstanceType<typeof Upload>;
12
+
13
+ export type FaUploadProps = ExtractPropTypes<typeof faUploadProps>;
14
+
15
+ export type FaUploadEmits = typeof faUploadEmits;
@@ -0,0 +1,11 @@
1
+ import { withInstall } from "@fast-china/utils";
2
+ import Upload from "./src/upload.mjs";
3
+ import { faUploadEmits, faUploadProps } from "./src/upload.mjs";
4
+ const FaUpload = withInstall(Upload);
5
+ export {
6
+ FaUpload,
7
+ FaUpload as default,
8
+ faUploadEmits,
9
+ faUploadProps
10
+ };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../packages/components/upload/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Upload, { faUploadEmits, faUploadProps } from \"./src/upload\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaUpload = withInstall(Upload);\nexport default FaUpload;\n\nexport { faUploadProps, faUploadEmits };\n\nexport type FaUploadInstance = InstanceType<typeof Upload>;\n\nexport type FaUploadProps = ExtractPropTypes<typeof faUploadProps>;\n\nexport type FaUploadEmits = typeof faUploadEmits;\n"],"names":[],"mappings":";;;AAIO,MAAM,WAAW,YAAY,MAAM;"}