fast-element-plus 1.0.19 → 1.0.21

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 (417) hide show
  1. package/dist/index.full.js +27739 -28663
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +11042 -2
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +11033 -2
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +27730 -28661
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +3 -3
  10. package/es/_virtual/_rolldown/runtime.mjs +1 -0
  11. package/es/component.mjs +2 -2
  12. package/es/component.mjs.map +1 -1
  13. package/es/components/avatar/index.mjs +2 -2
  14. package/es/components/avatar/index.mjs.map +1 -1
  15. package/es/components/avatar/src/avatar.d.ts +10 -10
  16. package/es/components/avatar/src/avatar.mjs +2 -2
  17. package/es/components/avatar/src/avatar.mjs.map +1 -1
  18. package/es/components/button/index.mjs +2 -2
  19. package/es/components/button/index.mjs.map +1 -1
  20. package/es/components/button/src/button.d.ts +21 -17
  21. package/es/components/button/src/button.mjs +2 -2
  22. package/es/components/button/src/button.mjs.map +1 -1
  23. package/es/components/carNumber/index.mjs +2 -2
  24. package/es/components/carNumber/index.mjs.map +1 -1
  25. package/es/components/carNumber/src/carNumber.d.ts +36 -33
  26. package/es/components/carNumber/src/carNumber.mjs +2 -2
  27. package/es/components/carNumber/src/carNumber.mjs.map +1 -1
  28. package/es/components/carNumber/src/common.mjs +2 -2
  29. package/es/components/carNumber/src/common.mjs.map +1 -1
  30. package/es/components/contextMenu/index.mjs +2 -2
  31. package/es/components/contextMenu/index.mjs.map +1 -1
  32. package/es/components/contextMenu/src/contextMenu.mjs +2 -2
  33. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  34. package/es/components/contextMenu/src/contextMenu.type.mjs +0 -2
  35. package/es/components/dialog/index.mjs +2 -2
  36. package/es/components/dialog/index.mjs.map +1 -1
  37. package/es/components/dialog/src/dialog.d.ts +11 -11
  38. package/es/components/dialog/src/dialog.mjs +2 -2
  39. package/es/components/dialog/src/dialog.mjs.map +1 -1
  40. package/es/components/drawer/index.mjs +2 -2
  41. package/es/components/drawer/index.mjs.map +1 -1
  42. package/es/components/drawer/src/drawer.d.ts +10 -18
  43. package/es/components/drawer/src/drawer.mjs +2 -2
  44. package/es/components/drawer/src/drawer.mjs.map +1 -1
  45. package/es/components/form/index.mjs +2 -2
  46. package/es/components/form/index.mjs.map +1 -1
  47. package/es/components/form/src/form.d.ts +15 -15
  48. package/es/components/form/src/form.mjs +2 -2
  49. package/es/components/form/src/form.mjs.map +1 -1
  50. package/es/components/form/src/formItem.d.ts +14 -14
  51. package/es/components/form/src/formItem.mjs +2 -2
  52. package/es/components/form/src/formItem.mjs.map +1 -1
  53. package/es/components/form/utils/form.mjs +2 -2
  54. package/es/components/form/utils/form.mjs.map +1 -1
  55. package/es/components/formItemTip/index.mjs +2 -2
  56. package/es/components/formItemTip/index.mjs.map +1 -1
  57. package/es/components/formItemTip/src/formItemTip.mjs +2 -2
  58. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
  59. package/es/components/icon/index.mjs +2 -2
  60. package/es/components/icon/index.mjs.map +1 -1
  61. package/es/components/icon/src/icon.mjs +2 -2
  62. package/es/components/icon/src/icon.mjs.map +1 -1
  63. package/es/components/iconSelector/index.mjs +2 -2
  64. package/es/components/iconSelector/index.mjs.map +1 -1
  65. package/es/components/iconSelector/src/iconSelector.mjs +2 -2
  66. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  67. package/es/components/image/index.mjs +2 -2
  68. package/es/components/image/index.mjs.map +1 -1
  69. package/es/components/image/src/image.d.ts +13 -13
  70. package/es/components/image/src/image.mjs +2 -2
  71. package/es/components/image/src/image.mjs.map +1 -1
  72. package/es/components/index.mjs +2 -2
  73. package/es/components/index.mjs.map +1 -1
  74. package/es/components/inputDialogPage/index.mjs +2 -2
  75. package/es/components/inputDialogPage/index.mjs.map +1 -1
  76. package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -2
  77. package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
  78. package/es/components/layoutGrid/index.mjs +2 -2
  79. package/es/components/layoutGrid/index.mjs.map +1 -1
  80. package/es/components/layoutGrid/src/layoutGrid.mjs +2 -2
  81. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  82. package/es/components/layoutGrid/src/layoutGrid.type.mjs +0 -2
  83. package/es/components/layoutGrid/src/layoutGridItem.mjs +2 -2
  84. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  85. package/es/components/select/index.mjs +2 -2
  86. package/es/components/select/index.mjs.map +1 -1
  87. package/es/components/select/src/select.d.ts +21 -21
  88. package/es/components/select/src/select.mjs +2 -2
  89. package/es/components/select/src/select.mjs.map +1 -1
  90. package/es/components/select/src/select.type.mjs +0 -2
  91. package/es/components/select/src/selectOption.mjs +2 -2
  92. package/es/components/select/src/selectOption.mjs.map +1 -1
  93. package/es/components/selectPage/index.mjs +2 -2
  94. package/es/components/selectPage/index.mjs.map +1 -1
  95. package/es/components/selectPage/src/selectPage.d.ts +27 -27
  96. package/es/components/selectPage/src/selectPage.mjs +2 -2
  97. package/es/components/selectPage/src/selectPage.mjs.map +1 -1
  98. package/es/components/selectV2/index.mjs +2 -2
  99. package/es/components/selectV2/index.mjs.map +1 -1
  100. package/es/components/selectV2/src/selectV2.d.ts +19 -19
  101. package/es/components/selectV2/src/selectV2.mjs +2 -2
  102. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  103. package/es/components/table/images/artwork.mjs +2 -0
  104. package/es/components/table/images/artwork.mjs.map +1 -0
  105. package/es/components/table/images/notImage.mjs +2 -0
  106. package/es/components/table/images/notImage.mjs.map +1 -0
  107. package/es/components/table/index.mjs +2 -2
  108. package/es/components/table/index.mjs.map +1 -1
  109. package/es/components/table/src/page.type.mjs +2 -2
  110. package/es/components/table/src/page.type.mjs.map +1 -1
  111. package/es/components/table/src/table.d.ts +20 -4
  112. package/es/components/table/src/table.mjs +2 -2
  113. package/es/components/table/src/table.mjs.map +1 -1
  114. package/es/components/table/src/table.state.mjs +0 -2
  115. package/es/components/table/src/table.type.d.ts +1 -1
  116. package/es/components/table/src/table.type.mjs +2 -2
  117. package/es/components/table/src/table.type.mjs.map +1 -1
  118. package/es/components/table/src/tableColumn.mjs +2 -2
  119. package/es/components/table/src/tableColumn.mjs.map +1 -1
  120. package/es/components/table/src/tableColumnSettingDialog.mjs +2 -2
  121. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  122. package/es/components/table/src/tablePagination.mjs +2 -2
  123. package/es/components/table/src/tablePagination.mjs.map +1 -1
  124. package/es/components/table/src/tableSearchForm.mjs +2 -2
  125. package/es/components/table/src/tableSearchForm.mjs.map +1 -1
  126. package/es/components/table/src/tableSearchFormItem.mjs +2 -2
  127. package/es/components/table/src/tableSearchFormItem.mjs.map +1 -1
  128. package/es/components/table/src/useTable.mjs +2 -2
  129. package/es/components/table/src/useTable.mjs.map +1 -1
  130. package/es/components/table/utils/table.mjs +2 -2
  131. package/es/components/table/utils/table.mjs.map +1 -1
  132. package/es/components/tree/index.mjs +2 -2
  133. package/es/components/tree/index.mjs.map +1 -1
  134. package/es/components/tree/src/tree.d.ts +40 -40
  135. package/es/components/tree/src/tree.mjs +2 -2
  136. package/es/components/tree/src/tree.mjs.map +1 -1
  137. package/es/components/tree/src/tree.props.mjs +2 -2
  138. package/es/components/tree/src/tree.props.mjs.map +1 -1
  139. package/es/components/tree/src/tree.type.mjs +0 -2
  140. package/es/components/treeSelect/index.mjs +2 -2
  141. package/es/components/treeSelect/index.mjs.map +1 -1
  142. package/es/components/treeSelect/src/treeSelect.d.ts +60 -60
  143. package/es/components/treeSelect/src/treeSelect.mjs +2 -2
  144. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  145. package/es/components/upload/index.mjs +2 -2
  146. package/es/components/upload/index.mjs.map +1 -1
  147. package/es/components/upload/src/upload.d.ts +73 -73
  148. package/es/components/upload/src/upload.mjs +2 -2
  149. package/es/components/upload/src/upload.mjs.map +1 -1
  150. package/es/components/upload/src/useUpload.mjs +2 -2
  151. package/es/components/upload/src/useUpload.mjs.map +1 -1
  152. package/es/components/upload/utils/upload.mjs +2 -2
  153. package/es/components/upload/utils/upload.mjs.map +1 -1
  154. package/es/components/uploadImage/index.mjs +2 -2
  155. package/es/components/uploadImage/index.mjs.map +1 -1
  156. package/es/components/uploadImage/src/uploadImage.d.ts +69 -69
  157. package/es/components/uploadImage/src/uploadImage.mjs +2 -2
  158. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
  159. package/es/components/uploadImages/index.mjs +2 -2
  160. package/es/components/uploadImages/index.mjs.map +1 -1
  161. package/es/components/uploadImages/src/uploadImages.d.ts +70 -70
  162. package/es/components/uploadImages/src/uploadImages.mjs +2 -2
  163. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
  164. package/es/constants/index.mjs +1 -2
  165. package/es/constants/mime.mjs +2 -2
  166. package/es/constants/mime.mjs.map +1 -1
  167. package/es/constants/regex.mjs +2 -2
  168. package/es/constants/regex.mjs.map +1 -1
  169. package/es/directive.mjs +2 -2
  170. package/es/directive.mjs.map +1 -1
  171. package/es/directives/click-copy/index.mjs +2 -2
  172. package/es/directives/click-copy/index.mjs.map +1 -1
  173. package/es/directives/click-debounce/index.mjs +2 -2
  174. package/es/directives/click-debounce/index.mjs.map +1 -1
  175. package/es/directives/click-draggable/index.mjs +2 -2
  176. package/es/directives/click-draggable/index.mjs.map +1 -1
  177. package/es/directives/click-icon-copy/index.mjs +2 -2
  178. package/es/directives/click-icon-copy/index.mjs.map +1 -1
  179. package/es/directives/click-longpress/index.mjs +2 -2
  180. package/es/directives/click-longpress/index.mjs.map +1 -1
  181. package/es/directives/click-throttle/index.mjs +2 -2
  182. package/es/directives/click-throttle/index.mjs.map +1 -1
  183. package/es/directives/index.mjs +1 -2
  184. package/es/element-plus.mjs +2 -2
  185. package/es/element-plus.mjs.map +1 -1
  186. package/es/hooks/index.mjs +1 -2
  187. package/es/hooks/use-loading/index.mjs +2 -2
  188. package/es/hooks/use-loading/index.mjs.map +1 -1
  189. package/es/hooks/use-overlay/index.mjs +2 -2
  190. package/es/hooks/use-overlay/index.mjs.map +1 -1
  191. package/es/hooks/use-screenFull/index.mjs +2 -2
  192. package/es/hooks/use-screenFull/index.mjs.map +1 -1
  193. package/es/index.mjs +2 -2
  194. package/es/index.mjs.map +1 -1
  195. package/es/make-installer.mjs +2 -2
  196. package/es/make-installer.mjs.map +1 -1
  197. package/es/version.d.ts +1 -1
  198. package/es/version.mjs +2 -2
  199. package/es/version.mjs.map +1 -1
  200. package/lib/_virtual/_rolldown/runtime.js +1 -0
  201. package/lib/component.js +2 -2
  202. package/lib/component.js.map +1 -1
  203. package/lib/components/avatar/index.js +2 -2
  204. package/lib/components/avatar/index.js.map +1 -1
  205. package/lib/components/avatar/src/avatar.d.ts +10 -10
  206. package/lib/components/avatar/src/avatar.js +2 -2
  207. package/lib/components/avatar/src/avatar.js.map +1 -1
  208. package/lib/components/button/index.js +2 -2
  209. package/lib/components/button/index.js.map +1 -1
  210. package/lib/components/button/src/button.d.ts +21 -17
  211. package/lib/components/button/src/button.js +2 -2
  212. package/lib/components/button/src/button.js.map +1 -1
  213. package/lib/components/carNumber/index.js +2 -2
  214. package/lib/components/carNumber/index.js.map +1 -1
  215. package/lib/components/carNumber/src/carNumber.d.ts +36 -33
  216. package/lib/components/carNumber/src/carNumber.js +2 -2
  217. package/lib/components/carNumber/src/carNumber.js.map +1 -1
  218. package/lib/components/carNumber/src/common.js +2 -2
  219. package/lib/components/carNumber/src/common.js.map +1 -1
  220. package/lib/components/contextMenu/index.js +2 -2
  221. package/lib/components/contextMenu/index.js.map +1 -1
  222. package/lib/components/contextMenu/src/contextMenu.js +2 -2
  223. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  224. package/lib/components/contextMenu/src/contextMenu.type.js +0 -2
  225. package/lib/components/dialog/index.js +2 -2
  226. package/lib/components/dialog/index.js.map +1 -1
  227. package/lib/components/dialog/src/dialog.d.ts +11 -11
  228. package/lib/components/dialog/src/dialog.js +2 -2
  229. package/lib/components/dialog/src/dialog.js.map +1 -1
  230. package/lib/components/drawer/index.js +2 -2
  231. package/lib/components/drawer/index.js.map +1 -1
  232. package/lib/components/drawer/src/drawer.d.ts +10 -18
  233. package/lib/components/drawer/src/drawer.js +2 -2
  234. package/lib/components/drawer/src/drawer.js.map +1 -1
  235. package/lib/components/form/index.js +2 -2
  236. package/lib/components/form/index.js.map +1 -1
  237. package/lib/components/form/src/form.d.ts +15 -15
  238. package/lib/components/form/src/form.js +2 -2
  239. package/lib/components/form/src/form.js.map +1 -1
  240. package/lib/components/form/src/formItem.d.ts +14 -14
  241. package/lib/components/form/src/formItem.js +2 -2
  242. package/lib/components/form/src/formItem.js.map +1 -1
  243. package/lib/components/form/utils/form.js +2 -2
  244. package/lib/components/form/utils/form.js.map +1 -1
  245. package/lib/components/formItemTip/index.js +2 -2
  246. package/lib/components/formItemTip/index.js.map +1 -1
  247. package/lib/components/formItemTip/src/formItemTip.js +2 -2
  248. package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
  249. package/lib/components/icon/index.js +2 -2
  250. package/lib/components/icon/index.js.map +1 -1
  251. package/lib/components/icon/src/icon.js +2 -2
  252. package/lib/components/icon/src/icon.js.map +1 -1
  253. package/lib/components/iconSelector/index.js +2 -2
  254. package/lib/components/iconSelector/index.js.map +1 -1
  255. package/lib/components/iconSelector/src/iconSelector.js +2 -2
  256. package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
  257. package/lib/components/image/index.js +2 -2
  258. package/lib/components/image/index.js.map +1 -1
  259. package/lib/components/image/src/image.d.ts +13 -13
  260. package/lib/components/image/src/image.js +2 -2
  261. package/lib/components/image/src/image.js.map +1 -1
  262. package/lib/components/index.js +2 -2
  263. package/lib/components/index.js.map +1 -1
  264. package/lib/components/inputDialogPage/index.js +2 -2
  265. package/lib/components/inputDialogPage/index.js.map +1 -1
  266. package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -2
  267. package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -1
  268. package/lib/components/layoutGrid/index.js +2 -2
  269. package/lib/components/layoutGrid/index.js.map +1 -1
  270. package/lib/components/layoutGrid/src/layoutGrid.js +2 -2
  271. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
  272. package/lib/components/layoutGrid/src/layoutGrid.type.js +0 -2
  273. package/lib/components/layoutGrid/src/layoutGridItem.js +2 -2
  274. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
  275. package/lib/components/select/index.js +2 -2
  276. package/lib/components/select/index.js.map +1 -1
  277. package/lib/components/select/src/select.d.ts +21 -21
  278. package/lib/components/select/src/select.js +2 -2
  279. package/lib/components/select/src/select.js.map +1 -1
  280. package/lib/components/select/src/select.type.js +0 -2
  281. package/lib/components/select/src/selectOption.js +2 -2
  282. package/lib/components/select/src/selectOption.js.map +1 -1
  283. package/lib/components/selectPage/index.js +2 -2
  284. package/lib/components/selectPage/index.js.map +1 -1
  285. package/lib/components/selectPage/src/selectPage.d.ts +27 -27
  286. package/lib/components/selectPage/src/selectPage.js +2 -2
  287. package/lib/components/selectPage/src/selectPage.js.map +1 -1
  288. package/lib/components/selectV2/index.js +2 -2
  289. package/lib/components/selectV2/index.js.map +1 -1
  290. package/lib/components/selectV2/src/selectV2.d.ts +19 -19
  291. package/lib/components/selectV2/src/selectV2.js +2 -2
  292. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  293. package/lib/components/table/images/artwork.js +2 -0
  294. package/lib/components/table/images/artwork.js.map +1 -0
  295. package/lib/components/table/images/notImage.js +2 -0
  296. package/lib/components/table/images/notImage.js.map +1 -0
  297. package/lib/components/table/index.js +2 -2
  298. package/lib/components/table/index.js.map +1 -1
  299. package/lib/components/table/src/page.type.js +2 -2
  300. package/lib/components/table/src/page.type.js.map +1 -1
  301. package/lib/components/table/src/table.d.ts +20 -4
  302. package/lib/components/table/src/table.js +2 -2
  303. package/lib/components/table/src/table.js.map +1 -1
  304. package/lib/components/table/src/table.state.js +0 -2
  305. package/lib/components/table/src/table.type.d.ts +1 -1
  306. package/lib/components/table/src/table.type.js +2 -2
  307. package/lib/components/table/src/table.type.js.map +1 -1
  308. package/lib/components/table/src/tableColumn.js +2 -2
  309. package/lib/components/table/src/tableColumn.js.map +1 -1
  310. package/lib/components/table/src/tableColumnSettingDialog.js +2 -2
  311. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
  312. package/lib/components/table/src/tablePagination.js +2 -2
  313. package/lib/components/table/src/tablePagination.js.map +1 -1
  314. package/lib/components/table/src/tableSearchForm.js +2 -2
  315. package/lib/components/table/src/tableSearchForm.js.map +1 -1
  316. package/lib/components/table/src/tableSearchFormItem.js +2 -2
  317. package/lib/components/table/src/tableSearchFormItem.js.map +1 -1
  318. package/lib/components/table/src/useTable.js +2 -2
  319. package/lib/components/table/src/useTable.js.map +1 -1
  320. package/lib/components/table/utils/table.js +2 -2
  321. package/lib/components/table/utils/table.js.map +1 -1
  322. package/lib/components/tree/index.js +2 -2
  323. package/lib/components/tree/index.js.map +1 -1
  324. package/lib/components/tree/src/tree.d.ts +40 -40
  325. package/lib/components/tree/src/tree.js +2 -2
  326. package/lib/components/tree/src/tree.js.map +1 -1
  327. package/lib/components/tree/src/tree.props.js +2 -2
  328. package/lib/components/tree/src/tree.props.js.map +1 -1
  329. package/lib/components/tree/src/tree.type.js +0 -2
  330. package/lib/components/treeSelect/index.js +2 -2
  331. package/lib/components/treeSelect/index.js.map +1 -1
  332. package/lib/components/treeSelect/src/treeSelect.d.ts +60 -60
  333. package/lib/components/treeSelect/src/treeSelect.js +2 -2
  334. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  335. package/lib/components/upload/index.js +2 -2
  336. package/lib/components/upload/index.js.map +1 -1
  337. package/lib/components/upload/src/upload.d.ts +73 -73
  338. package/lib/components/upload/src/upload.js +2 -2
  339. package/lib/components/upload/src/upload.js.map +1 -1
  340. package/lib/components/upload/src/useUpload.js +2 -2
  341. package/lib/components/upload/src/useUpload.js.map +1 -1
  342. package/lib/components/upload/utils/upload.js +2 -2
  343. package/lib/components/upload/utils/upload.js.map +1 -1
  344. package/lib/components/uploadImage/index.js +2 -2
  345. package/lib/components/uploadImage/index.js.map +1 -1
  346. package/lib/components/uploadImage/src/uploadImage.d.ts +69 -69
  347. package/lib/components/uploadImage/src/uploadImage.js +2 -2
  348. package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
  349. package/lib/components/uploadImages/index.js +2 -2
  350. package/lib/components/uploadImages/index.js.map +1 -1
  351. package/lib/components/uploadImages/src/uploadImages.d.ts +70 -70
  352. package/lib/components/uploadImages/src/uploadImages.js +2 -2
  353. package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
  354. package/lib/constants/index.js +1 -2
  355. package/lib/constants/mime.js +2 -2
  356. package/lib/constants/mime.js.map +1 -1
  357. package/lib/constants/regex.js +2 -2
  358. package/lib/constants/regex.js.map +1 -1
  359. package/lib/directive.js +2 -2
  360. package/lib/directive.js.map +1 -1
  361. package/lib/directives/click-copy/index.js +2 -2
  362. package/lib/directives/click-copy/index.js.map +1 -1
  363. package/lib/directives/click-debounce/index.js +2 -2
  364. package/lib/directives/click-debounce/index.js.map +1 -1
  365. package/lib/directives/click-draggable/index.js +2 -2
  366. package/lib/directives/click-draggable/index.js.map +1 -1
  367. package/lib/directives/click-icon-copy/index.js +2 -2
  368. package/lib/directives/click-icon-copy/index.js.map +1 -1
  369. package/lib/directives/click-longpress/index.js +2 -2
  370. package/lib/directives/click-longpress/index.js.map +1 -1
  371. package/lib/directives/click-throttle/index.js +2 -2
  372. package/lib/directives/click-throttle/index.js.map +1 -1
  373. package/lib/directives/index.js +1 -2
  374. package/lib/element-plus.js +2 -2
  375. package/lib/element-plus.js.map +1 -1
  376. package/lib/hooks/index.js +1 -2
  377. package/lib/hooks/use-loading/index.js +2 -2
  378. package/lib/hooks/use-loading/index.js.map +1 -1
  379. package/lib/hooks/use-overlay/index.js +2 -2
  380. package/lib/hooks/use-overlay/index.js.map +1 -1
  381. package/lib/hooks/use-screenFull/index.js +2 -2
  382. package/lib/hooks/use-screenFull/index.js.map +1 -1
  383. package/lib/index.js +2 -2
  384. package/lib/index.js.map +1 -1
  385. package/lib/make-installer.js +2 -2
  386. package/lib/make-installer.js.map +1 -1
  387. package/lib/version.d.ts +1 -1
  388. package/lib/version.js +2 -2
  389. package/lib/version.js.map +1 -1
  390. package/package.json +7 -7
  391. package/styles/components/carNumber.scss +1 -1
  392. package/styles/components/dialog.scss +1 -1
  393. package/styles/components/drawer.scss +1 -1
  394. package/es/components/contextMenu/src/contextMenu.type.mjs.map +0 -1
  395. package/es/components/layoutGrid/src/layoutGrid.type.mjs.map +0 -1
  396. package/es/components/select/src/select.type.mjs.map +0 -1
  397. package/es/components/table/images/artwork.png.mjs +0 -2
  398. package/es/components/table/images/artwork.png.mjs.map +0 -1
  399. package/es/components/table/images/notImage.png.mjs +0 -2
  400. package/es/components/table/images/notImage.png.mjs.map +0 -1
  401. package/es/components/table/src/table.state.mjs.map +0 -1
  402. package/es/components/tree/src/tree.type.mjs.map +0 -1
  403. package/es/constants/index.mjs.map +0 -1
  404. package/es/directives/index.mjs.map +0 -1
  405. package/es/hooks/index.mjs.map +0 -1
  406. package/lib/components/contextMenu/src/contextMenu.type.js.map +0 -1
  407. package/lib/components/layoutGrid/src/layoutGrid.type.js.map +0 -1
  408. package/lib/components/select/src/select.type.js.map +0 -1
  409. package/lib/components/table/images/artwork.png.js +0 -2
  410. package/lib/components/table/images/artwork.png.js.map +0 -1
  411. package/lib/components/table/images/notImage.png.js +0 -2
  412. package/lib/components/table/images/notImage.png.js.map +0 -1
  413. package/lib/components/table/src/table.state.js.map +0 -1
  414. package/lib/components/tree/src/tree.type.js.map +0 -1
  415. package/lib/constants/index.js.map +0 -1
  416. package/lib/directives/index.js.map +0 -1
  417. package/lib/hooks/index.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,reactive as t,inject as a,ref as s,watch as o,computed as u,withDirectives as l,createVNode as n,vShow as d}from"vue";import{useRender as f,useExpose as i,makeSlots as r,definePropType as p}from"@fast-china/utils";import{isNumber as m}from"lodash-unified";const v=/* @__PURE__ */e({name:"FaLayoutGridItem",props:{offset:{type:[String,Number],default:0},span:{type:[String,Number],default:1},suffix:{type:Boolean,default:!1},xs:{type:p(Object),default:void 0},sm:{type:p(Object),default:void 0},md:{type:p(Object),default:void 0},lg:{type:p(Object),default:void 0},xl:{type:p(Object),default:void 0}},slots:r(),setup(e,{attrs:r,slots:p,emit:v,expose:c}){const x=t({show:!0}),b=r,y=a("breakPoint",s("xl")),g=a("shouldHiddenIndex",s(-1));o(()=>[g.value,y.value],e=>{~~b.index&&(x.show=!(-1!==e[0]&&parseInt(b.index)>=Number(e[0])))},{immediate:!0});const $=a("gap",0),h=a("cols",s(5)),j=u(()=>{const t=e[y.value],a=t?.span??(m(e.span)?e.span:Number(e.span)),s=t?.offset??(m(e.offset)?e.offset:Number(e.offset));return e.suffix?{gridColumnStart:h.value-a-s+1,gridColumnEnd:`span ${a+s}`,marginLeft:0!==s?`calc(((100% + ${$}px) / ${a+s}) * ${s})`:"unset"}:{gridColumn:`span ${a+s>h.value?h.value:a+s}/span ${a+s>h.value?h.value:a+s}`,marginLeft:0!==s?`calc(((100% + ${$}px) / ${a+s}) * ${s})`:"unset"}});return f(()=>l(n("div",{style:j.value},[p.default&&p.default()]),[[d,x.show]])),i(c,{show:x.show})}});export{v as default};
2
- //# sourceMappingURL=layoutGridItem.mjs.map
1
+ import{definePropType as e,makeSlots as t,useExpose as a,useRender as s}from"@fast-china/utils";import{computed as u,createVNode as o,defineComponent as l,inject as n,reactive as d,ref as f,vShow as i,watch as r,withDirectives as p}from"vue";import{isNumber as m}from"lodash-unified";var v=/* @__PURE__ */l({name:"FaLayoutGridItem",props:{offset:{type:[String,Number],default:0},span:{type:[String,Number],default:1},suffix:{type:Boolean,default:!1},xs:{type:e(Object),default:void 0},sm:{type:e(Object),default:void 0},md:{type:e(Object),default:void 0},lg:{type:e(Object),default:void 0},xl:{type:e(Object),default:void 0}},slots:t(),setup(e,{attrs:t,slots:l,emit:v,expose:c}){const x=d({show:!0}),b=t,y=n("breakPoint",f("xl")),g=n("shouldHiddenIndex",f(-1));r(()=>[g.value,y.value],e=>{~~b.index&&(x.show=!(-1!==e[0]&&parseInt(b.index)>=Number(e[0])))},{immediate:!0});const $=n("gap",0),h=n("cols",f(5)),j=u(()=>{const t=e[y.value],a=t?.span??(m(e.span)?e.span:Number(e.span)),s=t?.offset??(m(e.offset)?e.offset:Number(e.offset));return e.suffix?{gridColumnStart:h.value-a-s+1,gridColumnEnd:`span ${a+s}`,marginLeft:0!==s?`calc(((100% + ${$}px) / ${a+s}) * ${s})`:"unset"}:{gridColumn:`span ${a+s>h.value?h.value:a+s}/span ${a+s>h.value?h.value:a+s}`,marginLeft:0!==s?`calc(((100% + ${$}px) / ${a+s}) * ${s})`:"unset"}});return s(()=>p(o("div",{style:j.value},[l.default&&l.default()]),[[i,x.show]])),a(c,{show:x.show})}});export{v as default};
2
+ //# sourceMappingURL=layoutGridItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"layoutGridItem.mjs","sources":["../../../../../packages/components/layoutGrid/src/layoutGridItem.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { definePropType, makeSlots, useExpose, useRender } from \"@fast-china/utils\";\nimport { isNumber } from \"lodash-unified\";\nimport type { FaLayoutGridItemResponsive } from \"./layoutGrid.type\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { Ref } from \"vue\";\n\ntype FaLayoutGridItemSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaLayoutGridItem\",\n\tprops: {\n\t\t/** @description 偏移 */\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 0,\n\t\t},\n\t\t/** @description 占位 */\n\t\tspan: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 1,\n\t\t},\n\t\t/** @description 后缀 */\n\t\tsuffix: { type: Boolean, default: false },\n\t\t/** @description 响应式,小于480px屏幕配置 */\n\t\txs: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,平板竖屏配置 */\n\t\tsm: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,平板横屏配置 */\n\t\tmd: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,小型桌面配置 */\n\t\tlg: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,大型桌面配置 */\n\t\txl: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t},\n\tslots: makeSlots<FaLayoutGridItemSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tshow: true,\n\t\t});\n\n\t\tconst attrsObj = attrs as any;\n\n\t\t// 注入断点\n\t\tconst breakPoint = inject<Ref<FaLayoutGridBreakPoint>>(\"breakPoint\", ref(\"xl\"));\n\t\tconst shouldHiddenIndex = inject<Ref<number>>(\"shouldHiddenIndex\", ref(-1));\n\n\t\twatch(\n\t\t\t() => [shouldHiddenIndex.value, breakPoint.value],\n\t\t\t(n) => {\n\t\t\t\tif (~~attrsObj.index) {\n\t\t\t\t\tstate.show = !(n[0] !== -1 && parseInt(attrsObj.index) >= Number(n[0]));\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ immediate: true }\n\t\t);\n\n\t\tconst gap = inject(\"gap\", 0);\n\t\tconst cols = inject<Ref<number>>(\"cols\", ref(5));\n\n\t\tconst style = computed(() => {\n\t\t\tconst breakPointObk = props[breakPoint.value] as FaLayoutGridItemResponsive;\n\t\t\tconst span = breakPointObk?.span ?? (isNumber(props.span) ? props.span : Number(props.span));\n\t\t\tconst offset = breakPointObk?.offset ?? (isNumber(props.offset) ? props.offset : Number(props.offset));\n\t\t\tif (props.suffix) {\n\t\t\t\treturn {\n\t\t\t\t\tgridColumnStart: cols.value - span - offset + 1,\n\t\t\t\t\tgridColumnEnd: `span ${span + offset}`,\n\t\t\t\t\tmarginLeft: offset !== 0 ? `calc(((100% + ${gap}px) / ${span + offset}) * ${offset})` : \"unset\",\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tgridColumn: `span ${span + offset > cols.value ? cols.value : span + offset}/span ${\n\t\t\t\t\t\tspan + offset > cols.value ? cols.value : span + offset\n\t\t\t\t\t}`,\n\t\t\t\t\tmarginLeft: offset !== 0 ? `calc(((100% + ${gap}px) / ${span + offset}) * ${offset})` : \"unset\",\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<div style={style.value} vShow={state.show}>\n\t\t\t\t{slots.default && slots.default()}\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\tshow: state.show,\n\t\t});\n\t},\n});\n"],"names":["LayoutGridItem","name","props","offset","type","String","Number","default","span","suffix","Boolean","xs","definePropType","Object","undefined","sm","md","lg","xl","slots","makeSlots","setup","attrs","emit","expose","state","reactive","show","attrsObj","breakPoint","inject","ref","shouldHiddenIndex","watch","value","n","index","parseInt","immediate","gap","cols","style","computed","breakPointObk","isNumber","gridColumnStart","gridColumnEnd","marginLeft","gridColumn","useRender","_withDirectives","_createVNode","_vShow","useExpose"],"mappings":"4RAYA,MAAAA,mBAA+B,CAC9BC,KAAM,mBACNC,MAAO,CAENC,OAAQ,CACPC,KAAM,CAACC,OAAQC,QACfC,QAAS,GAGVC,KAAM,CACLJ,KAAM,CAACC,OAAQC,QACfC,QAAS,GAGVE,OAAQ,CAAEL,KAAMM,QAASH,SAAS,GAElCI,GAAI,CACHP,KAAMQ,EAA2CC,QACjDN,aAASO,GAGVC,GAAI,CACHX,KAAMQ,EAA2CC,QACjDN,aAASO,GAGVE,GAAI,CACHZ,KAAMQ,EAA2CC,QACjDN,aAASO,GAGVG,GAAI,CACHb,KAAMQ,EAA2CC,QACjDN,aAASO,GAGVI,GAAI,CACHd,KAAMQ,EAA2CC,QACjDN,aAASO,IAGXK,MAAOC,IACPC,KAAAA,CAAMnB,GAAOoB,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBC,MAAM,IAGDC,EAAWN,EAGXO,EAAaC,EAAoC,aAAcC,EAAI,OACnEC,EAAoBF,EAAoB,oBAAqBC,OAEnEE,EACC,IAAM,CAACD,EAAkBE,MAAOL,EAAWK,OAC1CC,MACMP,EAASQ,QACdX,EAAME,QAAkB,IAATQ,EAAE,IAAaE,SAAST,EAASQ,QAAU9B,OAAO6B,EAAE,OAGrE,CAAEG,WAAW,IAGd,MAAMC,EAAMT,EAAO,MAAO,GACpBU,EAAOV,EAAoB,OAAQC,EAAI,IAEvCU,EAAQC,EAAS,KACtB,MAAMC,EAAgBzC,EAAM2B,EAAWK,OACjC1B,EAAOmC,GAAenC,OAASoC,EAAS1C,EAAMM,MAAQN,EAAMM,KAAOF,OAAOJ,EAAMM,OAChFL,EAASwC,GAAexC,SAAWyC,EAAS1C,EAAMC,QAAUD,EAAMC,OAASG,OAAOJ,EAAMC,SAC9F,OAAID,EAAMO,OACF,CACNoC,gBAAiBL,EAAKN,MAAQ1B,EAAOL,EAAS,EAC9C2C,cAAe,QAAQtC,EAAOL,IAC9B4C,WAAuB,IAAX5C,EAAe,iBAAiBoC,UAAY/B,EAAOL,QAAaA,KAAY,SAGlF,CACN6C,WAAY,QAAQxC,EAAOL,EAASqC,EAAKN,MAAQM,EAAKN,MAAQ1B,EAAOL,UACpEK,EAAOL,EAASqC,EAAKN,MAAQM,EAAKN,MAAQ1B,EAAOL,IAElD4C,WAAuB,IAAX5C,EAAe,iBAAiBoC,UAAY/B,EAAOL,QAAaA,KAAY,WAW3F,OANA8C,EAAU,IAAAC,EAAAC,EAAA,MAAA,CAAAV,MACGA,EAAMP,OAAK,CACrBf,EAAMZ,SAAWY,EAAMZ,YAAS,CAAA,CAAA6C,EADF3B,EAAME,SAKhC0B,EAAU7B,EAAQ,CACxBG,KAAMF,EAAME,MAEd"}
1
+ {"version":3,"file":"layoutGridItem.mjs","names":["computed","defineComponent","inject","reactive","ref","watch","vShow","_vShow","createVNode","_createVNode","withDirectives","_withDirectives","definePropType","makeSlots","useExpose","useRender","isNumber","name","props","offset","type","String","Number","default","span","suffix","Boolean","xs","Object","undefined","sm","md","lg","xl","slots","setup","attrs","emit","expose","state","show","attrsObj","breakPoint","shouldHiddenIndex","value","n","index","parseInt","immediate","gap","cols","style","breakPointObk","gridColumnStart","gridColumnEnd","marginLeft","gridColumn"],"sources":["../../../../../packages/components/layoutGrid/src/layoutGridItem.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { definePropType, makeSlots, useExpose, useRender } from \"@fast-china/utils\";\nimport { isNumber } from \"lodash-unified\";\nimport type { FaLayoutGridItemResponsive } from \"./layoutGrid.type\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { Ref } from \"vue\";\n\ntype FaLayoutGridItemSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaLayoutGridItem\",\n\tprops: {\n\t\t/** @description 偏移 */\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 0,\n\t\t},\n\t\t/** @description 占位 */\n\t\tspan: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 1,\n\t\t},\n\t\t/** @description 后缀 */\n\t\tsuffix: { type: Boolean, default: false },\n\t\t/** @description 响应式,小于480px屏幕配置 */\n\t\txs: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,平板竖屏配置 */\n\t\tsm: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,平板横屏配置 */\n\t\tmd: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,小型桌面配置 */\n\t\tlg: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t\t/** @description 响应式,大型桌面配置 */\n\t\txl: {\n\t\t\ttype: definePropType<FaLayoutGridItemResponsive>(Object),\n\t\t\tdefault: undefined as FaLayoutGridItemResponsive,\n\t\t},\n\t},\n\tslots: makeSlots<FaLayoutGridItemSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tshow: true,\n\t\t});\n\n\t\tconst attrsObj = attrs as any;\n\n\t\t// 注入断点\n\t\tconst breakPoint = inject<Ref<FaLayoutGridBreakPoint>>(\"breakPoint\", ref(\"xl\"));\n\t\tconst shouldHiddenIndex = inject<Ref<number>>(\"shouldHiddenIndex\", ref(-1));\n\n\t\twatch(\n\t\t\t() => [shouldHiddenIndex.value, breakPoint.value],\n\t\t\t(n) => {\n\t\t\t\tif (~~attrsObj.index) {\n\t\t\t\t\tstate.show = !(n[0] !== -1 && parseInt(attrsObj.index) >= Number(n[0]));\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ immediate: true }\n\t\t);\n\n\t\tconst gap = inject(\"gap\", 0);\n\t\tconst cols = inject<Ref<number>>(\"cols\", ref(5));\n\n\t\tconst style = computed(() => {\n\t\t\tconst breakPointObk = props[breakPoint.value] as FaLayoutGridItemResponsive;\n\t\t\tconst span = breakPointObk?.span ?? (isNumber(props.span) ? props.span : Number(props.span));\n\t\t\tconst offset = breakPointObk?.offset ?? (isNumber(props.offset) ? props.offset : Number(props.offset));\n\t\t\tif (props.suffix) {\n\t\t\t\treturn {\n\t\t\t\t\tgridColumnStart: cols.value - span - offset + 1,\n\t\t\t\t\tgridColumnEnd: `span ${span + offset}`,\n\t\t\t\t\tmarginLeft: offset !== 0 ? `calc(((100% + ${gap}px) / ${span + offset}) * ${offset})` : \"unset\",\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tgridColumn: `span ${span + offset > cols.value ? cols.value : span + offset}/span ${\n\t\t\t\t\t\tspan + offset > cols.value ? cols.value : span + offset\n\t\t\t\t\t}`,\n\t\t\t\t\tmarginLeft: offset !== 0 ? `calc(((100% + ${gap}px) / ${span + offset}) * ${offset})` : \"unset\",\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<div style={style.value} vShow={state.show}>\n\t\t\t\t{slots.default && slots.default()}\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\tshow: state.show,\n\t\t});\n\t},\n});\n"],"mappings":"4RAYA,IAAA,iBAAeC,EAAgB,CAC9BgB,KAAM,mBACNC,MAAO,CAENC,OAAQ,CACPC,KAAM,CAACC,OAAQC,QACfC,QAAS,GAGVC,KAAM,CACLJ,KAAM,CAACC,OAAQC,QACfC,QAAS,GAGVE,OAAQ,CAAEL,KAAMM,QAASH,SAAS,GAElCI,GAAI,CACHP,KAAMR,EAA2CgB,QACjDL,aAASM,GAGVC,GAAI,CACHV,KAAMR,EAA2CgB,QACjDL,aAASM,GAGVE,GAAI,CACHX,KAAMR,EAA2CgB,QACjDL,aAASM,GAGVG,GAAI,CACHZ,KAAMR,EAA2CgB,QACjDL,aAASM,GAGVI,GAAI,CACHb,KAAMR,EAA2CgB,QACjDL,aAASM,IAGXK,MAAOrB,IACPsB,KAAAA,CAAMjB,GAAO,MAAEkB,EAAAA,MAAOF,EAAAA,KAAOG,EAAAA,OAAMC,IAClC,MAAMC,EAAQpC,EAAS,CACtBqC,MAAM,IAGDC,EAAWL,EAGXM,EAAaxC,EAAoC,aAAcE,EAAI,OACnEuC,EAAoBzC,EAAoB,oBAAqBE,GAAK,IAExEC,EAAAA,IACO,CAACsC,EAAkBC,MAAOF,EAAWE,OAC1CC,MACMJ,EAASK,QACdP,EAAMC,QAAmB,IAAVK,EAAE,IAAaE,SAASN,EAASK,QAAUxB,OAAOuB,EAAE,OAGrE,CAAEG,WAAW,IAGd,MAAMC,EAAM/C,EAAO,MAAO,GACpBgD,EAAOhD,EAAoB,OAAQE,EAAI,IAEvC+C,EAAQnD,EAAAA,KACb,MAAMoD,EAAgBlC,EAAMwB,EAAWE,OACjCpB,EAAO4B,GAAe5B,OAASR,EAASE,EAAMM,MAAQN,EAAMM,KAAOF,OAAOJ,EAAMM,OAChFL,EAASiC,GAAejC,SAAWH,EAASE,EAAMC,QAAUD,EAAMC,OAASG,OAAOJ,EAAMC,SAC9F,OAAID,EAAMO,OACF,CACN4B,gBAAiBH,EAAKN,MAAQpB,EAAOL,EAAS,EAC9CmC,cAAe,QAAQ9B,EAAOL,IAC9BoC,WAAuB,IAAXpC,EAAe,iBAAiB8B,UAAYzB,EAAOL,QAAaA,KAAY,SAGlF,CACNqC,WAAY,QAAQhC,EAAOL,EAAS+B,EAAKN,MAAQM,EAAKN,MAAQpB,EAAOL,UACpEK,EAAOL,EAAS+B,EAAKN,MAAQM,EAAKN,MAAQpB,EAAOL,IAElDoC,WAAuB,IAAXpC,EAAe,iBAAiB8B,UAAYzB,EAAOL,QAAaA,KAAY,WAW3F,OANAJ,EAAAA,IAAUJ,EAAAF,EAAA,MAAA,CAAA,MACG0C,EAAMP,OAAK,CACrBV,EAAMX,SAAWW,EAAMX,YAAS,CAAA,CAAAhB,EADFgC,EAAMC,SAKhC1B,EAAUwB,EAAQ,CACxBE,KAAMD,EAAMC"}
@@ -1,2 +1,2 @@
1
- import{withInstall as t,withNoopInstall as s}from"@fast-china/utils";import r from"./src/select.mjs";import{SelectProps as e,faSelectProps as m}from"./src/select.mjs";import o from"./src/selectOption.mjs";import"./src/select.type.mjs";const c=t(r,{SelectOption:o}),i=s(o);export{c as FaSelect,i as FaSelectOption,e as SelectProps,c as default,m as faSelectProps};
2
- //# sourceMappingURL=index.mjs.map
1
+ import t from"./src/selectOption.mjs";import r,{SelectProps as s,faSelectProps as e}from"./src/select.mjs";import"./src/select.type.mjs";import{withInstall as m,withNoopInstall as o}from"@fast-china/utils";var c=m(r,{SelectOption:t}),i=o(t);export{i as FaSelectOption,c as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/components/select/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from \"@fast-china/utils\";\nimport Select, { SelectProps, faSelectProps } from \"./src/select\";\nimport SelectOption from \"./src/selectOption\";\nimport type { faSelectEmits } from \"./src/select\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaSelect = withInstall(Select, {\n\tSelectOption,\n});\nexport default FaSelect;\n\nexport const FaSelectOption = withNoopInstall(SelectOption);\n\nexport { SelectProps, faSelectProps };\nexport * from \"./src/select.type\";\n\nexport type FaSelectInstance = InstanceType<typeof Select>;\n\nexport type FaSelectProps = ExtractPropTypes<typeof faSelectProps>;\n\nexport type FaSelectEmits = typeof faSelectEmits;\n\nexport type FaSelectOptionInstance = InstanceType<typeof SelectOption>;\n"],"names":["FaSelect","withInstall","Select","SelectOption","FaSelectOption","withNoopInstall"],"mappings":"2OAMO,MAAMA,EAAWC,EAAYC,EAAQ,CAC3CC,iBAIYC,EAAiBC,EAAgBF"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../packages/components/select/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from \"@fast-china/utils\";\nimport Select, { SelectProps, faSelectProps } from \"./src/select\";\nimport SelectOption from \"./src/selectOption\";\nimport type { faSelectEmits } from \"./src/select\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaSelect = withInstall(Select, {\n\tSelectOption,\n});\nexport default FaSelect;\n\nexport const FaSelectOption = withNoopInstall(SelectOption);\n\nexport { SelectProps, faSelectProps };\nexport * from \"./src/select.type\";\n\nexport type FaSelectInstance = InstanceType<typeof Select>;\n\nexport type FaSelectProps = ExtractPropTypes<typeof faSelectProps>;\n\nexport type FaSelectEmits = typeof faSelectEmits;\n\nexport type FaSelectOptionInstance = InstanceType<typeof SelectOption>;\n"],"mappings":"8MAMA,IAAa,EAAW,EAAY,EAAQ,CAC3C,aAAA,IAIY,EAAiB,EAAgB"}
@@ -1,10 +1,10 @@
1
1
  import { ElSelectorOutput } from './select.type';
2
- import { Options } from 'element-plus';
2
+ import { Options, Placement } from 'element-plus';
3
3
  import { Component } from 'vue';
4
4
  export declare const SelectProps: {
5
5
  ariaLabel: StringConstructor;
6
6
  emptyValues: ArrayConstructor;
7
- valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
7
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
8
8
  /**
9
9
  * @description the name attribute of select input
10
10
  */
@@ -35,7 +35,7 @@ export declare const SelectProps: {
35
35
  * @description size of Input
36
36
  */
37
37
  size: {
38
- readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
38
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
39
39
  readonly required: false;
40
40
  readonly validator: ((val: unknown) => boolean) | undefined;
41
41
  __epPropKey: true;
@@ -78,7 +78,7 @@ export declare const SelectProps: {
78
78
  * @description [popper.js](https://popper.js.org/docs/v2/) parameters
79
79
  */
80
80
  popperOptions: {
81
- type: import('vue').PropType<Options>;
81
+ type: import('vue').PropType<Partial<Options>>;
82
82
  default: () => Partial<Options>;
83
83
  };
84
84
  /**
@@ -189,7 +189,7 @@ export declare const SelectProps: {
189
189
  */
190
190
  tagType: {
191
191
  default: string;
192
- type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
192
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
193
193
  required: false;
194
194
  validator: ((val: unknown) => boolean) | undefined;
195
195
  __epPropKey: true;
@@ -318,7 +318,7 @@ export declare const faSelectProps: {
318
318
  initParam: import('vue').PropType<any>;
319
319
  ariaLabel: StringConstructor;
320
320
  emptyValues: ArrayConstructor;
321
- valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
321
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
322
322
  /**
323
323
  * @description the name attribute of select input
324
324
  */
@@ -342,7 +342,7 @@ export declare const faSelectProps: {
342
342
  * @description size of Input
343
343
  */
344
344
  size: {
345
- readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
345
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
346
346
  readonly required: false;
347
347
  readonly validator: ((val: unknown) => boolean) | undefined;
348
348
  __epPropKey: true;
@@ -381,7 +381,7 @@ export declare const faSelectProps: {
381
381
  * @description [popper.js](https://popper.js.org/docs/v2/) parameters
382
382
  */
383
383
  popperOptions: {
384
- type: import('vue').PropType<Options>;
384
+ type: import('vue').PropType<Partial<Options>>;
385
385
  default: () => Partial<Options>;
386
386
  };
387
387
  /**
@@ -472,7 +472,7 @@ export declare const faSelectProps: {
472
472
  */
473
473
  tagType: {
474
474
  default: string;
475
- type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
475
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
476
476
  required: false;
477
477
  validator: ((val: unknown) => boolean) | undefined;
478
478
  __epPropKey: true;
@@ -522,7 +522,7 @@ export declare const faSelectEmits: {
522
522
  dataChangeCallBack: (data: ElSelectorOutput[] | any[]) => boolean;
523
523
  /** @description 改变 */
524
524
  change: (data: ElSelectorOutput | ElSelectorOutput[] | any | any[], value?: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
525
- 'popup-scroll': ({ scrollTop, scrollLeft, }: {
525
+ 'popup-scroll': ({ scrollTop, scrollLeft }: {
526
526
  scrollTop: number;
527
527
  scrollLeft: number;
528
528
  }) => boolean;
@@ -631,7 +631,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
631
631
  initParam: import('vue').PropType<any>;
632
632
  ariaLabel: StringConstructor;
633
633
  emptyValues: ArrayConstructor;
634
- valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
634
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
635
635
  /**
636
636
  * @description the name attribute of select input
637
637
  */
@@ -655,7 +655,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
655
655
  * @description size of Input
656
656
  */
657
657
  size: {
658
- readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
658
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
659
659
  readonly required: false;
660
660
  readonly validator: ((val: unknown) => boolean) | undefined;
661
661
  __epPropKey: true;
@@ -694,7 +694,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
694
694
  * @description [popper.js](https://popper.js.org/docs/v2/) parameters
695
695
  */
696
696
  popperOptions: {
697
- type: import('vue').PropType<Options>;
697
+ type: import('vue').PropType<Partial<Options>>;
698
698
  default: () => Partial<Options>;
699
699
  };
700
700
  /**
@@ -785,7 +785,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
785
785
  */
786
786
  tagType: {
787
787
  default: string;
788
- type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
788
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
789
789
  required: false;
790
790
  validator: ((val: unknown) => boolean) | undefined;
791
791
  __epPropKey: true;
@@ -849,7 +849,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
849
849
  dataChangeCallBack: (data: ElSelectorOutput[] | any[]) => boolean;
850
850
  /** @description 改变 */
851
851
  change: (data: ElSelectorOutput | ElSelectorOutput[] | any | any[], value?: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
852
- 'popup-scroll': ({ scrollTop, scrollLeft, }: {
852
+ 'popup-scroll': ({ scrollTop, scrollLeft }: {
853
853
  scrollTop: number;
854
854
  scrollLeft: number;
855
855
  }) => boolean;
@@ -936,7 +936,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
936
936
  initParam: import('vue').PropType<any>;
937
937
  ariaLabel: StringConstructor;
938
938
  emptyValues: ArrayConstructor;
939
- valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
939
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
940
940
  /**
941
941
  * @description the name attribute of select input
942
942
  */
@@ -960,7 +960,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
960
960
  * @description size of Input
961
961
  */
962
962
  size: {
963
- readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
963
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
964
964
  readonly required: false;
965
965
  readonly validator: ((val: unknown) => boolean) | undefined;
966
966
  __epPropKey: true;
@@ -999,7 +999,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
999
999
  * @description [popper.js](https://popper.js.org/docs/v2/) parameters
1000
1000
  */
1001
1001
  popperOptions: {
1002
- type: import('vue').PropType<Options>;
1002
+ type: import('vue').PropType<Partial<Options>>;
1003
1003
  default: () => Partial<Options>;
1004
1004
  };
1005
1005
  /**
@@ -1090,7 +1090,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1090
1090
  */
1091
1091
  tagType: {
1092
1092
  default: string;
1093
- type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
1093
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
1094
1094
  required: false;
1095
1095
  validator: ((val: unknown) => boolean) | undefined;
1096
1096
  __epPropKey: true;
@@ -1173,7 +1173,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1173
1173
  clearIcon: import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1174
1174
  suffixIcon: import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1175
1175
  validateEvent: boolean;
1176
- popperOptions: Options;
1176
+ popperOptions: Partial<Options>;
1177
1177
  popperClass: string;
1178
1178
  effect: string | (string & {});
1179
1179
  teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -1199,7 +1199,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1199
1199
  valueKey: string;
1200
1200
  maxCollapseTags: number;
1201
1201
  fitInputWidth: boolean;
1202
- tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
1202
+ tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>;
1203
1203
  tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>;
1204
1204
  remoteShowSuffix: boolean;
1205
1205
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaSelectSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,reactive as l,ref as a,watch as t,onMounted as o,computed as i,createVNode as r,mergeProps as n}from"vue";import{useAriaProps as u,useEmptyValuesProps as d,tagProps as p,useTooltipContentProps as s,useSizeProp as c,selectEmits as f,useGlobalSize as m,ElSelect as b}from"element-plus";import{ArrowDown as g,CircleClose as h}from"@element-plus/icons-vue";import{definePropType as y,withDefineType as v,consoleError as S,useProps as B,useEmits as D,useRender as x,addUnit as V,useExpose as w,makeSlots as A}from"@fast-china/utils";import{useVModel as T}from"@vueuse/core";import{isArray as C,isString as F,isNull as O,isNumber as j,isBoolean as L,isObject as N,isFunction as q,isNil as z,isEqual as M}from"lodash-unified";import P from"./selectOption.mjs";const R={name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:c,effect:{type:y(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:y(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:s.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:y([String,Object,Function]),default:h},fitInputWidth:Boolean,suffixIcon:{type:y([String,Object,Function]),default:g},tagType:{...p.type,default:"info"},tagEffect:{...p.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:y(String),default:"bottom-start"},fallbackPlacements:{type:y(Array),default:["bottom-start","top-start","right","left"]},...d,...u(["ariaLabel"])},_={...R,disabled:{type:Boolean,default:void 0},loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:y([String,Number,Boolean,Object,Array]),default:void 0},label:y([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,props:{type:y(Object),default:()=>({label:"label",hide:"hide",disabled:"disabled",children:"children"})},data:{type:y(Array),default:()=>[]},requestApi:{type:y(Function)},initParam:y([String,Number,Object])},k={...f,"update:modelValue":e=>F(e)||j(e)||L(e)||N(e)||C(e)||O(e),"update:label":e=>F(e)||C(e)||O(e),dataChangeCallBack:e=>C(e),change:(e,l)=>!0},I=/* @__PURE__ */e({name:"FaSelect",props:_,emits:k,slots:A(),setup(e,{attrs:u,slots:d,emit:p,expose:s}){const c=T(e,"label",p,{passive:!0}),g=m(),h=l({value:v(),loading:!1,selectorData:v([]),debut:!0,echo:!(e.data?.length>0),nextRefresh:!1}),y=a(),A=l=>l?.map(l=>({...l,value:l[e.valueKey],label:q(e.props.label)?e.props.label(l):l[e.props.label??"label"],hide:q(e.props.hide)?e.props.hide(l):l[e.props.hide??"hide"],disabled:q(e.props.disabled)?e.props.disabled(l):l[e.props.disabled??"disabled"],children:q(e.props.children)?A(e.props.children(l)):A(l[e.props.children??"children"])})).filter(e=>!e.hide),F=async()=>{if(e.requestApi){h.loading=!0;const a=e.initParam??{};try{const l=await e.requestApi(a);h.echo=!1,h.selectorData=A(l),p("dataChangeCallBack",h.selectorData)}catch(l){S("FaSelect",l),h.selectorData=[]}finally{h.loading=!1}}else h.echo=!1,h.selectorData=A(e.data)},O=l=>{if(e.multiple){const e=l;if(0===e?.length)return h.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const a=h.selectorData.filter(l=>e.includes(l.value));h.value=l,c.value=a.map(e=>e.label),p("update:modelValue",l),p("change",a,l)}else{if(z(l))return h.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const e=h.selectorData.find(e=>e.value===l);h.value=l,c.value=e.label,p("update:modelValue",l),p("change",e,l)}},j=()=>{h.value=null,c.value=null,p("update:modelValue",null),p("clear")},L=async l=>{l&&(h.debut?(h.debut=!1,!e.defaultSelected&&e.lazy&&await F()):h.nextRefresh&&(h.nextRefresh=!1,await F())),p("visible-change",l)};t(()=>e.modelValue,l=>{if(h.echo&&!z(l)){const a=!z(e.label);if(e.multiple){if(!C(l))return void S("FaSelect","当启用 multiple 时,传入的 modelValue 必须是Array。");if(a&&!C(e.label))return void S("FaSelect","当启用 multiple 时,传入的 modelValue:label 必须是Array。");h.selectorData=l.slice(0,e.multipleLimit>0?e.multipleLimit:l.length).map((l,t)=>({value:l,label:a?e.label[t]:void 0}))}else{if(C(l))return void S("FaSelect","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(a&&C(e.label))return void S("FaSelect","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");h.selectorData=[{value:l,label:e.label}]}}h.value=l},{immediate:!0}),o(async()=>{e.defaultSelected?(await F(),h.selectorData.length>0&&O(e.multiple?[h.selectorData[0].value]:h.selectorData[0].value)):!e.requestApi&&e.data?.length>0?(h.debut=!1,await F()):e.lazy||await F(),t(()=>e.initParam,(e,l)=>{M(e,l)||(h.nextRefresh=!0,z(h.value)||O())}),t(()=>e.data,async()=>{e.requestApi||await F()},{deep:!0})});const N=B(e,R,["modelValue","popperClass","loading"]),_=D(f,p,["update:modelValue","change","clear","visible-change"]),k=i(()=>{let l=`fa-select-dropdown ${e.popperClass}`;return e.moreDetail&&(l+=` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${g.value}`),l});return x(()=>r(b,n(N.value,_.value,{ref:y,class:"fa-select",popperClass:k.value,style:{width:V(e.width)},modelValue:h.value,"onUpdate:modelValue":e=>h.value=e,loading:h.loading,onChange:O,onClear:j,onVisibleChange:L}),{default:()=>h.selectorData.map(l=>r(P,{data:l,moreDetail:e.moreDetail},{default:d.default})),...d.header&&{header:()=>d.header()},...d.footer&&{footer:()=>d.footer()},...d.prefix&&{prefix:()=>d.prefix()},...d.empty&&{empty:()=>d.empty()},...d.tag&&{tag:()=>d.tag()},...d.loading&&{loading:()=>d.loading()},...d.label&&{label:({label:e,value:l})=>d.label({label:e,value:l})}})),w(s,{focus:i(()=>y.value?.focus),blur:i(()=>y.value?.blur),selectedLabel:i(()=>y.value?.selectedLabel),loading:i(()=>h.loading),refresh:F,setSelection:e=>O(e),clearSelection:()=>O(null)})}});export{R as SelectProps,I as default,k as faSelectEmits,_ as faSelectProps};
2
- //# sourceMappingURL=select.mjs.map
1
+ import e from"./selectOption.mjs";import{addUnit as l,consoleError as a,definePropType as t,makeSlots as o,useEmits as i,useExpose as r,useProps as n,useRender as u,withDefineType as d}from"@fast-china/utils";import{computed as p,createVNode as s,defineComponent as c,mergeProps as f,onMounted as m,reactive as b,ref as g,watch as h}from"vue";import{ElSelect as y,selectEmits as v,tagProps as S,useAriaProps as B,useEmptyValuesProps as D,useGlobalSize as x,useSizeProp as V,useTooltipContentProps as w}from"element-plus";import{ArrowDown as A,CircleClose as T}from"@element-plus/icons-vue";import{isArray as C,isBoolean as F,isEqual as O,isFunction as j,isNil as L,isNull as N,isNumber as q,isObject as z,isString as M}from"lodash-unified";import{useVModel as P}from"@vueuse/core";var R={name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:V,effect:{type:t(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:t(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:w.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:t([String,Object,Function]),default:T},fitInputWidth:Boolean,suffixIcon:{type:t([String,Object,Function]),default:A},tagType:{...S.type,default:"info"},tagEffect:{...S.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:t(String),default:"bottom-start"},fallbackPlacements:{type:t(Array),default:["bottom-start","top-start","right","left"]},...D,...B(["ariaLabel"])},_={...R,disabled:{type:Boolean,default:void 0},loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:t([String,Number,Boolean,Object,Array]),default:void 0},label:t([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,props:{type:t(Object),default:()=>({label:"label",hide:"hide",disabled:"disabled",children:"children"})},data:{type:t(Array),default:()=>[]},requestApi:{type:t(Function)},initParam:t([String,Number,Object])},k=/* @__PURE__ */c({name:"FaSelect",props:_,emits:{...v,"update:modelValue":e=>M(e)||q(e)||F(e)||z(e)||C(e)||N(e),"update:label":e=>M(e)||C(e)||N(e),dataChangeCallBack:e=>C(e),change:(e,l)=>!0},slots:o(),setup(t,{attrs:o,slots:c,emit:S,expose:B}){const D=P(t,"label",S,{passive:!0}),V=x(),w=b({value:d(),loading:!1,selectorData:d([]),debut:!0,echo:!(t.data?.length>0),nextRefresh:!1}),A=g(),T=e=>e?.map(e=>({...e,value:e[t.valueKey],label:j(t.props.label)?t.props.label(e):e[t.props.label??"label"],hide:j(t.props.hide)?t.props.hide(e):e[t.props.hide??"hide"],disabled:j(t.props.disabled)?t.props.disabled(e):e[t.props.disabled??"disabled"],children:j(t.props.children)?T(t.props.children(e)):T(e[t.props.children??"children"])})).filter(e=>!e.hide),F=async()=>{if(t.requestApi){w.loading=!0;const l=t.initParam??{};try{const e=await t.requestApi(l);w.echo=!1,w.selectorData=T(e),S("dataChangeCallBack",w.selectorData)}catch(e){a("FaSelect",e),w.selectorData=[]}finally{w.loading=!1}}else w.echo=!1,w.selectorData=T(t.data)},N=e=>{if(t.multiple){const l=e;if(0===l?.length)return w.value=null,D.value=null,S("update:modelValue",null),void S("change",null,null);const a=w.selectorData.filter(e=>l.includes(e.value));w.value=e,D.value=a.map(e=>e.label),S("update:modelValue",e),S("change",a,e)}else{if(L(e))return w.value=null,D.value=null,S("update:modelValue",null),void S("change",null,null);const l=w.selectorData.find(l=>l.value===e);w.value=e,D.value=l.label,S("update:modelValue",e),S("change",l,e)}},q=()=>{w.value=null,D.value=null,S("update:modelValue",null),S("clear")},z=async e=>{e&&(w.debut?(w.debut=!1,!t.defaultSelected&&t.lazy&&await F()):w.nextRefresh&&(w.nextRefresh=!1,await F())),S("visible-change",e)};h(()=>t.modelValue,e=>{if(w.echo&&!L(e)){const l=!L(t.label);if(t.multiple){if(!C(e))return void a("FaSelect","当启用 multiple 时,传入的 modelValue 必须是Array。");if(l&&!C(t.label))return void a("FaSelect","当启用 multiple 时,传入的 modelValue:label 必须是Array。");w.selectorData=e.slice(0,t.multipleLimit>0?t.multipleLimit:e.length).map((e,a)=>({value:e,label:l?t.label[a]:void 0}))}else{if(C(e))return void a("FaSelect","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(l&&C(t.label))return void a("FaSelect","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");w.selectorData=[{value:e,label:t.label}]}}w.value=e},{immediate:!0}),m(async()=>{t.defaultSelected?(await F(),w.selectorData.length>0&&N(t.multiple?[w.selectorData[0].value]:w.selectorData[0].value)):!t.requestApi&&t.data?.length>0?(w.debut=!1,await F()):t.lazy||await F(),h(()=>t.initParam,(e,l)=>{O(e,l)||(w.nextRefresh=!0,L(w.value)||N())}),h(()=>t.data,async()=>{t.requestApi||await F()},{deep:!0})});const M=n(t,R,["modelValue","popperClass","loading"]),_=i(v,S,["update:modelValue","change","clear","visible-change"]),k=p(()=>{let e=`fa-select-dropdown ${t.popperClass}`;return t.moreDetail&&(e+=` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${V.value}`),e});return u(()=>s(y,f(M.value,_.value,{ref:A,class:"fa-select",popperClass:k.value,style:{width:l(t.width)},modelValue:w.value,"onUpdate:modelValue":e=>w.value=e,loading:w.loading,onChange:N,onClear:q,onVisibleChange:z}),{default:()=>w.selectorData.map(l=>s(e,{data:l,moreDetail:t.moreDetail},{default:c.default})),...c.header&&{header:()=>c.header()},...c.footer&&{footer:()=>c.footer()},...c.prefix&&{prefix:()=>c.prefix()},...c.empty&&{empty:()=>c.empty()},...c.tag&&{tag:()=>c.tag()},...c.loading&&{loading:()=>c.loading()},...c.label&&{label:({label:e,value:l})=>c.label({label:e,value:l})}})),r(B,{focus:p(()=>A.value?.focus),blur:p(()=>A.value?.blur),selectedLabel:p(()=>A.value?.selectedLabel),loading:p(()=>w.loading),refresh:F,setSelection:e=>N(e),clearSelection:()=>N(null)})}});export{R as SelectProps,k as default,_ as faSelectProps};
2
+ //# sourceMappingURL=select.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../packages/components/select/src/select.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, selectEmits, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useEmits, 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 FaSelectOption from \"./selectOption\";\nimport type { ElSelectorOutput } from \"./select.type\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\nexport const SelectProps = {\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description native input id\n\t */\n\tid: String,\n\t/**\n\t * @description binding value\n\t */\n\tmodelValue: {\n\t\ttype: [Array, String, Number, Boolean, Object],\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description the autocomplete attribute of select input\n\t */\n\tautocomplete: {\n\t\ttype: String,\n\t\tdefault: \"off\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description size of Input\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether Select is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description whether Select is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether options are loaded from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\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\t */\n\tnoMatchText: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description custom remote search method\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description custom filter method\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description whether multiple-select is activated\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description placeholder, default is 'Select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description select first matching option on enter key. Use with `filterable` or `remote`\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\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\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom clear icon component\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description whether the width of the dropdown is the same as the input\n\t */\n\tfitInputWidth: Boolean,\n\t/**\n\t * @description custom suffix icon component\n\t */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t/**\n\t * @description tag type\n\t */\n\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description in remote search method show suffix icon\n\t */\n\tremoteShowSuffix: Boolean,\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectProps = {\n\t...SelectProps,\n\t/** @description whether Select is disabled 重载使其支持 ElForm*/\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: undefined,\n\t},\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/** @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[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectEmits = {\n\t...selectEmits,\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\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 => true,\n};\n\ntype FaSelectSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\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: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\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 selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): 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.valueKey],\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(\"FaSelect\", 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 handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): 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\tconst data = 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(\"update:modelValue\", null);\n\t\t\temit(\"clear\");\n\t\t};\n\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\t!props.defaultSelected && props.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(\"visible-change\", 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(\"FaSelect\", \"当启用 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(\"FaSelect\", \"当启用 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(\"FaSelect\", \"当禁用 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(\"FaSelect\", \"当禁用 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\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\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 elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => {\n\t\t\tlet localClass = `fa-select-dropdown ${props.popperClass}`;\n\t\t\tif (props.moreDetail) {\n\t\t\t\tlocalClass += ` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`;\n\t\t\t}\n\t\t\treturn localClass;\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\t{...elSelectEmits.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select\"\n\t\t\t\tpopperClass={elPopperClass.value}\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\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\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</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\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":["SelectProps","name","String","id","modelValue","type","Array","Number","Boolean","Object","default","undefined","autocomplete","automaticDropdown","size","useSizeProp","effect","definePropType","disabled","clearable","filterable","allowCreate","loading","popperClass","popperOptions","remote","loadingText","noMatchText","noDataText","remoteMethod","Function","filterMethod","multiple","multipleLimit","placeholder","defaultFirstOption","reserveKeyword","valueKey","collapseTags","collapseTagsTooltip","maxCollapseTags","teleported","useTooltipContentProps","persistent","clearIcon","CircleClose","fitInputWidth","suffixIcon","ArrowDown","tagType","tagProps","tagEffect","validateEvent","remoteShowSuffix","placement","fallbackPlacements","useEmptyValuesProps","useAriaProps","faSelectProps","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","initParam","faSelectEmits","selectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","Select","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleChange","valueArr","dataList","includes","isNil","find","handleClear","handleVisibleChange","visible","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectProps","useProps","elSelectEmits","useEmits","elPopperClass","computed","localClass","useRender","_createVNode","ElSelect","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","FaSelectOption","header","footer","prefix","empty","tag","useExpose","focus","blur","refresh","setSelection","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"select.mjs","names":["computed","defineComponent","onMounted","reactive","ref","watch","createVNode","_createVNode","mergeProps","_mergeProps","ElSelect","selectEmits","tagProps","useAriaProps","useEmptyValuesProps","useGlobalSize","useSizeProp","useTooltipContentProps","ArrowDown","CircleClose","addUnit","consoleError","definePropType","makeSlots","useEmits","useExpose","useProps","useRender","withDefineType","useVModel","isArray","isBoolean","isEqual","isFunction","isNil","isNull","isNumber","isObject","isString","FaSelectOption","SelectProps","name","String","id","modelValue","type","Array","Number","Boolean","Object","default","undefined","autocomplete","automaticDropdown","size","effect","disabled","clearable","filterable","allowCreate","loading","popperClass","popperOptions","remote","loadingText","noMatchText","noDataText","remoteMethod","Function","filterMethod","multiple","multipleLimit","placeholder","defaultFirstOption","reserveKeyword","valueKey","collapseTags","collapseTagsTooltip","maxCollapseTags","teleported","persistent","clearIcon","fitInputWidth","suffixIcon","tagType","tagEffect","validateEvent","remoteShowSuffix","placement","fallbackPlacements","faSelectProps","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","initParam","faSelectEmits","value","dataChangeCallBack","change","emits","slots","setup","attrs","emit","expose","selectedLabel","passive","_globalSize","state","selectorData","debut","echo","length","nextRefresh","selectRef","handleData","map","m","filter","f","loadData","params","resData","error","handleChange","valueArr","dataList","includes","find","handleClear","handleVisibleChange","visible","newValue","hasLabel","slice","item","index","immediate","oldValue","deep","elSelectProps","elSelectEmits","elPopperClass","localClass","$event","header","footer","prefix","empty","tag","focus","blur","refresh","setSelection","clearSelection"],"sources":["../../../../../packages/components/select/src/select.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, selectEmits, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useEmits, 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 FaSelectOption from \"./selectOption\";\nimport type { ElSelectorOutput } from \"./select.type\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\nexport const SelectProps = {\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description native input id\n\t */\n\tid: String,\n\t/**\n\t * @description binding value\n\t */\n\tmodelValue: {\n\t\ttype: [Array, String, Number, Boolean, Object],\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description the autocomplete attribute of select input\n\t */\n\tautocomplete: {\n\t\ttype: String,\n\t\tdefault: \"off\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description size of Input\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether Select is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description whether Select is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether options are loaded from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\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\t */\n\tnoMatchText: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description custom remote search method\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description custom filter method\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description whether multiple-select is activated\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description placeholder, default is 'Select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description select first matching option on enter key. Use with `filterable` or `remote`\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\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\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom clear icon component\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description whether the width of the dropdown is the same as the input\n\t */\n\tfitInputWidth: Boolean,\n\t/**\n\t * @description custom suffix icon component\n\t */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t/**\n\t * @description tag type\n\t */\n\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description in remote search method show suffix icon\n\t */\n\tremoteShowSuffix: Boolean,\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectProps = {\n\t...SelectProps,\n\t/** @description whether Select is disabled 重载使其支持 ElForm*/\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: undefined,\n\t},\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/** @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[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectEmits = {\n\t...selectEmits,\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\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 => true,\n};\n\ntype FaSelectSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\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: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\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 selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): 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.valueKey],\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(\"FaSelect\", 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 handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): 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\tconst data = 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(\"update:modelValue\", null);\n\t\t\temit(\"clear\");\n\t\t};\n\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\t!props.defaultSelected && props.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(\"visible-change\", 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(\"FaSelect\", \"当启用 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(\"FaSelect\", \"当启用 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(\"FaSelect\", \"当禁用 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(\"FaSelect\", \"当禁用 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\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\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 elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => {\n\t\t\tlet localClass = `fa-select-dropdown ${props.popperClass}`;\n\t\t\tif (props.moreDetail) {\n\t\t\t\tlocalClass += ` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`;\n\t\t\t}\n\t\t\treturn localClass;\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\t{...elSelectEmits.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select\"\n\t\t\t\tpopperClass={elPopperClass.value}\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\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\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</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=select.type.mjs.map
@@ -1,2 +1,2 @@
1
- import{isVNode as e,defineComponent as l,reactive as a,computed as t,createVNode as d,Fragment as o,h as i,resolveComponent as r}from"vue";import{ElOptionGroup as s,ElOption as n}from"element-plus";import{useRender as u,makeSlots as b,definePropType as c}from"@fast-china/utils";import{isUndefined as p}from"lodash-unified";const f=/* @__PURE__ */l({name:"FaSelectOption",props:{value:{type:c([String,Number,Boolean,Object]),default:void 0},label:String,disabled:{type:Boolean,default:void 0},children:{type:c(Array)},data:{type:c(Object),default:()=>({})},moreDetail:Boolean},slots:b(),setup(l,{attrs:b,slots:c,emit:f,expose:m}){const v=a({value:t(()=>p(l.value)?l.data.value:l.value),label:t(()=>p(l.label)?l.data.label:l.label),disabled:t(()=>(p(l.disabled)?l.data.disabled:l.disabled)??!1),children:t(()=>(p(l.children)?l.data.children:l.children)??[])});u(()=>{let a;return d(o,null,[v.children.length>0?d(s,{label:v.label,disabled:v.disabled},(t=a=v.children.map(e=>i(r("FaSelectOption"),{moreDetail:l.moreDetail,data:e},c)),"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e(t)?a:{default:()=>[a]})):d(n,{class:{"fa-select-dropdown__selector__more-detail":l.moreDetail&&c.default},value:v.value,label:v.label,disabled:v.disabled},{default:()=>[c.default&&c.default(l.data)]})]);var t})}});export{f as default};
2
- //# sourceMappingURL=selectOption.mjs.map
1
+ import{definePropType as e,makeSlots as l,useRender as a}from"@fast-china/utils";import{Fragment as t,computed as d,createVNode as o,defineComponent as i,h as r,isVNode as s,reactive as n,resolveComponent as u}from"vue";import{ElOption as b,ElOptionGroup as c}from"element-plus";import{isUndefined as p}from"lodash-unified";var f=/* @__PURE__ */i({name:"FaSelectOption",props:{value:{type:e([String,Number,Boolean,Object]),default:void 0},label:String,disabled:{type:Boolean,default:void 0},children:{type:e(Array)},data:{type:e(Object),default:()=>({})},moreDetail:Boolean},slots:l(),setup(e,{attrs:l,slots:i,emit:f,expose:m}){const v=n({value:d(()=>p(e.value)?e.data.value:e.value),label:d(()=>p(e.label)?e.data.label:e.label),disabled:d(()=>(p(e.disabled)?e.data.disabled:e.disabled)??!1),children:d(()=>(p(e.children)?e.data.children:e.children)??[])});a(()=>{let l;return o(t,null,[v.children.length>0?o(c,{label:v.label,disabled:v.disabled},(a=l=v.children.map(l=>r(u("FaSelectOption"),{moreDetail:e.moreDetail,data:l},i)),"function"==typeof a||"[object Object]"===Object.prototype.toString.call(a)&&!s(a)?l:{default:()=>[l]})):o(b,{class:{"fa-select-dropdown__selector__more-detail":e.moreDetail&&i.default},value:v.value,label:v.label,disabled:v.disabled},{default:()=>[i.default&&i.default(e.data)]})]);var a})}});export{f as default};
2
+ //# sourceMappingURL=selectOption.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectOption.mjs","sources":["../../../../../packages/components/select/src/selectOption.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, reactive, resolveComponent } from \"vue\";\nimport { ElOption, ElOptionGroup } from \"element-plus\";\nimport { definePropType, makeSlots, useRender } from \"@fast-china/utils\";\nimport { isUndefined } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"./select.type\";\n\nexport default defineComponent({\n\tname: \"FaSelectOption\",\n\tprops: {\n\t\t/** @description 绑定值,优先级比 data 高 */\n\t\tvalue: {\n\t\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/** @description 显示值,优先级比 data 高 */\n\t\tlabel: String,\n\t\t/** @description 禁用值,优先级比 data 高 */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/** @description 子节点,优先级比 data 高 */\n\t\tchildren: {\n\t\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\t},\n\t\t/** @description 下拉框数据 */\n\t\tdata: {\n\t\t\ttype: definePropType<ElSelectorOutput>(Object),\n\t\t\tdefault: () => ({}) as ElSelectorOutput,\n\t\t},\n\t\t/** @description 更多细节,只有使用slot的时候有用 */\n\t\tmoreDetail: Boolean,\n\t},\n\tslots: makeSlots<{\n\t\t/** @description 默认内容插槽 */\n\t\tdefault: ElSelectorOutput | any;\n\t}>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tvalue: computed(() => (isUndefined(props.value) ? props.data.value : props.value)),\n\t\t\tlabel: computed(() => (isUndefined(props.label) ? props.data.label : props.label)),\n\t\t\tdisabled: computed(() => (isUndefined(props.disabled) ? props.data.disabled : props.disabled) ?? false),\n\t\t\tchildren: computed(() => (isUndefined(props.children) ? props.data.children : props.children) ?? []),\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{state.children.length > 0 ? (\n\t\t\t\t\t<ElOptionGroup label={state.label} disabled={state.disabled}>\n\t\t\t\t\t\t{state.children.map((item) =>\n\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\tresolveComponent(\"FaSelectOption\"),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmoreDetail: props.moreDetail,\n\t\t\t\t\t\t\t\t\tdata: item,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ElOptionGroup>\n\t\t\t\t) : (\n\t\t\t\t\t<ElOption\n\t\t\t\t\t\tclass={{ \"fa-select-dropdown__selector__more-detail\": props.moreDetail && slots.default }}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tlabel={state.label}\n\t\t\t\t\t\tdisabled={state.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{slots.default && slots.default(props.data)}\n\t\t\t\t\t</ElOption>\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["SelectOption","name","props","value","type","definePropType","String","Number","Boolean","Object","default","undefined","label","disabled","children","Array","data","moreDetail","slots","makeSlots","setup","attrs","emit","expose","state","reactive","computed","isUndefined","useRender","_slot","_createVNode","_Fragment","length","ElOptionGroup","s","map","item","h","resolveComponent","prototype","toString","call","_isVNode","ElOption","class"],"mappings":"oUAMA,MAAAA,mBAA+B,CAC9BC,KAAM,iBACNC,MAAO,CAENC,MAAO,CACNC,KAAMC,EAAmD,CAACC,OAAQC,OAAQC,QAASC,SACnFC,aAASC,GAGVC,MAAON,OAEPO,SAAU,CACTT,KAAMI,QACNE,aAASC,GAGVG,SAAU,CACTV,KAAMC,EAAmCU,QAG1CC,KAAM,CACLZ,KAAMC,EAAiCI,QACvCC,QAASA,MAAO,IAGjBO,WAAYT,SAEbU,MAAOC,IAIPC,KAAAA,CAAMlB,GAAOmB,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBtB,MAAOuB,EAAS,IAAOC,EAAYzB,EAAMC,OAASD,EAAMc,KAAKb,MAAQD,EAAMC,OAC3ES,MAAOc,EAAS,IAAOC,EAAYzB,EAAMU,OAASV,EAAMc,KAAKJ,MAAQV,EAAMU,OAC3EC,SAAUa,EAAS,KAAOC,EAAYzB,EAAMW,UAAYX,EAAMc,KAAKH,SAAWX,EAAMW,YAAa,GACjGC,SAAUY,EAAS,KAAOC,EAAYzB,EAAMY,UAAYZ,EAAMc,KAAKF,SAAWZ,EAAMY,WAAa,MAGlGc,EAAU,KAAA,IAAAC,EAAA,OAAAC,EAAAC,EAAA,KAAA,CAEPP,EAAMV,SAASkB,OAAS,EAACF,EAAAG,EAAA,CAAArB,MACHY,EAAMZ,MAAKC,SAAYW,EAAMX,WA7CXqB,EA6CmBL,EACzDL,EAAMV,SAASqB,IAAKC,GACpBC,EACCC,EAAiB,kBACjB,CACCrB,WAAYf,EAAMe,WAClBD,KAAMoB,GAEPlB,IArDqC,mBAAAgB,GAAA,oBAAAzB,OAAA8B,UAAAC,SAAAC,KAAAP,KAAAQ,EAAAR,GAuDtCL,EAAA,CAAAnB,QAAAA,IAAA,CAAAmB,MAAAC,EAAAa,EAAA,CAAAC,MAIM,CAAE,4CAA6C1C,EAAMe,YAAcC,EAAMR,SAASP,MAClFqB,EAAMrB,MAAKS,MACXY,EAAMZ,MAAKC,SACRW,EAAMX,UAAQ,CAAAH,QAAAA,IAAA,CAEvBQ,EAAMR,SAAWQ,EAAMR,QAAQR,EAAMc,WAhEC,IAAAkB,GAqE5C"}
1
+ {"version":3,"file":"selectOption.mjs","names":["Fragment","computed","defineComponent","h","reactive","resolveComponent","isVNode","_isVNode","createVNode","_createVNode","_Fragment","ElOption","ElOptionGroup","definePropType","makeSlots","useRender","isUndefined","_isSlot","s","Object","prototype","toString","call","name","props","value","type","String","Number","Boolean","default","undefined","label","disabled","children","Array","data","moreDetail","slots","setup","attrs","emit","expose","state","_slot","length","map","item"],"sources":["../../../../../packages/components/select/src/selectOption.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, reactive, resolveComponent } from \"vue\";\nimport { ElOption, ElOptionGroup } from \"element-plus\";\nimport { definePropType, makeSlots, useRender } from \"@fast-china/utils\";\nimport { isUndefined } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"./select.type\";\n\nexport default defineComponent({\n\tname: \"FaSelectOption\",\n\tprops: {\n\t\t/** @description 绑定值,优先级比 data 高 */\n\t\tvalue: {\n\t\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/** @description 显示值,优先级比 data 高 */\n\t\tlabel: String,\n\t\t/** @description 禁用值,优先级比 data 高 */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/** @description 子节点,优先级比 data 高 */\n\t\tchildren: {\n\t\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\t},\n\t\t/** @description 下拉框数据 */\n\t\tdata: {\n\t\t\ttype: definePropType<ElSelectorOutput>(Object),\n\t\t\tdefault: () => ({}) as ElSelectorOutput,\n\t\t},\n\t\t/** @description 更多细节,只有使用slot的时候有用 */\n\t\tmoreDetail: Boolean,\n\t},\n\tslots: makeSlots<{\n\t\t/** @description 默认内容插槽 */\n\t\tdefault: ElSelectorOutput | any;\n\t}>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tvalue: computed(() => (isUndefined(props.value) ? props.data.value : props.value)),\n\t\t\tlabel: computed(() => (isUndefined(props.label) ? props.data.label : props.label)),\n\t\t\tdisabled: computed(() => (isUndefined(props.disabled) ? props.data.disabled : props.disabled) ?? false),\n\t\t\tchildren: computed(() => (isUndefined(props.children) ? props.data.children : props.children) ?? []),\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{state.children.length > 0 ? (\n\t\t\t\t\t<ElOptionGroup label={state.label} disabled={state.disabled}>\n\t\t\t\t\t\t{state.children.map((item) =>\n\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\tresolveComponent(\"FaSelectOption\"),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmoreDetail: props.moreDetail,\n\t\t\t\t\t\t\t\t\tdata: item,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ElOptionGroup>\n\t\t\t\t) : (\n\t\t\t\t\t<ElOption\n\t\t\t\t\t\tclass={{ \"fa-select-dropdown__selector__more-detail\": props.moreDetail && slots.default }}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tlabel={state.label}\n\t\t\t\t\t\tdisabled={state.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{slots.default && slots.default(props.data)}\n\t\t\t\t\t</ElOption>\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":"oUAMA,IAAA,iBAAeE,EAAgB,CAC9BqB,KAAM,iBACNC,MAAO,CAENC,MAAO,CACNC,KAAMb,EAAmD,CAACc,OAAQC,OAAQC,QAASV,SACnFW,aAASC,GAGVC,MAAOL,OAEPM,SAAU,CACTP,KAAMG,QACNC,aAASC,GAGVG,SAAU,CACTR,KAAMb,EAAmCsB,QAG1CC,KAAM,CACLV,KAAMb,EAAiCM,QACvCW,QAAAA,KAAAA,CAAkB,IAGnBO,WAAYR,SAEbS,MAAOxB,IAIPyB,KAAAA,CAAMf,GAAO,MAAEgB,EAAAA,MAAOF,EAAAA,KAAOG,EAAAA,OAAMC,IAClC,MAAMC,EAAQvC,EAAS,CACtBqB,MAAOxB,EAAAA,IAAgBe,EAAYQ,EAAMC,OAASD,EAAMY,KAAKX,MAAQD,EAAMC,OAC3EO,MAAO/B,EAAAA,IAAgBe,EAAYQ,EAAMQ,OAASR,EAAMY,KAAKJ,MAAQR,EAAMQ,OAC3EC,SAAUhC,EAAAA,KAAgBe,EAAYQ,EAAMS,UAAYT,EAAMY,KAAKH,SAAWT,EAAMS,YAAa,GACjGC,SAAUjC,EAAAA,KAAgBe,EAAYQ,EAAMU,UAAYV,EAAMY,KAAKF,SAAWV,EAAMU,WAAa,MAGlGnB,EAAAA,KAAU,IAAA6B,EAAA,OAAAnC,EAAAC,EAAA,KAAA,CAEPiC,EAAMT,SAASW,OAAS,EAACpC,EAAAG,EAAA,CAAA,MACH+B,EAAMX,MAAK,SAAYW,EAAMV,WA7CXf,EA6CmB0B,EACzDD,EAAMT,SAASY,IAAKC,GACpB5C,EACCE,EAAiB,kBACjB,CACCgC,WAAYb,EAAMa,WAClBD,KAAMW,GAEPT,IArDqC,mBAAApB,GAAA,oBAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,KAAAX,EAAAW,GAuDtC0B,EAAA,CAAAd,QAAAA,IAAA,CAAAc,MAAAnC,EAAAE,EAAA,CAAA,MAIM,CAAE,4CAA6Ca,EAAMa,YAAcC,EAAMR,SAAS,MAClFa,EAAMlB,MAAK,MACXkB,EAAMX,MAAK,SACRW,EAAMV,UAAQ,CAAAH,QAAAA,IAAA,CAEvBQ,EAAMR,SAAWQ,EAAMR,QAAQN,EAAMY,WAhEC,IAAAlB"}
@@ -1,2 +1,2 @@
1
- import{withInstall as s}from"@fast-china/utils";import t from"./src/selectPage.mjs";import{faSelectPageEmits as r,faSelectPageProps as e}from"./src/selectPage.mjs";const m=s(t);export{m as FaSelectPage,m as default,r as faSelectPageEmits,e as faSelectPageProps};
2
- //# sourceMappingURL=index.mjs.map
1
+ import r,{faSelectPageEmits as t,faSelectPageProps as a}from"./src/selectPage.mjs";import{withInstall as s}from"@fast-china/utils";var e=s(r);export{e as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/components/selectPage/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport SelectPage, { faSelectPageEmits, faSelectPageProps } from \"./src/selectPage\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaSelectPage = withInstall(SelectPage);\nexport default FaSelectPage;\n\nexport { faSelectPageProps, faSelectPageEmits };\n\nexport type FaSelectPageInstance = InstanceType<typeof SelectPage>;\n\nexport type FaSelectPageProps = ExtractPropTypes<typeof faSelectPageProps>;\n\nexport type FaSelectPageEmits = typeof faSelectPageEmits;\n"],"names":["FaSelectPage","withInstall","SelectPage"],"mappings":"oKAIO,MAAMA,EAAeC,EAAYC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../packages/components/selectPage/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport SelectPage, { faSelectPageEmits, faSelectPageProps } from \"./src/selectPage\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaSelectPage = withInstall(SelectPage);\nexport default FaSelectPage;\n\nexport { faSelectPageProps, faSelectPageEmits };\n\nexport type FaSelectPageInstance = InstanceType<typeof SelectPage>;\n\nexport type FaSelectPageProps = ExtractPropTypes<typeof faSelectPageProps>;\n\nexport type FaSelectPageEmits = typeof faSelectPageEmits;\n"],"mappings":"mIAIA,IAAa,EAAe,EAAY"}